项目简介
本项目为哈尔滨工业大学操作系统实验的代码实现,涉及Linux内核多个核心功能模块,如系统调用、进程管理、信号量、地址映射、终端设备控制等。通过该项目实验,开发者可深入理解Linux内核工作原理,掌握操作系统底层编程基本技能。
项目的主要特性和功能
- 系统调用:实现自定义系统调用,修改内核代码与头文件保证其正确性与兼容性。
- 进程管理:跟踪统计进程运行轨迹,助于理解进程调度和切换机制。
- 信号量:实现信号量的创建、操作与应用,解决进程同步常见问题。
- 地址映射与共享:利用地址映射和共享内存机制,达成进程间数据共享。
- 终端设备控制:实现终端设备输入输出控制,处理设备驱动关键问题。
安装使用步骤
环境准备
确保已安装Bochs模拟器和Linux 0.11内核的开发环境。
源码下载
下载本项目源码文件并解压到本地目录。
编译内核
- 进入
oslab
目录,确保hdc-0.11.img
文件存在。 - 若遇到磁盘驱动镜像文件无法打开的问题,删除
.lock
文件。 - 使用
make
命令编译内核。
运行实验
- 针对每个实验,进入对应的实验目录(如
lab2
、lab3
等)。 - 依照实验指导书中的步骤,修改相应的代码文件。
- 使用
./run
命令运行实验,观察输出结果。
调试与优化
- 若遇到未定义的符号或编译错误,检查头文件的引用和宏定义。
- 参考实验指导书和相关文档,解决实验中的问题。
注意事项
- 实验前建议对Linux内核基本概念和函数(如
fork()
、schedule()
等)有一定了解。 - 代码含大量汇编语言和底层操作,调试时建议使用调试工具(如GDB)跟踪。
- 部分实验可能存在已知的bug,可参考实验指导书和相关文档修复。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】