操作系统大纲三四五_第1页
操作系统大纲三四五_第2页
操作系统大纲三四五_第3页
操作系统大纲三四五_第4页
操作系统大纲三四五_第5页
已阅读5页,还剩204页未读 继续免费阅读

下载本文档

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

文档简介

2023/2/3第3章存储器管理考试大纲要求(一)

内存管理基础

1.

内存管理概念

程序装入与链接;逻辑地址与物理地址空间;内存保护。

2.

交换与覆盖

3.

连续分配管理方式

4.

非连续分配管理方式

分页管理方式;分段管理方式;段页式管理方式。

退出2023/2/3存储器的层次结构多级存储器结构一般计算机,存储层次至少应具有三级:最高层为CPU寄存器,中间为主存,最底层是辅存。较高档计算机中,根据具体功能分为6层,如图寄存器高速缓存主存磁盘缓存磁盘可移动存储介质2023/2/3程序的装入程序的装入就是把程序装入内存空间。采用三种方式(1)绝对装入方式:是由装入程序根据装入模块中的地址,将程序和数据装入内存。(2)可重定位方式:是由装入程序根据内存当前的实际使用情况,将装入模块装入到内存适当的地方。(3)动态运行时装入方式:动态运行时的装入程序,在把装入模块装入内存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序要真正执行时才进行。2023/2/3程序的装入绝对装入方式:是由装入程序根据装入模块中的地址,将程序和数据装入主存若知道程序在内存的位置,编译程序将产生绝对地址目标模块绝对地址一般由编译程序给出程序被装入内存后,由于程序中的逻辑地址与实际内存地址完全相同,所以不允许改变程序和数据的地址只适于单道环境2023/2/3程序的装入可重定位方式:是由装入程序根据主存当前的实际使用情况,将装入模块装入到主存适当的地方。

重定位:在装入时对目标程序中指令和数据的修改过程。会使装入模块中的所有逻辑地址与实际装入内存的物理地址不同2023/2/3程序的装入静态重定位方式:是指地址转换工作是在程序装入内存时由装配程序完成的。装配程序根据将要装入内存的起始地址,对程序模块中有关的地址部分进行调整和修改(物理地址=逻辑地址+程序存放在内存的起始地址),一旦确定下来之后不再改变,即静态地址重定位是在程序执行之前完成的地址转换。它的优点:无需硬件支持,容易实现。缺点:程序经地址重定位后不能再移动,程序在内存空间只能连续存储,程序很难被若干个用户所共享。2023/2/3程序的装入动态运行时装入方式:动态运行时的装入程序,在把装入模块装入内存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序要真正执行时才进行。适于多道环境允许程序移动,如切换动态重定位需要特殊硬件支持(重定位寄存器)2023/2/3程序的装入动态重定位:是指地址转换工作是在程序执行期间由硬件变换机构动态实现地址转换的。物理地址=逻辑地址+重定位寄存器的内容。动态重定位的优点:用户程序在执行过程中内存可移动,程序不必连续存放在内存中,可以放在不同区域,若干个用户可以共享同一程序段或数据段。缺点:需要附加硬件支持,实行存储管理的软件算法比较复杂。2023/2/3程序的链接链接程序的功能是将经过编译或汇编后所得到的一组目标模块以及它们所需要的库函数,装配成一个完整的装入模块。实现链接的方法有三种静态链接:事先进行链接,以后不再拆开的链接方式装入时动态链接:用户源程序经编译后所得到的目标模块,是在装入内存时,边装入边链接的。运行时动态链接:某些目标模块的链接,是在程序执行中需要该(目标)模块时,才对它进行链接2023/2/3内存保护

内存保护就是防止各用户程序运行时相互被破坏,最重要的就是不能破坏操作系统.

(1)界地址寄存器保护法 (2)访问授权保护2023/2/32.交换与覆盖

采用交换与覆盖技术是为了节省内存。交换就是系统根据需要把主存中暂时不运行的某个(或某些)进程的部分或全部信息移到外存,而把外存中的某个(或某些)进程移到相应的主存区,并使其投入运行覆盖就是指一个作业(或进程)或多个作业(或进程)的若干程序段或数据段共享主存的某个区域。实现方法是将一个作业(或进程)划分成若干个相互独立的段,将不同时运行的程序段或数据段组成覆盖。2023/2/33.连续分配方式连续分配方式:为一个用户程序分配一个连续的内存空间单一连续分配固定分区分配动态分区分配动态重定位分区分配2023/2/3连续分配方式单一连续分配2023/2/3连续分配方式固定分区分配将内存中的用户空间划分为若干个固定大小的区域每个分区中只装入一道作业,一个作业也只能装入一个分区中,这样可以装入多个作业,使它们并发执行。当有一个空闲分区时,便可从外存的后备队列中,选择一个适当大小的作业装入该分区;当该作业运行完时,又可从后备队列中选择另一个作业装入该分区(分区大小可以相同也可以不同)。

2023/2/3固定分区分配的管理特点(1)一个作业只能装入一个分区,不能装入两个或多个相邻的分区。一个分区只能装入一个作业,当分区大小不能满足作业的要求时,该作业暂时不能装入。(2)通过对“分区使用表”的改写,来实现主存的分配与回收。作业在执行时,不会改变存储区域,所以采用静态地址重定位方式。此方法易于实现,系统开销小。(3)当分区较大作业较小时,仍然浪费许多主存空间(内零头)。并且分区总数固定,限制了并发执行的作业数目。

2023/2/3动态分区分配

动态分区存储管理的基本思想是:在作业要求装入内存储器时,如果当时内存储器中有足够的存储空间满足该作业的需求,那么就划分出一个与作业相对地址空间同样大小的分区分配给它。2023/2/3采用的数据结构为了实现分区分配,系统中必须配置相应的数据结构,用来记录内存的使用情况。比如空闲分区的情况,为作业分配内存空间提供依据。常用的有空闲分区表和空闲分区链。2023/2/3分区分配算法(1)首次适应分配算法(FF)(2)循环首次适应分配算法(NF)(2)最佳适应分配算法(BF)(3)最坏适应分配算法(WF)2023/2/3(1)首次适应法要求空闲区按首址递增的次序组织空闲区表(队列)。

分配:当进程申请大小为SIZE的内存时,系统从空闲区链的链首开始查询,直到首次找到等于或大于SIZE的空闲区。从该区中划出大小为SIZE的分区分配给进程,余下的部分仍作为一个空闲区留在空闲区链中,但要修改其首址和大小。若找不到满足要求的,则分配失败,返回。2023/2/3分析注意:每次分配和回收后空闲区链都要按首址递增的次序排序。优点:这种算法是尽可能地利用低地址空间,从而保证高地址空间有较大的空闲区。

