项目简介
本项目是基于Linux操作系统的操作系统实验平台,通过一系列实验让用户深入理解并实践操作系统的核心概念与功能。项目涉及引导程序编写、内核裁剪、系统调用增加、多线程编程、进程通信、内存管理以及驱动程序开发等多个领域。
项目的主要特性和功能
- MBR引导程序编写:运用NASM编写MBR引导程序,在BOCHS虚拟机中测试。
- Linux内核裁剪与编译:于Linux系统下裁剪和编译Linux内核,并启用新内核。
- 系统调用增加:为Linux内核增添新的系统调用,编写应用程序测试。
- 脚本编写:编写脚本或批处理,给指定目录中文件名添加日期和时分后缀。
- 多线程编程:在Linux或Windows下创建和管理线程,实现并发输出、生产者 - 消费者同步控制。
- 进程管理:在Linux下创建子进程,实验wait/exit函数,利用信号机制进行进程通信。
- 内存管理:模拟实现FIFO或LRU页面淘汰算法,用/proc/pid/pagemap技术计算虚拟地址对应的物理地址。
- 内核模块开发:编写Linux内核模块,完成模块的安装和卸载操作。
- 驱动程序开发:编写Linux驱动程序,实现字符类型或杂项类型的设备驱动功能,编写应用程序测试。
安装使用步骤
环境准备
- 操作系统:建议使用Ubuntu、银河麒麟或优麒麟。
- 开发工具:NASM、GCC、Make等。
- 虚拟机:BOCHS(用于测试MBR引导程序)。
使用步骤
- 复制项目:
bash cd HUST_OS_LAB
- 编译和运行实验代码:
- 每个实验进入相应目录,按README或注释说明编译运行。
- 如实验一的MBR引导程序:
bash cd lab1 nasm -f bin mbr.asm -o mbr.bin
- 内核裁剪与编译:参考实验一说明,裁剪和编译Linux内核,启用新内核。
- 系统调用增加:按实验一说明,为Linux内核增加新系统调用,编写应用程序测试。
- 多线程编程:进入实验二目录,编译并运行多线程程序。
- 内核模块和驱动程序开发:进入实验四目录,编译内核模块或驱动程序,用
insmod
和rmmod
命令进行安装和卸载。
注意事项
- 进行内核相关实验时,建议在虚拟机或备份系统中进行,避免影响主系统。
- 编译内核和内核模块时,确保系统已安装必要的开发工具和依赖库。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】