项目简介
本项目是基于C语言的操作系统实验项目,通过实现操作系统核心功能模块,如中断处理、分页机制、进程与线程管理、信号量同步以及文件系统等,模拟Linux内核部分功能,提供简化的操作系统原型,适合学习和研究操作系统基本原理。
项目的主要特性和功能
- 中断处理与MBR:实现基本的中断向量表(IVT)和主引导记录(MBR)功能,支持系统启动时的中断处理,提供
assert
和printk
调试函数。 - 分页机制:实现二级页表机制,支持虚拟内存到物理内存的映射,但二级页表置于内核空间,可能存在内存管理问题。
- 进程与线程管理:实现相对完整的进程与多线程模型,API仿照Linux内核设计,支持线程创建、运行、阻塞、唤醒和退出等操作,修复大部分已知bug,提升系统稳定性。
- 信号量同步:实现信号量机制,API仿照Linux内核设计,支持线程间同步操作,避免竞争条件。
- 文件系统:实现多级目录和多级索引的文件系统,支持文件大小几乎无上限。因使用32位整数标注磁盘偏移量,磁盘表示上限为4GB,4级及以后的索引无法使用。通过类似BFS的方式统一多级索引读取方式,提升性能。
安装使用步骤
- 编译项目:确保系统已安装
gcc
编译器(版本4.9.3或更高),使用gcc
编译器编译已下载并解压到本地目录的项目源码,生成可执行文件。 - 运行项目:运行生成的可执行文件,观察系统各模块运行情况,可修改源码参数或添加测试代码验证功能。
- 调试与测试:使用
assert
和printk
等调试函数排查错误,编写测试用例验证各模块的正确性和稳定性。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】