1、Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,软件技术操作系统(co zu x tn),第一页,共53页。,1,3.3,存储管理,讨论3个问题:,为什么要对存储器进行管理?,存储管理的内容(nirng)?,怎样实现
2、存储管理?,第二页,共53页。,2,1.为什么要对存储器进行(jnxng)管理?,存储管理的目的:,尽量(jnling)方便用户,提高主存空间利用率,理由1:存储器分为主存和辅存(二级存储),所有程序必须调入主存才能运行,而主存空间有限,所以必须对主存进行管理。,理由2:主存的空间分为系统区和用户区,系统区用来存放操作系统等信息,用户区存放用户的程序和数据,存储管理是指对用户区进行管理。应当(yngdng)尽量方便用户,提高主存空间利用率。,第三页,共53页。,3,主要有5项内容:,主存空间(kngjin)的分配和去配,地址转换(或地址映射),主存空间(kngjin)的扩充,存储的保护(或信息
3、保护),主存空间(kngjin)的共享,2.存储管理的内容(nirng)?,作业进入内存或进程动态申请主存空间时,OS该将哪块空闲区分配出去?作业或进程执行完毕,OS又如何收回(shu hu)这些区域?,逻辑地址如何转换为物理地址?不转换就不能正确运行程序。,用户程序太大,内存装不下怎么办?,虚拟存储技术,逻辑地址顺序排,物理地址分段转。,内存中各作业或进程应当在各自规定区域内操作,要保证互不干扰。,多个作业用到公共程序或数据,可放入某空间让大家都能调用,共享主存空间。,(与第,4,项有矛盾),第四页,共53页。,4,(1)什么是地址变换(或地址映射、地址重定位)?,答:在程序进入内存的过程中
4、逻辑地址转为物理地址的过程称为(chn wi)程序重定位(可分为静态重定位和动态重定位)。,(2)为什么要引入浮动的逻辑地址?,答:引入浮动的逻辑地址是为了支持多道程序和方便用户。因为程序员在编程时无法得知程序会放入内存的哪些地址,也就是说,无法确定程序的真实地址,只能用符号来代替地址。,(3)外存中的逻辑地址怎样转换为内存中的物理地址?,答:先用编译程序把地址符号变为逻辑地址(把目标地址的首址作为0的相对地址),再用硬件地址变换机构将逻辑地址转为物理地址。,讨论(toln)几个重要概念:,第五页,共53页。,5,静态重定位-在程序装入内存时由连接装入程序完成转换,程序运行过程中不再改变(移
5、动)。因为程序必须全部预先调入内存,因此此方式无法实现虚拟存储。,动态(dngti)重定位在指令执行过程中由硬件地址变换机构对地址进行定位,程序可以在内、外存中调进调出,也可以在主存内部上下移动。,(4)什么(shn me)是静态重定位和动态重定位?,第六页,共53页。,6,3.怎样(znyng)实现存储管理?,管理方法主要有3种:分区(fn q)、分页、分段,(1)分区存储管理,特点:给每个作业划分一个区(这是多道情况,DOS单用户单任务不必分区),全部内存(除驻留的OS外)连续分配(fnpi)给用户即可。又分为“固定分区”和“可变分区”。,固定式分区,把内存先分成大小不等的(空)区,再把作
6、业一一往里套送;,实现法:,建立“分区分配表”,设“已分配,/,未分配”状态标志,技巧:,将空闲区单独列表再形成链表,便于系统快速查找与作业尺寸匹配的空间。有最佳适应法和首次适应法两种匹配策略。,第七页,共53页。,7,可变式分区(fn q),按装入的第一批作业大小来分区,保证初始无碎片。但系统(xtng)运行一段时间后,随着作业的进出释放,就会留下很多分区(且分区长度可变),要用两张表才能描述(已分配的表和空闲分区表)。,分区存储管理的特点;,优点:简单可靠,缺点:碎片多(虽然可以进行碎片整理,但CPU耗时多),第八页,共53页。,8,(,2,)页式存储管理,设计思想:为解决碎片问题,允许作
7、业不连续存放,可以把主存空间等分为若干小块,同时把外存作业尺寸也等分为若干“页”,并让块和页尺寸相等(例如1K、4K、32K等),分得越小,碎片越少。,请注意:内存Cache+主存,页式存储管理实现方案:只要“不连续”,势必要用到数据结构中的“链表”和“索引”概念(ginin)。可以用“页表”将作业的“页”与主存的“块”关联起来。,第九页,共53页。,9,若某作业逻辑地址从0312H2AF0H,则可以将高4位当作页号,低12位为页内地址(即页长为4KB),进入主存后的具体安排见下面的页表。,问:作业中逻辑地址为1050H的单元对应(duyng)主存的哪个物理地址?,例:,解:由表可知(k zh
8、),作业的第1页(01H)对应主存中第11块(0BH),所以逻辑地址1050H对应物理地址B050H,更普遍(pbin)的公式:绝对地址块号块长页内相对地址,逻辑页号,主存块号,0,9,1,11,2,14,(例如将高,6,位分为页号、低,10,位作为页内地址的的情况),第十页,共53页。,10,若将作业预先一次性全部装入主存,则称为静态(jngti)页式管理,页式存储管理还可分为两种方法:,静态(jngti)页式管理 和 虚拟页式管理。,若允许部分页面先调入主存执行,然后根据需要再陆续调入其他页面,则称为虚拟(xn)页式管理,即内存外存统一管理。,若主存空间不够大怎么办?,那就不装!一定要保证
9、作业总页数主存空闲块总数,需要解决,2,个问题:,怎知作业页,在不在主存?不在主存时怎样处理?,此时页表至少要增添两项属性!,第十一页,共53页。,11,讨 论:,此表何时建立?作业调入内存时就边调入边建立了。,程序页在不在主存,看缺页中断标志标志(0在1不在);进入之后改标志为0;退出之后改为1;,不在主存时,发出缺页中断申请,找到主存一空闲块之后,赶紧从磁盘调入,接着改变标志;,万一(wny)主存没有空闲区怎么办?要淘汰一些页面,腾出空间调入新页。,逻辑页号,主存块号,中断标志,磁盘位置,0,9,0,(在主存中),a1,1,11,0,a2,2,1,a3,3,1,a4,原例:,第十二页,共
10、53页。,12,页面淘汰(toti)策略主要有3种:,l 先进先出算法(FIFO),页号进入时生成队列,淘汰队首;,l 最近最久未使用算法(LRU,Least Recently Used),近期未使用,记录上次引用后的驻留时间,l 最近最少使用算法(LFU,Least Frequently Used),近期未访问(fngwn),设置访问(fngwn)计数器,可能出现的异常:,刚淘汰的页面又被调入,频繁进出将产生(chnshng)“抖动”,第十三页,共53页。,13,(,3,)段式存储管理,问题:,若一段程序分在两页上怎么办?,方案:,将作业按逻辑内容(nirng)长短分段调入,防止分在两页上。
11、谁来分段?,由程序员或编译系统来分段。,具体实现:,建立段表。,第十四页,共53页。,14,讨论(toln):,若程序分成N段却无法一次放入内存怎么办?,用段式虚拟存储方式分批调入,方法同页式。,若一段太大,内存无法提供连续空间怎么办?,段页式存储管理,段内再分页,多建一个索引表到内存。,存取内存中的一条指令至少要访问几次内存?,至少要访问三次(sn c)内存。前提是指令的逻辑地址已知,即段号和页号已知。,先根据控制寄存器访问段表,得到与该段对应的页表首址;,访问页表,得到其页号对应的内存块号;,以块号与页内地址拼接得到该指令的绝对物理地址。,第十五页,共53页。,15,3.4 文件(wnj
12、in)管理,讨论3个问题(wnt):,为什么要对文件进行管理?,文件管理的内容?,怎样实现文件管理?,文件的定义:是逻辑(lu j)上具有完整意义的信息集合。,第十六页,共53页。,16,1.为什么要对文件进行管理(gunl)?,为了给用户提供“按名存储”功能。,操作系统会自动将文件名转换成存储器的物理位置,这种管理(gunl)是一个信息管理(gunl)机构,简称为OS中的文件管理(gunl)或文件系统。(用管理(gunl)),文件系统为用户提供了5大功能:,文件组织,存储空间管理(gunl),目录管理(gunl),文件操作及共享,保护和保密,第十七页,共53页。,17,1.实现文件从名字空间
13、与外存地址空间的转换,便于识别和查找称为文件组织,2.管理文件的存储空间,便于存放和删除称为存储空间管理,3.建立文件目录(ml),方便检索和保证安全称为目录(ml)管理,4.实现对文件的控制操作和存取操作,如建立、删除、打开、关闭(内外存配合)称为文件操作,5.联网时的资源共享可节省空间,但又要保密称为共享、保护和保密,2.文件管理(gunl)的内容?,第十八页,共53页。,18,3.怎样(znyng)实现文件管理?,两大问题:,(一)文件放在哪里?按什么格式存放?,(二)用什么方法管理文件?,(一)文件放在哪里?按什么格式存放?,文件通常存放在存储介质上,如内存或外存,磁盘(c pn)、光
14、盘、磁带、磁鼓等等。,请注意存储介质与存储设备的区别。,例如光盘和光驱、磁盘(c pn)和软驱不同,硬盘和硬盘驱动器合为一体。,第十九页,共53页。,19,讨论1:文件及存储介质的大小如何衡量?,用存储容量衡量。除字节单位外,主要(zhyo)以块(324096)为单位交换信息。DOS及UNIX系统均以512字节()为一块。内存与外存的数据交换通常是按一块或数块进行的。,讨论2:卷、柱面、磁道、簇、扇区(块)的关系?卷柱面磁道簇扇区(块),卷(volume)是指一盘磁带、一张软盘或一个硬盘;,硬盘是多盘面,每个盘面叫一个柱面(clyinder);,每个盘面有很多磁道(同心圆,track);,每个
15、磁道有若干簇(clust)或扇区(块,section),一个簇是一组连续的扇区,簇随文件(wnjin)系统不同而不同,不定长。,簇号是描述磁盘空间的一种单位,也是DOS为文件(wnjin)分配磁盘空间的最小单位。,第二十页,共53页。,20,例:请计算3寸双面高密度软盘的存储容量。,解:3寸双面高密度软盘,每面分为(fn wi)80道;每道分为(fn wi)18块(扇区),每扇区为512字节()。,则软盘容量280180.5KB=1440KB,讨论3:文件如何(rh)命名?,每个文件一定要用一个名字作为标识;,DOS命名规则(guz):基本文件名.扩展名(8B3B),Win95之后允许长文件名
16、答:它是由字符和数字组成的字符串。,第二十一页,共53页。,21,前三种分类方法与存放(cnfng)方式有关,随机存取指可以从文件中间(zhngjin)读写记录(注意是记录而不是数据项)。,分类目的:便于系统对不同的文件进行不同的管理,提高处理速度并实现保护和共享,有6种分类方法:,按逻辑结构分:记录式和流式,按物理结构分:顺序(shnx)、链接、索引,按存取方式分:顺序(shnx)存取和随机存取,按用途或性质分:系统文件、库文件、用户文件,按保存期限分:临时文件、档案文件、永久文件,按保护级别分:执行文件、只读文件、读写文件、无保护文件,讨论,4,:文件的分类(存放方式)?,流式文件即字
17、符流或字节流,如源程序或,exe,文件,第二十二页,共53页。,22,(二)怎样管理或组织(zzh)文件?,用线性表和树结构!,关键技术是:文件名如何对应物理地址?,最简单(jindn)的表如下:,文件名,记录个数,第,1,个物理块号,保护信息,建立日期,最近修改时间,其他,Test.c,8,20,R/W,99-1-15,99-3-1,空闲,10,28,Test.exe,2,38,执行,99-3-2,注:此处假设1个记录大小1块的长度(chngd),(也可以设N个记录1块),第二十三页,共53页。,23,段页式存储管理,段内再分页,多建一个索引表到内存。,文件管理(gunl)的内容?,比较合理
18、的改进是,把设备的分配推迟到进程(jnchng)真正使用该设备时才进行,一旦停止使用便立即收回,而不管整个作业是否运行结束,即“晚占早放”,把独占设备变为共享设备。,设备驱动程序放在DOS核心程序的中,它提供了一组统一的设备驱动接口。,第四十二页,共53页。,用位示图将全部物理块的使用状态用0和1表示,0空1用,1bit足矣。,按用途或性质分:系统文件、库文件、用户文件,第四十七页,共53页。,讨论(toln):,显然,使用缓冲池技术后,用少量的缓冲区就能为更多的进程服务(随时释放),不过这需要(xyo)一个缓冲区管理软件的支持。,l 最近最少使用算法(LFU,Least Frequently
19、 Used),表中包含文件名和文件说明信息(xnx),称为一级目录结构或目录文件。,其中每一行实际上是一个文件目录项,或称文件控制块(FCB)。,一级目录的优点是实现了按名存取;缺点是不允许文件重名。,改进方法(fngf):用二级或多级目录结构,第二十四页,共53页。,24,主文件目录,(MFD),文件名,记录个数,首物理块号,Test.c,8,20,空闲,10,28,Test.exe,2,38,文件名,记录个数,首物理块号,Test.c,Liu.txt,yu.exe,用户目录名,物理地址,wang,gao,wang用户(yngh)文件目录(UFD),gao用户(yngh)文件目录(UFD),
20、二级文件目录结构(jigu)!,第二十五页,共53页。,25,3种物理结构(顺序、链接、索引)对应3种不同的方式,l顺序结构连续相邻块存放,知道起始地址和文件长度(以块为单位)就能存取文件。优点是简单;缺点是增减信息比较费事。,l链接结构离散块存放,每块附加一指针,指向下一块的首址。优点是增减信息比较简单;缺点是只适于顺序存取。,l索引结构仍然(rngrn)是离散块,但另造一张逻辑块与物理块的对应(索引)表,文件目录表中多出一指针项,指向这个表首址(如果文件很大,物理块太多,则索引表也会很大,若超出一个物理块,则用链表方式继续添加,或再建索引表,叫做多重索引UNIX系统使用)。它既保留了链式增
21、减方便的优点,又能快速随机存取。缺点:先查表再存取,增加了存取时间。,讨论(toln)1:怎样读取(查找)文件?,第二十六页,共53页。,26,讨论2怎样存放新文件?找空闲块!,讨论3.怎样实现文件的删除?恢复空闲块标志!,讨论4.如何对空闲空间进行管理?,有3种办法,算法(sun f)都很简单。,用位示图将全部物理块的使用状态用0和1表示,0空1用,1bit足矣。例,若某张软盘有720个物理块,则状态位需要90个字节(908bit)。可假设:新存文件时就找“0”标志块存放,每存一块则改0为1;,若删除一个文件,则由文件目录把对应物理块的标志位由1改0,释放完毕后再删除文件目录项。,第二十七页
22、共53页。,27,用空闲区表只记录连续空闲块的首块及个数,有点像“压缩编码”。,刘自己设想:新存文件时找空闲区表按块存放,存完后要删减空闲区表;零头块要照样保留;,若删除一个文件,则由文件目录把对应(duyng)物理块找出来,然后添加到空闲区表中。若与其他空块连成一片,则要合并成为一项。,用空闲块链将所有空闲块组成链表,末块以NULL结尾。,刘自己设想:新存文件时从链头开始存放,头指针依次后移;若删除一个文件,则由文件目录把对应(duyng)物理块找出来,然后添加到空闲块链尾。,第二十八页,共53页。,28,讨论5.怎样实现文件的共享、保护和保密?,三种含义各不相同但都涉及“权限”,l文件共
23、享允许不同(b tn)的用户或进程共同使用一个文件;可以允许多人同时读,但不允许多人同时写,要确保信息完整性。(简单共享以根目录为绝对路径;若允许不同(b tn)用户别名存取,则实现共享需二级目录),l文件保护防止因误操作而对文件可能造成的破坏。为防止系统故障,可用存为副本和定时保存的办法;为防止共享用户修改的办法:限制读写权限,l文件保密不允许未经授权的用户对文件进行访问。防窃取!,保密措施有3种:隐蔽文件目录、设置口令、使用密码加密(修改和恢复源文件)。,第二十九页,共53页。,29,3.5 设备(shbi)管理,讨论3个问题:,为什么要对设备进行(jnxng)管理?,从哪些方面进行(jn
24、xng)设备管理?,怎样实现设备管理?,第三十页,共53页。,30,l怎样克服独占设备的缺点?用共享磁盘(c pn)、多道工作预操作,来模拟输入机和打印机的工作。,申请设备(shbi)时常用第二种,因为适应性好,灵活性强。,若删除一个文件,则由文件目录把对应物理块的标志位由1改0,释放完毕后再删除文件目录项。,页式存储管理还可分为两种方法:,为什么要对存储器进行管理?,分析3:DOS设备(shbi)管理的特点,内存与外存的数据交换通常是按一块或数块进行的。,页式存储管理还可分为两种方法:,l链接结构离散块存放,每块附加一指针,指向下一块的首址。,(用管理(gunl)),设置内存缓冲区有这么几种
25、方式(fngsh):,前三种分类方法与存放(cnfng)方式有关,按用途或性质分:系统文件、库文件、用户文件,井为实现虚拟设备在磁盘上划出的专用存储空间,在大中型机器(j q)中,主机与外设打交道实际上是三层:,若设备较多,为避免内存开销过大,可以将若干个相同的缓冲区组成缓冲池,统一管理,变专用为通用,这叫缓冲池技术。,设备(shbi)的定义:,是信息的输入输出机构,是进程与外界通信的途径。,从物理上可分为2类:存储型设备和输入输出设备。,前者的传输单位是“块”,后者的传输单位是“字符”。所以(suy)又可称为块设备和字符设备。,从使用角度上可分为3类:,独占设备(如打印机、磁带机等)、共享设
26、备(磁盘驱动器)和虚拟设备(用大容量磁盘模拟独占设备)。,第三十一页,共53页。,31,1.为什么要对设备(shbi)进行管理?,设备管理的目的有二:,一是提高(t go)设备利用率(消除各设备忙闲不匀的现象);,二是方便用户的使用(例如对外设自动启动),(实现方便性、并行性、均衡性、独立性),第三十二页,共53页。,32,2.从哪些方面进行(jnxng)设备管理?,从4方面管理:,实现对外设的分配和回收怎样配合进程占用和释放?,实现对外设的启动最好不要(byo)由用户直接启动外设;既节省用户动作,又保证了系统可靠性,处理外设中断事件怎样实现平时由通道独立管理外设,关键时刻由CPU出面发令?,
27、实现虚拟设备怎样提高独占设备(如打印机)的利用率?用虚拟设备可实现设备的独立性,重点介绍和,第三十三页,共53页。,33,3.怎样实现设备(shbi)管理?,中断技术、通道技术和缓冲技术,中断技术外部(wib)事件随机提出服务申请,CPU及时响应并服务,完毕后CPU继续执行以前动作。,但在设备管理中,是由进程随机提出需要I/O的申请,然后挂起(等待),交由CPU中的进程调度来处理,在中断服务子程序中完成I/O操作,服务完毕后,再唤醒等待中的进程。,一、简介设备管理(gunl)三大关键技术:,第三十四页,共53页。,34,通道技术(jsh)即I/O处理机(可理解为一种微控制器),可独立完成主存与
28、外设之间传送信息的I/O操作。是程序直接传送、中断方式、DMA方式等3种I/O传送方式之后的第4种(高级计算机的多道环境才用)。,可以理解为:通道是CPU的助手,可以在内存与外设间交换数据而不轻易惊动CPU。一旦要惊动,用I/O中断方式(fngsh)。,CPU仅负责查询和启/停,当CPU要启动某个外设工作时,只要发一条I/O指令给通道,告诉通道要执行的I/O操作和要访问的设备,通道便向主存索取通道程序,完成I/O控制管理。,第三十五页,共53页。,35,在大中型机器(j q)中,主机与外设打交道实际上是三层:,CPU通道控制器外设 (通道和控制器外设数),分析(fnx):声卡、显卡、网卡、多功
29、能卡(并口、串口)、MODEM卡等等,是不是通道和控制器连为一体的硬件装置?,主存,Memory,通道(tngdo),外设控制器,1,n,外部设备,第三十六页,共53页。,36,缓冲技术为了解决高速CPU与低速外设传送速度严重不匹配(ppi)的矛盾。,若想“解放”CPU,就会自然想到在内存中设立数据缓冲区,专门用于I/O传送过程中的临时数据存放。无论是输入还是输出,都利用此缓冲区来当“二传”,解除CPU一直(yzh)“陪同”的困扰。例如打印机的I/O数据缓冲区,还有键盘缓冲区。,第三十七页,共53页。,37,设置内存缓冲区有这么几种方式(fngsh):,若I/O不频繁时,可以只设立单缓冲区,每
30、一时刻只为输入或输出单向服务;,若希望同时I/O,应设立双缓冲区,能提供同时I/O;,若I/O量特别大,还可采用多缓冲技术。,若设备较少,可以为每个外设开辟一个专用缓冲区;,若设备较多,为避免内存开销过大,可以将若干个相同的缓冲区组成缓冲池,统一管理,变专用为通用,这叫缓冲池技术。,第三十八页,共53页。,38,设立缓冲池的优点?,设立公共缓冲池后,当某一进程需要(xyo)使用缓冲区时,先提出申请,由设备管理程序分配给它,待进程用完后,释放缓冲区,又可供给别人用。,显然,使用缓冲池技术后,用少量的缓冲区就能为更多的进程服务(随时释放),不过这需要(xyo)一个缓冲区管理软件的支持。,第三十九页
31、共53页。,39,二、简介(jin ji)设备分配策略,把什么东西分配给谁?把设备(shbi)、控制器和通道分配给(请求设备(shbi)的)进程,独占设备(shbi)如何分配?常采用 静态 分配策略。,只能让一个作业独占使用的设备(shbi)称为 独占设备(shbi),例如打印机、键盘、鼠标、扫描仪等终端。,独占设备(shbi)意即在某作业执行前就分配设备(shbi)给它,直到作业结束后才回收设备(shbi)。,第四十页,共53页。,40,问:作业在申请独占设备(shbi)时,系统怎样指定一个设备(shbi)给它?,答:有两种方式。,一是指定设备(shbi)的绝对号(计算机系统为每一台设备(
32、shbi)确定一个编号,以便区分和识别);,二是指定设备(shbi)的设备(shbi)类和相对号(指用户在程序中定义的设备(shbi)编号,要哪一类设备(shbi)?要多少台?),申请设备(shbi)时常用第二种,因为适应性好,灵活性强。,独占设备的缺点:设备利用率低,因为作业(zuy)不可能始终都使用该设备。,比较合理的改进是,把设备的分配推迟到进程(jnchng)真正使用该设备时才进行,一旦停止使用便立即收回,而不管整个作业是否运行结束,即“晚占早放”,把独占设备变为共享设备。,第四十一页,共53页。,41,共享设备(shbi)如何分配?,可以让几个作业同时使用(shyng)的设备称为 共
33、享设备(例如磁盘驱动器)。,它允许多个作业交替使用(shyng)该设备,虽然每一瞬间仍然只有一个作业占用,但宏观上看起来是共享。,思考:怎样保证作业都能占用独占设备但又互不冲突(chngt),当一个作业用完另一个马上接着用?,答:借助虚拟设备来实现。,用,互斥性和等待队列,实现,第四十二页,共53页。,42,虚拟设备(shbi)是什么?,用高速共享设备(如磁盘)来模拟独占设备称为 虚拟设备 。,采用虚拟设备的优点:存取速度比物理设备高得多,所以能提高作业的运行速度。,例如(lr):以前一批作业在运行时要不断打印,只能一个作业独占打印机,打印完毕后才能让给下一个作业;现在可以先把全部作业的打印内
34、容先陆续送入(预输入)硬盘,分别形成打印文件队列,再由缓输出程序送到真正的外设上。,实现虚拟设备的前提有大容量磁盘(c pn)、CPU与通道能并行工作、且操作系统能采用多道技术。,第四十三页,共53页。,43,三、简介(jin ji)虚拟设备的实现技术,虚拟设备的实现技术SPOOLing假脱机系统(又称联机外围(wiwi)操作)。,SPOOL系统由两部分组成:输入SPOOLing 和输出SPOOLing。,输入SPOOLing:把用户作业先传送(chun sn)到输入井中保存为文件,当进程需要输入信息时再从输入井中读入内存(虚拟输入机);,输出SPOOLing:先将要输出的信息保存到输出井中,
35、然后再把输出井中的作业结果打印输出(虚拟打印机)。,井,为实现虚拟设备在磁盘上划出的专用存储空间,第四十四页,共53页。,44,外存,主机(zhj),附:,SPOOLING,图示,输入(shr)设备,通道(tngdo),输入井,输出井,通道,输出设备,输入管理模块,输出管理模块,第四十五页,共53页。,45,虚拟设备讨论:,l为什么要设计虚拟设备方式?因为静态独占设备效率太低;,l怎样克服独占设备的缺点?用共享磁盘(c pn)、多道工作预操作,来模拟输入机和打印机的工作。,l 实现虚拟设备的条件?大容量磁盘(c pn)、有中断装置和通道、CPU与通道能并行工作、操作系统也得采用多道技术。,l采
36、用虚拟设备技术的优点:提高了独占设备的利用率,缓和了高速CPU和低速外设的不均匀不匹配性,提高了外设与CPU的并行程度。,缺点:要占用大量外存空间(例如虚拟光驱至少需要C盘留20%空间),加重了主机与外存的信息传送负担。,第四十六页,共53页。,46,四、简介设备(shbi)分配涉及的数据结构和算法,有关的数据结构:,1.系统所拥有的全部I/O设备名称类型(lixng)要登记应当建立一个系统设备表;,2.每台设备要有一组描述动态特征的数据(例如现在是否忙,是否在等待)也应当建立一张表,称作设备控制块DCB。,请注意(zh y)PCB、JCB和DCB都是动态的!,3.,所有的,DCB,要集中管理
37、以便随时查询各设备情况,应当建立设备控制表;,4.,各个控制器的状态,要建立控制器表;,5.,各个通道的状态,要建立通道表;,第四十七页,共53页。,47,设备管理(gunl)常用的算法有:,1.先请求先服务,设备分配给最先请求的进程或作业,2.优先数法,将设备分配给优先级高的进程,急用先分配,注意事项:严防死锁,实例(shl):DOS操作系统是如何进行资源管理的?,第四十八页,共53页。,48,分析1:DOS系统(xtng)存储管理的特点,1)DOS特点:单用户、单任务、单道系统,要求不高。,2)地址重定位方式:只采用(ciyng)静态重定位,无虚拟存储能力,因DOS始终只有(zhyu)一
38、个用户程序进入,故存储管理方式为简单分区管理方式,允许最大主存连续空间为640KB(主存空间1MB),其中留给用户的约有600KB,对应的分区表叫做MCB内存控制块。,想一想:,DOS,下能运行大于内存容量的游戏么?,第四十九页,共53页。,49,分析(fnx)2:DOS文件管理的特点,1)文件的逻辑结构流式文件,不分记录,2)文件的物理结构链接存储,但链接指针不放在物理块中,而是集中存放在一特殊表中,叫做文件分配表FAT。该表不仅显示了外存的空闲块,也显示了各文件占用外存物理块的情况。很重要,所以一式两份放在0道最前面。,3)文件目录结构树形结构(多级目录结构?),其中各文件目录项的内容(n
39、irng),指明了分配给该文件的起始磁盘空间(文件名,属性,最后修改日期和时间,长度,物理位置的起始簇号。(即dir命令显示的是文件目录项内容(nirng),除了属性和起始簇号),第五十页,共53页。,50,分析3:DOS设备(shbi)管理的特点,DOS仅单道,所以无虚拟(xn)设备一说!,1.设备驱动程序放在DOS核心程序的中,它提供了一组统一的设备驱动接口。,2.服务过程:DOS内核需要设备服务时,先调用指定的设备驱动程序,再由该程序调用BIOS中的设备I/O中断功能来完成具体服务。,第五十一页,共53页。,51,3.什么是的设备链?如何(rh)在设备链中增加新的设备驱动程序?,答:在中
40、提供了标准设备驱动程序。这些驱动程序用链表方式链接(由设备头中的设备链接指针构成)。,第一个设备驱动程序总是(zn sh)NULL,最后一个设备指针为FFFF。,新增设备的驱动程序加入中(不可能加到中,DOS核心文件不能随意改变),以device命令说明其调用的绝对路径,其设备头被链接到DOS设备链的最前面(仅次于NULL),在所有标准设备之前。,第五十二页,共53页。,52,第三章 操作系统(co zu x tn)小结,它能统一管理(gunl)计算机系统的全部资源(CPU、存储器、I/O设备和文件),操作系统(co zu x tn)的作用?,建立操作系统的好处:,方便用户 高效工作,第五十三页,共53页。,53,






