2022瓜大计算机学院计算机操作系统实验报告一 ---- 创建GeekOS内核线程,实验报告包含完整的操作流程和相关代码,内容详尽
示例:
1.编写操作系统引导扇区代码,并在虚拟机中运行。
2.创建一个线程,实现从键盘接收一个按键,并在屏幕上显示。
3.创建两个线程,分别打印输出不同的字符串信息。观察并分析结果。
4.自行设计个性化的内核线程,给出运行结果。
设计两个线程,一个线程打印大的爱心,一个线程打印小的爱心。在屏幕上进行输出不断交替出现的现象,更进一步地感受GeekOS多任务调度。注意需要添加2个线程,每个线程的优先度是一致的,从而使得每种输出都是均衡的,这样就可以看到大小圆心交替出现的现象:
实验分析
1. 系统的第一个线程是什么?初始化它的时候为何不调用Setup_Kernel_Thread?
第一个线程是s_freelist中新创建的空闲页链表中的,初始化它的时候Setup_Kernel_Thread的目的是将线程的上下文压入栈中,因为第一个线程无下文,不需要调用,所以直接将线程压入栈中。
2. 内核线程结构体中定义了三组指针,它们的作用是什么?
第一组joinQue
1