版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,第三章 操作系统,3.1 基本概念 3.2处理机管理 3.3存储管理 3.4设备管理 3.5文件管理,2,3.1 基本概念,复习: 计算机系统硬件系统软件系统 软 件 系 统 系统软件应用软件,讨论3个问题: 操作系统是什么? 它能干些什么? 它是怎样干的?,3,1. 操作系统是什么?,定义是计算机的一种系统软件,由它统一管理计算机系统的软硬件资源和控制程序的执行。 地位最基本的系统软件,直接运行于裸机之上。 从用户的观点看,裸机OS虚拟计算机,答:,4,主要管理4类资源: CPU、存储器、I/O设备和文件,它能统一管理计算机系统的全部资源(包括硬件资源和软件资源),又称为资源管理程序。,
2、2. 操作系统它能干些什么?,没有OS行不行?,答:,对普通用户来说,不行。因为不清楚内存情况以及设备如何控制等细节。,引入OS的目的: 让用户能方便地使用计算机系统; 使计算机系统能高效地工作。,5,3. 操作系统它是怎样工作的?,即4大资源如何管理?要用到数据结构的基础知识。 这是本章的重点内容。,有几类操作系统?,6,单道 一次只有一个作业装入计算机的内存运行,在执行时不能使I/O设备与CPU同时工作,无法充分利用CPU。 (如DOS系统) 多道计算机内存中同时存放几道相互独立的程序,使他们在操作系统控制之下,相互穿插地运行。当某道程序因某种原因不能继续运行时(例如等待外设传输数据),操
3、作系统便将另一道程序投入运行,以便让CPU及各个外设尽量处于忙碌状态,从而大大提高计算机使用效率。这种技术称为多道程序设计。 (如Windows系统),多道特点:宏观上并行、微观上串行,何谓单道?何谓多道?,7,3.2 处理机(CPU)管理,一、管理目标 二、管理内容 三、作业管理 四、进程管理 五、典型操作系统分析,8,一、管理目标,首先要明确,单处理机的CPU,在任何瞬间只能执行一条指令,所以OS应当最大限度地提高CPU利用率; 其次要方便普通用户,尽可能操作方便。,处理机(CPU)管理的目标是什么?,9,二、管理内容,CPU管理又可分为作业管理和进程管理,作业管理和进程管理二者关系? 前
4、者是宏观概念,后者是微观概念。,什么叫作业? 是计算机完成用户任务所需进行的各项工作的集合,它是对算题任务进行处理的一个动态过程。,什么叫进程? 是程序在数据集上的一次执行,即是在指定内存区域中一组指令序列的执行过程。,10,进程状态转换,每个作业从进入系统到执行完毕要经历四个阶段,所以作业具有四个状态:,作业调度的功能?,11,即一种资源管理程序,管理CPU资源的最高级(宏观)调度。,明确:作业管理是用户与计算机之间的接口; 这种接口可细分为两类:,批处理方式-即用作业调度方式进行管理 (特点:全自动),作业在外存怎样存放? 靠建立JCB(Job Control Block),三、作业管理,
5、JCB是作业在系统中存在的唯一标志,它在作业整个运行过程中始终存在,内容也不断变化,直到作业完成才被清除。,交互方式-即人机对话方式 (特点:不自动或手工),12,作业调度算法有几种? 主要有5种。目的是提高作业吞吐量、提高系统资源利用率、对各种作业尽量公平。 l先来先服务算法 l最短作业优先算法,从作业队列中应该先选取哪些作业进入内存?,下面重点介绍批处理作业的调度算法,l最高响应比作业优先算法(已等待时间/作业运行时间) 响应比R作业响应时间/作业运行时间1作业等待时间/作业运行时间 l最高优先数算法 l均衡调度算法 / 资源搭配算法(使进入运行态的各作业合理搭配),13,设有三个批处理作
6、业,所需执行时间分别为2小时、1小时和25分钟,相继到达时间分别为:6:00、6:10和6:25。 若对这三个批处理作业采用调度算法S1,其执行情况如下:,问:调度算法S1采用的是什么样的算法? 答:先来先服务算法。,14, 若对这三个批处理作业采用调度算法S2,其执行情况如下:,问:调度算法S2采用的是什么样的算法? 答:最短作业优先法。,15, 系统有四个批处理作业采用调度算法S3,其执行情况如下:,问:调度算法S3采用的是什么样的算法? 答:最高响应比作业优先算法。,【分析】计算当J1完J2150分钟/20分钟3.5; 成后各作业J3= 140分钟/10分钟5; 【响应比最高】 的响应比
7、 J4= 120分钟/15分钟2.3; 同理:当J3执行完后,可以计算J2、J4的响应比以确定先后次序。,16,四、进程管理,1. 进程的定义 是在指定内存区域中的一组指令序列的执行过程,它是一个程序在一个数据集上的一次执行 或进程是程序的一次执行过程 而程序的定义是:具有独立功能的一组指令的集合,它给出了CPU执行操作的步骤。,问:进程和程序的区别和联系? 联系:进程是程序的执行过程。同一个程序如果运行在不同的数据集上,就构成了不同的进程;而同一个进程中又可以包含多个程序。 区别: 程序是静态的,进程是动态的; 程序是永久的,进程是暂时的; 进程有状态(三态),而程序却没有重要区别。,菜谱炒
8、菜,17,2. 进程的属性,等待态又称阻塞、挂起、封锁。,动态性指从诞生、运行,直至消灭 并发性指并发执行的进程轮流占用处理器CPU 3个基本态指就绪态、运行态、等待态,可互相转换,18,练习1 : 处于就绪状态的进程可以有 ? 个; 处于等待状态的进程也可以有 ?个; 但处于运行状态的进程只会有 ?个。,练习2:程序的执行何时从运行态中退出? 有3种可能性: 正常结束; 时间片用完; 运行时某条件不满足,则主动退出等待条件满足。,多,多,1,练习3:占有除CPU之外的一切资源的进程处于 ? 态。,就绪,练习4:通过 ?完成进程三基本状态间的转换。,进程调度程序,19,讨论: 处理机空闲时,会
9、选中哪个进程来运行?运行多长时间?,常用的进程调度算法有4种: l先来先服务调度算法 l优先数调度算法 l时间片轮转调度算法 l分级调度算法,这叫进程调度,常规算法,分配给先进入就绪队列的进程,且把该进程执行到底,直到结束或等待。,对每个进程给出一个优先数(分等级),优先级高的允许先“抢占” CPU;若同级,则按“先来先服务”原则。,比较折衷的设计,每个进程都执行相同的时间段(片),分时轮流,交替执行(注意时间片的选择要合理,太短了虽每个进程的响应加快,但调度太频繁;太长了对其它进程响应不及时)。,由系统设置多个就绪队列(前、后台队列),每个就绪队列中的进程按时间片轮转法占用处理器。,20,进
10、程调度中的先来先服务算法是把处理机分配给: (A)优先数领先的进程 (B)先进入内存的作业的进程 (C)先进入等待队列的进程 (D)先进入就绪队列的进程,练习:,问:队列的操作只能是先进先出,进程已进入就绪队列之后,优先数领先的进程如何优先? 答:仍然依次出队,但级别低者送入等待队列!,21,3. 进程的组成,讨论: 一个进程如何被识别和管理? 用一张特殊的表来记录其有关信息和状态。 在进程刚创建时建表,当进程消亡时撤表(free), 这张表叫做PCB(Process Control Block,进程控制块)。 有多少进程就有多少张PCB表,它是进程存在的唯一标志。,由程序、数据集和进程控制块
11、(PCB)3部分组成,22,一种基本的进程控制块PCB格式如下(含4类信息):,23,将相同状态(就绪、运行或等待)的PCB链接成队列,则可编制控制软件了。,24,小结进程概念,进程的组成由程序、数据集和进程控制块3部分组成。 进程的属性动态性、并发性、3基态、 多个不同进程可包含同一程序 每个瞬间位于运行态的进程只可能有一个; 任何时刻、任何进程都处于且仅处于某一个状态; PCB是进程存在的唯一标志; PCB包含信息有4类:标识、说明、管理、现场信息 进程调度算法:4种(对就绪队列而言) 先来先服务、优先数调度、时间片轮转、分级调度,25,4、进程之间的通信,1)进程之间有必要通信么? 答:
12、有,多道程序并发交叉运行时必须协调! 请注意:进程之间有同步和互斥的情况,都是因为涉及到临界区和临界资源。,临界资源一次只允许一个进程使用的资源。 临界区在进程中访问临界资源的那段程序代码。 (它是一个在并发进程中与共享变量有关的程序段),26,解释几个术语:,当若干进程都要使用某一共享资源时,任何时刻最多只允许一个进程去使用,其他要使用该资源的进程必须等待,直到占用资源者释放了该资源。(资源排它性使用:如打印机) 指并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消息,当一个进程没有得到另一个进程的消息时应当等待,直到消息到达时才被唤醒。(时序) 若进程A专门向缓冲区输入数据,而
13、进程B专门从缓冲区取出数据。则A一个也不放入时,B将无数据可取;B若迟迟不取走,让缓冲区满,则A无法再放入。 进程的互斥是进程间竞争共享资源的使用权,这种竞争没有固定的必然关系;而进程同步时,涉及到共享资源的并发进程之间有一种必然的依赖关系。,进程互斥: 进程同步: 进程的同 步性关系: 互斥和同步的区别:,27,2)怎样实现进程间的通信? 解决进程同步与互斥的工具,答:用一种特殊的方法PV操作 定义两种操作(函数):P(S)和V(S) 其中S表示公用信号量。,请注意这种操作的特点是“不可中断的过程”,所以又称“原语”,即P操作原语和V操作原语。,构思巧妙,简洁明快, 简称P、V操作,28,P
14、(S)的过程如下:,S值减1; 若S0,将当前进程置于等待态,并将该进程排入等待S的队列; 若S0,则当前进程继续执行。,V(S)的过程如下:,S值加1; 若S0,从等待S的队列中移出一个进程并加入到就绪队列,当前进程继续执行; 若S0,则当前进程继续执行。,问:在进程状态转换过程中,可能会引起进程阻塞的原因是执行()。 (1)P操作 (2)V操作,29,3) 怎样用P、V操作实现进程互斥?,在任一进程进入临界区前先调用一次P操作,在执行完临界区的操作退出时再调用一次V操作,而且都用同一个公用信号变量S(S的初值为1)。这样就可以实现进程的互斥。,解决互斥问题的“窍门”: P、V操作用同一个信
15、号灯S,并令S初值1(资源的数目),30,例1:请写出两个进程使用一个打印机的信号灯P、V操作。,P1的临界区操作 P(S);/申请一资源 打印1 V(S);/释放一资源,P2的临界区操作 P(S); 打印2 V(S);,解:令初值S1(表示临界资源为1个),2个进程依次进入就绪队列,S=S-1; / P操作(申请一资源) if S0wait/置该进程为阻塞状态(因无可用资源) else go on / S0,S=S+1; / V操作(释放一资源) if S0waitready; go on /从阻塞状态唤醒一个进程,插入就绪队列 elsego on / S0,31,例2:两个进程共用一个临界
16、资源,用互斥信号灯实现这两个进程互斥时,该互斥信号灯可能的取值有哪几个?并说明每个取值的意义。,答:互斥情况下信号灯S的取值只有1 ,0和1三种情况。 S=1表示没有进程进入临界区;(仅有一个公共资源) S=0表示有一个进程进入临界区; S=1表示一个进程进入临界区,另一个进程在等待。 即:S0表示某资源的可用数,S0其绝对值表示阻塞队列中等待该资源的进程数,32,4)怎样用P、V操作实现进程同步?,在任一进程进入临界区前先调用一次P操作,在执行完临界区的操作退出时再调用一次V操作。 但要使用两个不同的公用信号变量SP和SG(SP的初值不能为0,而SG的初值为0)。这样就可以实现进程的同步。,
17、解决同步问题的“窍门”: P、V操作使用2个信号灯SP和SG,令缓冲区空闲初值SP0, 缓冲区产品数SG0,33,例1:P1为生产者,P2为消费者,依次进入就绪队列,希望实现一进一出(同步)。,P1的生产操作 P1:生产产品; P(SP); 将产品放入缓冲区; V(SG); goto P1;,P2的临界区操作 P2: P(SG); 从缓冲区取走产品; V(SP); 消费产品; goto P2;,实际效果预测: P1若不放入1个产品,P2就只能等待,无法取产品; 反之,若缓冲区已放满,则P2若不取走一个产品,P1就只能等待,无法放产品。,34,S=S-1; / P操作 if S0wait els
18、e go on / S0,S=S+1; / V操作 if S0waitready; go on elsego on / S0,缓冲区长度初值应SP0,依题意取SP=1; 缓冲区产品数SG0,P1的生产操作 P1:生产产品; P(SP);/申请一空闲区 将产品放入缓冲区; V(SG);/释放一资源,表有货可取 goto P1;,P2的临界区操作 P2: P(SG); 从缓冲区取走产品; V(SP); 消费产品; goto P2;,35,问:进程的互斥与同步有什么区别?他们之间又有什么共同之处?,答: 区别:进程的互斥是排它性,而同步是依赖性,是制约关系 共同之处:目的都是为了合理地共享资源。,进
19、程的互斥是进程间竞争共享资源的使用权,这种竞争没有固定的必然关系; 而进程同步时,涉及到共享资源的并发进程之间有一种必然的依赖关系。,36,P、V操作要点:, 一定是成对出现(占用资源和释放资源); P(S)和V(S)的调用一定紧挨着临界区的前后; 互斥只要设置一个信号灯(且S初值为1);而同步要设置2个信号灯(及以上);可以接收的信号灯SP初值大于0,表示有空位;而SG初值0,表示无货可取。,P、V操作是否完美无缺?,37,5) 死锁,死锁的定义:在操作系统中,如果若干个进程彼此等待对方所拥有且不会释放的资源,从而会处于互相等待的状态,这种情况称为 死锁 。 产生的原因: 一是系统资源不足;
20、 二是进程推进的顺序不当。,对付死锁的策略有2类: 死锁的检测与修复有死锁时或终止进程,或抢夺资源 死锁的预防与避免保证系统不会发生死锁,哪种方法所付出的代价更大?,38,五、典型操作系统处理机管理的特点,1. DOS操作系统的CPU管理特点,特点:DOS是单用户单任务系统,所以没有作业调度,永远只有一个作业在内存运行,只有作业控制能力,没有多进程并发的概念。,2. Windows操作系统的CPU管理特点,特点:单用户多道技术和图形用户界面,可用鼠标来控制。 注:DOS界面是字符型,只能用命令方式来控制。,39,从作业管理的角度讲,Windows运用了以下人机交互的技术: 多窗口技术能同时看到多任务的执行,但只有一个活
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年港口消防系统布局与消防能力建设规划
- 2026年电梯安装项目质量管理方案
- 2026年社区邻里中心的竞争环境与服务集成研究
- 2026年企业字号与商标冲突应对策略
- 怀念母亲教学设计6篇
- 肉芽肿性菌病治疗流程
- 难治性高血压的综合管理策略培训
- 支气管哮喘急性发作应急救治措施
- 2025年公务员(保障性住房后续管理)试题及答案
- 鼻窦炎保守治疗措施培训
- 2026年江苏事业单位统考无锡市定向招聘退役大学生士兵8人笔试备考试题及答案解析
- 2026届广东高三一模英语试题(含答案)
- 2026年青岛卫生考试试题及答案
- 国家事业单位招聘2024中央台办所属事业单位招聘30人笔试历年参考题库典型考点附带答案详解
- 环境监测工作责任制度
- 成人反流误吸高危人群全身麻醉管理专家共识(2025版)解读课件
- 离子晶体教学课件
- 抖音号改名申请书
- 档案管理与保密工作规范
- 电气安全培训中石油课件
- 糖尿病患者的护理科研与进展
评论
0/150
提交评论