缺点容易产生过多的小地址碎片;降低了主存空间利用率。每次查找都是从低址开始,增加了查找的开销改进采用循环首次适应算法。2023/2/3(2)循环首次适应算法

不是每次都从链首开始找,而是从上次找到的空闲分区的下一个空闲分区开始查找,直到找到一个能满足要求的空闲分区。设置查寻指针;循环查找方式使内存中的空闲分区分布得更均匀,减少了查找时的开销,但会缺乏大的空闲分区。2023/2/3(3)最佳适应法所谓最佳就是每次为作业分配内存时,总是把能满足要求、又是最小的空闲分区分配给作业,避免大材小用。要求按空闲区大小从小到大的次序组成空闲区链。2023/2/3最佳适应法优点:在系统中若存在一个与申请分区大小相等的空闲区,必定会被选中,而首次适应法则不一定。若系统中不存在与申请分区大小相等的空闲区,则选中的空闲区是满足要求的最小空闲区,而不致于毁掉较大的空闲区。缺点:空闲区的大小一般与申请分区大小不相等,因此将其一分为二,留下来的空闲区一般情况下是很小的,以致无法使用。随着时间的推移,系统中的小空闲区会越来越多,从而造成存储区的大量浪费。2023/2/3(4)最坏适应算法扫描整个空闲分区表,或链表,总是挑选一个最大的空闲区分割给作业使用。要求按空闲区大小从大到小的次序组成空闲区链。优点:可使剩下的空闲区不至于太小,产生碎片的几率最小,对中、小作业有利。缺点:缺乏大的空闲分区,不利于大作业。2023/2/3可重定位分区分配

在连续分配中,必须把一个系统或用户程序装入一连续的内存空间。不能被利用的小分区称为“零头”或“碎片”。将主存中的所有作业进行移动,使它们相邻接。这样,原来分散的多个小分区便拼接成一个大分区,从而就可以把作业装入该区。这种通过移动,把多个分散的小分区拼接成大分区的方法被称为“拼接”或“紧凑”,改变作业在主存中位置的工作称为“移动”。2023/2/3连续分配方式比较作业个数内部碎片外部碎片解决碎片方法相同点提高作业道数单一连续分配1有无无一个程序需全部、连续装入内存中。对换固定分区分配N(分区数)有无无动态分区分配不定无有紧凑2023/2/3非连续分配方式分页管理方式分段管理方式段页式管理方式2023/2/34.4.1页面与页表

作业地址空间划分成连续的大小相同的页面内存划分成连续的大小相等的块(也称为页框)页面的大小与内存块的大小完全相同作业进入内存时其不同的页面对应于内存中不同的块,连续页面可以对应不连续的块。2023/2/3(1)分页管理方式页面(用户程序划分)

把用户程序按逻辑页划分成大小相等的部分,称为页(page)

。从0开始编制页号,页内地址是相对于0编址2023/2/3内存空间

按页的大小划分为大小相等的区域,称为块或内存块(物理页面,页框)

在为进程分配内存时,以块为单位将进程中的若干个页分别装入到多个可以不相邻接的物理块中。由于进程的最后一页经常不满一块而形成了不可利用的碎片称之为“页内碎片”逻辑上相邻的页,物理上不一定相邻2023/2/3地址结构

用户程序的划分是由系统自动完成的,对用户是透明的。一般,一页的大小为2的整数次幂,因此,地址的高位部分为页号,低位部分为页内地址页号页内地址0111231页号P页内位移量W编号0~1048575相对地址0~40952023/2/3

页表将页号和页内地址转换成内存地址,必须要有一个数据结构,用来登记页号和块的对应关系和有关信息。这样的数据结构称为页表。页表的作用就是实现从页号到物理块号的地址映射。2023/2/3页表内容页表包含以下几个表项:页号:登记程序地址空间的页号。块号:登记相应的页所对应的内存块号其它:登记与存储信息保护有关的信息。页号块号其它05…165…213…2023/2/3地址变换机构地址变换机构的任务是实现从逻辑地址到物理地址的转换。即把程序地址转换成内存地址,这个转换过程是在程序执行过程中完成的,是动态地址映射。在现代计算机系统中,由系统提供的地址映射硬件来完成地址映射工作。2023/2/3例设页长为1K,程序地址字长为16位,用户程序空间和页表如图。

2023/2/3计算时要注意:若给出的地址字为16进制,则将其转换为二进制,然后,根据页长及程序地址字的长度,分别取出程序地址字的高几位和低几位就得到页号及页内地址。如页长为2K,程序地址字为16位,则高5位为页号,低11位为页内地址。2023/2/3若给出的地址字为10进制,则用公式: 程序地址字/页长商为页号,余数为页内地址。如程序地址为8457,

页长为4KB,则8457/4096可得:商为2,余数为256。2023/2/3快表和联想存储器在前述的页地址变换过程中有一个严重的问题,那就是每一次对内存的访问都要访问页表,页表是放在内存中的,也就是说每一次访问内存的指令至少要访问两次内存,运行速度要下降一半。第一次访问内存中的页表,从中找到指定页的物理块号,再将块号与页内偏移量W拼接,形成物理地址第二次访问内存时,才是从第一次所得地址中获得所需数据(获向此地址中写入数据)2023/2/3解决这个问题的一种方法是把页表放在一组快速存储器中(Cache),从而加快访问内存的速度。我们把这种快速存储器组成的页表称为快表,把存放在内存中的页表称为慢表。快表又叫联想存储器(associativememory)或TLB(Translationlookasidebuffers)用以存放当前访问的那些页表项2023/2/3p’页表地址越界

L比较P>=Lpp’...快表

b+页号p

页内地址dP’d物理地址页表地址寄存器页表长度寄存器逻辑地址地址映射机制2023/2/3两级页表和多级页表当页表项很多时,仅采用一级页表需要大片连续空间,可将页表也分页,并对页表所占的空间进行索引形成外层页表。由此构成二级页表。更进一步可形成多级页表。

2023/2/3二级页表结构及地址映射2023/2/3页式存储管理方案小结优点:解决了碎片问题便于管理

可以使程序和数据存放在不连续的主存空间缺点:不易实现共享不便于动态连接 页表都有可能占用较大的存储空间。 要求有相应的硬件支持,从而增加了系统成本,也增加了系统开销2023/2/3(2)分段管理方式引入段式管理方式主要是为了满足用户和程序员的需要方便用户:用户希望逻辑分段信息共享信息保护动态增长动态连接2023/2/3分段系统基本原理分段用户程序划分按程序自身的逻辑关系划分为若干个程序段,每个程序段都有一个段名,且有一个段号。段号从0开始,每一段段内也从0开始编址,段内地址是连续的。段的长度由相应的逻辑信息组的长度决定,因而各段长度不等。逻辑地址:由段号和段内地址组成段号段内地址2023/2/3内存划分内存空间被动态的划分为若干个长度不相同的区域,称为物理段,每个物理段由起始地址和长度确定内存分配

