实验内容
代码量估计
1.os启动,中断与设备管理(bootloader)
200~1800行
2.物理内存管理
1800~2500行
3.虚拟内存管理
2500~3200行
4.内核线程管理
3200~3600行
5.用户进程管理
3600~4300行
6.处理器调度
4300~5100行
7.同步互斥
5100~6400行
8.文件系统
6400~9999行
用户态
{
各种用户态应用和测试实例
用户态函数库
}
内核态
{
系统调用接口
进程管理子系统(进程间共享库支持,进程间调度算法,进程调度框架,进程生命周期管理)
文件管理子系统(FAT文件系统,UNIX文件系统,Buffer Cache)
网络(TCP/IP协议栈)
进程间通信(消息队列,PIPE)
内存管理子系统(不连续地址空间分配算法,连续地址分配空间算法,虚拟内存分配管理,物理内存分配管理,页式内存管理)
同步互斥/死锁(解决死锁问题的实例,同步互斥应用实例,semaphore实现,lock实现)
}
Lab1
设计一个bootloader加载操作系统
外设中断
陷阱中断
基于分段机制的存储管理
设备管理的基本概念
PC启动bootloader的过程
bootloader的文件组成
编译运行bootloader的过程
调试bootloader的方法
在汇编级了解栈的结构和处理过程
中断处理机制
通过串口/并口/CGA输出字符的方法