106256-操作系统(第5版)-9-《操作系统教程》(5版)教学重点、难点及解决办法
106250-操作系统(第5版)-3-《操作系统教程》(5版)教学计划说明全

可编辑修改精选全文完整版<<操作系统教程>>(第5版)教学计划说明各学校和学院在教学计划、教学要求、课程设置、学时安排、教学大纲,乃至学生程度等方面存在种种差异,采用本教材授课时,应酌情对内容进行取舍。
课时充分时,可考虑讲授全部内容,否则,突出基本内容,简化实例,重点讲述原理。
(1)共安排54学时(每周3学时×(18)周)讲课,期中和期末测验另行安排时间。
(2)许多院校每学期讲课时间少于18周或有更多学时,则有些章节可以适当减少或增加学时,有些内容可精简不讲或略讲。
同时可以安排课堂讨论,采用分组研讨,课堂汇报,集体评论的形式。
“讨论题”可在电子资料中找到。
(3)采用ppt配合讲课,每次讲授的信息量较大,讲课速度可以提高,ppt讲稿可供学生下载,便于课后复习。
(4)第8章可略去部分或全部,以压缩课时,或者作为一次学术讲座。
(5)操作系统是一门实践性、应用性很强的课程,如果仅仅学习理论知识是很难达到理想教学效果的,必须配合上机实验,既可以单独开课,也可作为课程的一部份。
南京大学在原理教学部分--设计了“模拟类实验”配合原理教学同步进行,可参考本书网站。
实验教学部分—包含了“内核类和应用类实验”,请参考由高教育出版社出版的配套教材<<Linux操作系统实验教程>>。
(6)考试范围重点放在基本概念、基本原理和基本技术方面,实例及涉及具体操作系统细节的内容可以不作为考试范围和要求的重点。
(7)学生成绩考核采取综合评定方式,由以下部分组成:作业10-15%、上机实习20%、课程测验10-15%、期终考试60-50%。
各校可根据具体情况调整比例(实验课也可单独开设,另计学分)。
(8)由于习题较多,思考题由学生自行选做,作业仅布置应用题,每学期拟做50题左右。
注意“应用题参考答案”及“考研真题和参考答案”仅供给选择本教材院校的老师参考,不直接提供给学生使用,每学期均有多所院校学生来函索求答案,我们都会婉言拒绝。
操作系统基础第五版课件

第四代操作系统(1990s 至今)
以微处理器和网络为主要特征 ,出现了多媒体、网络和安全 等新技术。
操作系统的分类与应用领域
分类
根据操作系统的功能和结构,可以将 其分为批处理系统、分时系统、实时 系统、网络操作系统和分布式操作系 统等。
网络协议
TCP、UDP、HTTP、FTP等常 见网络协议的原理和应用场景 。
网络设备
路由器、交换机、网卡等网络 设备的工作原理和功能。
网络通信性能
带宽、延迟、丢包率等网络通 信性能指标的含义和影响因素
。
分布式系统的特点与挑战
分布式系统的定义与特点
资源共享、并发性、自治性、透明性等。
分布式文件系统
HDFS、Google File System等分布式文件 系统的原理和应用。
02
同步与互斥
分布式系统中的同步与互斥问题及 解决方案。
一致性与复制
分布式系统中数据一致性的维护策 略及数据复制技术。
04
THANKS
感谢观看
回收策略
设备使用完毕后及时回收,避免资源浪费。可采用基于计时器、计 数器或事件的回收机制。
06
并发编程与死锁处理
并发编程的概念与优势
并发编程概念
并发编程是指在一段时间内宏观上有多个程序在同时运行,但实际上每个程序只是在CPU分配的时间片内运行。
并发编程优势
提高CPU利用率、加快程序执行速度、实现多任务处理等。
优先级调度
为每个进程设置优先级,根据优先级 进行调度,可灵活调整调度策略。
进程同步与通信机制
进程同步
通过信号量、互斥锁等机制实现进程间的协调运 行,避免竞争条件和死锁问题。
操作系统基础clz第五版课件

