《操作系统》教学大纲

课程代码

045101182

课程名称

操作系统

英文名称

Operating system

课程类别

学科基础课

课程性质

必修

学时

总学时:64 实验学时:16

学分

3.5

开课学期

第五学期

开课单位

计算机科学工程学院

适用专业

计算机科学与技术

授课语言

全英文授课

先修课程

C++程序设计,计算机组成与体系结构,数据结构

毕业要求(专业培养能力)

本课程对学生达到如下毕业要求有如下贡献:

1:(设计/开发解决方案)能够设计针对计算机工程复杂问题的解决方案,设计满足特定需求的计算机软硬件系统,并能够在设计环节中体现创新意识,考虑社会、健康、安全、法律、文化以及环境等因素。

2:(研究) 培养学生具备计算机系统相关知识并对计算机工程复杂问题进行研究,具有计算机系统研发基本能力、具备问题分析和建模的能力,具有系统级的认知能力和实践能力,掌握自底向上和自顶向下的问题分析方法。

3:(使用现代工具)能够针对计算机工程复杂问题,开发、选择与使用恰当的技术、资源、现代工程工具和信息技术工具。

课程培养学生的能力(教学目标)

本课程目标是向学生传授关于计算机操作系统的重要概念和设计技术。通过该课程的学习,学生将掌握:

 1)进程和线程的概念以及进程(线程)间通信问题;

 2)死锁的发现和避免技术;

 3)内存的管理;

 4)文件系统管理;

 5)输入输出原理;

 6) 安全

7)结合具体实例分析操作系统的相关理论。

课程简介

