基于华为openEuler的《操作系统》课程教与学

您所在的位置:网站首页 操作系统教学目标设计 基于华为openEuler的《操作系统》课程教与学

基于华为openEuler的《操作系统》课程教与学

#基于华为openEuler的《操作系统》课程教与学 | 来源: 网络整理| 查看: 265

2

教学内容及基本要求

课程教学详细内容与要求如下:

1.计算机操作系统概论

(1) 教学内容

● 操作系统在计算机系统中的地位和作用、操作系统的设计目标;

● 操作系统的发展过程,历史上重要操作系统的类别及特点;

● 操作系统的基本概念:定义、功能和性质;

● 操作系统采用的关键技术:分时原理、多道程序设计原理、虚拟化技术;

● 操作系统的组织结构;

● 操作系统大观:嵌入式操作系统、云操作系统等。

(2) 教学重点

各类操作系统特点;多道程序设计的概念、分时的概念;微内核结构。

(3) 教学难点

多道程序设计的概念和微内核结构的特点。

(4) 教学要求

能够分析和区别各种操作系统的不同结构以及优缺点;能够分析多道程序设计对系统资源利用率的提升;能够了解操作系统的未来发展方向。

2.操作系统的硬件基础

(1) 教学内容

● 操作系统硬件结构;

● 指令集;

● 指令循环和异常处理;

● 处理器的运行模式和模式切换。

(2) 教学重点

指令循环和异常处理;处理器的运行模式和模式切换。

(3) 教学难点

异常的分类和异常处理;处理器运行的两种模式和模式切换的若干时机。

(4) 教学要求

回顾计算机组成原理的知识内容,重点掌握中断和异常的概念以及带异常处理的指令循环过程;理解处理器分为若干运行模式的原因,以异常处理过程为例,讲解处理器工作模式切换的时机。

3.进程管理

(1) 教学内容

● 进程的概念和进程的结构,特别是进程虚拟地址空间布局和进程控制块;

● 进程的生命周期状态迁移模型,包括五状态和七状态模型;

● 进程控制:进程的创建、切换和退出的工作机制;

● UNIX中的进程控制:以UNIX为例,阐述进程控制的相关系统调用;

● 进程调度策略:调度目标、进程调度和短程调度策略和算法;

● 线程:线程的概念和结构、线程与进程的关系、线程的控制等。

(2) 教学重点

进程的结构、虚拟地址空间、PCB的属性;进程切换的内部工作机制;UNIX中fork、exit、waitpid和exec等系统调用的正确使用方法;进程调度的抢占式与非抢占式调度模式;线程的概念以及与进程的区别和联系。

(3) 教学难点

进程的虚拟地址空间布局;进程切换过程中处理器上下文的保存与恢复;抢占式和非抢占式调度模式;多线程程序中变量的内存位置分布和可见范围。

(4) 教学要求

能够通过基础知识的学习及查阅研究分析文献等方式,根据不同系统中进程的特点,设计合理的进程生命周期模型;能够应用UNIX或Windows提供的进程控制编程接口,编写程序实现进程的创建、装载和退出;能够使用POSIX线程库或Windows线程库编写具有一定复杂度的多线程程序。

4.进程的并发和死锁

(1) 教学内容

● 进程的并发问题,主要包括进程的互斥和同步;

● 进程互斥:解决互斥问题的软件方法、硬件方法和信号量方法;

● 进程同步:进程同步的概念、使用信号量解决进程同步问题;

● 典型并发设计问题:生产者-消费者问题、读者-写者问题、选择性互斥问题;

● 其他进程并发控制机制:管程、消息传递等;

● 进程的死锁:死锁的定义、死锁的描述和产生死锁的条件;

● 死锁的处理:死锁预防、死锁避免和死锁检测。

(2) 教学重点

使用信号量实现进程互斥和同步;典型并发程序设计问题的设计模式;进程死锁的概念;死锁的描述;产生死锁的条件;避免进程死锁的银行家算法。

