
西北工业大学计算机学院计算机操作系统实验报告(一):创建GeekOS
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本实验报告为西北工业大学计算机学院开设的《计算机操作系统》课程中的实践环节之一,专注于基于GeekOS的操作系统内核开发。通过动手编写和调试简单的操作系统功能模块,学生能够深入理解操作系统的运行机制,并掌握实际编程技巧。此系列实验的第一部分着重于创建GeekOS环境及基本框架搭建,为后续学习复杂概念和高级技术打下坚实基础。
2022年计算机学院《计算机操作系统》实验报告一:创建GeekOS内核线程
本实验详细记录了在虚拟机环境中进行的操作流程及相关的代码编写过程,具体包括以下步骤:
1. 编写操作系统的引导扇区代码,并成功地在其上运行。
2. 创建一个能够从键盘接收按键并将其显示于屏幕上的独立线程。
3. 设计两个同时执行的内核线程:第一个打印特定字符串信息,第二个则输出另一组不同的文本内容。在实验中观察到的结果表明了多任务处理机制的有效性及不同进程间的并发运行情况。
4. 自主设计并实现了一项更为复杂的任务——创建一对相互交替显示大小爱心图案的两个内核线程,并确保它们具有相同的优先级,从而保证两者的输出能够均衡地出现在屏幕上。
实验分析:
1. 系统启动后自动执行的第一个线程是由s_freelist中的空闲页链表所构建出来的。在初始化这个初始线程时不需要调用Setup_Kernel_Thread函数的原因在于:此函数的主要任务是将新创建的内核线程的状态信息保存进栈中,而作为第一个运行的主线程是没有先前状态需要记录和压入栈内的。
2. 在定义一个GeekOS系统的内核线程结构体时,其中包含三个重要的指针变量组。这些指针的主要作用在于实现不同线程间的同步机制以及管理多任务环境下的资源分配与回收过程。
通过上述实验操作及分析可以深入理解计算机操作系统中关于进程管理和调度的基本原理及其在实际应用中的重要性。
全部评论 (0)


