课程大纲

课程大纲

操作系统

课程编码:B2011010Y 英文名称:Operating System 课时:56 学分:3.00 课程属性:专业必修课 主讲教师:陈向群

中文介绍

英文介绍

教学目的要求
任何计算机都必须在加载相应的操作系统之后,才能构成一个可以运转的计算机系统。操作系统的性能高低,决定了整体系统的性能;操作系统本身的安全可靠程度,决定了整个系统的安全性和可靠性。操作系统是软件技术的核心和基础运行平台。因此,相关专业的学生必须学习和掌握操作系统的基本原理和专业知识。本课程的目的如下
1、掌握操作系统的基本概念、功能组成、系统结构及运行环境。
2、熟悉并运用操作系统工作原理、设计方法和实现技术,培养系统能力。
3、了解操作系统的演化过程、发展研究动向、新技术以及新思想。
4、理解各种有代表性的、典型的操作系统实例,例如:Linux、鸿蒙。
5、培养发现问题、界定问题、解决问题、评估结果的基本能力,成为创新型人才。
6、为后续课程打下良好基础,为解决我国“卡脖子”问题奠定基石。

预修课程
C语言程序设计、数据结构、计算机组成原理

主要内容

第1章 操作系统概述

1.1与操作系统相关的基本概念和基本原理

1.2操作系统普适的定义

1.3多道程序设计

1.4操作系统特征

1.5操作系统启动和引导

1.6操作系统体系结构及内核功能

1.7操作系统分类

第2章 运行环境及运行机制

2.1处理器与操作系统内核

2.2特权指令和非特权指令

2.3中断/异常/陷入机制

2.4系统调用机制等

第3章 进程/线程管理及调度

3.1 进程概念及进程映像

3.2 进程控制块

3.3 进程状态及其转换

3.4 进程控制及操作

3.5 线程实现与线程库API

3.6 处理器调度与切换

3.7 处理器调度算法

第4章 并发控制:同步互斥机制与死锁

    4.1 进程/线程互斥

4.2 进程/线程同步

4.3 信号量机制

4.4 锁与条件变量

4.5 进程通信

4.6经典IPC问题

4.6.1生产者消费者问题

4.6.2读者写者问题

4.7死锁

4.7.1死锁的基本概念

4.7.2 产生死锁的条件

4.7.3 资源分配图

4.7.4 死锁预防

4.7.5死锁避免

4.7.6死锁检测与解除

4.7.7哲学家就餐问题

第5章 虚拟存储管理

    5.1存储管理概述

5.1.1存储体系

5.1.2存储保护

5.1.3地址重定位

5.2 物理内存管理(伙伴系统)

5.3各种存储管理方案

5.3.1 单一连续区

5.3.1固定分区

5.3.1可变分区

5.3.1页式

5.3.1段式

5.3.1段页式

5.4 虚拟存储管理技术

5.4.1 地址转换机制

5.4.2 页表

5.4.3 页错误处理

5.4.4 页面置换算法

第6章 文件系统

6.1文件管理的基本概念

6.2文件目录/目录文件/目录项

6.3文件的逻辑结构和物理结构

6.4文件系统设计

6.4.1 UNIX文件系统

6.4.2  FAT文件系统

6.5 文件目录和操作

6.6文件存储空间的管理

6.7文件共享和保护

6.8文件系统性能

第7章 设备管理

7.1设备管理基本概念

7.1.1 设备分类

7.1.2 设备与系统的接口方式

7.1.3设备管理的层次结构

7.1.4 设备独立性概念

7.2 I/O管理相关技术

7.2.1 缓冲技术

7.2.2 SPOOLing技术

7.3 设备分配和回收

7.4 I/O性能问题

第8章 网络管理

8.1网络管理协议

8.2网络管理实现方式

8.3网络资源共享、远程过程调用RPC

8.4 内核网络协议栈、网络数据在内核中的传递

第9章 操作系统安全性及Linux安全编程

    9.1影响系统安全性的因素

9.2 实现系统安全性的基本技术

9.2.1 认证机制

9.2.2授权机制

9.2.3加密机制

9.2.4审计机制

9.2.5防火墙机制

9.2.6反病毒机制

9.3 编程中常见的安全问题

9.3.1缓冲区溢出

9.3.2返回值安全检查