(3) 教学难点

信号量上的P、V操作;使用信号量实现生产者-消费者问题、读者-写者问题、选择性互斥等典型并发设计问题;死锁的描述;银行家算法的工作过程。

(4) 教学要求

通过多个案例教学,使学生理解进程的互斥和同步问题;通过课堂讲授、实验和作业,使学生能够编写正确的并发程序,实现临界区的互斥和多个程序点上的同步;能够使用资源-请求图描述进程之间的资源占有和请求状态,进而通过分析图中是否存在环路判断死锁的发生与否;能够编程实现银行家算法。

5.内存管理

(1) 教学内容

● 内存管理的需求:内存隔离、共享、扩展的需求,静态和动态地址定位;

● 早期操作系统的内存管理:固定分区、覆盖技术、可变分区管理和伙伴系统;

● 虚拟内存:虚拟地址空间,页表,页面命中和缺页故障,地址转换的硬件加速和实现;

● 分页式虚拟内存管理:程序局部性原理,读取策略、置换策略、驻留集管理等;

● 分段式虚拟内存管理:分段式管理的基本原理,段的动态链接,段的共享,段页式虚拟内存管理。

(2) 教学重点

动态地址重定位;早期操作系统内存管理的优缺点;伙伴系统的实现机制;分页、分段及段页式内存管理方式的实现原理;虚拟内存的基本概念,请求分页中的硬件支持,各种页面置换算法。

(3) 教学难点

动态地址重定位;虚拟地址到物理地址的转换过程;分页、分段及段页式内存管理方式的实现原理。

(4) 教学要求

能够分析比较早期内存分配方法的优缺点;能够应用伙伴系统的基本原理分析Linux物理内存的分配机制;能够分析分页、分段及段页式存储管理方式的实现原理;能够分析分页式虚拟存储管理中若干策略的平衡与折中;能够分析各种页面置换算法的性能优劣,并探索和研究页面预测的优化算法和实现。

6.文件系统

(1) 教学内容:

● 文件系统中的概念:文件系统和文件系统的存储结构;

● 文件:文件的属性、操作、类型和文件的存储设备;

● 文件的结构:物理结构和逻辑结构;

● 文件存储空间的管理方式:空闲文件目录法及空闲块链表法,位示图法和成组链接法;

● 文件目录结构:文件控制块和索引结点的概念、目录结构的组织;

● 文件的两种共享方式:基于索引结点的共享方式和符号链接共享方式;

● 文件保护:文件访问权和保护域;UNIX文件系统访问控制机制;

● UNIX中有关文件系统的调用。

(2) 教学重点

文件的物理结构;文件存储空间管理,特别是成组链接法;文件目录结构和目录项;文件的硬链接和符号链接;进程间的文件共享和管道通信方式;文件系统的访问控制机制;UNIX文件系统调用。

(3) 教学难点

文件的混合索引结构;文件存储空间管理的成组链接法;文件的硬链接;打开文件在内核中的数据结构;文件的访问控制机制。

(4) 教学要求

能够对文件的混合索引结构、成组链接法等进行相关分析和计算,验证这些数据组织结构的有效性;通过操作系统命令,实现文件的硬链接和符号链接,并区分UNIX和Windows系统在链接实现方式上的差异性;能够使用UNIX系统调用接口,编写程序实现文件的打开、关闭、读、写操作,以及文件属性的修改,明确这些系统调用的前后置条件,特别是安全性条件和约束;能够编程实现进程间的管道通信。

7.输入/输出(I/O)系统

(1) 教学内容:

● I/O系统功能和结构,I/O系统接口;

● I/O系统硬件结构和组织:I/O设备控制器、I/O通道、I/O设备的控制方式;

● I/O系统软件组织:I/O软件设计的目标,设备无关的I/O软件,用户空间的I/O软件等;