以段为单位分配内存,每一个段在内存中占据连续空间(内存随机分割,需要多少分配多少),但各段之间可以不连续存放2023/2/3段表段映射表。每个程序有一个段表程序的每个段在表中占有一个表项,其中记录了该段在内存中的起始地址和段的长度。可放在内存中,也可放在寄存器中。段表是用于实现从逻辑段到物理内存区的映射。

段号012段首址段长度58K20K100K110K260K140K2023/2/33、地址变换机构段地址映射过程为:系统中设置了段表寄存器,用于存放段表始址和段表长度TL。取出段号S和段内位移W。若S>TL,段号太大—越界。根据段表始址找到段表,查找段号为S的表目,得到该段在内存的起始地址。检查段内地址d是否起过该段的段长SL。若超过越界。把段首地址与段内位移相加,形成内存物理地址。2023/2/3地址变换机构2023/2/3同页地址变换一样,在段地址变换过程中,也有两次访问内存的问题。为了加快访问内存的速度也可采用快速存储器组成快表。2023/2/3

Cl

Cb+段号S段内地址d比较比较b

+d段表S>=Cl快表物理地址段表始址寄存器段表长度寄存器逻辑地址Lb...SLb地址越界d>=Ld>=L地址映射及存储保护机制地址越界地址越界比较2023/2/3段式存储管理方案小结优点:便于动态申请内存管理和使用统一化便于共享便于动态链接缺点:产生外部碎片2023/2/3(3)段页式存储管理方式产生背景:结合页式段式优点,克服二者的缺点基本原理地址变换过程2023/2/3基本原理用户程序划分 按段式划分(对用户来讲,按段的逻辑关系进行划分;对系统讲,按页划分每一段)逻辑地址内存划分 按页式存储管理方案内存分配 以页为单位进行分配段号段内地址页号页内地址2023/2/3段表:记录了每一段的页表始址和页表长度页表:记录了逻辑页号与内存块号的对应关系(每一段有一个,一个程序可能有多个页表)内存分配管理:同页式管理地址变换过程2023/2/3图4-21利用段表和页表实现地址映射

2023/2/3地址变换过程图4-22段页式系统中的地址变换机构2023/2/3在段页式系统中,为了获得一条指令数据,须三次访问内存。1、访问内存中的段表,从中取得页表始址2、访问内存中的页表,从中取出该页所在的物理块号,将该块号与页内地址一起形成指令或数据的物理地址3、从物理地址中取出指令或数据。快表地址变换过程2023/2/3总结固定分区的分配方式会产生内零头,因为是找出一个满足作业要求的空闲分区分配给作业,大小不一定刚好合适,分区中有一部分存储空间会被浪费。在可变式分区分配中,是按照作业的大小找出一个分区来分配如果大于作业申请的空间,则一分为二,剩下的一分部作为系统的空闲分区,有可能很小无法利用而成为外零头。2023/2/3总结为了解决外零头的问题,提出了离散的分配方式,在分页式存储管理中,存储空间被分面与页大小相等的物理块,作业的大小不可能都是物理块的整数倍,因此在作业的最后一页中有可能有部分空间未被利用,属于内零头。分段式存储管理中,其内存分配方式类似于动态分区的分配,因此会产生外零头。段页式存储管理中,其内存分配方式类似于页式的分配,因此会产生内零头。2023/2/3(二)

虚拟内存管理考试大纲要求1.

虚拟内存基本概念

2.

请求分页管理方式

3.

页面置换算法

最佳置换算法(OPT);先进先出置换算法(FIFO);最近最少使用置换算法(LRU);时钟置换算法(CLOCK)。

4.

页面分配策略

5.

抖动

抖动现象;工作集。

2023/2/31虚拟内存基本概念程序局部性原理时间局部性一条指令被执行了,则在不久的将来它可能再被执行,如果某数据被访问过,则不久以后该数据可能再次被访问。(循环操作)空间局部性若某一存储单元被使用,则在一定时间内,与该存储单元相邻的单元可能被使用,即程序在一段时间内所访问的地址,可能集中在一定的范围之内。(程序顺序执行)2023/2/3虚拟存储器的定义虚拟存储器是指仅把作业的一部分装入内存便可运行作业的存储器系统。具体地说,所谓虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对主存容量进行扩充的一种存储器系统。实际上,用户所看到的大容量只是一种感觉,是虚的,故而得名虚拟存储器。2023/2/32.请求分页式存储管理它是建立在纯分页基础上的,增加了请求调页功能、页面置换功能所形成的请求分页存储管理系统。把作业分成大小相等的若干页,把主存分成与页大小相等的若干块;对每个作业限定分给它的主存块数,先把作业的部分页装入主存的这些块中,在作业运行时再装入所需要的页。2023/2/3采用的数据结构(1)页表页表用来记录作业的分配情况。(2)缺页中断机构在请求分页系统中,每当所要访问的页面不在主存时,便要产生一次缺页中断,请求操作将所缺的页调入主存。(3)地址变换机构2023/2/3页表表项页号、内存块号、状态位、访问位、修改位、外存地址 状态位P:表示该页是否已调入内存,供程序访问时参考访问位A:用于记录本页在一段时间内被访问的次数或最近已有多长时间未被访问,供选择换出页面时参考页号内存块号状态位P访问位A修改位M外存地址2023/2/3页表表项页号、内存块号、驻留位、外存地址、访问位、修改位 修改位:查看此页是否在内存中被修改过,供置换页面时参考。外存地址:该页存放在外存上的地址。供调入该页时参考。页号内存块号状态位P访问位A修改位M外存地址2023/2/3缺页中断(PageFault)机构缺页中断机构在请求分页系统中,每当所要访问的页面不在主存时,便要产生一次缺页中断,请求操作将所缺的页调入主存。缺页中断作为中断,它同样需要经历诸如保护CPU环境、分析中断原因、转入缺页中断处理程序进行处理、恢复CPU环境等几个步骤。