目录
CONTENTS
• 内存管理 • 文件系统 • 设备管理 • 安全与保护
01 操作系统概述
操作系统的定义与功能
总结词
操作系统是计算机系统的核心软件,负责管理计算机硬件和 应用程序,提供计算机系统的稳定、高效运行环境。
详细描述
操作系统是一种系统软件,负责管理计算机硬件和应用程序, 提供计算机系统的稳定、高效运行环境。它负责分配和回收 硬件资源,管理计算机系统的数据和文件,提供用户界面和 系统服务等功能。
控制设备
控制设备的启动、执行和结束,确保 设备按照正确的顺序和方式工作。
设备管理的功能与任务
• 维护设备:记录设备的状态和使用情况,进行必要的维护 和修理,保证设备的正常运行。
设备管理的功能与任务
实现设备的独立性
通过抽象和接口,使应用程序与设备无关,简化 设备的使用和管理。
提高设备的利用率
合理地调度设备和处理设备请求,减少设备的空 闲时间,提高设备的利用率。
要点一
访问控制机制
操作系统中的访问控制机制用于确定哪些用户或程序可以 访问哪些资源,以及他们可以执行哪些操作。
要点二
控制策略
常见的访问控制策略包括基于角色的访问控制(RBAC)、 基于属性的访问控制(ABAC)和强制访问控制(MAC)。
操作系统的加密与解密技术
加密与解密技术
加密和解密技术用于保护数据的机密性和完整性,防止 未经授权的访问和篡改。
文件保 护
文件保护是指通过权限控制和加密等方式保护文件的安全,防止未 经授权的访问和修改。
访问控制机制
访问控制机制是实现文件共享和保护的重要手段,它通过控制用户或 进程对文件的访问权限来保护文件的安全和完整性。
操作系统教程第五版费翔林课后答案

操作系统教程第五版费翔林课后答案本文是针对操作系统教程第五版费翔林书籍中的课后题目提供的答案解析。
在这个教程中,费翔林教授详细介绍了操作系统的基本概念、原理和实践,涵盖了进程管理、内存管理、文件系统、设备管理等各个方面。
通过对这些课后题目的解答,可以更好地理解和巩固操作系统的知识。
第一章:引论1.什么是操作系统?它的主要目标是什么?–答案:操作系统是一种控制和管理计算机硬件和软件资源的系统软件。
操作系统的主要目标是为用户提供一个方便、高效、安全的计算机环境。
2.请简要描述操作系统的角色和功能。
–答案:操作系统有几个角色和功能:•资源管理:操作系统管理计算机的各种硬件资源,包括处理器、内存、存储设备和输入输出设备。
•进程管理:操作系统创建、调度和终止进程,以及处理进程间的通信和同步。
•内存管理:操作系统分配和回收内存,管理虚拟内存,以及处理内存的保护和共享机制。
•文件系统:操作系统管理文件和目录的存储和访问,提供文件的创建、读取、写入和删除等操作。
•设备管理:操作系统管理计算机的输入输出设备,包括键盘、鼠标、显示器、打印机等。
•用户接口:操作系统提供了与计算机交互的界面,包括命令行界面和图形用户界面等。
第二章:进程管理1.什么是进程?进程的状态有哪些?–答案:进程是指在计算机中正在运行的程序的实例。
进程的状态包括:•就绪:进程已经准备好执行,但是还没有被分配到处理器。
•运行:进程正在处理器上执行。
•阻塞:进程由于某些原因不能继续执行,需要等待某个事件的发生。
•终止:进程已经完成或被终止,等待被操作系统回收。
2.请简要描述进程的创建、终止和状态切换的过程。
–答案:进程的创建是通过调用系统调用来完成的,系统为新进程分配资源,并设置进程的初始状态。
进程的终止可以是正常终止(调用系统调用进行退出)或异常终止(例如发生错误)。
进程状态之间的切换通过操作系统的调度算法来实现,例如从就绪状态切换到运行状态,或从运行状态切换到阻塞状态。
106251-操作系统(第5版)-教学内容、教学要求与教学目标