操作系统(Operating System ,简称OS,是计算机系统中负责支撑应用程序运行环境和用户操作环境的系统软件。操作系统是一个庞大的管理控制程序,大致包括四个方面的管理功能:进程与处理机管理、存储管理、设备管理和文件管理。本课程以这四方面的内容为核心,并以Linux为实例,全面透彻地讲述操作系统的基本原理。

教学内容与学时分配

1 课程思政要素(1学时):

操作系统技术在社会主义建设中的作用;我国重大规划与决策中与操作系统技术相关的内容解读;我国操作系统发展历程和取得的成就。


2 引言(4学时)

操作系统的历史;操作系统的分类;基本的硬件和相关概念介绍;操作系统的结构;


3 进程和线程(8课时):

进程和线程概念;进程间通信原理;经典的IPC问题;进程调度技术;


4 死锁(4课时)

死锁和资源的概念;死锁的检测和发现;死锁的避免技术;


5 内存管理(9课时):

基本的内存管理技术;虚拟内存技术;实现内存管理的重要问题和技术;


6 输入输出 (6课时)

输入输出的概念; 输入输出的软件层;磁盘、时钟和终端的概念;


7 文件系统(6课时):

文件和文件夹;文件系统的实现技术;文件系统案例分析;


8 安全 (4学时)

安全的基本概念和密码学基础;用户验证的目的和基本原理;攻击的一些实例;权限控制的实现方法;


9 Linux操作系统介绍(6课时):

Unix/Linux的历史;Unix/Linux的进程管理、内存管理、文件系统和输入输出;


实验教学(包括上机学时、实验学时、实践学时)

16学时

教学方法

课程教学以课堂教学、课外作业、综合讨论、网络以及授课教师的科研项目于积累等共同实施。

考核方式

期末考试: 70%

实验成绩+考勤+作业:30%

教材及参考书

教材:《Modern Operating System》 第四版, Andrew S. Tanenbaum 著,

ISBN: 97801335916202014

参考资料:

  1. Operating System Concepts》第七版,A. Silberschatz, P. Galvin and G Gagne, ISBN 0-471-69466-5

  2. Operating Systems》,第四版, William Stallings, Prentice Hall PTR

制定人及制定时间

钟竞辉,2019411

 “Operating System” Syllabus

Course Code

045101182

Course Title

Operating system

Course Category

Disciplinary Basic Course

Course Nature

Compulsory Course

Class Hours

64

Credits

3.5

Semester

5

Institute

School of Computer Science & Engineering

Program Oriented

Computer Science and Technology

Teaching Language

English

Prerequisites

C++ Programming, Computer Organization and ArchitectureData Structure

Student Outcomes

 (Special Training Ability)

1.Design / Development Solutions: An ability to design solutions for computer engineering complex problems, to design computer hardware and software systems that meet with specific requirements, and to embody innovation awareness in the design process and take into account social, health, safety, cultural and environmental factors.

2.Research: An ability to develop computer system-related knowledge and research computer engineering complex issues, to develop the basic capacity of computer systems research & development, systematic cognitive and practice, master the Bottom-up and top-down problem analysis methods.

3.Applying Modern Tools: An ability to develop, select and use appropriate technologies, resources, modern engineering tools and information technology tools for complex computer engineering issues.

Teaching Objectives

This course represents the basic concepts and design issues of Operating Systems. Through the learning of the course, students are required to gain understanding of following issues:

Understanding the concept of processes and thread, and classical IPC problems;

Deadlock detection, recovery, avoidance and prevention;

Memory management, paging and swapping;

Principles of input/output;

File systems;

Security;

Mapping theories to real Operating Systems.

Course Description

Operating System (OS) is a computer system responsible for supporting application environment and user operating environment of the system software. Operating system is a huge management control program, including four aspects of management functions: process and processor management, storage management, device management and file management. This course takes these four aspects as the core, taking into account the Linux as examples, gives a comprehensive and thorough account of the basic principles of the operating system.

Teaching Content and Class Hours Distribution

1 Ideological and Political Elements of Curriculum (1 hours):

 The role of operating system technology in socialist construction; the interpretation of the contents related to operating system technology in major planning and decision-making in China; the development course and achievements of operating system in China.


2 Introduction (4 hours):

Operating System history; Operating system classification; Hardware review;

Operating System concepts; Operating System structure


3 Processes and Threads (8 hours):

Processes and threadsInterprocess communicationsClassical IPC problems

Process scheduling;


4 Deadlocks (4 hours):

Deadlocks and resources; Deadlock detection & recovery; Deadlock avoidance & prevention;


5 Memory Management (9 hours):

Basic memory managementVirtual memoryImplementation issues of memory management;


6 Input/output t (6 hours):

Principles of I/O hardware & software; I/O software layers; Disks; Clocks; Terminals;


7 File Systems t (6 hours):

Files and Directories; File system implementation; Example file systems;


8 Security (4 hours):

Basic concepts of security; Basic Principle of User Authentication; Examples of Attacks; Realization Method of Permission Control;


9 Case Study: Linux (6 hours)

Overview of Unix/LinuxProcess management in Linux; Memory management in Linux; I/O and file system in Linux;


Experimental Teaching

16 Hours

Teaching Method

The course teaching is carried out by classroom teaching, homework, comprehensive discussion, network, and the accumulation of scientific research projects of teachers.

Examination Method

Final close-book examination

Exam Time2 hours

General70% final exam + 30% experiment & homework

Teaching Materials and Reference Books

Textbook:Modern Operating Systems》, Andrew S. Tanenbaum(4nd edition), ISBN: 9780133591620, 2014

Other materials:

  1. Operating System ConceptsA. Silberschatz, P. Galvin and G Gagne, Seventh Edition, ISBN 0-471-69466-5

  2. Operating Systems》,Fourth Edition, William Stallings, Prentice Hall PTR

Prepared by Whom and When

Jinghui Zhong2019/04/11

 

《操作系统》实验教学大纲

课程代码

045101182

课程名称

操作系统

英文名称

Operating system

课程类别

学科基础课

课程性质

必修

学时

总学时:16;实验:16

学分

3.5

开课学期

第五学期

开课单位

计算机科学与工程学院

适用专业

计算机科学与技术

授课语言

全英文授课

先修课程

C++程序设计,计算机组成与体系结构,数据结构

毕业要求(专业培养能力)

本课程对学生达到如下毕业要求有如下贡献:

1:(设计/开发解决方案)能够设计针对计算机工程复杂问题的解决方案,设计满足特定需求的计算机软硬件系统,并能够在设计环节中体现创新意识,考虑社会、健康、安全、法律、文化以及环境等因素。

2:(研究) 培养学生具备计算机系统相关知识并对计算机工程复杂问题进行研究,具有计算机系统研发基本能力、具备问题分析和建模的能力,具有系统级的认知能力和实践能力,掌握自底向上和自顶向下的问题分析方法。

3:(使用现代工具)能够针对计算机工程复杂问题,开发、选择与使用恰当的技术、资源、现代工程工具和信息技术工具。

课程培养学生的能力(教学目标)

实验是本课程重要的实践性教学环节,实验的目的不仅要帮助学生巩固和加深理解所学的理论知识,更重要的是要训练学生的实验技能,树立工程观点和严谨的科学作风,掌握系统程序设计、调试的基本方法。

课程简介

配合课程学习,学会操作系统的使用,利用操作系统提供的工具观察操作系统的行为。学会使用操作系统提供的API编写简单的系统程序。能整理分析实验数据,得出实验结论,写出整洁、条理清楚、内容完整的实验报告。

主要仪器设备与软件

台式计算机,16内存,1T硬盘,虚拟机管理软件,linux 操作系统,gcc编译器等

实验报告

要求

考核方式

占总成绩的10%

教材、实验指导书及教学参考书目

自编教材

制定人及发布时间

钟竞辉,2019/04/11


《操作系统》实验教学内容与学时分配

实验项目编号

实验项目名称

实验学时

实验内容提要

实验类型

实验要求

每组人数

主要仪器设备与软件

1

进程和线程创建

4

进程创建实验;线程创建实验

验证性

必做

1

台式计算机,16内存,1T硬盘,虚拟机管理软件,linux 操作系统,gcc编译器等

2

进程和线程同步互斥

4

利用同步互斥技术实现睡觉的理发师问题和读者写者问题

综合性

必做

1

3

文件查找命令的实现

4

文件查找命令的实现

设计性

必做

1

4

Unix shell的实现

4

Unix shell的实现

设计性

必做

1


 “Operating System” Syllabus

Course Code

045101182

Course Title

Operating System

Course Category

Disciplinary Basic Course

Course Nature

Compulsory Course

Class Hours

16

Credits

3.5

Semester

5

Institute

School of Computer Science & Engineering

Program Oriented

Computer Science and Technology

Teaching Language

English

Prerequisites

Computer Organization and ArchitectureData Structure

Student Outcomes (Special Training Ability)

1.Design / Development Solutions: An ability to design solutions for computer engineering complex problems, to design computer hardware and software systems that meet with specific requirements, and to embody innovation awareness in the design process and take into account social, health, safety, cultural and environmental factors.

2.Research: An ability to develop computer system-related knowledge and research computer engineering complex issues, to develop the basic capacity of computer systems research & development, systematic cognitive and practice, master the Bottom-up and top-down problem analysis methods.

3.Applying Modern Tools: An ability to develop, select and use appropriate technologies, resources, modern engineering tools and information technology tools for complex computer engineering issues.

Teaching Objectives

Experiment is an important practical teaching link of the course, the purpose is not only to theoretical knowledge to help students consolidate and deepen the understanding of the science, it is more important to train students' experiment skills, set up the engineering viewpoint and rigorous scientific attitude, master the basic method of program design, system test.

Course Description

Cooperate with the course learning, learn to use the operating system, use the operating system to provide tools to observe the behavior of the operating system. Learn to use the API provided by the operating system to write simple system programs. Able to organize and analyze experimental data, draw experimental conclusions, and write neat, clear and complete experiment reports.

Instruments and Equipments

PC16G mem1THdvmwarelinux Operating systemgcc compiler

Experiment Report

Required

Assessment

10% of the total

Teaching Materials and Reference Books

Self-design Teaching Materials

Prepared by Whom and When

Jinghui Zhong2019/04/11

 “Operating System” Experimental Teaching Arrangements

No.

Experiment Item

Class Hours

Content Summary

Category

Requirements

Number of StudentsEach Group

Instruments, Equipments and Software

1

Process and Thread Creation

4

Process and Thread Creation

Verification

Compulsory

1

Desktop computer with 16G memory and 1T hard disk; Virtual machine management software; Linux operating system;  GCC compiler, etc.

2

Synchronization and mutual exclusion of Process and Thread

4

Utilizing Synchronization and mutual exclusion techniques to solve “Sleeping Barber Problem” and “Reader and Writer problem”

Comprehensive

Compulsory

1

3

Implementation of “find” command

4

Implementation of “find” command

Design

Compulsory

1

4

Implementation of Unix shell

4

Implementation of Unix shell

Design

Compulsory

1


专业课程思政建设内容

序号

课程名称

任课教师

职称

学院

育人目标

教学特色

预期成效

1

操作系统

吴一民、刘发贵、贺小箭、

钟竞辉

副教授、教授、教授、副教授

计算机科学与工程学院

1.引导学生热爱计算机专业,树立正确的学习和就业观念;
2.
以社会主义核心价值观为导向,以行业需求、国家利益和民族崛起为己任,发奋学习刻苦专业,为学科及行业发展贡献力量。

以领悟党的十九大精神内涵为目标,解读计算机发展中的政策导向和业务创新,强调自主知识产权操作系统对我国信息产业发展的重要意义,使学生树立起啃硬骨头,致力献身于我国信息产业基础建设,尤其是操作系统的思想观。


1.以“操作系统”的第一堂课为抓手,实现专业教育与课程思政的有效结合;
2.
结合“新工科”建设、“人工智能”,“自主知识产权的基础软硬件”、“互联网+”等国家战略,激发学生的爱国情怀,树立学生服务国家信息产业需要的卓越工程师精神。