西安科技大学《计算机软件基础》资源管理技术_第1页
西安科技大学《计算机软件基础》资源管理技术_第2页
西安科技大学《计算机软件基础》资源管理技术_第3页
西安科技大学《计算机软件基础》资源管理技术_第4页
西安科技大学《计算机软件基础》资源管理技术_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章资源管理技术所谓操作系统就是能有效地管理计算机系统中的各种软、硬件资源,合理地组织计算机的工作流程,为用户创造良好工作环境的系统软件。4.1操作系统的概念一、操作系统的功能与任务

OS是最基本的、核心的系统软件,是加在系统硬件上的第一层软件,是硬件的首次扩充。其作用有如下几个方面:(1)管理系统资源(2)为用户提供资源共享的条件和环境,并对资源的使用进行合理调度(3)提供输入输出的方便环境,提供良好的用户界面(4)规定用户的接口,进行各种错误处理操作系统的五大功能

操作系统功能:文件管理进程管理存储器管理作业管理设备管理二、OS的发展过程1、第一阶段(手工操作阶段)输入纸带(卡片)、电传打字机输出结果、在控制台上用搬键输入命令等;没有OS,只能用机器指令控制、操作计算机;用户独占整个系统资源,利用率低;CPU等待人工操作;用户既是操作员又是程序员;既用户必须是计算机专家;主要用于科学计算。面临的问题:人机矛盾日益突出、系统资源利用率低。2、第二阶段(成批处理系统)

为解决人机矛盾,提高资源利用率,人们很自然想到:让计算机保持不间断工作、减少人工干预程度。于是产生了把“零散的单一程序处理”变为“集中的成批程序处理”的处理方式。“批处理”操作系统由此而产生;被称为“第1代操作系统”。面临的问题:

高速CPU和低速I/O的矛盾加剧。由于计算机技术的发展,CPU处理速度提高很快,但I/O的速度却很慢,系统整体效率没有得到应有的提高。3、第3阶段(执行程序系统和多道的引入)

为解决高速CPU和低速I/O不匹配的矛盾,在硬、软件资源方面做了巨大的改进,由此诞生了许多新技术:

高质量、高效率的高级语言编译器:

FORTRAN、COBOL、PASCAL等;分时系统将CPU划分为很小的时间片,采用循环轮作方式处理多道程序;CPU和I/O的并行处理技术;包括:通道技术、缓冲技术、多道处理技术、中断技术等。

由此产生了第三代操作系统。系统特点:多道处理一个CPU同时处理多个程序;同时将多个程序装入内存、并同时运行的机制;大大提高了CPU的利用率;通道技术将I/O处理从CPU的控制下独立出来的一套处理机制,也称为“I/O处理机”;CPU不再直接控制I/O设备,而是通过通道去控制,从而实现了CPU和I/O设备之间的并行工作,缓解了CPU和I/O速度不匹配的矛盾;中断技术在程序运行中,出现了某种紧急事件,必须暂时中止现行程序,转去处理此事件,然后再恢复中断程序的运行技术。操作特点:操作更加简单;例如,MS-DOS、UNIX、WINDOWS;功能更加强大;五大功能由此实现;应用程序丰富多彩;计算机应用已广泛涉及到各行各业、各个领域。面临的问题:CPU利用率低的矛盾更加激化。现有处理技术和手段已不适应应用的实时处理需求。三、操作系统的分类(访问方式)

1、多道批处理操作系统(BatchProcessing)2、分时操作系统(TimeSharing)3、实时系统(RealTime)4、通用操作系统5、多窗口系统批处理操作系统:解决:用户操作速度太慢与计算机处理速度极快之间的矛盾,提高了计算机系统的吞吐量,提高了系统资源的利用率。特点:不需人工干预,进行批量处理。批处理系统又分为单道批处理系统和多道批处理系统。

缺点:处理过程中,用户不能干预。分时系统:分时系统是多道程序的变种,每个用户都通过一个联机终端使用计算机系统。

分时系统与批处理系统的区别:在批处理系统中,一个作业可以长时间地占用CPU直至该作业执行完成;而在分时系统中,一个作业只能在属于它的那个时间片内使用CPU,时间一到,系统将剥夺作业的CPU使用权,把CPU分配给其他的作业使用。特点:同时性、独立性、及时性、交互性必须考虑:系统的响应时间。系统核心:时间片轮流调度技术。影响系统响应时间的因素:用户数目,时间片的长短以及作业调度所必须的系统开销等。例:有人说:“分时系统中分时时间片的长短问题无所谓,并不影响终端用户得到的及时响应。”结论:分时时间片的长短问题是一个重要问题,它将直接影响用户得到的及时响应。”实时系统:(特殊的分时系统)分类:实时过程系统、实时信息处理系统。