操作系统课程教学内容、教学要求与教学目标操作系统教学内容(1)概念与原理;(2)接口和服务;(3)结构、设计与实例;(4)进程和线程;(5)处理器管理和调度;(6)同步、通信和死锁;(7)存储管理与虚拟存储器;(8)设备管理;(9)文件管理与虚拟文件系统;(10)安全与保护;可按上述相对独立又相互联系的十个知识单元组织操作系统的教学内容。
操作系统教学要求通过本课程的学习,使学生掌握操作系统的基本概念、原理、技术和方法;具有剖析实际操作系统、及设计、开发和构造现代操作系统的基本能力;深入了解操作系统在计算机系统中的地位及作用,以及它与硬件和其他软件之间的关系;进而熟悉操作系统控制和管理整个计算机系统执行的全过程,具有以操作系统为中心的计算机系统的全局和整体的概念。
操作系统教学目标(1)明确操作系统的作用、功能和地位,并建立起以操作系统为中心的计算机系统的系统级的认识。
(2)掌握操作系统中资源管理(复用、虚拟、抽象)的关键技术。
(3)掌握操作系统中进程管理和调度等控制程序执行的关键技术。
(4)掌握并发程序设计的基本思想,并具有解决相关问题的初步能力。
(5)掌握操作系统的构造技术,具有剖析和设计系统模块的初步能力。
(6)了解1个主流操作系统的设计和实现技术,能熟练操作和使用。
操作系统实验教学目的和要求(1)学生应该通过实验实习加深理解和更好掌握操作系统的基本概念、原理、技术和方法,巩固所学知识、激发实验兴趣、掌握实验要领,培养对操作系统课程所学知识融会贯通和综合运用的能力;(2)学生应该通过实验实习提高自己剖析和设计操作系统的能力,加强分析问题、解决问题能力的培养,加强创新精神与探索精神、科学作风与综合素质的培养;(3)学生应该通过实验实习深入了解和熟练掌握一种操作系统的组成、特点、源码构成、内部结构,及替换模块、扩充功能和重新编译、调试、运行它的方法,达到拓宽编程思路、把握操作系统整体的目的。
(4)学生应该通过实验实习养成良好的理论联系实际、自己动手和操作的习惯,获得项目管理和团队协作的实际训练和具体经验。
操作系统基础教程第五版课程设计

操作系统基础教程第五版课程设计一、前言操作系统是计算机科学中的经典课程,是计算机科学的核心基础课程之一。
本课程设计将基于《操作系统基础教程》第五版(以下简称《教程》)进行,旨在加深学生对操作系统的理解和应用。
二、教学目标1.掌握操作系统的基本概念、组成、类别和功能。
2.熟悉操作系统的进程、线程、并发和同步机制。
3.了解操作系统的存储管理、文件系统和虚拟内存等知识。
4.掌握操作系统的性能测试和优化方法。
5.能够使用Linux操作系统完成一些基本的操作和管理任务。
三、教材选用本课程将以《教程》为主要教材,强调概念与实践相结合,课堂讲解与实验操作相结合。
四、课程安排第一章:绪论1.课程介绍2.操作系统基本概念3.操作系统的历史和发展第二章:进程管理1.进程的概念和属性2.进程控制块(PCB)3.进程调度算法4.优先级调度和多级反馈队列调度5.进程通信和同步第三章:存储管理1.存储器的层次结构2.内存管理的基本任务3.连续分配方式4.非连续分配方式5.虚拟内存和页面置换算法第四章:文件系统1.文件系统的概念和组成2.文件目录的组织和管理3.文件存储空间的管理4.文件读写和文件操作第五章:Linux操作系统1.Linux操作系统的基本介绍2.Linux操作系统的基本命令3.Linux操作系统的管理和配置4.Linux操作系统的应用和开发第六章:操作系统性能测试与优化1.操作系统性能测试的基本方法2.操作系统性能优化的基本知识3.操作系统性能优化的实践案例五、实验环节本课程将安排实验环节,包括基本的Linux操作系统使用、进程管理、文件系统管理和性能测试等实验任务。
实验环节将与课堂讲解相结合,强调理论与实践相结合。
六、教学方法本课程将采用听课、实验、作业和考试相结合的综合教学方法,课程将充分体现学生的主观能动性,注重激发学生学习兴趣,提高学生自主学习和实践能力。
七、考核方式本课程的考核方式将采用平时成绩和期末考试相结合的方式。
(完整word版)操作系统教程第5版部分习题答案