9.3.3临时文件安全

9.3.4注入漏洞问题

9.3.4接口封装漏洞

9.4代码安全检测

9.5用户鉴别与验证

第10章 操作系统前沿技术

    10.1 虚拟化技术

10.2 云平台

第11章 基于RISC-V的XV6源代码阅读(课后完成)

 

课时分配

章节/学时分配

讲课

习题课

实验课

上机课

讨论课

其它

1、概述

3

         

2、运行环境及运行机制

4

 

 

     

3、进程/线程管理及调度

6

 

 

     

4、并发控制:同步互斥机制与死锁

8

2

 

 

 

 

期中考试

 

 

 

 

 

2

5、虚拟内存管理

7

2

 

 

 

 

6、文件系统

6

2

 

 

2

 

7、设备管理

2

 

 

 

 

 

8、网络管理

2

 

 

 

 

 

9、操作系统安全性及Linux安全编程

4

 

 

 

 

 

10、操作系统前沿技术

2

 

 

 

 

 

考试

 

 

 

 

 

2

总计

44

6

 

 

2

4

 

课程思政
1、介绍中国系统软件发展历程,强调科技所具有的十分重要的战略地位,面向国家需求,发挥科技的重要战略作用。
2、强调系统能力培养,从系统结构角度实现系统功能的综合方法,通过课程掌握系统内部各软件/硬件部分的接口、运行协同,以及系统内部各部件的逻辑关联,了解系统呈现的外部特性与人机交互模式。
3、引导学生发现和理解操作系统原理和技术针对的问题,从而理解这门课程知识体系发展的内在逻辑和规律,深刻地把握原理和技术的内在联系,提高学生的思维能力和发现问题的能力。
4、促使学生主动探索,拓展思维,对课程中的典型案例,分析不同的解决方案,培养学生的创新意识和创新能力。
5、融入职业道德教育、工程伦理教育,注重知识、能力、素质的综合提高。

教材
1、《现代操作系统(原书第4版)》,[美]安德鲁 S.塔嫩鲍姆、赫伯特·博斯著,陈向群、马洪兵译,机械工业出版社,2017-07-24
2、《操作系统导论》,[美] 雷姆兹·H.阿帕希杜塞尔、安德莉亚·C.阿帕希杜塞尔著,王海鹏 译,人民邮电出版社,2019-06-01
Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau.Operating Systems: Three Easy Pieces. Homepage URL: http://pages.cs.wisc.edu/~remzi/OSTEP/
3、《操作系统概念(原书第9版)》,[美] 亚伯拉罕·西尔伯沙茨、彼得·B.高尔文、格雷格·加涅著,郑扣根、唐杰、李善平译,机械工业出版社,2018-10-01
4、《操作系统——精髓与设计原理(原书第9版)》,[美] 威廉·斯托林斯著,陈向群、陈渝译,电子工业出版社,2021-7-1
5、《现代操作系统:原理与实现》,陈海波、夏虞斌等著,机械工业出版社,2020-10-12

参考文献

课程教师信息
陈向群,北京大学信息科学技术学院、高可信软技术教育部重点实验室,教授,博士生导师。北京计算机学会理事长, 中国计算机学会教育专委会常务理事,教育部计算机教学指导委员会“系统能力培养教学改革”专家组成员。
长期担任北京大学操作系统系列课程主讲教师。在华文慕课开设的“操作系统原理”获评国家级线上一流课程,曾获北京市高等教育教学成果奖一等奖、高校计算机专业优秀教师奖励计划、北京大学教学成果奖等奖项。开设本科生专业课:《计算机系统导论》、《计算机系统导论(讨论班)》、《操作系统》、《操作系统实习》、《操作系统实习(实验班)》;开设研究生课程:《系统软件前沿技术》。编著及翻译教材若干本。
主要研究方向为系统软件、移动计算、智能软件、软件工程。在构件化操作系统内核、操作系统内核安全和优化、移动操作系统隐私保护等领域取得了多项重要研究成果,在UbiComp、WWW、ICSE、ASE等重要的国际会议和期刊发表论文60余篇,获得计算机学会A类会议UbiComp 2016最佳论文提名奖。研究成果获国家发明专利授权20余项,获2016年度教育科技进步一等奖。

其它说明
教学参考网站:华文慕课