实验网站 Website:http://dislab.nju.edu.cn/taohuang/
- Lab1实验要求
- 1.1. 在实模式下实现一个Hello World程序
- 1.2. 在保护模式下实现一个Hello World程序
- 1.3. 在保护模式下加载磁盘中的Hello World程序运行
- Lab2实验要求
- 2.1. 实现系统调用库函数
printf
- 2.2. 完善
printf
的格式化输出
- 2.1. 实现系统调用库函数
- Lab3实验要求
- 3.1. 实现进程切换机制
- 3.2. 实现
FORK
、SLEEP
、EXIT
系统调用
- Lab4实验要求
- 4.1. 实现
SEM_INIT
、SEM_POST
、SEM_WAIT
、SEM_DESTROY
系统调用
- 4.1. 实现
+lab1
|---+bootloader
| |---boot.h #磁盘I/O接口
| |---boot.c #加载磁盘上的用户程序
| |---start.s #引导程序
| |---Makefile
|---+utils
| |---genboot.pl #生成MBR
|---+app
| |---app.s #用户程序
| |---Makefile
|---Makefile
+Lab2,3,4
|---+bootloader #引导程序
| |---...
|---+utils
| |---genBoot.pl #生成引导程序
| |---genKernel.pl #生成内核程序
|---+kernel
| |---+include #头文件
| |---+kernel #内核代码
| | |---doIrq.S #中断处理
| | |---i8259.c #重设主从8259A
| | |---idt.c #初始化中断描述表
| | |---irqHandle.c #中断处理函数
| | |---kvm.c #初始化 GDT 和加载用户程序
| | |---serial.c #初始化串口输出
| |---+lib
| |---main.c #主函数
| |---Makefile
|---+app #用户代码
| |---main.c #主函数
| |---Makefile
|---+lib #库函数
| |---lib.h
| |---types.h
| |---syscall.c #系统调用入口
|---Makefile