第一章:一、3、10、15、23、27、353。
什么是操作系统?操作系统在计算机系统中的主要作用是什么?操作系统是管理系统资源、控制程序执行、改善人机界面、提供各种服务,并合理组织计算机工作流程和为用户有效地使用计算机提供良好运行环境的一种系统软件.主要作用(1)服务用户—操作系统作为用户接口和公共服务程序(2)进程交互-操作系统作为进程执行的控制者和协调者(3)系统实现—操作系统作为扩展机或虚拟机(4)资源管理—操作系统作为资源的管理者和控制者10。
试述系统调用与函数(过程)调用之间的区别。
(1)调用形式和实现方式不同;(2)被调用的代码位置不同;(3)提供方式不同15.什么是多道程序设计?多道程序设计有什么特点?多道程序设计是指允许多个作业(程序)同时进入计算机系统内存并执行交替计算的方法。
从宏观上看是并行的,从微观上看是串行的。
(1)可以提高CPU、内存和设备的利用率;(2)可以提高系统的吞吐率,使单位时间内完成的作业数目增加;(3)可以充分发挥系统的并行性,使设备和设备之间,设备和CPU之间均可并行工作。
23.现代操作系统具有哪些基本功能?请简单叙述之。
(1)处理器管理;(2)存储管理;(3)设备管理;(4)文件管理;(5)联网与通信管理。
27.什么是操作系统的内核?内核是一组程序模块,作为可信软件来提供支持进程并发执行的基本功能和基本操作,通常驻留在内核空间,运行于内核态,具有直接访问计算机系统硬件设备和所有内存空间的权限,是仅有的能够执行特权指令的程序。
35.简述操作系统资源管理的资源复用技术。
系统中相应地有多个进程竞争使用资源,由于计算机系统的物理资源是宝贵和稀有的,操作系统让众多进程共享物理资源,这种共享称为资源复用。
(1)时分复用共享资源从时间上分割成更小的单位供进程使用;(2)空分复用共享资源从空间上分割成更小的单位供进程使用。
二、2、52、答:画出两道程序并发执行图如下:(1)两道程序运行期间,CPU存在空闲等待,时间为100至150ms之间(见图中有色部分)。
教学课件:《操作系统》(第5版)费翔林