● 缓冲处理技术:单双缓冲、环形缓冲、缓冲池;

● 磁盘驱动调度算法:磁盘访问时间、早期磁盘调度算法和基于扫描的磁盘调度算法;

● 设备分配及实施:设备分配的数据结构、分配原则和分配策略;

● I/O进程控制:I/O控制功能、实现和设备驱动过程。

(2) 教学重点

I/O设备的四种控制方式;缓冲处理技术;假脱机技术(SPOOLING)技术;磁盘移臂调度算法。

(3) 教学难点

DMA和通道I/O控制方式;缓冲处理技术,特别是双缓冲和缓冲池技术;I/O软件的组织及实现;磁盘移臂调度算法。

(4) 教学要求

能够根据设备特点为其选择合理的I/O控制方式;能够分析各种缓冲机制对系统I/O性能的影响;能够用SPOOLING技术的原理分析共享打印机的实现过程;能够比较分析各种磁盘移臂调度算法的性能特点,并能初步设计合理的磁盘移臂调度解决方案。

3

实验、上机、设计、作业、辅导等

教学环节要求

1. 实验

实验项目内容与学时分配表如下。

2. 作业

共给出20 道习题,紧扣各章学习内容。

3. 辅导答疑

每周固定时间、固定地点进行辅导答疑。

4

学时分配及说明

5

本课程与其他课程的联系

计算机系统基础、程序设计基础是本课程的先行课,本课程在讲解操作系统原理时需要相关计算机硬件组成的知识,以及处理器、寄存器、指令、存储器、I/O设备、总线等相关的概念,需要学生具备基本的编程能力和程序设计能力,才能完成配套实验中的实验项目和综合训练项目。

并发程序设计、分布式操作系统和移动程序设计是这门课程的后继课程。并发程序设计课程需要依赖本课程中介绍的并发控制机制,并且需要在此基础上进一步学习管程、条件变量等并发机制;分布式操作系统课程需要在单处理器操作系统基础上进一步对进程管理、内存管理和文件系统进行扩展。移动程序设计所依赖的操作系统实际上对通用操作系统的特化,因此学习操作系统的原理对于移动程序设计和开发具有基础性作用。该课程还与编译原理、Linux操作系统、汇编程序设计等课程有关。

6

教学方法与教学手段

本课程是一门计算思维严谨、理论性和实践性很强的课程,要求教师在教学中理论联系实际,采用计算思维、逻辑思维、形象比喻、绘制示意图、案例、任务驱动等多种教学方式,分散知识点与复杂概念,使学生对计算机操作系统这一课程有生动形象的认识,通过实验加深对该课程相关知识点和相关概念的理解。

运用计算机多媒体教学手段在多媒体教室进行教学,其特点是:阐明概念,引导为主,精讲多练,掌握技能。对原理与软件中的难、重点讲解与多媒体演示相结合,加强实验教学环节,以便使学生及时掌握所学的内容,提高学生基本素质与能力;倡导网络教育与学习,培养学生上网获取新知识的能力。

7

考核方法

在教学计划中该课程列为考试课;考核方式为闭卷。采用多元化考核方式,其中:笔试(闭卷60%)+平时(包括课堂纪律、每章作业质量)10%+实验(包括实验课堂纪律、实验实际操作情况、实验报告质量)30%。各考核环节所占分值比例可根据具体情况进行调整,建议值及考核细则如下。

考试范围:不超出本大纲基本要求和所选择教材的内容范围。书面考试题型为综合性分析计算题,每道题是对几个知识点的综合考查,着重考查学生运用知识的能力。

8

使用说明

不同对象、层次、课程性质的不同要求;教学内容顺序安排、调整要求。

参考书籍

书名:计算机操作系统教程——基于华为openEuler操作系统

定价:69.00元

结合国产开源系统openEuler,培养软硬件一体化思维模式的操作系统教材