特点:对时间有严格的限制,要求计算机能对外部随机事件做出及时响应,并处理。

采用:时间片分时技术。

特点:及时性、同时性、独立性、交互性。

实时系统与分时系统的区别:实时系统专用性很强,交互能力较差,用户数量有限;分时系统通用性很强,交互能力很强,允许用户运行或修改应用程序。

最大区别:系统的响应时间。分时系统的响应时间可以长一点,以用户可以忍受的范围为限,一般2--3秒;实时系统的响应时间短得多,一般毫秒级,甚至微秒级。通用操作系统:

兼有批处理、分时处理和实时处理三者或其中的两者的功能。5。多窗口操作系统集成开发环境信息共享界面友好4.2多道程序设计程序单道程序、多道程序、顺序程序、并发程序顺序程序与并发程序的特征进程进程的特征、性质、状态及转换、线程1、程序的有关概念程序(Program)

是为解决某个问题用计算机语言或命令设计、编写的一系列指令的有序集合。程序的顺序执行

一个程序通常分为若干个具有一定独立性的程序段,这些程序段是按逻辑步骤编排的,只有当当前程序段执行完成后,才将控制权转交到下一个程序段并执行下一个程序段。程序顺序执行举例一设有一个程序有三个程序段,分别执行

I(输入)、C(计算)和P(输出)操作。执行顺序为:

ICP

只有‘输入’了数据,才能‘计算’这些数据,也只有‘计算’产生了结果,才能‘输出’它们。这些逻辑关系(顺序)是不能随意改变的。

结果

数据

程序顺序执行举例二

假设有n个作业,每个作业都由三个程序段:输入段Ii、计算段Ci、输出段Pi。在早期单道程序系统中,作业执行流为:作业1I1C1P1

作业2I2C2P2

作业nInCn

Pn作业执行顺序单道程序处理及特性一次只处理一个程序。该程序独享系统资源。单个程序的特性:

1、顺序性操作按程序规定的顺序执行。2、封闭性程序在执行过程中独享系统资源,不受外界因素的干扰和影响。3、可再现性只要初始条件相同,无论以何种方式、速度、重复执行多少次,结果是相同的。多道程序处理及特性同时将多个程序装入内存,并同时处理它们,整个系统资源为多个程序共享。由于多道程序具有并发的特点,在任一时刻,系统内部(内存)同时运行着多个程序;受系统资源的制约,每个程序处理过程的行为是不确定的(系统内部状态因此而不同)。例如,第Ii个程序的Ci

这次是在时刻Ti开始的,那么,下一次运行同样的程序组时,第Ii个程序的Ci

就不一定是在Ti时刻开始。

程序并发执行举例设有三个程序,它们的执行步骤和顺序相同,都是Ii(输入)、Ci(计算)、Pi(输出)。当第1个程序的输入操作I1执行完、执行C1时,输入机空闲,这时候可以执行第2个程序的输入操作I2;在时间上,操作C1和I2时重叠的。当C1执行完、执行P1时,处理机空闲,若这时I2已完成,就可以执行C2,与此同时,输入机又空闲,可以执行第3个程序的I3。这样一来,在时间上,P1、C2和I3是重叠操作的。

程序并发执行举例示意图程序1:I1C1P1程序2:I2C2P2程序3:I3C3P3

从示意图中可以看出,C1和I2、P1、C2和I3、P2和C3在时间上都是重叠操作的。Tt1t3t2单道和多道程序处理的区别在单道程序处理环境下,各逻辑步骤之间的关系是确定的、不受外界影响而改变的。在多道程序处理环境下,并发处理机制中必然存在着直接或间接的相互依赖和相互制约的关系,从而使被处理的多道程序失去了程序固有的特性:封闭性、可再现性。

程序与计算结果不再一一对应程序在顺序执行时,程序与“计算”间有着一一对应的关系。在并发执行时,一个共享程序可为多个用户作业调度,而使程序处于多个执行中,从而形成了多个“计算”。因此,程序和计算间一一对应的关系不复存在。2、进程及有关概念进程(Process)就是程序的一次执行过程,是系统进行资源分配和调度的一个独立单位。“进程”这个概念是1966年美国麻省理工学院的J.H.Sallexer提出的。进程管理也被称为处理机管理。处理机是计算机系统中的重要资源,所以它管理的好坏在很大程度上直接影响系统的效率。处理机管理又分两个部分:作业管理和进程管理。进程管理是由程序管理进化而来,是和程序管理密不可分的。进程的概念

由于并发活动的复杂性,不同学者研究和讨论的侧重点不同,对进程的定义也不尽相同。几种不同的定义为:

进程是可以和别的计算并发执行的计算;进程是程序的一次执行,亦即进程是在给定内存区域中的一组指令序列的执行过程;所谓进程,就是一个程序在给定活动空间和初始环境下,在一个处理机上的执行过程;进程是程序在一个数据集合上运行的过程,是系统资源分配和调度的一个独立单位。进程的特征进程具有两个重要特征:(1)动态性:表现在它由“创建”而产生,由“调度”而执行,因得不到资源而“暂停”执行,最后由“撤消”而消亡。进程有自己的生命周期。(2)并发性:在系统中可以同时存在几个进程。在单CPU系统中,任何时刻只有一个进程占用CPU,其它进程处于等待状态。进程有着走走停停的活动规律。引入进程的目的是为了程序的并发执行,以提高资源的利用率。进程的性质1)动态性描述程序在执行过程中的全部活动;2)并发性

OS同时接受和处理多个进程;3)异步性不同进程在逻辑上相互独立,有各的运行“轨迹”;4)制约性由于计算机资源是有限的,不同进程共享CPU和I/O通道及设备,因此相互制约。

进程的状态进程在其存在的过程中,它们的状态是不断发生变化的。一般来说,进程有三种基本状态:就绪状态、运行状态、等待状态。就绪状态

已经获得投入运行所必需的一切资源,一旦分配到CPU,就可以立即执行。这是一种逻辑上可运行状态。运行状态进程获得了CPU及其它一切所需资源,正在CPU上运行着。等待状态

由于资源得不到满足,进程运行受阻,处于暂停状态,等待资源分配后,再投入运行。进程状态转换示意图

运行状态等待状态

就绪状态

进程调度

等待资源时间用完获得资源

进程调度程序

来自作业调度

交作业管理进程在整个生存周期中,由进程调动程序控制,在这三种状态之间进行转换。四、死锁

1、什么是死锁现象:每个进程所要求的资源都已被另一个进程占用,出现没有一个进程能继续运行,这种情况称“死锁”。2、死锁产生的原因

(A)资源不能共享(资源独占性)。(B)资源的不可剥夺性。(C)资源采用动态分配原则:允许一个进程不释放已占有的资源,就又去申请别的资源。(D)允许进程间非法交叉推进顺序的存在:导致循环等待资源,无法前进。

3、死锁产生必须同时具有的四个必要条件:

(A)资源独占性。(B)资源的不可剥夺性。(C)资源采用动态的部分分配原则(D)出现相关进程由于资源分配不当而出现循环等待。4、解决死锁的办法

(A)死锁的预防破坏产生死锁的4个必要条件中的任何一个。·关于资源独占性:采用假脱机技术可以使非共享设备变为共享设备。·破坏“资源的不可剥夺性”(申请不到资源时,释放原先已占有的,进入等待,以后再一起申请)。·破坏对资源采用动态的部分分配原则(每个进程必须提出它所需要的全部资源,只有完全满足时,才能启动)。·破坏循环等待。

(B)死锁的避免躲避死锁的发生。

(C)死锁的检测与恢复允许死锁产生,当死锁发生时能检测出来,并且有能力处理,进行恢复。采用虚拟技术,使非共享设备变成共享设备,以避免死锁用户1用户2用户3••••••输出输出输出打印打印机主机三、进程通信

1、同步与互斥的概念

临界资源:一次仅允许一个进程使用的资源。如打印机、读卡机、缓冲区、变量等。临界区:进程中使用临界资源的那段程序。各进程之间存在着相互制约、相互依赖的关系,例1:进程同步的例子电子邮件信箱发送进程A接收进程B当信箱满时,发送进程只有等待接收进程取走信件,当信箱空时,接收进程必须等待发送进程发送信件。12n……四、多道程序的组织处理机调度分为作业调度和进程调度,前者是宏调度、后者是微调度,二者的调度算法类似。常用的作业调度算法:1、先来先服务2、短作业优先3、最高响应比优先:

响应比=等待时间+实际运行时间)/实际运行时间4、基于优先级的调度算法5、均衡调度算法4.3存储空间的组织一、内存储器的管理技术存储器是计算机系统的重要资源之一。因为任何程序和数据以及各种控制用的数据结构都必须占用一定的存储空间,因此,存储管理直接影响系统的性能。存储器由内存和外存组成。内存由顺序编址的块组成,每块包含相应的物理单元。逻辑(相对)地址与物理(绝对)地址逻辑地址(logicaladdress、relativeaddress)程序中按逻辑顺序编排的代码及数据的地址称为逻辑地址。物理地址(physicaladdress、absoluteaddress)程序中按代码及数据在内存中实际存储位置的地址成为物理地址。重定位(relocation)将逻辑地址转化为物理地址的过程称为重定位。一般由操作系统的链接过程完成。分为静态和动态两种。静态链接是在链接装入时一次集中完成,动态是在指令执行中先访问内存后再重定位,一般由硬件完成地址转换。重定位原理图见图4-1。存储管理的功能(1)地址变换:相对地址到绝对地址(2)内存分配:(3)存储共享与保护(4)存储器的扩充1、界地址存储管理又称分区分配存储管理

