第一部分习题解答1
第1章绪论3
第2章操作系统用户界面5
第3章进程管理9
第4章处理机调度21
第5章存储管理27
第6章进程与存储管理示例33
第7章Windows的进程与内存管理37
第8章文件系统43
第9章设备管理49
第10章Linux文件系统53
第11章Windows的设备管理和文件系统56
第12章嵌入式操作系统简介59
综合试题61
操作系统综合练习试题161
操作系统综合练习试题1解答62
操作系统综合练习试题264
操作系统综合练习试题2解答65
操作系统综合练习试题368
操作系统综合练习试题3解答68
第二部分实验指导71
系统调用函数说明、参数值及定义73
实验1进程管理80
实验2进程间通信82
实验3存储管理83
实验4文件系统设计85
实验1指导86
实验2指导94
实验3指导98
实验4指导107
第1章实验0: 操作系统实验准备1
1.1实验目的1
1.2准备知识1
1.2.1了解OS实验1
1.2.2设置实验环境2
1.2.3了解编程开发调试的基本工具14
1.2.4基于硬件模拟器实现源码级调试23
1.2.5了解处理器硬件31
1.2.6了解ucore编程方法和通用数据结构34
第2章实验1: 系统软件启动过程41
2.1实验目的41
2.2实验内容41
2.2.1练习41
2.2.2项目组成45
2.3从机器启动到操作系统运行的过程48
2.3.1BIOS启动过程48
2.3.2bootloader启动过程48
2.3.3操作系统启动过程57
2.4实验报告要求66
辅助材料A关于A20 Gate66
辅助材料B启动后第一条执行的指令68
第3章实验2: 物理内存管理70
3.1实验目的70
3.2实验内容70
3.2.1练习70
3.2.2项目组成71
3.3物理内存管理概述73
3.3.1实验执行流程概述73
3.3.2探测系统物理内存布局75
3.3.3以页为单位管理物理内存75
3.3.4物理内存页分配算法实现78
3.3.5实现分页机制81
3.3.6自映射机制88
3.4实验报告要求90
辅助材料A探测物理内存分布和大小的方法90
辅助材料B实现物理内存探测91
辅助材料C链接地址、虚拟地址、物理地址、加载地址
以及edata/end/text的含义92
第4章实验3: 虚拟内存管理96
4.1实验目的96
4.2实验内容96
4.2.1练习96
4.2.2项目组成97
4.3虚拟内存管理概述98
4.3.1基本原理概述98
4.3.2实验执行流程概述99
4.3.3关键数据结构和相关函数分析100
4.4Page Fault异常处理102
4.5页面置换机制的实现104
4.5.1页替换算法104
4.5.2页面置换机制105
4.6实验报告要求108
辅助材料A: 正确输出的参考109
第5章实验4: 内核线程管理111
5.1实验目的111
5.2实验内容111
5.2.1练习111
5.2.2项目组成112
5.3内核线程管理114
5.3.1实验执行流程概述114
5.3.2设计关键数据结构——进程控制块115
5.3.3创建并执行内核线程117
5.4实验报告要求122
辅助材料A实验4的参考输出123
辅助材料B“原理”进程的属性与特征解析124
第6章实验5: 用户进程管理127
6.1实验目的127
6.2实验内容127
6.2.1练习127
6.2.2项目组成128
6.3用户进程管理130
6.3.1实验执行流程概述130
6.3.2创建用户进程131
6.3.3进程退出和等待进程136
6.3.4系统调用实现137
6.4实验报告要求141
辅助材料A“原理” 用户进程的特征141
第7章实验6: 调度器145
7.1实验目的145
7.2实验内容145
7.2.1练习145
7.2.2项目组成146
7.3调度框架和调度算法设计与实现147
7.3.1实验执行流程概述147
7.3.2计时器的原理和实现147
7.3.3进程状态148
7.3.4进程调度实现149
7.3.5调度框架和调度算法150
7.3.6Stride Scheduling154
7.4实验报告要求158
辅助材料A执行priority大致的显示输出158
第8章实验7: 同步互斥160
8.1实验目的160
8.2实验内容160
8.2.1练习160
8.2.2项目组成161
8.3同步互斥的设计与实现162
8.3.1实验执行流程概述162
8.3.2同步互斥的底层支撑163
8.3.3信号量165
8.3.4管程和条件变量167
8.4实验报告要求171
辅助材料A执行make runmatrix大致的显示输出171
第9章实验8: 文件系统173
9.1实验目的173
9.2实验内容173
9.2.1练习173
9.2.2项目组成173
9.3文件系统的设计与实现176
9.3.1ucore文件系统总体介绍176
9.3.2通用文件系统访问接口179
9.3.3Simple FS文件系统179
9.3.4文件系统抽象层——VFS183
9.3.5设备层文件I/O层185
9.3.6实验执行流程概述189
9.3.7文件操作实现190
9.4实验报告要求193