内容简介

本书以 华为openEuler操作系统为案例,系统介绍了计算机操作系统。全书共分为7章,分别为操作系统概论、操作系统硬件基础、进程管理、进程的并发和死锁、内存管理、文件管理系统、输入/输出系统。本书依据操作系统课程的教学大纲,参考多部国内外经典教材,根据教学活动中学生的反馈意见,对内容进行了合理选材和组织,注重基本概念、方法和原理的讲解,力求做到概念准确、原理透彻,能够满足教学以及工程开发的基本要求。

本书特别增加了硬件基础知识的介绍,有利于形成 软硬件一体化的思维方式,同时便于不具备计算机硬件基础的学生学习。本书加强了操作系统不同知识模块之间的联系,使学生对操作系统形成一个系统化的认识。本书的案例组织将抽象的概念和原理具体化,使其更容易理解和实际操作,适合作为高等学校计算机相关专业本科教材,各学校可以根据教学课时数安排选取书中内容,本书也可以作为培训机构的教材,以及教师、研究人员和操作系统开发者的参考用书。

本书亮点

1. 注重基本概念、方法、原理讲解,满足教学及工程开发的基本要求。

2. 加强操作系统不同知识模块间的联系,使学生对操作系统形成系统化认识。

3. 以openEuler系统为案例,将抽象的概念和原理具体化。

4.增加硬件基础知识的介绍,有利于形成软硬件一体化的思维方式。

5. 产学协同育人,融入课程思政

/ 作者简介/

刘晓建,西安科技大学副教授,研究生导师。自2013年起每年均承担《操作系统》和《计算机组成原理》主干课程教学和实验工作,授课专业包括计算机学院软工、网工、计科、信计算科学以及管理学院信息管理专业,涉及的年级主要是大三和大四。另外,还承担了硕士研究生《算法分析与设计》、《形式语言与自动机》课程的教学,全校公选的课程《软件安全》等。

目录

向上滑动阅览

第1章 计算机操作系统概论

1.1 操作系统的概念

1.1.1 从用户使用角度理解操作系统

1.1.2 从计算资源管理和控制角度理解操作系统

1.1.3 从计算环境角度理解操作系统

1.2 操作系统的发展力史

1.2.1 人工操作阶段

1.2.2 简单批处理系统

1.2.3 多道程序批处理系统

1.2.4 分时系统

1.2.5 实时系统

1.3 操作系统的结构

1.3.1 简单结构

1.3.2 宏内核结构

1.3.3 层次化结构

1.3.4 微内核结构

1.3.5 外核结构

1.3.6 虚拟机

1.4 操作系统大观

习题

第2章 操作系统的硬件基础

2.1 计算机硬件结构

2.1.1 内存

2.1.2 CPU

2.1.3 I/O模块

2.1.4 系统总线

2.2 指令

2.2.1 指令集

2.2.2 过程调用

2.2.3 CISC和RISC

2.3 指令循环和异常处理

2.3.1 指令循环

2.3.2 异常和异常的分类

2.3.3 异常处理

2.4 CPU的运行模式和模式切换

2.4.1 低EL特权级和高EL特权级的相互转换

2.4.2 异常处理过程中的CPU运行模式切换

习题

第3章 进程管理

3.1 进程的概念

3.1.1 程序并发执行的基本需求

3.1.2 进程概念的理解

3.1.3 进程的结构

3.1.4 进程的虚拟地址空间布局

3.1.5 观察openEuler中进程的虚拟地址空间布局

3.1.6 进程控制块

3.2 进程的状态

3.2.1 五状态模型

3.2.2 七状态模型

3.3 进程控制

3.3.1 进程的创建

3.3.2 进程的退出

3.3.3 进程上下文切换

3.3.4 进程上下文切换的时机

3.3.5 openEuler中系统调用的实现

3.3.6 openEuler环境下使用strace跟踪系统调用过程