操作系统 (系统软件)
计算机硬件
计算机系统层次结构(2)
• 硬件层 • 操作系统层 • 支撑软件层 • 应用软件层
操作系统的主要目标
• 方便用户使用 • 扩大机器功能 • 管理系统资源 • 提高系统效率 • 构筑开放环境
操作系统与支撑及应用软件的区别
• 程序意图不同,各有不同任务,解 决不同问题;
用户:运行应用程序,使用逻辑地址
虚拟机界面 OS:虚存及其管理
物理机界面
虚拟地址 物理地址
硬件:主存+辅存
虚存抽象的效果是给用户 造成假象,感觉独占了一 个连续地址空间,编写应 用程序的长度不受物理内 存大小限制。虚存是通过 结合对内存和外存的管理 来实现的,把一个进程的 虚存中的内容存储在磁盘 上,用内存作为磁盘的高 速缓存,以此为用户提供 比物理内存空间大得多的 虚拟内存空间。
虚拟机界面
fork、wait、exec...
OS:进程及其管理 物理机界面 进程调度和切换
硬件:处理器
进程是对于进入内存的执 行程序在处理器上操作的 状态集的一个抽象。进程 抽象的效果是让用户感觉 到有自己独享的处理器, 从而,可为用户提供多任 务操作系统和分时操作系 统。
操作系统中三个基础抽象
虚 存(virtual memory) (虚存是内存的一种抽象)
1.1.4操作系统主要特性
第一个特性--并发性 第二个特性--共享性 第三个特性--异步性
第一个特性--并发性(1)
• 并发性--指两个或两个以上的事件 或活动在同一时间间隔内发生。
• 发挥并发性能够消除系统中部件和 部件之间的相互等待,有效地改善 系统资源的利用率,改进系统的吞 吐率,提高系统效率。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《操作系统教程》(笫5版)教学重点、难点及解决办法(按十个核心知识单元排列)1、概念与原理重点:操作系统的发展历史、定义、作用、功能、特征、分类、发展动力和研究动向;操作系统在计算机系统中的地位,以及与其他软件的联系与区别;操作系统的资源管理技术:复用、虚拟和抽象;操作系统三个最基本抽象:进程抽象、虚存抽象和文件抽象;操作系统虚拟机及其实现原理;多道程序设计定义、实现基础、基本原理、主要特征、优点缺点。
难点:对并发性和共享性及其关系的深刻理解;多道程序运行的时间关系、处理器及设备利用率计算;操作系统在计算机系统中的地位和作用;操作系统与其他软件的联系与区别;对操作系统三个最基本抽象的深刻理解,虚拟机的定义及其实现原理。
解决办法:讲解操作系统是计算机系统的核心和灵魂,是各类软件系统中最复杂的软件之一,是软件系统中的基础软件;提醒学生注意学习方法、激发学习兴趣,学习本课程最终目标是建立起以操作系统为中心的计算机系统的系统级的认识和全局性把握;强调操作系统是理论性与实践性并重的课程,理论与实践相结合十分重要,既要学好原理,又要动手实践,做到课程教学与实验内容彼此呼应、掌握基本原理与提高编程能力相互并重;多道程序设计是讲授的重点之一,让学生理解和掌握多道程序设计原理,实现它必须解决的若干问题,基本调度思想,理解计算机效率的计算方法;可通过图解方法介绍操作系统三个最基本抽象,在此基础上再介绍虚拟机,让学生牢固掌握操作系统资源管理技术;本知识单元主要要求是讲清楚“操作系统是什么?为什么要它?它干什么?它如何干?”等问题,回顾操作系统的发展历史和分类,有助于理解操作系统的实质,提醒学生带着以上问题学习操作系统;建议学生多看参考书和参考资料,多浏览相关网站,并为学生提供这类信息资源。
2、接口与服务重点:操作系统接口、操作系统服务;POSIX标准、访管指令、应用编程接口API、标准库函数;程序接口与系统调用;操作接口与系统程序;shell概念、变量、命令、语句及其简单程序设计。
难点:深入理解操作系统是接口和服务的提供者、是资源的管理和控制者、是程序执行的控制和协调者、是虚拟机和扩展机的含义;熟练掌握和使用操作系统提供的两类接口;理解内核的主体是系统调用;掌握shell的其本编程技巧;了解Linux系统调用及实现机制。
解决办法:要让学生理解POSIX标准、API、标准函数库、系统调用之间的关系,并实际使用两类接口;掌握shell最好的方法是通过实验从易到难编写、调试和运行shell程序;通过综合性实验全面训练学生对于操作系统API的综合应用能力。
3、结构、设计与实例重点:操作系统结构分类及设计方法;操作系统内核、功能及属性;操作系统的运行模式及其分类;安全操作系统的开发方法、安全操作系统设计技术;典型操作系统实例之一(Linux):1) Linux中断处理、下半部分处理;2)Linux进程、线程和内核线程;进程管理;3)传统调度算法;4) O(1)调度算法;5)物理主存管理层次及实现;6)进程虚存空间管理技术;缺页处理;7)设备I/O处理;8)VFS;9)安全和保护机制。
难点:理解操作系统函数在用户进程中执行的运行模型;操作系统设计权衡与折衷原则、机制与策略分离原则;安全操作系统的开发方法和设计技术;Linux:1)中断处理流程与各种下半部分处理机制;2) Linux进程、线程的联系和区别;3)掌握进程创建的不同方式(fork、vfork、clone);4) O(1)调度算法的思想与实现要点;5)物理主存和进程虚存管理、缺页处理;6) VFS的设计思想及实现技术。
解决办法:操作系统的结构与设计中分两部分:操作系统设计和安全操作系统设计。
前者讨论重点放在通用操作系统功能的设计和实现,涉及有效性、易用性、开放性等方面;后者着重讨论通用操作系统的安全性的设计和实现,涉及隔离性、完整性、可验证性方面。
讲课时把握不同的重点。
典型操作系统实例的某些难点配合源程序片段或实验讲授,必定会事半功倍。
通过模拟类实验,了解操作系统的基本体系结构。
通过Linux环境下的内核类和应用类系列实验,加深对Linux操作系统设计原理与实现机制的理解。
4、进程和线程重点:可重入程序和可再用程序;为什么要引入进程?进程的定义和属性、进程的状态和转换、进程的描述和组成、进程映像、进程上下文;进程切换、切换时机和切换过程、处理器状态转换;为什么要引入线程?多线程环境中,进程与线程的定义、状态、组成、联系和区别。
难点:为进程建立和实现多个逻辑时钟;进程的定义、属性、组成、映像、上下文、状态和转换的原因;进程切换和处理器状态转换的关系,进程切换时机;进程控制块和线程控制块的数据结构、进程的创建与撤销、进程的状态转换;了解Linux进程、进程状态、进程队列(链表)、进程管理。
解决办法:进程是多道程序系统出现后,为刻画系统内部出现的动态状况,描述运行程序活动规律而引进的最基本、最重要的概念和系统机制,所有多道程序设计操作系统都建立在进程基础上。
它在理论与实现方面均有重要意义,是操作系统的一根主线,要紧抓不放、讲深讲透;让学生深刻理解和掌握进程概念,宜从解决系统“并发性”和“共享性”入手,在并发系统中,程序与程序的执行(计算)不再一一对应,必须引入新概念--进程,进程是既能描述程序并发执行状态、又能用来共享资源的一个基本单位,进程是支持程序执行的一种系统机制;线程在Linux中的含义和实现与通常概念下的线程(如Windows中的线程)是不一样的,学生应能清楚区别而不会混淆;通过实验模拟进程控制块和线程控制块的数据结构、进程与线程的创建与撤销、进程与线程的状态转换。
加深理解进程和程序、进程和线程的联系与区别,理解进程及线程的重要数据结构及实现机制,熟悉进程及线程的创建、执行、阻塞、唤醒、终止等控制方法。
通过在Linux环境中的实验学习进程创建,线程共享进程中的数据,通过内核模块显示进程控制块信息,加深理解进程地址空间和进程内核结构的实现机制。
5、处理器管理和调度重点:处理器状态及其转换、特权指令与非特权指令、程序状态字;绝对时钟、间隔时钟、逻辑时钟及其实现;中断分类、中断和异常的响应及服务、中断屏蔽、中断优先级、多重中断。
处理器调度的层次;处理器调度算法选择的准则;进程/线程调度时机;低级调度的功能和类型;作业调度和低级调度算法;难点:处理器状态及其转换方式;程序状态字的作用及不同机器上的实现;中断机制、中断和异常的响应及服务;为进程建立多个逻辑时钟及逻辑时钟编程;对各种调度算法的理解并掌握其应用场合;含作业调度/进程调度/主存分配/资源分配在内,在具有相互制约的前提条件下,根据作业对资源的占用情况,计算作业流的执行过程;了解Linux 2.4调度算法、Linux2.6调度算法。
解决办法:深入理解中断和异常是激活操作系统的唯一手段,也是操作系统实现并发性的硬件基础之一的含义,操作系统是如何在中断技术支撑下,实现多道程序设计、处理器与设备的并行工作、设备与设备的并行工作、捕获异常事件并作相应处理等工作的;按中断事件的来源和实现手段划分,可把中断源分成:硬中断与软中断,结合具体操作系统(如Linux),让学生深入理解中断的定义、特性、分类、用法,理解和掌握不同类型中断/异常的成因及处理流程;时钟是操作系统进行调度工作的重要工具,通过举例说明逻辑时钟的实现原理和编程方法也是重点之一;处理器调度的目的是分配处理器,让合适的作业或进程占有执行,本知识点要让学生掌握作业/进程/线程各级调度算法、各自的功能及算法选择准则等问题。
可以根据不同调度算法画出程序运行轨迹,并计算运行调度的各种性能指标值;在操作系统中,存在许多种调度算法,有的仅适用于作业调度,有的仅适用于进程/线程调度,但大多数调度算法对两者都适用,为了避免重复,建议合并在一起介绍,再指出它们的差别;课堂上或习题课上,讲解一个较复杂的多级调度例子--包含作业调度/进程调度/主存分配/资源分配在内,在具有相互制约的前提条件下,根据作业对资源的占用情况,计算作业流的执行过程和执行结果的综合性应用题;通过实验模拟实现处理器的中断机制和处理器调度算法,统计和比较几种调度算法的性能,模拟多个进程的并发执行,加深对处理器管理和调度的理解;通过Linux实验分析Linux 2.4调度算法及其不足,并将Linux 2.6调度算法修改成随机调度算法,加深对进程调度策略和调度机制的理解。
6、同步、通信与死锁重点:程序的顺序执行与并发执行;与时间有关错误、相交和不相交并发进程;进程互斥、临界区、临界资源、竞争条件、临界区管理的实现方法(硬件设施和软件算法);进程的竞争和协作;进程同步、同步机制、用信号量和PV操作解决经典同步问题;管程的概念、特性、结构、条件变量和实现;通信机制的分类和实原理,用不同通信机制编程解决进程通信问题;死锁定义、引发原因、产生条件、死锁防止、避免、检测及解除方法。
难点:分析并发进程执行中与时间有关的错误;编写正确的临界区管理程序、判断临界区操作算法的正确性;各种同步机制的工作原理与实现;用信号量和PV操作描述进程互斥同步问题;复杂互斥与同步问题的求解;管程概念、特性、结构、条件变量、实现和应用;死锁问题中安全性序列的寻找;银行家算法执行结果的描述与判断;网间进程通信的实现;进程同步机制的实现;多核环境并发程序设计;了解Linux内核同步机制、Linux 的System v IPC同步机制。
解决办法:本知识单元从程序并发执行出现的与时间有关的错误问题出发,逐层深入、逐步展开与阐述并发问题的解决方案,自底向上构筑操作系统解决程序并发执行的手段与方法。
让学生全面理解和掌握操作系统在实现和应用两个层面的解决并发程序设计问题的途径。
学生通过学习,可以在应用程序设计的层面较好掌握并发程序设计技术,又可以在系统实现层面了解系统软件解决并发问题的基本机制;首先讨论解决进程互斥问题的临界区管理途径,即采用软件算法与硬件指令解决临界区问题;其次,引入信号量与PV操作工具,既能用来解决临界区管理问题,又能解决进程同步问题,成为解决并发程序设计问题的另一途径;第三,讨论使用管程同步工具解决并发程序设计问题的途径,使得并发程序设计从面向指令的低级程序设计向面向问题的高级程序设计转化。
讲课重点放在基于信号量和PV操作实现的霍尔管程方法,体现了操作系统并发性解决方案自底向上的构筑过程;介绍基于通信规约的进程通信工具(信号通信、管道通信、共享主存通信、消息传递通信等),使用原语实现的高级规约机制方便用户进行高级程序设计和网络程序设计,现代流行的socket通信机制乃至RPC机制都可以被认为是进程通信机制的衍生物;著名的生产者-消费者等问题是计算机操作系统中并发进程内在关系的一种抽象和一般化形式,是典型的进程同步问题,解决了这些问题就解决了一类并发进程的同步问题,这些经典例子应该讲深、讲透;死锁也是重要知识点,要结合日常生活中的死锁事例,让学生弄懂死锁概念、死锁定义、死锁原因、死锁必要条件,及死锁防止、死锁避免、死锁检测与解除方法,要求学生掌握死锁处理的相关算法,熟练运用各种方法解决死锁问题;本知识单元讲课结束后,应布置一批不同类型的进程互斥或同步类综合性应用题。