2023/2/3缺页中断同一般中断的区别?缺页中断同一般中断都是中断,相同点是:保护现场中断处理恢复现场不同点:在指令执行期间产生和处理中断信号。一般中断是一条指令完成后中断,缺页中断是一条指令执行时,发现所要访问的指令或数据不在内存时所产生的中断一条指令执行时可能产生多个缺页中断。如指令可能访问多个内存地址,这些地址在不同的页中。2023/2/3下图用数字标出了缺页中断的处理过程:根据当前执行指令中的虚拟地址,形成数对:(页号,页内位移)。用页号去查页表,判断该页是否在内存储器中若该页的R位(缺页中断位)为“0”,表示当前该页不在内存,于是产生缺页中断,让操作系统的中断处理程序进行中断处理。中断处理程序去查存储分块表,寻找一个空闲的内存块;查页表,得到该页在辅助存储器上的位置,并启动磁盘读信息。把从磁盘上读出的信息装入到分配的内存块中。根据分配存储块的信息,修改页表中相应的表目内容,即将表目中的R位设置成为“1”,表示该页已在内存中,在B位填入所分配的块号。另外,还要修改存储分块表里相应表目的状态。由于产生缺页中断的那条指令并没有执行,所以在完成所需页面的装入工作后,应该返回原指令重新执行。这时再执行时,由于所需页面已在内存,因此可以顺利执行下去。2023/2/3页面调入策略(1)何时调入(2)何处调入

(3)页面调入过程2023/2/3何时调入(1)预调入采用一种以预测为基础的调入策略,将预计不久要使用的页调入主存。缺点:预计不准场合:进程的首次调入(2)请求调入当发生缺页时,提出请求,由系统调入优点:命中率100%,实现简单缺点:开销大,每次只调入一页场合:大多数2023/2/3何处调入磁盘分对换区和文件区,有不同。(1)磁盘有足够的对换区时,全部从对换区调入页面。运行前拷入对换区(2)磁盘无足够的对换区时,修改过的部分从对换区调入页面,没修改的部分从文件区调入。(3)UNIX方式:运行过的页面从对换区调入,未运行的页面从文件区调入2023/2/3页面调入过程保护现场转中断处理程序查页表,找到页的外存地址内存未满则调入,修改页表内存已满,则先置换。被置换的页若被修改过,则写入磁盘。将缺页调入内存,修改页表和快表再访内存2023/2/33.页面置换算法(1)最佳置换算法(OPT)(2)先进先出置换算法(FIFO)(3)最近最久未使用算法(LRU)(4)Clock置换算法2023/2/3最佳置换算法理想淘汰算法—最佳页面算法(OPT)选择以后永不使用的,或许是在最长(未来)时间内不再被访问的页面淘汰。采用最佳置换算法,通常可保证获得最低的缺页率。2023/2/3最佳置换算法假定系统为某进程分配了三个物理块,并考虑有以下的页面号引用串:7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1

进程运行时,先将7,0,1三个页面装入内存。以后,当进程要访问页面2时,将会产生缺页中断。此时OS根据最佳置换算法,将选择页面7予以淘汰。

2023/2/3先进先出页面置换算法先进先出(FIFO)是人们最容易想到的页面淘汰算法。其做法是当要进行页面淘汰时,总是把最早进入内存的页面作为淘汰的对象。2023/2/3最近最久未用(LRU)置换算法的着眼点是在要进行页面置换时,检查这些页面的被访问时间,总是把最长时间未被访问过的页面置换出去。这是一种基于程序局部性原理的置换算法。也就是说,该算法认为如果一个页面刚被访问过,那么不久的将来被访问的可能性就大;否则被访问的可能性就小。最近最久未使用(LRU)置换算法2023/2/31.LRU(LeastRecentlyUsed)置换算法的描述

4.7.2最近最久未使用(LRU)置换算法2023/2/34.7.3Clock置换算法

1.简单的Clock置换算法图4-30简单Clock置换算法的流程和示例2023/2/32023/2/32.改进型Clock置换算法由访问位A和修改位M可以组合成下面四种类型的页面:

1类(A=0,M=0):

表示该页最近既未被访问,又未被修改,是最佳淘汰页。

2类(A=0,M=1):表示该页最近未被访问,但已被修改,并不是很好的淘汰页。

3类(A=1,M=0):最近已被访问,但未被修改,该页有可能再被访问。

4类(A=1,M=1):

最近已被访问且被修改,该页可能再被访问。2023/2/3其执行过程可分成以下三步:

(1)从指针所指示的当前位置开始,扫描循环队列,寻找A=0且M=0的第一类页面,将所遇到的第一个页面作为所选中的淘汰页。在第一次扫描期间不改变访问位A。

(2)如果第一步失败,即查找一周后未遇到第一类页面,则开始第二轮扫描,寻找A=0且M=1的第二类页面,将所遇到的第一个这类页面作为淘汰页。在第二轮扫描期间,将所有扫描过的页面的访问位都置0。

(3)如果第二步也失败,亦即未找到第二类页面,则将指针返回到开始的位置,并将所有的访问位复0。然后重复第一步,如果仍失败,必要时再重复第二步,此时就一定能找到被淘汰的页。2023/2/34、页面分配策略内存分配策略:固定和可变置换策略:全局和局部组合成3种合适的策略:固定分配局部置换可变分配全局置换可变分配局部置换2023/2/35.工作集由于程序的局部性原理,进程在一段时间内集中访问一些固定页面的子集称为该进程的工作集。为了减少进程访问中的缺页次数,为每个进程分配一定数量的页框作为工作集使用。2023/2/35.抖动采用某个淘汰算法淘汰一页时,如果算法选择不当,就会出现这样的现象:刚被淘汰的页面马上又要用,因而要把它调入。调入不久再被淘汰,淘汰不久再次装入。如此反复,使整个系统处于频繁地调入调出状态,大降低系统的处理效率,这种现象叫抖动。如果分配给进程的物理块号数与当前工作集大小一致,可以有效避免抖动现象。在实际中,可以通过调整淘汰算法,或者根据缺页率的大小动态的分配给进程物理页块,都可以防止抖动的发生。2023/2/3第4章文件管理(一)

文件系统基础

1.

文件概念

2.

文件逻辑结构

顺序文件;索引文件;索引顺序文件。

3.

目录结构

文件控制块和索引节点;单级目录结构和两级目录结构;树形目录结构;图形目录结构。

4.

文件共享

5.

文件保护

访问类型;访问控制。

2023/2/31文件概念文件是指具有文件名的若干相关元素的集合。元素通常是记录。记录是一组有意义的数据项集合。文件类型

2023/2/3文件操作用户通过文件系统所提供的系统调用实施对文件的操作。1、最基本的文件操作有:创建、删除、读、写、截断文件和设置文件的读、写位置2023/2/3文件操作2、文件的“打开”和“关闭”操作所谓“打开”,是指系统将指名文件的属性(包括该文件在外存上的物理位置)从外存拷贝到内存打开文件表的一个表目中,并将该表目的编号(或称为索引)返回给用户。以后,当用户再要求对该文件进行相应的操作时,便可利用系统所返回的索引号向系统提出操作请求。系统这时便可直接利用该索引号到打开文件表中去查找,从而避免了对该文件的再次检索。这样不仅节省了大量的检索开销,也显著地提高了对文件的操作速度。如果用户已不再需要对该文件实施相应的操作时,可利用“关闭”(close)系统调用来关闭此文件,OS将会把该文件从打开文件表中的表目上删除掉。

