1
课程详述
COURSE SPECIFICATION
以下课程信息可能根据实际授课需要或在课程检讨之后产生变动。如对课程有任何疑问,请
联系授课教师。
The course information as follows may be subject to change, either during the session because of unforeseen
circumstances, or following review of the course at the end of the session. Queries about the course should be
directed to the course instructor.
1.
课程名称 Course Title
计算机操作系统(H Operating Systems (H)
2.
授课院系
Originating Department
计算机科学与工程系 Department of Computer Science and Engineering
3.
课程编号
Course Code
CS334
4.
课程学分 Credit Value
3
5.
课程类别
Course Type
专业核心课 Major Core Courses
6.
授课学期
Semester
夏季 Summer
7.
授课语言
Teaching Language
中英双语 English & Chinese
8.
他授课教师)
Instructor(s), Affiliation&
Contact
For team teaching, please list
all instructors
张殷乾,教授,计算机科学与工程系,zhangyq3@sustech.edu.cn
Yinqian Zhang, Professor, Department of Computer Science and Engineering,
zhangyq3@sustech.edu.cn
9.
实验员/所属学系
方式
Tutor/TA(s), Contact
沈昀,教学实验师,计算机科学与工程系, sheny@mail.sustech.edu.cn
Yun Shen, Teaching Technician, Department of Computer Science and Engineering,
sheny@mail.sustech.edu.cn
10.
选课人数限额(可不填)
Maximum Enrolment
Optional
2
11.
讲授
Lectures
习题/辅导/讨论
Tutorials
实验/实习
Lab/Practical
其它(请具体注明)
OtherPlease specify
总学时
Total
32
32
64
12.
先修课程、其它学习要求
Pre-requisites or Other
Academic Requirements
CS102A 计算机程序设计基础 A Introduction to Computer Programming A
CS203 数据结构与算法分析 Data Structures and Algorithm Analysis
CS208 算法设计与分析 Algorithm Design and Analysis
CS202 计算机组成原理 Computer Organization
13.
后续课程、其它学习规划
Courses for which this course
is a pre-requisite
14.
其它要求修读本课程的学系
Cross-listing Dept.
教学大纲及教学日历 SYLLABUS
15.
教学目标 Course Objectives
本课程为学生们讲解操作系统的设计原理和实现方法。在理论层面,本课程将介绍操作系统的基本概念,分类,和历史发
展,重点讲述的操作系统的三个功能:虚拟化、并发性、和持久化,以及操作系如何管理的三种计算机的主要资源:中
处理器、内存、I/O 和文件系统。在实践方面,本课程将指导学生从零开始构建操作系统,通过自己动手搭建一个简单的
教学操作系统原型,学习中断处理、内存管理、虚拟内存、进程管理、进程调度、文件系统管理等相关知识。
This course will introduce design principles and implementation methodologies. On the theory side, this course will
present the basic concept of operating systems, their taxonomy, and the evolution of classical operating systems. It will
focus on the three important functionalities of an operating system: virtualization, concurrency, and persistence.
Students will learn how the operating system manages CPU, memory, and I/O and filesystems. On the practice side, the
course will guide the students to build an educational operating system from scratch. They will learn how to handle
interrupts, manage physical memory and virtual memory, manage processes, and schedule processes and build file
systems.
16.
预达学习成果 Learning Outcomes
完成本课程后,预期学生将掌握以下知识和能力:
操作系统的进程管理:深入理解进程的创建和终止,理解进程的生命周期中的状态转换,理解进程切换的过程,
熟悉进程调度的常用算法,掌握进程间通信和同步的原理和方法,了解死锁的防御和检测方法。能够编程在内核
中实现简单的进程管理和进程调度算法。
操作系统的内存管理:熟悉各种内存管理的方式,理解虚拟内存的概念、分页原则和地址转换的方法。能够在内
核中实现简单的页面替换算法。
操作系统的 I/O 管理:了解 I/O 设备管理、以及 I/O 处理的的方法。了解储存的管理方法和文件系统的几种实现
方法。能够在内核中对文件系统进行改进。
On completion of this course, the student should be able to master the following knowledge and skills:
Process management: understand in depth the creation and termination of a process, understand state
transition in the life cycle of a process, understand context switch, be familiar with common process scheduling
algorithms, master the theory and practice of inter-process synchronization and communication, be familiar
with deadlock prevention and avoidance algorithms. The students should be able to implement simple process
management and scheduling algorithm in the educational operating system kernel.
Memory management: be familiar with various memory management methods, understand the concept of
virtual memory, demand paging, and address translation. The students should be able to implement simple
3
page replacement algorithm in the educational operating system kernel.
I/O management: be familiar with I/O device management and I/O operations, understand the management of
storage and common organization of file systems. The students should be able to improve file system
implementation in the educational operating system kernel.
17.
课程内容及教学日 (如授课语言以英文为主,则课程内容介绍可以用英文;如团队教学或模块教学,教学日历须注明
主讲人)
Course Contents (in Parts/Chapters/Sections/Weeks. Please notify name of instructor for course section(s), if
this is a team teaching or module course.)
Week 1
Lecture1. Introduction to Operating Systems
Lecture2. Operating System Basics
Lecture3. CPU Virtualization: Process
Lab1. Linux Command, C Programming, Embedded Assembly, and Makefile
Lab2. A Minimal Kernel: Entry Point and I/O
Lab3. Interrupt Handling
Week 2
Lecture4. Process Management
Lecture5. Memory Management
Lecture6. Virtual Memory
Lab4. Building A Linux Shell
Lab5-Lab6. Physical Memory Management
Week 3
Lecture7-8. Demand Paging (and mid-term)
Lecture9. Inter-process Communication
Lab7-8. Virtual Memory Management
Lab9. Process Management
Week 4
Lecture10. Process Synchronization
Lecture11. CPU Scheduling
Lecture12. Deadlock
Lab10. Process Management
Lab11-12. CPU Scheduling
Week 5
Lecture13. I/O Management
Lecture14-15. File Systems
Lab13-15: File systems
Week 6
Lecture16. Security and Protection
Lab16: Recitation
4
18.
教材及其它参考资 Textbook and Supplementary Readings
Operating Systems: Three Easy Pieces, Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau
https://pages.cs.wisc.edu/~remzi/OSTEP/
Operating System Concepts, 10th Edition, Abraham Siberschatz et. al.
课程评估 ASSESSMENT
19.
评估形式
Type of
Assessment
评估时间
Time
占考试总成绩百分
% of final
score
违纪处罚
Penalty
备注
Notes
出勤 Attendance
课堂表现
Class
Performance
小测验
Quiz
25%
Lecturesattendance + quiz 10%
Labsattendance + in-class
assignments 15%
理论课课堂出勤与小测验共 10%
实验课课堂出勤与小测验共 15%
课程项目 Projects
平时作业
Assignments
45%
Written assignments + Lab
assignments 45%
编程与问答形式的作业一共 45%
期中考试
Mid-Term Test
10%
Closed book exams
闭卷考试
期末考试
Final Exam
20%
Closed book exams
闭卷考试
期末报告
Final
Presentation
其它(可根据需要
改写以上评估方
式)
Others (The
above may be
modified as
necessary)
20.
记分方式 GRADING SYSTEM
A. 十三级等级制 Letter Grading
B. 二级记分制(通过/不通过) Pass/Fail Grading
课程审批 REVIEW AND APPROVAL
21.
本课程设置已经过以下责任人/委员会审议通过
This Course has been approved by the following person or committee of authority
5