课程介绍
本课程系统全面的讲授操作系统技术全貌及其基本原理,注重培养学生的问题分析和抽象的能力,使学生能够掌握基本的操作系统分析、设计方法,理解操作系统的设计、实现以及资源管理、分配与调度算法等。辅以实验训练,培养学生的实际动手能力、分析和解决问题的能力,强化学生对相关理论、算法等的理解和掌握。
本课程是计算机科学与技术专业的必修课和学位课,以“计算机组成原理”、“面向对象程序设计”、“数据结构和算法”等为基础。课程总学时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
|