3.4 openEuler中的进程控制

3.4.1 获取进程IDs

3.4.2 创建和终止进程

3.4.3 回收子进程

3.4.4 装载和运行程序

3.5 进程调度策略

3.5.1 调度目标

3.5.2 进程调度

3.5.3 短程调度策略

3.5.4 openEuler中的调度策略

3.6 线程

3.6.1 线程概念的引入

3.6.2 线程的实现

3.6.3 线程与进程的关系

3.6.4 openEuler中的POSIX线程库

3.6.5 多线程程序中的变量

习题

第4章 进程的并发和死锁

4.1 并发问题

4.2 进程的互斥

4.2.1 互斥问题

4.2.2 解决互斥问题的软件方法

4.2.3 解决互斥问题的硬件方法

4.2.4 信号量和P、V操作

4.2.5 使用信号量解决互斥问题

4.3 openEuler中信号量的实现

4.3.1 down和up原语的实现

4.3.2 有关信号量的函数调用

4.4 进程的同步

4.4.1 同步问题

4.4.2 使用信号量解决同步问题

4.5 典型并发设计问题

4.5.1 生产者-消费者问题

4.5.2 读者-写者问题

4.6 死锁

4.6.1 死锁的定义

4.6.2 哲学家就餐问题

4.6.3 死锁的描述

4.6.4 死锁发生的条件

4.7 死锁的处理

4.7.1 死锁预防

4.7.2 死锁避免

4.7.3 死锁检测

习题

第5章 内存管理

5.1 内存管理的需求

5.1.1 内存管理的4个基本要求

5.1.2 地址定位

5.2 早期操作系统的内存管理

5.2.1 固定分区管理

5.2.2 覆盖技术

5.2.3 可变分区管理

5.2.4 伙伴系统

5.3 虚拟内存

5.3.1 可执行目标文件

5.3.2 openEuler环境下解析ELF文件

5.3.3 虚拟地址空间

5.3.4 虚拟内存和分页

5.3.5 虚拟内存究竟是什么

5.3.6 页表

5.3.7 虚拟地址转换和缺页故障处理

5.3.8 对内存管理需求的支持

5.3.9 地址转换的硬件实现和加速

5.4 分页式虚拟内存管理

5.4.1 程序局部性原理

5.4.2 读取策略

5.4.3 置换策略

5.4.4 驻留集管理

5.4.5 换出策略

5.4.6 加载控制

5.5 分段式虚拟内存管理

5.5.1 基本原理

5.5.2 段的动态链接

5.5.3 段的共享

5.5.4 段页式虚拟内存管理

习题

第6章 文件管理

6.1 文件系统

6.1.1 文件系统的概念

6.1.2 文件系统的存储结构

6.2 文件

6.2.1 文件的属性

6.2.2 文件上的操作

6.2.3 文件的存储设备

6.2.4 openEuler环境下如何获取文件信息

6.3 openEuler文件系统

6.3.1 文件系统总体架构

6.3.2 物理文件系统

6.3.3 虚拟文件系统

6.3.4 伪文件系统

6.4 文件内容的磁盘块分布和磁盘空闲空间管理

6.4.1 混合索引表

6.4.2 B+树

6.4.3 MS-DOS的磁盘空间管理

6.4.4 成组链接法

6.5 文件链接

6.6 文件共享

6.6.1 打开文件在内核中的数据结构

6.6.2 进程间的文件共享

6.6.3 打开文件的一致性语义和文件锁

6.6.4 管道

配套资源

本书配有与教材内容对应的全套 电子课件、源代码、教学大纲。

除上述资源之外,选用本教材的老师可以联系本书责任编辑(书内有联系方式)获取 实验指导书,包含6个操作系统相关实验的指导。

扫码京东优惠购书

在公众号书圈后台回复【9787302625018】,下载本书配套的教学资源返回搜狐,查看更多



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3