2023/2/32文件逻辑结构对于任何一个文件,都存在着两种形式的结构

文件的逻辑结构

文件的物理结构

对逻辑结构的基本要求提高检索速度便于修改降低文件的存储费用2023/2/3文件逻辑结构的类型1、有结构文件由一个以上的记录构成的文件。记录式文件:每个记录都用于描述实体集中的一个实体,各记录有着相同或不同数目的数据项。记录的长度可分为定长和不定长两类2023/2/3定长记录:文件中所有记录的长度相等。文件长度用记录数目表示。处理方便,开销小。变长记录:文件中的记录长度不相等。组织形式顺序文件索引文件索引顺序文件2023/2/32、无结构文件由字符流构成的文件如果说大量的数据结构和数据库,是采用有结构的文件形式的话,则大量的源程序、可执行文件、库函数等,所采用的就是无结构的文件形式,即流式文件。长度以字节为单位。

2023/2/3(1)顺序文件对顺序文件(SequentialFile)的读/写操作图6-3定长和变长记录文件2023/2/3(1)顺序文件顺序文件的优缺点顺序文件的最佳应用场合,是在对诸记录进行批量存取时,即每次要读或写一大批记录。此时,对顺序文件的存取效率是所有逻辑文件中最高的。在交互应用的场合,如果用户(程序)要求查找或修改单个记录,为此系统便要去逐个地查找诸记录。如果想增加或删除一个记录,都比较困难。

2023/2/3(2)索引文件为了解决这一问题,可为变长记录文件建立一张索引表,对主文件中的每个记录,在索引表中设有一个相应的表项,用于记录该记录的长度L及指向该记录的指针。由于索引表是按记录键排序的,因此索引表本身是一个定长记录的顺序文件,从而也就可以方便地实现直接存取。2023/2/3(2)索引文件图6-4索引文件的组织2023/2/3(2)索引文件索引文件可有较快的检索速度,故它主要用于对信息处理的及时性要求较高的场合。但它除了有主文件外,还须配置一张索引表,且每个记录都要有一个索引项,因此提高了存储费用2023/2/3(3)索引顺序文件图6-5索引顺序文件索引顺序文件,将顺序文件中的所有记录分为若干个组,每组中的第一个记录建立一个索引项2023/2/33目录结构现代计算机系统中,对大量的文件实施有效的管理,主要是通过文件目录实现的。文件目录也是一种数据结构,用于标识系统的文件及其物理地址,供检索时使用。对目录管理的要求如下:(1)实现“按名存取”。(2)提高对目录的检索速度。(3)文件共享。(4)允许文件重名。

2023/2/3文件控制块和索引结点文件控制块(FCB):文件控制块是操作系统为管理文件而设置的数据结构,存放了为管理文件所需的所有有关信息,文件管理程序可借助于文件控制块中的信息,对文件施以各种操作。文件控制块是文件存在的标志,文件与文件控制块一一对应,文件控制块的有序集合称为文件目录2023/2/3文件目录:把所有的FCB组织在一起,就构成了文件目录,即文件控制块的有序集合目录项:构成文件目录的项目(目录项就是FCB)目录文件:为了实现对文件目录的管理,通常将文件目录以文件的形式保存在外存,这个文件就叫目录文件2023/2/3(2)索引结点文件目录是存放在磁盘上的,当文件很多时,文件目录可能要占用大量的盘块。在查找目录的过程中,先将存放目录文件的第一个盘块中的目录调入内存,然后把用户所给定的文件名与目录项中的文件名逐一比较。若未找到指定文件,便再将下一个盘块中的目录项调入内存。在检索目录文件的过程中,我们发现只用到了文件名,其它信息在检索目录时一概不用,所以也不需调入内存。将文件名与文件描述信息分开。文件描述信息单独形成一个称为索引结点的数据结构,在文件目录中每个目录项只存文件名和指向该文件索引结点的指针。索引结点还有磁盘索引结点与内存索引结点之分。2023/2/3(2)索引结点2023/2/3目录结构(1)单级目录结构为所有文件建立一个目录文件(组成一线性表)文件名物理地址文件说明状态位文件名1文件名2…单级目录2023/2/3基本原理它采用的方法是为外存的全部文件设立一张目录表。表中包括全部文件的文件名、存储文件的物理地址,以及文件的其他属性,如文件长度、文件类型等等。每个文件占据表中的一条记录。该目录表存放在外存的某个固定区域,需要时系统将其全部或部分调入主存。基本操作:建立,删除优点(1)目录结构易于实现,管理简单(2)能实现按名存取缺点:(1)查找速度慢:平均n/2(2)不允许重名(3)不便于实现文件共享单级目录结构2023/2/3(2)二级目录结构为了克服单级目录的缺点,为每一个用户建立一个单独的用户文件目录UFD。二级文件目录结构把目录分成主目录和用户文件目录两级。主目录由用户名和用户文件目录首地址组成,用户文件目录中登记相应的用户文件的目录项。2023/2/3(2)两级目录两级目录结构2023/2/3在二级目录结构中,区别不同的文件除文件名外还有文件的用户名,因此不同的用户可以使用相同的文件名。例如用户Zhang中使用文件名Test,用户Wang也可使用文件名Test,因为标识这两个文件时还要加上用户名,Zhang:Test和Wang:Test,不致于造成混淆。

2023/2/3优点:提高了检索目录的速度:m+n(2)在不同的用户目录中,可以使用相同的文件名。(3)不同用户还可使用不同的文件名来访问系统中的同一个共享文件(4)可实现对文件的保护和保密作用。缺点:(1)二级文件目录虽然解决了不同用户之间文件同名的问题,但同一用户的文件不能同名。(2)如果一个用户拥有很多的文件,那么在他的目录中进行查找,所花费的时间仍然会很长(3)缺乏灵活性。(2)二级目录结构2023/2/3(3)多级目录结构1)目录结构多级目录结构由根目录和各级目录组成,为管理上的方便,除根目录外,其它各级目录均以文件的形式组成目录文件。根目录中的每个目录项可以对应一个目录文件,也可以对应一个数据文件,同样目录文件中的每个目录项可以对应一个目录文件,也可以对应一个数据文件。如此类推,就形成多级目录结构。也称树形目录结构2023/2/32023/2/32)路径名在多级目录结构中一个文件的唯一标识不再是文件名,而是从根结点开始,经过一个或多个中间结点,到达某个叶结点的一条路径。称这条路径为文件的路径名,它是文件的唯一标识。路径名由根目录和所经过的目录名和文件名以及分隔符组成,通常使用分隔符/。例如/d1/f1,/d2/d5/f3,/f7

