37计算机组成原理 [袁春风]chap4-4

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

南京大学计算机系多媒体技术研究所袁春风14.7虚拟存储器„操作系统概述„作业调度„存储器管理–交换–分区–分页„虚拟存储器南京大学计算机系多媒体技术研究所袁春风24.7.1操作系统概述-职能和目标„操作系统的职能操作系统(OperatingSystem,简称OS)是管理计算机资源、为程序员提供服务和调度其他程序执行的程序。它为计算机用户与计算机系统之间提供了相应的交互手段。„操作系统的目标–作为用户和计算机系统的接口,使计算机系统能更方便地被用户使用。–作为资源管理器,允许计算机资源以高效地被使用。南京大学计算机系多媒体技术研究所袁春风3操作系统作为用户和计算机系统的接口„计算机系统是分层次的结构。„操作系统对程序员屏蔽了硬件细节,提供了使用系统的方便接口。„用户和程序员都通过OS提供的服务使用计算机系统。„提供的常用服务操作系统所处位置南京大学计算机系多媒体技术研究所袁春风4提供的常用服务„操作系统主要提供下列服务:–程序建立:提供各种工具软件,帮助程序员建立程序。这类软件通常被称为实用程序(utilities)。–程序执行:任务必须通过执行一个程序来完成,例如指令和数据必须调入主存,I/O设备和文件必须初始化,以及其他资源必须准备好。所有这些事情都由操作系统处理。–访问I/O设备:每个I/O设备需要根据自已特有的指令集或控制信号进行操作。操作系统负责这些细节功能的实现,因此程序员只需考虑简单的读和写。–控制存取文件:在文件方面,控制包括对I/O设备(磁盘驱动器、磁带机)的性质以及对存储介质上文件格式的理解,操作系统考虑这些内容。–系统存取:在共享或公共系统中,操作系统控制作为整体或特定系统资源的系统存取。南京大学计算机系多媒体技术研究所袁春风5操作系统作为资源管理器„计算机是一组用于传送、存取和处理数据并控制这些功能的资源。操作系统负责管理这些资源。„操作系统通过合理地管理、调度计算机的硬件资源,使其高效被利用。„OS是一种特殊的程序。CPU执行的程序总是在操作系统和用户程序之间切换,主存中也同时保存OS和用户程序。南京大学计算机系多媒体技术研究所袁春风67.1操作系统概述-发展过程„操作系统分类的尺度有两个:–是批处理还是交互式处理–是否采用多道程序设计„基于上述两种尺度,可以把操作系统描述为4种通用的类型:南京大学计算机系多媒体技术研究所袁春风74.7.1操作系统概述-发展过程„批处理(Batch)–利用监控程序来管理提交在卡片或磁带上的作业,每个作业中有相应的作业控制语句,监控程序中的作业控制语言对作业解释执行。„交互式系统–是一种允许人-机通信的程序执行方式。用户与程序员通常用键盘和显示器终端直接与计算机交互,请求执行一个作业或者处理一个事务。而且用户可以根据应用的性质,在作业执行期间与计算机通信。„多道程序设计–同时把若干作业调到内存中,并使之同时处于运行之中。但微观上,在某一给定时刻,真正在处理机上执行的只有一个作业(如果只有一个处理机),而其它作业有的处于等待状态,有的暂时挂起。实际上,多道程序方式下CPU的执行就是不断在多个已进入主存的程序中间切换。南京大学计算机系多媒体技术研究所袁春风84.7.1操作系统概述-发展过程„操作系统的演变(1)早期的系统•程序员直接和计算机硬件交互。用人工切换的方式由控制台控制机器运行。由输入设备(如卡片阅读机)装入机器代码程序。若程序中止,则指示灯指示错误状态。•存在两个问题:9机器时间的预定靠估计,经常不准,造成机器时间的浪费或不够。9一个作业的每一步都需人工装卸磁带或卡片。因而安装作业所需时间长。南京大学计算机系多媒体技术研究所袁春风94.7.1操作系统概述-发展过程(2)简单的批处理系统•由监控程序将一批作业由输入设备自动按序输入到系统中执行。机器时间交替执行用户程序和监控程序。•缺点:处理器利用率低!例如:读一个记录:0.0015s执行100条指令:0.0001s写一个记录:0.0015sCPU利用率:0.0001/0.0031=3.2%96%花在I/O上!$JOB$FTN待编译程序$LOAD$END作业控制语句南京大学计算机系多媒体技术研究所袁春风104.7.1操作系统概述-发展过程(3)复杂的批处理系统•同时提交多个作业给系统,可使CPU时间被充分利用。利用中断等机制来实现作业之间的切换。南京大学计算机系多媒体技术研究所袁春风114.7.1操作系统概述-发展过程(4)分时系统–提供一种用户与计算机系统间的交互手段。–由多个用户分时共享处理器时间,用时间片来实现多道程序间的切换。–与批处理的多道程序相比,其区别在于:9主要目标不同:•分时系统:响应时间达最小•批处理多道程序:处理器利用率最大9操作系统的指令来源不同:•分时系统:在终端上键入的命令•批处理多道程序:作业提供的作业控制指令南京大学计算机系多媒体技术研究所袁春风124.7.2调度„多道程序设计中,多个作业或多个用户程序保存在存储器中,同时OS也在存储器中。„每个作业在使用中央处理器和等待I/O执行之间交替。处理器一直处于忙状态,当它执行一个作业时,其他作业等待着。„多道程序设计的关键是调度(Scheduling)。„处理机调度分为二级,进程调度和作业调度。„进程(process):是指程序的一次动态执行过程。进程是操作系统调度的基本单位。南京大学计算机系多媒体技术研究所袁春风134.7.2调度„进程状态及其转换入主存初始化生成进程控制块长项队列短项队列时间到处理器空闲I/O请求异常I/O操作完成等I/O队列南京大学计算机系多媒体技术研究所袁春风144.7.2调度„进程控制块(PCB)ProcessControlBlock-进程状态信息-进程执行所需信息„队列:等待使用某种资源的进程等待列表。–长项队列:等待使用系统资源的作业,调度程序在允许的条件下,将为其分配内存,并创建一个进程。–短项队列:等待使用处理器资源的进程列表。–I/O队列:每个I/O设备有自己的I/O队列。南京大学计算机系多媒体技术研究所袁春风154.7.3存储器管理„单道程序系统的主存中包含:–操作系统(常驻监控程序)–正在执行的一个用户程序所以无需进行存储管理,即使有也很简单。„多道程序系统的存储器中包含:–操作系统–若干个用户程序。如果在存储器中进程数很少,则由于进程花费很多时间来等待I/O,常使处理机处于空闲状态。因此,存储器需要进行合理分配,尽可能让更多进程进入存储器。„在多道程序系统中,存储器的“用户”部分须进一步划分以适应多个进程。划分的任务由OS动态执行,这被称为存储器管理(memorymanagement)。南京大学计算机系多媒体技术研究所袁春风164.7.3存储器管理„使系统中尽量多地存储用户程序的解决办法有:(1)扩大主存(主存贵,程序越来越长。不是根本办法)(2)采用交换方式和覆盖技术当存储器中无处于就绪状态的进程(例如:某一时刻所有进程都在等待I/O)时,处理器将一些进程调出写回到磁盘,排入中间队列,然后OS再从中间队列或长项队列中调入其他进程执行。或新的作业直接覆盖老作业的存储区。 分区和分页是交换的两种实现方式。 交换是一种I/O操作,可能会使问题更突出。(3)虚拟存储器采用分页和分段的方式“按需调页”对主存进行管理,在外存和主存之间以固定的分区或页面进行调度。南京大学计算机系多媒体技术研究所袁春风174.7.3.1交换(Swapping)南京大学计算机系多媒体技术研究所袁春风184.7.3.2分区(Partioning)„主存分配:–操作系统:固定;–用户区:分区。„简单分区方案:使用长度不等的固定长分区(fixed-sizepartition)。„当一个进程调入主存时,分配给它一个能容纳它的最小的分区。例如,对于需196K的进程,分配256K的分区。南京大学计算机系多媒体技术研究所袁春风194.7.3.2分区(Partioning)„简单分区方式的缺点:–因为是固定长度的分区,故可能会浪费主存空间。多数情况下,进程对分区大小的需求不可能和提供的分区大小一样。„更有效的方式----可变长分区–分配的分区大小与进程所需大小一样。–特点:开始较好,但到最后在存储器中会有许多小空块出现。时间越长,存储器中的碎片就会越来越多,因而存储器的利用率下降。„解决该问题的方法----紧缩(compaction)技术–OS一次次移动存储器中的进程,把所有空闲空间放在一起,组成一块。–移动过程很费时,浪费了处理器的时间。南京大学计算机系多媒体技术研究所袁春风20可变长分区示例:初始时,主存除了操作系统占据的一些空间外,其余为空;把3个进程调入主存,装在操作系统未端,结果在存储器未端留下一个“空”块。因为它很小,不能装入第4个进程。当进程2从分区交换出来时,这时有足够空间可分配给进程4。由于进程4的长度小于进程2的长度,分配后又产生了另一块“空”块。南京大学计算机系多媒体技术研究所袁春风214.7.3.2分区(Partioning)„分区方式需解决地址转换–每当一个进程交换装入时都分配到不同的分区。故地址不固定。–逻辑地址(logicaladdress)表示相对于程序起始的单元地址,程序中的指令只包含逻辑地址。–物理地址(physicaladdress)是主存中的一个实际单元地址。–物理地址=基地址(进程起始单元地址)+逻辑地址南京大学计算机系多媒体技术研究所袁春风224.7.3.3分页(Paging)„基本思想:–分区方式效率很低。如果把存储器分成相等的固定长且比较小的存储块,把每个进程也划分成小的固定长的程序块。一个程序的程序块(称为页,page)可装到存储器中可用的存储块(称为页框,pageframe)中。因此,存储器分配进程后浪费的空间最多是最后一页的一小部分。–通过页表实现逻辑地址向物理地址转换。南京大学计算机系多媒体技术研究所袁春风23分页„分页管理-空闲框的分配示意图南京大学计算机系多媒体技术研究所袁春风244.7.3.3分页(Paging)特点:–无需连续页框来存放一个进程。–逻辑地址通过页表转换成物理地址。–操作系统为每个进程保存了一个页表。南京大学计算机系多媒体技术研究所袁春风254.7.4虚拟存储器„基本思想:–采用一种“请求分页(按需调页)”的策略。–“请求分页”:当系统需要用到某个进程时,只是将其当前要用的那一页调进。而不是将该进程的所有页都调入。–“请求分页”的好处:①避免浪费:在进程被挂起前一小段时间内,根据程序访问的局部性原理,往往只有少量页被调用。若调入许多页的话,则造成资源浪费。②使程序不受主存容量的限制:按需调页就不需一次将进程的所有页都调入主存,否则,程序员还需知道内存有多大,以避免进程大于内存而调不下,也即:“程序员可在一个比主存空间大得多的虚拟存储空间(逻辑地址空间)里写程序”----这正是我们的目的!南京大学计算机系多媒体技术研究所袁春风26虚拟存储器概念图南京大学计算机系多媒体技术研究所袁春风27虚拟存储器中的三种地址„三种地址空间:–虚拟地址(空间):也称逻辑地址空间,是应用程序员用来编写程序的地址空间。–主存地址(空间):也称物理地址空间。是计算机系统实际拥有的内存容量和内存寻址范围。–辅存地址(空间):外存储器(指硬盘等)的存储容量。它是虚拟存储器的实际存放空间。南京大学计算机系多媒体技术研究所袁春风28虚拟存储器系统虚页空间南京大学计算机系多媒体技术研究所袁春风29虚拟存储器系统南京大学计算机系多媒体技术研究所袁春风30内部地址变换南京大学计算机系多媒体技术研究所袁春风31外部地址变换南京大学计算机系多媒体技术研究所袁春风32三种虚拟存储器管理模式„对于操作系统编制者,则需考虑:–主存与辅存的空间如何分区管理;–虚实之间如何映像–虚实地址如何转换–主存与辅存之间如何进行内容调换等。与Cache所用策略相似。„在高档微处理器中,已将有关的存储管理硬件集成在CPU芯片之内,可以支持操作系统选用以下三种方式之一:页式、段式、段页式。南京大学计算机系多媒体技术研究所

1 / 67
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功