分为固定分区分配和可变式动态分区分配固定分区分配固定分区分配(fixed-sizepartition)是在处理作业前,内存事先划分为若干个大小不等或相等的区域,一旦划分好则固定不变,每个作业占一个分区,作业是连续存放的。分区的划分可以由操作系统或系统管理员决定。系统对内存的管理和控制通过数据结构—分区说明表进行,分区说明表说明各分区号、分区大小、起始地址和是否是空闲区(分区状态)。内存的分配释放、存储保护以及地址变换都通过分区说明表进行。分区说明表的结构如图4-2分区说明表分区号大小始址状态19KB20KB已分配225KB29KB可用340KB54KB可用4162KB94KB可用固定分区方法的优缺点固定分配的优点是分配回收方便,适用于用户不多的小型系统;缺点是内存使用不充分,每一分区剩余部分无法利用。可变式动态分区分配

动态分区的原理动态分区法在作业执行前并不建立分区,而是在处理作业的过程中按需要建立分区,而且其大小可随作业或进程对内存的要求而改变。这就改变了固定分区中小作业占据大分区的浪费现象,从而提高了系统的利用率。动态分区的数据结构动态分区采用三张表对内存管理,分别为已分配区域说明表、未分配区域说明表(可用表)和资源请求表。动态分区的分配与回收

分配动态分区法在分配前,除操作系统本身占用外,只有一个空白区。分配时,按一定的算法从空白表区中找,看是否有满足作业的可用分区,如果空白区存在则分配,分配后修改两张表的内容,如果找不到满足要求的空闲区则系统报错。首次适应法(first-fit)要求把内存中的可用分区单独组成可用分区表或可用分区自由链,按起始地址递增的次序排列。查找的方法是每次按递增的次序向后找,一旦找到大于或等于所要求内存长度的分区,则结束查找,从找到的分区中划分所要求的内存长度分配给用户,把剩余的部分进行合并(如果有相邻的空白区存在的话),并修改可用区中的相应表项。循环适应法(circulation-fit)系统记住上一次分配区地址,每重新分配一次时,都在当前之后寻找,其目的是回收空白区。即内存所有的线性空间可能轮流使用到。分配的时间会快一些,“碎片”也可能会小一些。最佳适应法(best-fit)最佳适应法要求按空白区的大小,从小到大次序组成空白区表或自由链。寻找的方法是找到第一个满足要求的空白区时停止查找,如果该空白区大于请求表中的请求长度,则将剩余空白区留在可用表中(如果相邻有空白区,则与之合并),然后修改相关表的表项。最坏适应法(worset-fit)最坏适应法要求按空白区大小,从大到小递减顺序组成空白区可用表或自由链.寻找的方法是当用户作业或进程申请一个空白区时,选择能满足要求的最大空白区分配,先检查空白区可用表或自由链的第一个空闲区的大小是否大于或等于所要求的内存长度,若满足,则分配相应的存储空间给用户,然后修改和调整空闲区可用表或自由链,否则分配失败。2、页式存储管理

实现原理:(1)划分实页:将物理内存划分成位置固定、大小相同的“块”(实页面)。(2)划分虚页:将用户逻辑地址空间也分成同样大小的页面,成为虚拟空间的虚页面(3)建立页表:建立页表,每个作业一张,按虚页号进行登记(4)地址变换:将虚页面的逻辑地址转化为实页面的物理地址,在程序执行时改变为物理地址,属于作业的动态重定位,一般由地址转换机构(硬件)完成2、页式存储管理

页表的设计:(1)存储分块表

:整个系统一张,记录整个内存的使用情况。主要有位示图和空白块链两种方法。(2)作业表

:整个系统一张,每个作业占一个表项(3)页表

:每个作业一张,其表项包括页号(虚页)、页面号(实页)中断位、改变位、淘汰位等2、页式存储管理

请求淘汰换页算法:(1)先进先出算法

:先进入内存的页面先淘汰。实现是在页表中登记进入的次序,并将各个已分配的页面按分配时间顺序连接起来,组成FIFO队列。(2)循环检测法

:让循环多的页面留驻内存,计算机采用记录页面住留内存期间对该页的访问时间,t为该页上一次访问时间,T为该页第二次访问时间,选用相对时间(t-T)最大的淘汰。优点是适合循环多的大程序;缺点是系统开销大2、页式存储管理

请求淘汰换页算法:(3)最近最少使用页面先淘汰

:选择离当时时间最近的一段时间内最久没有使用过的页面先

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论