操作系统课程 (102J05C)

课件内容

课件内容来自汤小丹等编著的计算机操作系统(第四版),部分根据课程需要进行修改。原版课件可从这里下载,请各位同学自行取用。
第1章:操作系统引论 第2章:进程的描述与控制 第3章:处理机调度与死锁 第4章:存储器管理 第5章:虚拟存储器
第6章:输入输出系统 第7章:文件管理 第8章:磁盘存储器的管理 第9章:操作系统接口 第10章:多处理机操作系统
第11章:多媒体操作系统(选讲) 第12章:保护和安全(选讲)

论文阅读

课程阅读的论文请从最近的OSDI(偶数年11月召开,最近一届的论文见这里)或SOSP(奇数年10月召开,最近一届的论文见这里)会议上选择,尽可能去作者主页寻找更多有用资源。论文阅读自由组队,每组人数控制在1-3人,建议组队人数为2人。另外,课程也提供以下论文作为选择,先到先得,具体如下:

: 课程报告的模版可从[这里]下载,字体、板式、摘要、正文、参考文献及引用务必与模版一致,否则论文阅读成绩最高为原来的50%。另外,对于稍有余力的同学,可选择性完成Contiki、RT-Thread、Huawei LiteOS等物联网操作系统的实现架构或特定模块进行分析,可获得额外加分。关于论文阅读后的报告讲演,每组时间为25分钟(包括问答时间)。

实验内容

操作系统实验内容涵盖Shell命令入门、Linux编程、内核编译、内核模块实现、操作系统基本算法实现、最新操作系统技术分享等,所有实验都采用Ubuntu系统,请提前预习相关内容。实验报告模版请参照[这里],务必注意格式要求。

Linux环境及Shell命令([实验手册]1,网页[1][2]),实验报告要求 Shell编程基础(参考文档[1][2][3], 两个PPT[1][2]),实验报告要求 Linux内核编译([这里]提供1种方法供参考),实验报告要求, 内核链接地址 Linux内核模块实现(参考[这里]的文档),实验报告要求 进程创建与控制([实验手册]2和3),实验报告要求 进程互斥和死锁避免([实验手册]4和9),实验报告要求
进程通信——信号、管道和消息([实验手册]5和6),实验报告要求 进程通信——共享存储和信号量([实验手册]7),实验报告要求 处理器调度算法([实验手册]8),实验报告要求 内存管理算法([实验手册]10和11),实验报告要求 SPOOLING技术([实验手册]12),实验报告要求 文件系统实现([实验手册]13),实验报告要求
最新操作系统技术分享(分组编号:待定) 最新操作系统技术分享(分组编号:待定) 最新操作系统技术分享(分组编号:待定)

课后作业

课后作业共7次,将在每次理论课结束后更新,敬请关注!此外,对于题目的常见问题也将在此处更新。
  • 第1章习题:8、9、11、12、13、20、21、23
  • 第2章习题:4、5、6、7、12、13、16、17、23、26
  • 第3章习题:6、7、8、11、13、14、19、23、31
  • 第4章习题:6、7、9、13、18、20、25
  • 第5章习题:11、13、16、20
  • 第6章习题:6、8、11、16、30
  • 第7章习题:6、16、21、23
  • 第8章习题:11、14

随堂测验

随堂测验共6次左右,每次安排在课程开始前(具体时间随机,请勿错过),以对之前学习内容进行复习。