收藏 分享(赏)

计算机,软件基础,机械自动化.ppt

上传人:kpmy5893 文档编号:7756907 上传时间:2019-05-25 格式:PPT 页数:41 大小:819.50KB
下载 相关 举报
计算机,软件基础,机械自动化.ppt_第1页
第1页 / 共41页
计算机,软件基础,机械自动化.ppt_第2页
第2页 / 共41页
计算机,软件基础,机械自动化.ppt_第3页
第3页 / 共41页
计算机,软件基础,机械自动化.ppt_第4页
第4页 / 共41页
计算机,软件基础,机械自动化.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

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;若同级,则按“先来先服务”原则。,比较折衷的设计,每个进程都执行相同的时间段(片),分时轮流,交替执行(注意时间片的选择要合理,太短了虽每个进程的响应加快,但调度太频繁;太长了对其它进程响应不及时)。,由系统设置多个就绪队列(前、后台队列),每个就绪队列中的进程按时间片轮转法占用处

10、理器。,20,进程调度中的先来先服务算法是把处理机分配给: (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(S

14、)的过程如下:,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操作用同一个信号灯S,并令

15、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 else go on / S0,S

18、=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) 死锁,死锁的定义:在操作系统中,如果若干个进程彼此等待对方所拥有且不会释放的资源,从而会处于互相等待的状态,这种情况称为 死锁 。产生的原因:一是系统资源不足; 二是进程推进的顺序不当。,对付死锁的策略有2类:

20、死锁的检测与修复有死锁时或终止进程,或抢夺资源 死锁的预防与避免保证系统不会发生死锁,哪种方法所付出的代价更大?,38,五、典型操作系统处理机管理的特点,1. DOS操作系统的CPU管理特点,特点:DOS是单用户单任务系统,所以没有作业调度,永远只有一个作业在内存运行,只有作业控制能力,没有多进程并发的概念。,2. Windows操作系统的CPU管理特点,特点:单用户多道技术和图形用户界面,可用鼠标来控制。注:DOS界面是字符型,只能用命令方式来控制。,39,从作业管理的角度讲,Windows运用了以下人机交互的技术: 多窗口技术能同时看到多任务的执行,但只有一个活动窗口供此刻人机交互。各窗口

21、的数据交换用什么办法?剪贴板! 菜单技术有全屏幕菜单、条形菜单(状态栏)、下拉菜单、弹出式菜单、图标菜单 联机帮助技术help,对话框等等。 Windows95以上的版本又增添了许多新功能,例如资源管理器、32位多任务操作系统总之Windows可以同时运行多个程序。,40,小 结:,1. 操作系统的主要功能是管理计算机系统中的资源,其实就是资源管理程序。2. 计算机系统中最关键的资源之一是处理机CPU。作业管理和进程管理都属于处理机管理,有的书上合二为一。前者宏观,后者微观。,3. 作业调度与进程调度在作业执行过程中的作用分别是什么?,41,3. 作业调度与进程调度在作业执行过程中的作用分别是

22、什么? 答:作业调度程序是挑选作业进入内存运行; (负责从输入井中选中一个作业且把它装入内存储器,并为该作业创建一个进程,排入就绪队列),是一个宏观的概念,实际上被选进内存运行的作业只是具有了竞争处理机CPU的机会(将来真正在处理机上运行的是该作业的一个进程)。 而进程调度程序是挑选一个进程到处理机上运行; (从就绪队列中选择当前可占用处理器的进程,并控制该进程的执行直到作业完成。有时进程运行中由于某种原因使状态发生变化,进程调度再选另一个作业进程去运行),它才是真正让某个就绪进程到处理机上运行。对它的调用相当频繁,每秒要执行很多次。它是操作系统内核的重要组成部分。进程调度程序在系统中以原语形式存在,它是为进程在系统内的活动提供支持。 只有作业调度与进程调度互相配合才能实现多道作业的并行执行。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报