- Level Professional
- Course by Peking University
-
Offered by
About
《操作系统原理》是针对计算机科学技术专业三年级本科生开设的一门专业基础课程。本课程着重学生系统观的培养,通过重点讲述操作系统的内部结构、工作原理及典型技术的实现,使学生建立起对操作系统的整体及各个功能模块的认识,从而系统掌握计算机的专业知识,进一步提升学生的软件开发能力乃至系统软件开发能力。 任何计算机都必须在加载相应的操作系统之后,才能构成一个可以运转的、完整的计算机系统。操作系统的功能是否强大,决定了计算机系统的综合能力;操作系统的性能高低,决定了整个计算机系统的性能;操作系统本身的安全可靠程度,决定了整个计算机系统的安全性和可靠性。操作系统是软件技术的核心和基础运行平台。因此,计算机科学技术专业的学生需要学习和掌握操作系统的基本原理和专业知识。 本课程的教学目标是: 1.掌握操作系统的基本概念、功能组成、系统结构及运行环境; 2.熟悉并运用操作系统工作原理、设计方法和实现技术,理解有代表性、典型的操作系统实例(如UNIX、Linux和Windows); 3.了解操作系统的演化过程、发展研究动向、新技术以及新思想,为后续相关课程的学习打下良好基础,为后续职业发展奠定基石。Modules
操作系统概述
1
Assignment
- 第一周测验
6
Videos
- 操作系统做了什么?
- 操作系统的定义和作用
- 操作系统的主要特征
- 典型操作系统的架构
- 操作系统的分类1
- 操作系统的分类2
操作系统运行环境
1
Assignment
- 第二周测验
6
Videos
- 处理器状态
- 中断与异常机制介绍
- 中断与 异常机制 工作原理
- 实例:X86的中断与异常机制
- 系统调用机制
- 实例:基于X86的Linux系统调用机制简介
进程线程模型
1
Assignment
- 第三周测验
6
Videos
- 进程的基本概念
- 进程状态及状态转换
- 进程控制
- 关于进程相关概念的讨论
- 线程的引入
- 线程机制的实现
处理器调度
1
Assignment
- 第四周测验
6
Videos
- 处理器调度的相关概念
- 设计调度算法要考虑的几个问题
- 批处理系统的调度算法
- 交互式系统的调度算法
- 多级反馈队列调度算法、各种调度算法小结等
- Windows 的线程调度算法
同步机制(1)
1
Assignment
- 第五周测验
8
Videos
- 进程的并发执行
- 进程互斥
- 进程互斥的软件解决方案
- 进程互斥的硬件解决方案
- 进程同步
- 信号量及PV操作
- 生产者消费者问题
- 读者写者问题
同步机制(2)
1
Assignment
- 第六周测验
7
Videos
- 管程的基本概念
- HOARE管程
- 管程的应用
- MESA管程
- PTHREAD中的同步机制
- 进程间通信IPC
- 典型操作系统中的IPC机制
存储模型(1)
1
Assignment
- 第七周测验
6
Videos
- 基本概念-地址重定位
- 物理内存管理
- 伙伴系统
- 基本内存管理方案1
- 基本内存管理方案2
- 交换技术
存储模型(2)
1
Assignment
- 第八周测验
8
Videos
- 虚拟存储技术
- 页表及页表项的设计
- 地址转换过程及TLB的引入
- 页错误(Page Fault)
- 软件相关策略
- 页面置换算法1
- 页面置换算法2-工作集算法
- 其他相关技术
文件系统(1)
1
Assignment
- 第九周作业
7
Videos
- 文件与文件系统
- 文件的存储介质
- 磁盘空间管理
- 文件控制块及文件目录
- 文件的物理结构
- 文件系统的实现
- 文件系统实例——UNIX
文件系统(2)
1
Assignment
- 第十周作业
8
Videos
- 文件系统实例——FAT
- 文件操作的实现
- 文件系统的管理
- 文件系统的安全性
- 文件系统的性能1
- 文件系统的性能2
- 文件系统的性能3
- 文件系统的两个练习
I/O系统
1
Assignment
- 第十一周作业
7
Videos
- I/O管理概述
- I/O硬件组成
- I/O控制方式
- I/O软件的组成
- I/O相关技术
- I/O设备管理
- I/O性能问题
死锁
1
Assignment
- 第十二周作业
7
Videos
- 死锁的基本概念
- 资源分配图
- 死锁预防
- 死锁避免
- 银行家算法
- 死锁检测与解除
- 哲学家就餐问题
期末
1
Assignment
- 期末考试
Auto Summary
"Operating Systems Principles" is an essential foundational course tailored for third-year undergraduate students majoring in Computer Science and Technology. This course, presented by Coursera, delves deeply into the intricacies of operating systems, focusing on their internal structures, working principles, and the implementation of key technologies. It aims to cultivate a systematic perspective among students, ensuring a comprehensive understanding of the overall functionality and individual modules of operating systems. The curriculum is designed to enhance software development skills, including system software development, by covering fundamental concepts, system structures, and operating environments. Learners will explore the principles, design methods, and implementation techniques of operating systems, with in-depth analyses of representative systems like UNIX, Linux, and Windows. Additionally, the course provides insights into the evolution, current research trends, and emerging technologies in the field of operating systems, preparing students for advanced studies and professional growth in the IT and Computer Science domain. The course offers flexible subscription options with Starter and Professional plans, making it accessible for various learning needs. Although the duration is not specified, the course is structured at a professional level, catering to those aiming to deepen their expertise and enhance their career prospects in software and systems development.

Professor Chen Xiangqun