2023/2/33)当前目录在多级目录结构中,文件路径名一般较长,而用户总是局部地使用文件,为了方便起见,可把经常使用的文件所在的目录指定为工作目录。查询时,若路径名以/开头;则从根目录开始查找,否则从当前目录开始查找。相对路径名,绝对路径名2023/2/3(4)图形目录结构加了链接的树形目录结构。2023/2/34.文件共享基本概念文件共享是指一个文件可以被多个授权的用户共同使用。文件的共享要解决两个问题。一是如何实现共享,二是对各类共享文件的用户进行存取控制。早期实现文件共享的方法(1)绕弯路法(2)连访法(3)基本文件法2023/2/34.文件共享共享方式硬链接软链接(符号链接)2023/2/3硬链接

记录的是目标文件的索引结点。它只能链接文件,不能链接目录,不能跨文件系统。创建链接时,将增加目标文件的引用计数。删除目标文件或链接文件时都会导致引用计数的减少。2023/2/3基于索引结点的共享方式2023/2/3符号链接利用符号链实现文件共享

由系统创建一个LINK类型的新文件,与共享文件名相同,并将其写入B的目录中。新文件中只包含被链接文件的路径名,这样的链接方法被称为符号链接。新文件中的路径名被看作是符号链。当B要访问被链接的文件时,读LINK类文件,OS根据新文件中的路径名去读该文件,实现文件的共享。2023/2/3基于符号链的共享方式Owner=wang类型:普通文件物理地址Owner=Lee类型:LINK文件物理地址Test符号链2023/2/3符号链接

在利用符号链方式实现文件共享时,只是文件主才拥有指向其索引结点的指针;而共享该文件的其他用户,则只有该文件的路径名,并不拥有指向其索引结点的指针。这样,也就不会发生在文件主删除一共享文件后留下一悬空指针的情况。当文件的拥有者把一个共享文件删除后,其他用户试图通过符号链去访问一个已被删除的共享文件时,会因系统找不到该文件而使访问失败,于是再将符号链删除,此时不会产生任何影响。创建符号链接不会增加目标文件的引用计数。2023/2/3符号链接

优点:可以用于链接世界上任何地方的机器中的文件。缺点:当其他用户去读共享文件时,系统是根据给定的文件路径名,逐个分量地去查找目录,直至找到该文件的索引结点。因此在每次访问时都要多次读盘,开销大。每个LINK文件都要配置索引结点,耗费一定的磁盘空间。

2023/2/3文件保护为了防止系统中的文件被非法窃取和破坏。访问类型。包括读、写、执行等访问控制存取控制矩阵存取控制表2023/2/3(二)文件系统实现文件系统层次结构应用程序接口逻辑文件系统文件组织模块基本文件系统I/O控制设备检查用户提供命令句法的正确性负责目录的管理和维护,以及文件的安全保护检查。负责将预读写文件的逻辑记录和读写位置转换成其在文件中的相对块号,进而转换成在文件存储器中的物理块号。将上层传下来的命令和物理块转换成对适当的设备驱动程序调用由设备驱动程序和中断处理程序组成。它负责将上层传来的命令,转换成硬件设备的专用I/O指令和相应设备的地址,控制设备完成与主存之间的信息传输,将传输是否成功的状态码返回上层模块。2023/2/3目录实现线性表哈希表2023/2/3文件实现与文件的逻辑结构和存取方法有关。2023/2/3文件物理结构文件的物理结构是指文件在物理存储介质上的结构。1、顺序结构——连续分配方式2、链接结构——链接分配方式3、索引结构——索引分配方式2023/2/3(1)连续分配连续分配要求为每一个文件分配一组相邻接的盘块。通常它们都位于一条磁道上。在进行读/写时,不必移动磁头,仅当访问到一条磁道的最后一个盘块后,才需要移到下一条磁道。这样所形成的文件结构称为顺序文件结构,此时的物理文件称为顺序文件。2023/2/3(1)连续分配这种分配方式保证了逻辑文件中的记录顺序与存储器中文件占用盘块的顺序的一致性。为使系统能找到文件存放的地址,应在目录项的文件物理地址字段中,记录该文件第一个记录所在的盘块号和文件长度(以盘块数进行计量)。2023/2/32023/2/3优点简单顺序访问容易顺序访问速度快所需的磁盘寻道次数和寻道时间最少2023/2/3缺点要求有连续的存储空间外部碎片问题外存紧凑必须事先知道文件的长度文件不易动态增长预留空间:浪费重新分配和移动2023/2/3(2)链接结构这是一种非连续的结构,将一个逻辑文件存储到外存上时,并不要求为整个文件分配一块连续的空间,而是可以将文件装到多个离散的盘块中。采用链接分配方式时,可通过在每个盘块上的链接指针,将同属于一个文件的多个离散的盘块链接成一个链表,把这样形成的物理文件称为链接文件。2023/2/3隐式链接在文件目录的每个目录项中,都须含有指向链接文件第一个盘块和最后一个盘块的指针。链接结构的文件适用于顺序存取。因为要获得某一块的块号,必须先读出第一个盘块。。。。顺序查找直至第i块,因此要随机地存取信息就较为困难,且可靠性差。2023/2/3文件名始址末址jeep925文件目录01234567891011121314151617181920212223242526272829303111016-1252023/2/3优缺点优点:提高了磁盘空间利用率,不存在外部碎片问题有利于文件插入和删除有利于文件动态扩充缺点:存取速度慢,不适于随机存取链接指针占用一定的空间可靠性问题,如指针出错2023/2/3显式链接文件分配表(FAT)将盘块中的链接指针按盘块号的顺序集中起来,构成盘文件映射表/文件分配表显式地存放在内存中。整个磁盘仅设置一张,利用FAT可进行随机存取。2023/2/3图示2023/2/3链接分配方式虽然解决了连续分配方式所存在的问题,但又出现了另外两个问题:不能支持高效的直接存取FAT需占用较大的内存空间实际上打开某个文件时,只需把该文件占用的盘块的编号调入内存即可。为此应将每个文件所对应的盘块号集中地放在一起。2023/2/3(3)索引分配一个文件的信息存放在若干不连续物理块中,系统为每个文件建立一个专用数据结构--索引表,并将这些块的块号存放在索引表中。一个索引表就是磁盘块地址数组,其中第i个条目指向文件的第i块——单级索引分配2023/2/3单级索引分配2023/2/3012345678910111213141516171819202122232425262728293031文件名索引表地址文件目录Jeep1991611025-1-1-1192023/2/3优点保持了链接结构的优点,又解决了其缺点:即能顺序存取,又能随机存取满足了文件动态增长、插入删除的要求能充分利用外存空间不会产生外部碎片2023/2/3缺点索引表本身要花费较多的外存空间。通常采用一个专门的盘块作为一个索引块。对于小文件采用索引分配方式时,其索引块的利用率极低。如果文件非常大,一个索引块装不了,需要多个索引块时,单级索引分配方式也是低效的

