操作系统课程 (102J05C)

  • 为更好的学习操作系统这门课,建议各位同学阅读操作系统的源码,起步阶段可以阅读Linux 0.11内核,有配套的源码讲解电子书(中文噢~~~)。下载地址
  • 实验报告和论文阅读报告有相应的模版,请各位同学在资源中进行下载,不按照模版撰写报告将不能获得实验或论文阅读的分数,务必注意。
  • 几个比较好的操作系统实验平台:哈尔滨工业大学《操作系统》课程实验清华大学《操作系统》课程实验
  • 网络上搜集的Linux系统的一些资源,可以查看对应的链接:Welcome to Linux World
  • 如何从零开始实现一个简单的操作系统,可以参考:How to create an OS from scratch,里面的推荐文档好好看看。
  • 如何裁剪Linux内核,可参考:Kernel Size Tuning Guide,第三周的实验将会编译内核,其中涉及内核裁剪,务必提前阅读且报告中必须含该内容。
  • 授课时间地点信息:周二第5-6节、3-400; 周五第1-2节、信息楼121专机; 周五(双周)第5-6节、4-303。

课程介绍

本课程系统全面的讲授操作系统技术全貌及其基本原理,注重培养学生的问题分析和抽象的能力,使学生能够掌握基本的操作系统分析、设计方法,理解操作系统的设计、实现以及资源管理、分配与调度算法等。辅以实验训练,培养学生的实际动手能力、分析和解决问题的能力,强化学生对相关理论、算法等的理解和掌握。

本课程是计算机科学与技术专业的必修课和学位课,以“计算机组成原理”、“面向对象程序设计”、“数据结构和算法”等为基础。课程总学时85,其中,理论51学时,实验34学时。理论部分包括操作系统结构、算法原理等的讲授,同时辅以随堂测验、文献阅读与分享、课后练习等进行有效的补充。实验部分包括Shell命令及其脚本实现、Linux内核配置(裁剪)和编译、内核模块开发以及操作系统基本算法实现等。

授课进度

