华中科技大学 网络空间安全学院 2023 操作系统课程设计 by OrangeYYC
-
实现保护模式初始化程序,能将CPU带入保护模式,实现不同权限级别的代码跳转。在屏幕输出相应的字符串指示程序工作情况状态。
-
定义多个任务,每个任务的优先数不同,在时钟中断服务程序中,采用“优先数调度算法”实现多个任务的切换。
- 每个任务都是死循环,循环输出字符串
- 每个任务字符显示时长与优先级一致(优先数大,运行机会多,显示时长就大)
- 使用时钟中断服务程序(选择任务,切换任务)
运行项目需要在 Linux 系统下使用 bochs
模拟器,测试环境为 bochs 2.6.11
版本,在项目目录下使用命令 make start
即可运行。
构建项目需要使用 GCC 编译器及其链接器 LD,测试环境为 gcc 9.4.0
版本。在构建前使用 bximage
工具创建 10M
大小、扇区为 512
字节的硬盘,命名为 TinyOS.img
,放置在 bin/
目录下,注意需要手工写入 0xaa55
标志。(也可以直接使用项目中已有的镜像文件)。之后在目录下使用命令
mkdir build
make
即可构建项目。