2023/2/3多级索引分配为这些索引块再建立一级索引——两级索引分配方式。(三级、四级)2023/2/3混合索引分配方式将多种索引分配方式相结合:直接地址,一级索引、二级索引、三级索引。。。UNIX系统中采用2023/2/3混合索引分配方式共设有13个地址项,分成两类,直接地址和间接地址。直接地址:直接存放文件数据盘块的盘块号假如每个盘块的大小为4KB,当文件不大于40KB时,便可直接从索引结点中读出该文件的全部盘块号2023/2/3混合索引分配方式一次间接地址:假如每个盘块的大小为4KB,一次间接地址可存放1K个盘块号,因而允许文件长达4MB2023/2/3混合索引分配方式多次间接地址:当文件长度大于4MB+40KB时,则采用二次间址分配方式。文件最大长度可达4GB。三次间址分配方式,文件最大长度可达4TB。2023/2/3(三)磁盘组织与管理目前,几乎所有随机存取的文件,都是存放在磁盘上,磁盘I/O速度的高低将直接影响文件系统的性能。磁盘结构磁盘调度算法磁盘空间管理2023/2/3信息记录在磁道上,多个盘片,正反两面都用来记录信息,每面一个磁头所有盘面中处于同一磁道号上的所有磁道组成一个柱面物理地址形式:柱面号(磁道号) 磁头号扇区号柱面、磁头、扇区2023/2/3磁盘启动时,磁头首先处于0磁道,磁盘从接到命令到向目标扇区读取或写入数据完毕共经历三个阶段:寻道:磁头沿径向移动,移到目标扇区所在磁道的上方(注意,不是目标扇区,而是目标扇区所在的磁道)旋转延迟:找到目标磁道后通过盘片的旋转,使得要目标扇区转到磁头的下方数据传输:数据在磁盘与内存之间的实际传输磁盘的访问过程2023/2/32磁盘调度算法当多个访盘请求在等待时,采用一定的策略,对这些请求的服务顺序调整安排,旨在降低平均磁盘服务时间,达到公平、高效公平:一个I/O请求在有限时间内满足高效:减少设备机械运动所带来的时间浪费1先来先服务FCFS2最短寻道时间优先SSTF3SCAN算法4循环扫描算法CSCAN2023/2/3根据进程请求访问磁盘的先后次序进行调度优点:简单,公平,每个进程的请求都能依次得到处理;缺点:效率不高,相邻两次请求可能会造成最内到最外的柱面寻道,使磁头反复移动,增加了服务时间,对机械也不利仅适应于请求磁盘I/O的进程数目较少的场合1)先来先服务2023/2/3优先选择距当前磁头最近的访问请求进行服务,主要考虑寻道优先优点:改善了磁盘平均服务时间;缺点:造成某些访问请求长期等待得不到服务,“饥饿现象”2)最短寻道时间优先2023/2/3克服了最短寻道优先的缺点,既考虑了距离,同时又考虑了方向具体做法:当设备无访问请求时,磁头不动;当有访问请求时,磁头按一个方向移动,在移动过程中对遇到的访问请求进行服务,然后判断该方向上是否还有访问请求,如果有则继续扫描;否则改变移动方向,并为经过的访问请求服务,如此反复3)SCAN算法(电梯算法)2023/2/3(磁头单向移动)电梯算法杜绝了饥饿,但当请求对磁道的分布是均匀时,磁头回头,近磁头端的请求很少(因为磁头刚经过),而远端请求较多,这些请求等待时间要长一些。例如:总是自里向外移动,当磁头移动到最外的磁道并访问后,立即返回到最里的欲访问的磁道,返回时不为任何的等待访问者服务。返回后可再次从里向外进行扫描。称为循环扫描算法4)循环扫描调度算法2023/2/3调度算法的选择实际系统相当普遍采用最短寻道时间优先算法,因为它简单有效,性价比好。扫描算法更适于磁盘负担重的系统。磁盘负担很轻的系统也可以采用先来先服务算法一般要将磁盘调度算法作为操作系统的单独模块编写,利于修改和更换。2023/2/33.磁盘管理

文件管理要解决的重要问题之一就是如何为新创建的文件分配存储空间。其解决方法与内存的分配情况有许多相似之处,可采取连续分配和离散分配方式。不论哪种分配方式,存储空间的基本分配单位都是磁盘块而非字节。为了实现存储空间的分配,系统首先应记住存储空间的使用情况。还要提供对存储空间进行分配和回收的手段。2023/2/33.磁盘管理

记住存储空间的使用情况就是对空闲块的管理,有以下方法:空闲表法空闲链表法位示图法2023/2/31)空闲表法属于连续分配方式,与内存管理中的动态分区分配方式相同。为每个文件分配一块连续的存储空间。系统为外存上的所有空闲区建立一张空闲表,每个空闲区对应于一个空闲表项所有空闲区按其起始盘块号递增的次序排列序号起始空闲盘块号盘块数1242933155。。。。。。2023/2/31)空闲表法存储空间的分配与回收空闲盘块的分配与内存的动态分配类似,同样可以用首次、最佳、最坏适应法。盘块的回收也同内存的回收方式类似。在内存中很少用连续分配的方式,在外存中因它具有较高的分配速度,可减少访问磁盘的I/O频率,故在有些时候也可以使用对换空间,一般都采用连续分配的方式。当文件较小时,采用连续分配方式2023/2/32)空闲链表法空闲链表法是将所有空闲盘区拉成一条空闲链。根据构成的链所用基本元素不同,可把链表分成两种形式,空闲盘块链和空闲盘区链空闲盘块链:以盘块为单位。空闲盘区链:以盘区(多个盘块)为单位2023/2/3空闲链表法空闲链表法的分配与回收。空闲盘区链:分配:与内存动态分配类似。回收:类似于内存回收。2023/2/3空闲链表法空闲链表法的分配与回收。空闲盘块链:分配:当用户因创建文件而请求分配存储空间时,系统从链首开始依次摘下适当数目的空闲盘块分配给用户,然后调整链首指针。回收:将回收的盘块依次插入空闲盘块链的末尾。特点:用于分配和回收一个盘块的过程非常简单,但在为一个文件分配盘块时,可能要重复操作多次。2023/2/33)位示图法系统为磁盘建立一张位示图,在位示图中每个盘块占1位,按盘块的顺序排列。“1”表示对应的盘块已占用,"0"表示空闲。。2023/2/3第5章设备管理(一)

I/O管理概述

1.

I/O控制方式

2.软件层次结构

