操作系统高级课程-1
声明
本文是我《操作系统高级课程》的笔记,授课教师是陈向群老师,如有版权方面的问题请及时联系(or if sharing this is inappropriate?)
Course Introduction
operating systems advanced class
会比本科的操作系统更难,进阶
建议本科没学过操作系统的同学选修
研究生阶段 - 补充短板,打好基础
系统能力培养
程序性开发能力→系统性设计能力
解决复杂工程问题的基本能力
综合能力 >> coding
系统:若干相互关联的部件有机结合在一起,具有一定功能。
三个层次:
- 本课:基础系统
- 专门系统 计算机领域系统
- 应用系统
问题:
缺乏整体系统整体能力,缺少知识关联,实践能力差
教学目的:
- 深入理解操作系统:阅读源码
1.1. 全局结构
1.2. 内部工作方式
1.3. 数据结构和算法
1.4. 发现问题,解决方案
1.5. 典型技术和应用
e.g. 数据结构-进程控制块PCB
PCB包括:(以Linux为例)
1)进程标识符(内部,外部)
2)处理机的信息(通用寄存器,指令计数器,PSW,用户的栈指针)。
3)进程调度信息(进程状态,进程的优先级,进程调度所需的其它信息,事件)
4)进程控制信息(程序的数据的地址,资源清单,进程同步和通信机制,链接指针)
能够提出问题、解决方案、折中
- 动手完成一个很小的模拟操作系统
- 提高总结凝练的能力
教学计划:
进程线程,运行机制,同步机制,虚存机制,文件系统
XV6源代码阅读
实例:Windows,Linux
实验 Nachos
华文慕课
课程环节:
Nachos实习笔试(5.20 开卷-编程+简答)、期末Nachos实习面测(选),期末笔试
分值:
Nachos实习报告24(格式规范、按时提交、内容质量,注重个人心得体会,注重实作) Nachos笔试10 (可选面测弥补) XV6代码阅读报告16 课堂参与10
期末40闭卷
创新实践、特色实践+1~10 (可选题目,加到平时分)
参考书:
教材(选用哪一本都可以)
•Modern Operating System Andrew S. Tanenbaum
•现代操作系统(第4版)陈向群等译机械工业出版社
相关参考书目
•Windows内核原理与实现潘爱民电子工业出版社
•Linux内核设计与实现[美] R.Love著,陈莉君译机械工业出版社
•深入理解计算机系统[美]R.E. Bryant等著龚奕利雷迎春译机械工业出版社