周次 日期 学时 授课内容 授课方式 关键知识 练习内容 备注
1 2020年9月15日 2 操作系统引论I 课堂讲授 操作系统结构、功能和特点 - 课后尽可能去了解主流的物联网操作系统,如华为鸿蒙系统。
2020年9月18日 2 Linux环境和Shell命令 实验操作 熟练掌握常用的Shell命令 根据提供的材料练习Shell命令操作 务必学习不少于20种常见的Shell命令及其组合
2 2020年9月22日 2 操作系统引论 2 课堂讲授 微内核、单体内核 - 作业见“课后作业”选项,2020年9月29日(周二)前提交
2020年9月25日 2 Shell编程基础 实验操作 熟悉Shell脚本编程基本语法与应用 根据提供的材料练习Shell编程,实现Linux系统资源监测应用 自由发挥,实现尽可能多的系统资源监控功能(类似工具: top/htop/atop/iftop, nmon, glances)
3 2020年9月29日 2 进程概念和控制 1 课堂讲授 进程描述 - -
4 2020年10月9日 2 Linux内核编译 实验操作 在Ubuntu16.04上配置和编译Linux内核 根据教师课前提供的资料提前预习和准备实验内容 编译完成可使用的内核,内核以姓名和学号命名,请勿直接拷贝其他同学的内核,会被发现的o(* ̄︶ ̄*)o
2020年10月9日 2 进程概念和控制 2 课堂讲授 进程控制 - -
5 2020年10月13日 2 进程概念和控制 3 课堂讲授 进程同步 - -
2020年10月16日 2 Linux内核模块实现 实验操作 熟悉Linux内核模块实现过程,在Ubuntu系统上完成指定功能的内核模块 根据教师课前提供的资料提前预习和准备实验内容 实验报告内容:(1)输出内核时间的简单模块, (2)实现恒定速率的数据包传输控制模块(仅需计网基础知识)
6 2020年10月20日 2 处理机调度与死锁 I 课堂讲授 不同调度模型 - -
2020年10月23日 2 进程创建和进程控制 实验操作 熟悉进程创建和控制的常用函数,并在Linux中实现 根据教师课前提供的资料提前预习和准备实验内容 完成实验手册中实验2和实验3,对操作过程中的问题务必进行总结说明(如果有)
2020年10月23日 2 处理机调度与死锁 II 课堂讲授 死锁避免 - -
7 2020年10月27日 2 处理机调度与死锁 III 课堂讲授 死锁避免深入 - 作业见“课后作业”选项
8 2020年11月2日 2 存储器管理 课堂讲授 分段和段页式 - -
2020年11月6日 2 进程互斥与死锁避免 实验操作 - 根据教师课前提供的资料提前预习和准备实验内容 完成实验手册中实验4和实验9,对操作过程中的问题务必进行总结说明(如果有)
2020年11月6日 2 虚拟存储器 I 课堂讲授 请求分页 - -
9 2020年11月10日 2 虚拟存储器 II 课堂讲授 页面置换、工作集 - -
2020年11月13日 2 进程通信——信号、管道和消息 实验操作 - 根据教师课前提供的资料提前预习和准备实验内容 完成实验手册中实验5和实验6,对操作过程中的问题务必进行总结说明(如果有)
10 2020年11月17日 2 输入输出系统 I 课堂讲授 I/O系统的功能、模型和接口,设备控制器,中断处理 - -
2020年11月20日 2 进程通信——共享存储和信号量 实验操作 - 根据教师课前提供的资料提前预习和准备实验内容 完成实验手册中实验7,对操作过程中的问题务必进行总结说明(如果有)
2020年11月20日 2 输入输出系统 II 课堂讲授 驱动程序、I/O软件、磁盘调度 - -
11 2020年11月24日 2 文件管理 I 课堂讲授 文件系统、文件逻辑结构 - -
2020年11月27日 2 处理机调度算法 实验操作 - 根据教师课前提供的资料提前预习和准备实验内容 完成实验手册中实验8,对操作过程中的问题务必进行总结说明(如果有)
12 2020年12月1日 2 文件管理 II 课堂讲授 文件目录、文件共享 - -
2020年12月2日 2 文件管理 III 课堂讲授 文件共享、文件保护 - 调周五的课
2020年12月2日 2 内存管理算法 实验操作 - 根据教师课前提供的资料提前预习和准备实验内容 调周五的课,完成实验手册中实验10和11,对操作过程中的问题务必进行总结说明(如果有)
13 2020年12月8日 2 磁盘存储器管理 I 课堂讲授 外存组织方式、存储空间管理 - -
2020年12月11日 2 SPOOLING技术 实验操作 - 根据教师课前提供的资料提前预习和准备实验内容 完成实验手册中实验12,对操作过程中的问题务必进行总结说明(如果有)
14 2020年12月15日 2 磁盘存储器管理 II 课堂讲授 数据一致性 - -
2020年12月18日 2 文件系统实现 实验操作 - 根据教师课前提供的资料提前预习和准备实验内容 完成实验手册中实验13,对操作过程中的问题务必进行总结说明(如果有)
2020年12月18日 2 操作系统接口 课堂讲授 用户接口、系统调用 - -

: 每周的课后作业请于下一周理论课前交给助教,逾期不计算成绩。此外,实验报告务必有详细操作过程。

评分规则


: 课堂表现部分的成绩包含到课情况、随堂测验和上课回答问题情况,鼓励积极提问,疑难问题一起讨论解决。实验表现以实验报告为评价依据,务必保证报告的工整和可读性。文献阅读需提交译文和原文,其中译文务必按格式要求撰写,不清楚可以随时与教师和助教讨论,否则分数很低噢o(* ̄︶ ̄*)o。

联系信息

授课教师:江先亮,办公地址:宁波大学东校区曹光彪信息楼305室,电子邮箱:jiangxianliang [AT] nbu.edu.cn,联系电话:13616880564/660564
课程助教:谢燚,实验室地址:宁波大学东校区曹光彪信息楼512室,电子邮箱:2425545598 [AT] qq.com,联系电话:19155632890