2023/2/3I/O设备I/O系统设备分类2023/2/3设备控制器设备控制器主要负责控制一个或多个I/O设备,以实现I/O设备和计算机之间的数据交换。它是CPU与I/O设备之间的接口,接收从CPU发来的命令,并控制I/O设备工作,以使CPU从繁杂的设备控制事务中解脱出来。设备控制器可分为两类,一类用于控制字符设备的控制器,另一类是用于控制块设备的控制器。2023/2/3 为使中央处理机从繁忙的I/O处理中摆脱出来,现代大、中型计算机系统中设置了专门的处理I/O操作的处理机,并把这种处理机称为通道。通道在CPU的控制下独立地执行通道程序,对外部设备的I/O操作进行控制,以实现内存与外设之间成批的数据交换。 通道=I/O处理机

通道概念2023/2/3I/O通道I/O通道的分类字节多路通道数据选择通道数组多路通道2023/2/31.I/O控制方式1程序I/O方式2I/O中断方式3DMA方式4通道方式中断DMA通道2023/2/3程序I/O方式I/O控制器是OS同硬件之间的接口。它有两个寄存器:数据缓冲寄存器、控制/状态寄存器。状态控制寄存器有一个标志忙/闲的标志位busy。CPU外部设备控制逻辑电路控制寄存器I/O控制器数据寄存器2023/2/3工作过程以输入为例1、把busy置12、反复测试busy,为1表示输入机尚未输完一个字,处理机应继续对该标志进行测试,转2,为0表示输入机已将输入数据送入控制器的数据寄存器中,转33、把数据从数据缓冲区中读走,并置busy为1。所谓“程序循环测试”的数据传输方式,就是指用户进程使用启动设备后,不断地执行测试指令,去测试所启动设备的状态寄存器。只有在状态寄存器出现了所需要的状态后,才停止测试工作,完成输入/输出。忙等待方式2023/2/3

在程序I/O方式中,由于CPU的高速性和I/O设备的低速性,致使CPU的绝大部分时间都处于等待I/O设备完成数据I/O的循环测试中,造成对CPU的极大浪费。在该方式中,CPU之所以要不断地测试I/O设备的状态,就是因为在CPU中无中断机构,使I/O设备无法向CPU报告它已完成了一个字符的输入操作。2023/2/3I/O中断方式I/O控制器能发中断。工作过程:1、发出启动某设备的命令,本进程(A)变为等待状态,转进程调度,调度另一进程B。2、输入完成时,控制器发出中断,中断B,通过中断进入中断处理程序。3、在中断处理程序中把数据缓冲寄存器中的数取走,放入内存特定位置M,唤醒等待进程A,中断返回到B的断点继续执行。4、在以后的某个时刻OS调度要求输入的进程A。A从M取数处理。

2023/2/3

在I/O设备输入每个数据的过程中,由于无须CPU干预,因而可使CPU与I/O设备并行工作。仅当输完一个数据时,才需CPU花费极短的时间去做些中断处理。可见,这样可使CPU和I/O设备都处于忙碌状态,从而提高了整个系统的资源利用率及吞吐量。例如,从终端输入一个字符的时间约为100ms,而将字符送入终端缓冲区的时间小于0.1ms。若采用程序I/O方式,CPU约有99.9ms的时间处于忙—等待中。采用中断驱动方式后,CPU可利用这99.9ms的时间去做其它事情,而仅用0.1ms的时间来处理由控制器发来的中断请求。可见,中断驱动方式可以成百倍地提高CPU的利用率。

2023/2/3分析同前相比,CPU利用率大大提高。缺点:每台设备每输入输出一个字节的数据都有一次中断。如果设备较多时,中断次数会很多,使CPU的计算时间大大减少。为减少中断对CPU造成的负担,可采用DMA方式和通道方式。2023/2/3DMA方式直接存储器存取控制方式的概念是指对I/O设备的控制由DMA控制器完成,在DMA控制器的作用下,设备和主存之间可以成批地进行数据交换,而不用CPU的干涉。2023/2/35.2.3DMA方式直接存储器存取控制方式的概念该方式的特点是:①数据传输的基本单位是数据块,即在CPU与I/O设备之间,每次传送至少一个数据块;②所传送的数据是从设备直接送入内存的,或者相反;③仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。可见,DMA方式较之中断驱动方式,又是成百倍地减少了CPU对I/O的干预,进一步提高了CPU与I/O设备的并行操作程度。

2023/2/3DMA方式 控制器功能更强,除有中断功能外,还有一个DMA控制机构。在DMA控制器的控制下,设备同主存之间可成批交换数据,不用CPU干预。DMA控制器组成:主机与DMA控制器的接口;DMA控制器与块设备的接口;I/O控制逻辑2023/2/3直接存储器存取控制直接存储器存取控制方式的特点I/O数据传输速度快,CPU负担少。在DMA方式下,数据的传送方向、存放数据的内存始址及传送数据的长度等都由CPU控制。每台设备需要配一个DMA控制器。2023/2/3I/O通道控制方式

I/O通道控制方式的引入

虽然DMA方式比起中断方式来,已经显著地减少了CPU的干预,即已由以字(节)为单位的干预减少到以数据块为单位的干预,但CPU每发出一条I/O指令,也只能去读一个连续的数据块,要是一次去读多个数据块且将它们分别传送到不同的内存区域,则须由CPU发出多条I/O指令,进行多次中断。

2023/2/3I/O通道控制方式

I/O通道控制方式的引入

I/O通道方式是DMA方式的发展,它可进一步减少CPU的干预,即把对一个数据块的读(或写)为单位的干预,减少为对一组数据块的读(或写)及有关的控制和管理为单位的干预。同时,又可实现CPU、通道和I/O设备三者的并行操作,从而更有效地提高整个系统的资源利用率。例如,当CPU要完成一组相关的读(或写)操作及有关控制时,只需向I/O通道发送一条I/O指令,以给出其所要执行的通道程序的首址和要访问的I/O设备,通道接到该指令后,通过执行通道程序便可完成CPU指定的I/O任务。

2023/2/3通道的工作过程某进程在运行过程中,若提出了I/O请求,只需向通道I/O通道发一条I/O指令,以给出其所要执行的通道程序的始址和要访问的I/O设备;用户进程阻塞以等待I/O完成通道则通过执行通道程序控制设备控制器,控制设备完成指定的I/O任务。发出中断信号通知CPU通道程序已执行完成。CPU响应中断,进行善后处理并唤醒被阻塞的用户进程2023/2/32.I/O系统层次及功能

用户层软件设备独立性软件设备驱动程序中断处理程序硬件实现与用户交互的接口,产生I/O请求负责实现与设备驱动器的统一接口、设备命名,设备的保护,设备的分配与释放,缓冲等。与硬件直接相关,负责具体实现系统对设备发出的操作指令,驱动I/O设备工作的驱动程序保护环境,转入相应处理程序,恢

温馨提示

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

评论

0/150

提交评论