课程介绍
本课程系统全面的讲授操作系统技术全貌及其基本原理,注重培养学生的问题分析和抽象的能力,使学生能够掌握基本的操作系统分析、设计方法,理解操作系统的设计、实现以及资源管理、分配与调度算法等。辅以实验训练,培养学生的实际动手能力、分析和解决问题的能力,强化学生对相关理论、算法等的理解和掌握。
本课程是计算机科学与技术专业的必修课和学位课,以“计算机组成原理”、“面向对象程序设计”、“数据结构和算法”等为基础。课程总学时85,其中,理论51学时,实验34学时。理论部分包括操作系统结构、算法原理等的讲授,同时辅以随堂测验、文献阅读与分享、课后练习等进行有效的补充。实验部分包括Shell命令及其脚本实现、Linux内核配置(裁剪)和编译、内核模块开发以及操作系统基本算法实现等。
授课计划
周次 |
日期 |
学时 |
授课内容 |
授课方式 |
关键知识 |
练习内容 |
备注 |
1 |
2018年9月10日 |
2 |
Linux环境和Shell命令 |
实验操作 |
熟练掌握常用的Shell命令 |
根据提供的材料练习Shell命令操作 |
务必学习不少于20种常见的Shell命令及其组合 |
2018年9月11日 |
2 |
操作系统引论I |
课堂讲授 |
操作系统结构、功能和特点 |
- |
课后尽可能去了解主流的物联网操作系统 |
2 |
2018年9月17日 |
2 |
Shell编程基础 |
实验操作 |
熟悉Shell脚本编程基本语法与应用 |
根据提供的材料练习Shell编程,实现Linux系统资源监测应用 |
自由发挥,实现尽可能多的系统资源监控功能(类似工具: top/htop/atop/iftop, nmon, glances) |
2018年9月18日 |
2 |
操作系统引论 2 |
课堂讲授 |
微内核、单体内核 |
- |
作业见“课后作业”选项,2018年9月25日(周二)前提交 |
2018年9月20日 |
2 |
进程概念和控制 1 |
课堂讲授 |
进程描述 |
- |
- |
3 |
2018年9月25日 |
2 |
进程概念和控制 2 |
课堂讲授 |
进程控制 |
- |
- |
2018年9月29日 |
2 |
进程概念和控制 3 |
课堂讲授 |
进程同步 |
- |
补2018年10月4日课程 |
4 |
- |
- |
- |
- |
- |
- |
国庆节假期(2018年10月1日-7日) |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
5 |
2018年10月8日 |
2 |
Linux内核编译 |
实验操作 |
在Ubuntu16.04上配置和编译Linux内核 |
根据教师课前提供的资料提前预习和准备实验内容 |
编译完成可使用的内核,内核以姓名和学号命名,请勿直接拷贝其他同学的内核,会被发现的o(* ̄︶ ̄*)o |
2018年10月9日 |
2 |
进程概念和控制 4 |
课堂讲授 |
线程 |
- |
- |
6 |
2018年10月15日 |
2 |
Linux内核模块实现 |
实验操作 |
熟悉Linux内核模块实现过程,在Ubuntu系统上完成指定功能的内核模块 |
根据教师课前提供的资料提前预习和准备实验内容 |
实验完成:(1)输出内核时间的简单内核模块, (2)实现数据包过滤功能的简单内核模块(至少有数据包丢弃功能,事先熟悉Netfilter Hook),或简单的字符设备设备驱动模块,或其他有意义的内核功能模块 |
2018年10月16日 |
2 |
处理机调度与死锁 I |
课堂讲授 |
不同调度模型 |
- |
- |
2018年10月18日 |
2 |
处理机调度与死锁 II |
课堂讲授 |
进程调度、实时调度 |
- |
- |
7 |
2018年10月22日 |
2 |
进程创建和进程控制 |
实验操作 |
熟悉进程创建和控制的常用函数,并在Linux实现 |
根据教师提供的材料,提前预习和准备 |
完成实验手册中实验2和实验3,对操作过程中的问题务必进行总结说明(如果有) |
2018年10月23日 |
2 |
处理机调度与死锁III |
课堂讲授 |
银行家算法 |
- |
作业见“课后作业”选项,2018年11月2日(周五)前提交 |
8 |
2018年10月29日 |
2 |
进程互斥和死锁避免 |
实验操作 |
熟悉进程互斥和死锁避免机制,并在Linux编程实现 |
根据教师提供的材料,提前预习和准备 |
完成实验手册中实验4和实验9,对操作过程中的问题务必进行总结说明(如果有),两个实验为1份实验报告 |
2018年10月30日 |
2 |
存储器管理 1 |
课堂讲授 |
存储器概念、层次,对换 |
- |
- |
2018年11月1日 |
2 |
存储器管理 2 |
课堂讲授 |
分页、分段存储管理 |
- |
- |
9 |
2018年11月5日 |
2 |
进程通信——信号、管道和消息 |
实验操作 |
熟悉信号、管道和消息的进程通信方式,并在Linux中实现 |
根据教师提供的材料,提前预习和准备 |
完成实验手册5和6的内容,对操作过程中的问题务必进行总结说明(如果有),两个实验为1份实验报告 |
2018年11月6日 |
2 |
存储器管理 3 |
课堂讲授 |
分段、段页式管理 |
- |
作业见“课后作业”选项,2018年11月13日(周二)前提交 |
10 |
2018年11月12日 |
2 |
进程通信——共享存储和信号量 |
实验操作 |
熟悉共享存储和信号量的工作原理,并在Linux中实现 |
根据教师提供的材料,提前预习和准备 |
完成实验手册7的内容,对操作过程中的问题务必进行总结说明(如果有) |
2018年11月13日 |
2 |
虚拟存储器 I |
课堂讲授 |
虚拟存储器原理、页面置换算法 |
- |
- |
2018年11月15 |
2 |
虚拟存储器 II |
课堂讲授 |
抖动和工作集、请求分段 |
- |
作业见“课后作业”选项,2018年11月20日(周二)前提交 |
11 |
2018年11月19日 |
2 |
处理器调度算法 |
实验操作 |
熟悉处理器调度算法的基本原理,并在Linux中实现 |
根据教师提供的材料,提前预习和准备 |
完成实验手册8的内容,对操作过程中的问题务必进行总结说明(如果有) |
2018年11月20日 |
2 |
输入输出系统 I |
课堂讲授 |
I/O系统功能、概念,I/O控制器,中断处理 |
- |
- |
12 |
2018年11月26日 |
2 |
内存管理算法 |
实验操作 |
熟悉内存管理的常见算法,并在Linux中实现 |
根据教师提供的材料,提前预习和准备 |
完成实验手册10和11的内容,对操作过程中的问题务必进行总结说明(如果有) |
2018年11月27日 |
2 |
输入输出系统 II |
课堂讲授 |
设备驱动程序、设备无关I/O软件 |
- |
- |
2018年11月29日 |
2 |
输入输出系统 II |
课堂讲授 |
SPOOLING和磁盘调度算法 |
- |
- |
13 |
2018年12月3日 |
2 |
SPOOLING和文件系统 |
实验操作 |
熟悉内存管理的常见算法,并在Linux中实现 |
根据教师提供的材料,提前预习和准备 |
完成实验手册12和13的内容,对操作过程中的问题务必进行总结说明(如果有) |
2018年12月4日 |
2 |
文件管理 I |
课堂讲授 |
文件和文件系统基本概念、文件的逻辑结构 |
- |
- |
14 |
2018年12月10日 |
2 |
报告讲演 I |
实验操作 |
每组按照要求分享文献阅读的成果 |
请提前按照分组排序准备好PPT,报告讲解10分钟,公开提问5分钟。提问的同学酌情加分,讲解的同学如果回答不好则减分。 |
- |
2018年12月11日 |
2 |
文件管理 II |
课堂讲授 |
文件目录、共享和保护 |
- |
- |
2018年12月13日 |
2 |
磁盘存储器的管理 I |
课堂讲授 |
外存组织方式、文件存储空间管理 |
- |
- |
15 |
2018年12月17日 |
2 |
报告讲演 II |
实验操作 |
每组按照要求分享文献阅读的成果 |
请提前按照分组排序准备好PPT,报告讲解10分钟,公开提问5分钟。提问的同学酌情加分,讲解的同学如果回答不好则减分。 |
- |
2018年12月18日 |
2 |
磁盘存储器的管理II |
课堂讲授 |
提高磁盘可靠性的技术 |
- |
作业见“课后作业”选项,2018年12月25日(周二)前提交 |
16 |
2018年12月24日 |
2 |
报告讲演 III |
实验操作 |
每组按照要求分享文献阅读的成果 |
请提前按照分组排序准备好PPT,报告讲解10分钟,公开提问5分钟。提问的同学酌情加分,讲解的同学如果回答不好则减分。 |
- |
2018年12月25日 |
2 |
操作系统接口 |
课堂讲授 |
常见系统接口、系统调用 |
- |
- |
2018年12月27日 |
2 |
期末复习 |
课堂讲授 |
全部9章内容复习 |
- |
作业见“课后作业”选项,2018年12月29日(周六)前提交 |
17 |
2018年12月29日 |
2 |
复习和答疑 |
实验操作 |
全部9章内容 |
- |
补17周周一的课 |
2019年1月1日 |
- |
- |
- |
- |
- |
元旦假期 |
注: 每周的课后作业请于下一周理论课前交给助教,逾期不计算成绩。此外,实验报告务必有详细操作过程。
评分规则
注:
课堂表现部分的成绩包含到课情况、随堂测验和上课回答问题情况,鼓励积极提问,疑难问题一起讨论解决。实验表现以实验报告为评价依据,务必保证报告的工整和可读性。文献阅读需提交译文和原文,其中译文务必按格式要求撰写,不清楚可以随时与教师和助教讨论,否则分数很低噢o(* ̄︶ ̄*)o。
授课教师:江先亮、金光,办公地址:宁波大学东校区曹光彪信息楼305室,电子邮箱:jiangxianliang [AT] nbu.edu.cn,联系电话:13616880564/660564
课程助教:马阿曼,实验室地址:宁波大学东校区曹光彪信息楼513室,电子邮箱:lufeishan [AT] 163.com,联系电话:13526901857
|