《软件技术操作系统幻灯片.ppt》由会员分享,可在线阅读,更多相关《软件技术操作系统幻灯片.ppt(53页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件技术操作系统1第1页,共53页,编辑于2022年,星期三3.3 3.3 存储管理存储管理讨论讨论3个问题:个问题:1.为什么要对存储器进行管理?为什么要对存储器进行管理?2.存储管理的内容?存储管理的内容?3.怎样实现存储管理?怎样实现存储管理?2第2页,共53页,编辑于2022年,星期三1.为什么要对存储器进行管理?为什么要对存储器进行管理?存储管理的目的:存储管理的目的:尽量方便用户,提高主存空间利用率尽量方便用户,提高主存空间利用率尽量方便用户,提高主存空间利用率尽量方便用户,提高主存空间利用率 理理由由1:存存储储器器分分为为主主存存和和辅辅存存(二二级级存存储储),所所有有程程序
2、序必必须须调调入入主主存存才才能能运运行行,而而主主存存空空间间有有限限,所所以以必须对主存进行管理。必须对主存进行管理。理由理由2:主存的空间分为系统区和用户区,系统区主存的空间分为系统区和用户区,系统区用来存放操作系统等信息,用来存放操作系统等信息,用户区存放用户的程序和用户区存放用户的程序和数据数据,存储管理是指对用户区进行管理。应当尽量方便,存储管理是指对用户区进行管理。应当尽量方便用户,提高主存空间利用率。用户,提高主存空间利用率。3第3页,共53页,编辑于2022年,星期三主要有主要有5项内容:项内容:v主存空间的分配和去配主存空间的分配和去配v地址转换地址转换(或地址映射或地址映
3、射)v主存空间的扩充主存空间的扩充v存储的保护(存储的保护(或信息保护或信息保护)v主存空间的共享主存空间的共享2.存储管理的内容?存储管理的内容?作业进入内存或进程动态申作业进入内存或进程动态申请主存空间时,请主存空间时,OSOS该将哪块空该将哪块空闲区分配出去?作业或进程执行闲区分配出去?作业或进程执行完毕,完毕,OSOS又如何收回这些区域又如何收回这些区域?逻辑地址如何转换为物理地址?不转逻辑地址如何转换为物理地址?不转换就不能正确运行程序。换就不能正确运行程序。用户程序太大,内存装不下用户程序太大,内存装不下怎么办?怎么办?虚拟存储技术,虚拟存储技术,逻辑地址顺序排,物理地址分段逻辑地
4、址顺序排,物理地址分段转。转。内存中各作业或进程应当在各内存中各作业或进程应当在各自规定区域内操作,要保证互自规定区域内操作,要保证互不干扰。不干扰。多个作业用到公共程序或数据,可多个作业用到公共程序或数据,可放入某空间让大家都能调用,共享放入某空间让大家都能调用,共享主存空间。主存空间。(与第(与第4项有矛盾)项有矛盾)4第4页,共53页,编辑于2022年,星期三(1)什么是地址变换(或地址映射、地址重定位)?什么是地址变换(或地址映射、地址重定位)?答:答:在程序进入内存的过程中,在程序进入内存的过程中,逻辑逻辑地址转为地址转为物理物理地址的过程称地址的过程称为程序重定位(可分为静态重定位
5、和动态重定位)。为程序重定位(可分为静态重定位和动态重定位)。(2)为什么要引入浮动的逻辑地址?为什么要引入浮动的逻辑地址?答:答:引入浮动的逻辑地址是为了支持多道程序和方便用户。引入浮动的逻辑地址是为了支持多道程序和方便用户。因为因为程序员在编程时无法得知程序会放入内存的哪些地址,也程序员在编程时无法得知程序会放入内存的哪些地址,也就是说,无法确定程序的真实地址,只能用符号来代替地就是说,无法确定程序的真实地址,只能用符号来代替地址。址。(3)外存中的逻辑地址怎样转换为内存中的物理地址?外存中的逻辑地址怎样转换为内存中的物理地址?答:答:先用编译程序把地址符号变为逻辑地址(把目标地址的首先用
6、编译程序把地址符号变为逻辑地址(把目标地址的首址作为址作为0 0的相对地址),再用硬件地址变换机构将逻辑地址转为的相对地址),再用硬件地址变换机构将逻辑地址转为物理地址。物理地址。讨论几个重要概念:讨论几个重要概念:5第5页,共53页,编辑于2022年,星期三静静态态重重定定位位-在在程程序序装装入入内内存存时时由由连连接接装装入入程程序序完完成成转转换换,程程序序运运行行过过程程中中不不再再改改变变(移移动动)。因因为为程程序序必必须须全全部部预预先先调调入入内存,因此此方式无法实现虚拟存储。内存,因此此方式无法实现虚拟存储。动动态态重重定定位位在在指指令令执执行行过过程程中中由由硬硬件件地
7、地址址变变换换机机构构对对地地址址进进行行定定位位,程程序序可可以以在在内内、外外存存中中调调进进调调出出,也也可可以以在在主主存存内部上下移动。内部上下移动。(4)什么是静态重定位和动态重定位?)什么是静态重定位和动态重定位?6第6页,共53页,编辑于2022年,星期三3.怎样实现存储管理?怎样实现存储管理?管理方法主要有管理方法主要有管理方法主要有管理方法主要有3 3种:种:种:种:分区、分页、分段分区、分页、分段分区、分页、分段分区、分页、分段(1 1)分区存储管理分区存储管理分区存储管理分区存储管理特特特特点点点点:给给每每个个作作业业划划分分一一个个区区(这这是是多多道道情情况况,D
8、OS单单用用户户单单任任务务不不必必分分区区),全全部部内内存存(除除驻驻留留的的OS外外)连连续续分分配配给给用用户户即即可可。又又分分为为“固定分区固定分区”和和“可变分区可变分区”。固定式分区固定式分区把内存先分成大小不等的(空)区,把内存先分成大小不等的(空)区,再把作业一一往里套送;再把作业一一往里套送;实现法:实现法:建立建立“分区分配表分区分配表”,设,设“已分配已分配/未分配未分配”状状态标志态标志技巧:技巧:将空闲区单独列表再形成链表,便于系统快速查找与作业尺将空闲区单独列表再形成链表,便于系统快速查找与作业尺寸匹配的空间。有最佳适应法和首次适应法两种匹配策略。寸匹配的空间。
9、有最佳适应法和首次适应法两种匹配策略。7第7页,共53页,编辑于2022年,星期三可变式分区可变式分区按装入的按装入的第一批作业大小来分区第一批作业大小来分区,保证初始无碎片。但系统,保证初始无碎片。但系统运行一段时间后,随着作业的进出释放,就会留下很多分区(且运行一段时间后,随着作业的进出释放,就会留下很多分区(且分区长度可变),要用两张表才能描述(已分配的表和空闲分区分区长度可变),要用两张表才能描述(已分配的表和空闲分区表)。表)。分区存储管理的特点;分区存储管理的特点;优点:简单可靠优点:简单可靠 缺点:碎片多(虽然可以进行碎片整理,但缺点:碎片多(虽然可以进行碎片整理,但CPUCPU
10、耗时多)耗时多)8第8页,共53页,编辑于2022年,星期三(2 2)页式存储管理)页式存储管理)页式存储管理)页式存储管理设设计计思思想想:为为解解决决碎碎片片问问题题,允允许许作作业业不不连连续续存存放放,可可以以把把主主存存空空间间等等分分为为若若干干小小块块,同同时时把把外外存存作作业业尺尺寸寸也也等等分分为为若若干干“页页”,并并让让块块和和页页尺尺寸寸相相等等(例例如如1K、4K、32K等等),分分得越小,碎片越少。得越小,碎片越少。请注意:内存请注意:内存Cache+主存主存页页式式存存储储管管理理实实现现方方案案:只只要要“不不连连续续”,势势必必要要用用到到数数据据结结构构中
11、中的的“链链表表”和和“索索引引”概概念念。可可以以用用“页页表表”将将作作业业的的“页页”与主存的与主存的“块块”关联起来。关联起来。9第9页,共53页,编辑于2022年,星期三若某作业逻辑地址从若某作业逻辑地址从0312H2AF0H,则可以将,则可以将高高4位位当作页号当作页号,低,低12位为页内地址(即页长为位为页内地址(即页长为4KB),进入主存后),进入主存后的具体安排见下面的页表。的具体安排见下面的页表。问:作业中逻辑地址为问:作业中逻辑地址为1050H的单元对应主存的哪个物的单元对应主存的哪个物理地址?理地址?例:例:解解:由由表表可可知知,作作业业的的第第1页页(01H)对对应
12、应主主存存中中第第11块块(0BH),所以逻辑地址所以逻辑地址1050H对应物理地址对应物理地址B050H更普遍的公式:更普遍的公式:绝对地址块号绝对地址块号块长页内相对地址块长页内相对地址逻辑页号逻辑页号主存块号主存块号09111214(例如将高(例如将高6 6位分为页号、低位分为页号、低1010位作为页内地址的的情况)位作为页内地址的的情况)10第10页,共53页,编辑于2022年,星期三若将作业预先一次性全部装入主存,则称为若将作业预先一次性全部装入主存,则称为静态静态页式管理页式管理页式存储管理还可分为两种方法:页式存储管理还可分为两种方法:静态静态页式管理页式管理 和和虚拟虚拟页式管
13、理页式管理。若允许部分页面先调入主存执行,然后根据需要再陆续调入其他页面,若允许部分页面先调入主存执行,然后根据需要再陆续调入其他页面,则称为则称为虚拟虚拟页式管理,即内存外存统一管理。页式管理,即内存外存统一管理。若主存空间不够若主存空间不够大怎么办?大怎么办?那就不装!一定要保证那就不装!一定要保证作业总页数作业总页数主存空闲块总数主存空闲块总数需要解决需要解决2个问题:个问题:怎知作业页怎知作业页在不在主存?不在主存时怎样处理?在不在主存?不在主存时怎样处理?此时页表至少要增添两项属性!此时页表至少要增添两项属性!11第11页,共53页,编辑于2022年,星期三讨讨论:论:此表何时建立?
14、此表何时建立?作业调入内存时就边调入边建立了。作业调入内存时就边调入边建立了。程程序序页页在在不不在在主主存存,看看缺缺页页中中断断标标志志标标志志(0在在1不不在在);进进入之后改标志为入之后改标志为0;退出之后改为;退出之后改为1;不不在在主主存存时时,发发出出缺缺页页中中断断申申请请,找找到到主主存存一一空空闲闲块块之之后后,赶赶紧从磁盘调入,接着改变标志;紧从磁盘调入,接着改变标志;万万一一主主存存没没有有空空闲闲区区怎怎么么办办?要要淘淘汰汰一一些些页页面面,腾腾出出空空间间调调入入新页新页。逻辑页号逻辑页号主存块号主存块号中断标志中断标志磁盘位置磁盘位置090(在主存中)(在主存中
15、)a11110a221a331a4原例:原例:12第12页,共53页,编辑于2022年,星期三页面淘汰策略主要有页面淘汰策略主要有3种:种:l l先进先出算法(先进先出算法(FIFO)页号进入时生成队列,淘汰队首;页号进入时生成队列,淘汰队首;l l最近最久未使用算法(最近最久未使用算法(LRU,LeastRecentlyUsed)近期未使用,记录上次引用后的近期未使用,记录上次引用后的驻留时间驻留时间l l最近最少使用算法(最近最少使用算法(LFU,LeastFrequentlyUsed)近期未访问,设置近期未访问,设置访问计数器访问计数器可能出现的异常:可能出现的异常:刚淘汰的页面又被调入
16、,频繁进出将产生刚淘汰的页面又被调入,频繁进出将产生“抖动抖动”13第13页,共53页,编辑于2022年,星期三(3 3)段式存储管理)段式存储管理)段式存储管理)段式存储管理问题:问题:若一段程序分在两页上怎么办?若一段程序分在两页上怎么办?方案:方案:将作业按逻辑内容长短分段调入,防止分在两页上。将作业按逻辑内容长短分段调入,防止分在两页上。谁来分段?谁来分段?由程序员或编译系统来分段。由程序员或编译系统来分段。具体实现:具体实现:建立段表。建立段表。14第14页,共53页,编辑于2022年,星期三讨论:讨论:若程序分成若程序分成N段却无法一次放入内存怎么办?段却无法一次放入内存怎么办?用
17、段式虚拟存储方式分批调入,方法同页式。用段式虚拟存储方式分批调入,方法同页式。若一段太大,内存无法提供连续空间怎么办?若一段太大,内存无法提供连续空间怎么办?段页式存储管理,段内再分页,多建一个索引表到内段页式存储管理,段内再分页,多建一个索引表到内存。存。存取内存中的一条指令至少要访问几次内存?存取内存中的一条指令至少要访问几次内存?至少要访问至少要访问三次三次内存。前提是指令的逻辑地址已知,即内存。前提是指令的逻辑地址已知,即段号和页号已知。段号和页号已知。先根据控制寄存器访问段表,得到与该段对应的页表首址;先根据控制寄存器访问段表,得到与该段对应的页表首址;访问页表,得到其页号对应的内存
18、块号;访问页表,得到其页号对应的内存块号;以块号与页内地址拼接得到该指令的绝对物理地址。以块号与页内地址拼接得到该指令的绝对物理地址。15第15页,共53页,编辑于2022年,星期三3.4 3.4 文件管理文件管理讨论讨论3个问题:个问题:1.为什么要对文件进行管理?为什么要对文件进行管理?2.文件管理的内容?文件管理的内容?3.怎样实现文件管理?怎样实现文件管理?文件的定义:文件的定义:文件的定义:文件的定义:是是逻辑上具有完整意义的信息集合逻辑上具有完整意义的信息集合。16第16页,共53页,编辑于2022年,星期三1.1.为什么要对文件进行管理?为什么要对文件进行管理?为什么要对文件进行
19、管理?为什么要对文件进行管理?为了给用户提供为了给用户提供“按名存储按名存储”功能。功能。操操作作系系统统会会自自动动将将文文件件名名转转换换成成存存储储器器的的物物理理位位置置,这这种种管管理理是是一一个个信信息息管管理理机机构构,简简称称为为OS中中的的文文件件管管理理或或文文件件系系统统。(用DOS.SYS管理)文件系统为用户提供了文件系统为用户提供了文件系统为用户提供了文件系统为用户提供了5 5大功能:大功能:大功能:大功能:文件组织文件组织存储空间管理存储空间管理目录管理目录管理文件操作及共享文件操作及共享保护和保密保护和保密17第17页,共53页,编辑于2022年,星期三1.实现文
20、件从名字空间与外存地址空间的转换,便于识别和实现文件从名字空间与外存地址空间的转换,便于识别和查找查找称为称为文件组织文件组织2.管理文件的存储空间,便于存放和删除管理文件的存储空间,便于存放和删除称为称为存储空间管存储空间管理理3.建立文件目录,方便检索和保证安全建立文件目录,方便检索和保证安全称为称为目录管理目录管理4.实现对文件的控制操作和存取操作,如建立、删除、打开、实现对文件的控制操作和存取操作,如建立、删除、打开、关闭(内外存配合)关闭(内外存配合)称为称为文件操作文件操作5.联网时的资源共享可节省空间,但又要保密联网时的资源共享可节省空间,但又要保密称为称为共享、共享、保护和保密
21、保护和保密2.2.文件管理的内容?文件管理的内容?文件管理的内容?文件管理的内容?18第18页,共53页,编辑于2022年,星期三3.3.怎样实现文件管理?怎样实现文件管理?怎样实现文件管理?怎样实现文件管理?两大问题:两大问题:(一)文件放在哪里?按什么格式存放?(一)文件放在哪里?按什么格式存放?(二)(二)用什么方法管理文件?用什么方法管理文件?(一)(一)文件放在哪里?按什么格式存放?文件放在哪里?按什么格式存放?文文件件通通常常存存放放在在存存储储介介质质上上,如如内内存存或或外外存存,磁磁盘盘、光光盘盘、磁带、磁鼓等等。磁带、磁鼓等等。请注意请注意存储介质与存储设备存储介质与存储设
22、备的区别。的区别。例例如如光光盘盘和和光光驱驱、磁磁盘盘和和软软驱驱不不同同,硬硬盘盘和和硬硬盘盘驱驱动动器器合合为为一体。一体。19第19页,共53页,编辑于2022年,星期三讨论讨论1:文件及存储介质的大小如何衡量?文件及存储介质的大小如何衡量?用用存储容量存储容量衡量。除字节单位外,主要以块(衡量。除字节单位外,主要以块(324096)为单位交换信)为单位交换信息。息。DOS及及UNIX系统均以系统均以512字节(字节(0.5KB)为一块。内存与外存)为一块。内存与外存的数据交换通常是按一块或数块进行的。的数据交换通常是按一块或数块进行的。讨论讨论2:卷、柱面、磁道、簇、扇区(块)的关系
23、?卷、柱面、磁道、簇、扇区(块)的关系?卷卷柱面柱面磁道磁道簇簇扇区(块)扇区(块)卷卷(volume)(volume)是指一盘磁带、一张软盘或一个硬盘;是指一盘磁带、一张软盘或一个硬盘;硬盘是多盘面,每个盘面叫一个柱面硬盘是多盘面,每个盘面叫一个柱面(clyinder)(clyinder);每个盘面有很多磁道(同心圆每个盘面有很多磁道(同心圆,track,track););每个磁道有若干簇(每个磁道有若干簇(clustclust)或扇区(块)或扇区(块,section,section)一个簇是一组连续的扇区,簇随文件系统不同而不同,不定一个簇是一组连续的扇区,簇随文件系统不同而不同,不定长。
24、长。簇号簇号是描述磁盘空间的一种单位,也是是描述磁盘空间的一种单位,也是DOSDOS为文件分配磁盘为文件分配磁盘空间的最小单位。空间的最小单位。20第20页,共53页,编辑于2022年,星期三例:例:请计算请计算3寸双面高密度软盘的存储容量。寸双面高密度软盘的存储容量。解解:3寸寸双双面面高高密密度度软软盘盘,每每面面分分为为80道道;每每道道分分为为18块块(扇区),每扇区为(扇区),每扇区为512字节(字节(0.5KB)。)。则软盘容量则软盘容量280180.5KB=1440KB1.44MB讨论讨论3:文件如何命名?文件如何命名?v每个文件一定要用一个名字作为标识;每个文件一定要用一个名字
25、作为标识;vDOS命名规则:命名规则:基本文件名基本文件名.扩展名扩展名(8B3B)vWin95之后允许长文件名。之后允许长文件名。答:它是由字符和数字组成的字符串。答:它是由字符和数字组成的字符串。21第21页,共53页,编辑于2022年,星期三前三种分类方法与存前三种分类方法与存放方式有关放方式有关随机存取指可以从文件中随机存取指可以从文件中间读写记录(注意是记录间读写记录(注意是记录而不是数据项)。而不是数据项)。分分类类目目的的:便便于于系系统统对对不不同同的的文文件件进进行行不不同同的的管管理理,提提高高处处理理速速度度并并实实现保护和共享现保护和共享有有6种分类方法:种分类方法:按
26、逻辑结构分:记录式和流式按逻辑结构分:记录式和流式按物理结构分:顺序、链接、索引按物理结构分:顺序、链接、索引按存取方式分:顺序存取和随机存取按存取方式分:顺序存取和随机存取按用途或性质分:系统文件、库文件、用户文件按用途或性质分:系统文件、库文件、用户文件按保存期限分:临时文件、档案文件、永久文件按保存期限分:临时文件、档案文件、永久文件按保护级别分:执行文件、只读文件、读写文件、无保护文件按保护级别分:执行文件、只读文件、读写文件、无保护文件讨论讨论讨论讨论4 4:文件的分类文件的分类文件的分类文件的分类(存放方式)?(存放方式)?(存放方式)?(存放方式)?流式文件即字符流或流式文件即字
27、符流或字节流,如源程序或字节流,如源程序或exeexe文件文件22第22页,共53页,编辑于2022年,星期三(二)(二)(二)(二)怎样管理或组织文件?怎样管理或组织文件?怎样管理或组织文件?怎样管理或组织文件?用线性表和树结构!用线性表和树结构!关键技术是:关键技术是:文件名如何对应物理地址?文件名如何对应物理地址?最简单的表如下:最简单的表如下:文件名文件名记记录录个数个数第第1 1个物个物理块号理块号保护信保护信息息建立日期建立日期最最近近修修改时间改时间其其他他Test.c820R/W99-1-1599-3-1空闲空闲1028Test.exe238执行执行99-3-2注:此处假设注:
28、此处假设1个记录大小个记录大小1块的长度块的长度(也可以设(也可以设N个记录个记录1块)块)23第23页,共53页,编辑于2022年,星期三表中包含文件名和文件说明信息,称为表中包含文件名和文件说明信息,称为一级目录结构一级目录结构或目录文件。或目录文件。其中每一行实际上是一个文件目录项,或其中每一行实际上是一个文件目录项,或称称文件控制块(文件控制块(FCB)。一级目录的优点是实现了按名存取;缺一级目录的优点是实现了按名存取;缺点是不允许文件重名。点是不允许文件重名。改进方法:用二级或多级目录结构改进方法:用二级或多级目录结构改进方法:用二级或多级目录结构改进方法:用二级或多级目录结构24第
29、24页,共53页,编辑于2022年,星期三主文件目录主文件目录(MFD)文件名文件名记记录录个数个数首首物物理理块号块号Test.c820空闲空闲1028Test.exe238文件名文件名记录个数记录个数首物理块号首物理块号Test.cLiu.txtyu.exe用户目录名用户目录名物理地址wanggaowang用户文件目录用户文件目录(UFD)gao用户文件目录用户文件目录(UFD)(UFD)二级文二级文件目录件目录结构!结构!25第25页,共53页,编辑于2022年,星期三3种物理结构(顺序、链接、索引)对应种物理结构(顺序、链接、索引)对应3种不同的方式种不同的方式l l顺顺序序结结构构连
30、连续续相相邻邻块块存存放放,知知道道起起始始地地址址和和文文件件长长度度(以以块为单位)就能存取文件。优点是简单;缺点是增减信息比较费事。块为单位)就能存取文件。优点是简单;缺点是增减信息比较费事。l l链链接接结结构构离离散散块块存存放放,每每块块附附加加一一指指针针,指指向向下下一一块块的的首首址址。优点是增减信息比较简单;缺点是只适于顺序存取。优点是增减信息比较简单;缺点是只适于顺序存取。l l索索引引结结构构仍仍然然是是离离散散块块,但但另另造造一一张张逻逻辑辑块块与与物物理理块块的的对对应应(索索引引)表表,文文件件目目录录表表中中多多出出一一指指针针项项,指指向向这这个个表表首首址
31、址(如如果果文文件件很很大大,物物理理块块太太多多,则则索索引引表表也也会会很很大大,若若超超出出一一个个物物理理块块,则则用用链链表表方方式式继继续续添添加加,或或再再建建索索引引表表,叫叫做做多多重重索索引引UNIX系系统统使使用用)。它它既既保保留留了了链链式式增增减减方方便便的的优优点点,又又能能快快速速随随机机存存取取。缺缺点点:先先查查表表再再存存取取,增增加加了了存存取时间。取时间。讨论讨论讨论讨论1 1:怎样读取(查找)文件?:怎样读取(查找)文件?:怎样读取(查找)文件?:怎样读取(查找)文件?26第26页,共53页,编辑于2022年,星期三讨论讨论2怎样存放新文件?怎样存放
32、新文件?找空闲块!找空闲块!讨论讨论3.怎样实现文件的删除?怎样实现文件的删除?恢复空闲块标志!恢复空闲块标志!讨论讨论4.如何对空闲空间进行管理?如何对空闲空间进行管理?有有3种办法,算法都很简单。种办法,算法都很简单。用用位位示示图图将将全全部部物物理理块块的的使使用用状状态态用用0和和1表表示示,0空空1用用,1bit足足矣矣。例例,若若某某张张软软盘盘有有720个个物物理理块块,则则状状态态位位需需要要90个个字字节节(908bit)。可可假假设设:新新存存文文件件时时就就找找“0”标标志志块块存存放,每存一块则改放,每存一块则改0为为1;若若删删除除一一个个文文件件,则则由由文文件件
33、目目录录把把对对应应物物理理块块的的标标志志位位由由1改改0,释放完毕后再删除文件目录项。,释放完毕后再删除文件目录项。27第27页,共53页,编辑于2022年,星期三用空闲区表用空闲区表只记录连续空闲块的首块及个数,有点像只记录连续空闲块的首块及个数,有点像“压压缩编码缩编码”。刘自己设想:新存文件时找空闲区表按块存放,存完后要删刘自己设想:新存文件时找空闲区表按块存放,存完后要删减空闲区表;零头块要照样保留;减空闲区表;零头块要照样保留;若删除一个文件,则由文件目录把对应物理块找出来,然若删除一个文件,则由文件目录把对应物理块找出来,然后添加到空闲区表中。若与其他空块连成一片,则要合并成后
34、添加到空闲区表中。若与其他空块连成一片,则要合并成为一项。为一项。用空闲块链用空闲块链将所有空闲块组成链表,末块以将所有空闲块组成链表,末块以NULL结结尾。尾。刘自己设想:新存文件时从链头开始存放,头指针依次后移;若刘自己设想:新存文件时从链头开始存放,头指针依次后移;若删除一个文件删除一个文件,则由文件目录把对应物理块找出来,然后添加到空闲块链尾。28第28页,共53页,编辑于2022年,星期三讨论讨论5.怎样实现文件的共享、保护和保密?怎样实现文件的共享、保护和保密?三种含义各不相同三种含义各不相同但都涉及但都涉及“权限权限”l l文文件件共共享享允允许许不不同同的的用用户户或或进进程程
35、共共同同使使用用一一个个文文件件;可可以以允允许许多多人人同同时时读读,但但不不允允许许多多人人同同时时写写,要要确确保保信信息息完完整整性性。(简简单单共共享享以以根目录为绝对路径;若允许不同用户别名存取,则实现共享需二级目录根目录为绝对路径;若允许不同用户别名存取,则实现共享需二级目录)l l文文件件保保护护防防止止因因误误操操作作而而对对文文件件可可能能造造成成的的破破坏坏。为为防防止止系系统统故故障障,可可用用存存为为副副本本和和定定时时保保存存的的办办法法;为为防防止止共共享享用用户户修修改改的的办法:限制读写权限办法:限制读写权限l l文件保密文件保密不允许未经授权的用户对文件进行
36、访问。防窃取!不允许未经授权的用户对文件进行访问。防窃取!保保密密措措施施有有3种种:隐隐蔽蔽文文件件目目录录、设设置置口口令令、使使用用密密码码加加密密(修修改改和和恢恢复复源文件)。源文件)。29第29页,共53页,编辑于2022年,星期三3.5 3.5 设备管理设备管理讨论讨论3个问题:个问题:1.为什么要对设备进行管理?为什么要对设备进行管理?2.从哪些方面进行设备管理从哪些方面进行设备管理?3.怎样实现设备管理?怎样实现设备管理?30第30页,共53页,编辑于2022年,星期三设备的定义:设备的定义:是信息的输入输出机构,是进程与外界通信的途径。是信息的输入输出机构,是进程与外界通信
37、的途径。从物理上可分为从物理上可分为2类:存储型设备和输入输出设备。类:存储型设备和输入输出设备。前前者者的的传传输输单单位位是是“块块”,后后者者的的传传输输单单位位是是“字字符符”。所所以以又又可称为可称为块设备块设备和和字符设备字符设备。从使用角度上可分为从使用角度上可分为3类:类:独独占占设设备备(如如打打印印机机、磁磁带带机机等等)、共共享享设设备备(磁磁盘盘驱驱动动器器)和和虚拟设备虚拟设备(用大容量磁盘模拟独占设备)。(用大容量磁盘模拟独占设备)。31第31页,共53页,编辑于2022年,星期三1.1.为什么要对设备进行管理?为什么要对设备进行管理?为什么要对设备进行管理?为什么
38、要对设备进行管理?设备管理的设备管理的目的有二目的有二:一是提高设备利用率(消除各设备忙闲不匀的现象);一是提高设备利用率(消除各设备忙闲不匀的现象);二是方便用户的使用(例如对外设自动启动)二是方便用户的使用(例如对外设自动启动)(实现方便性、并行性、均衡性、独立性)(实现方便性、并行性、均衡性、独立性)32第32页,共53页,编辑于2022年,星期三2.2.从哪些方面进行设备管理?从哪些方面进行设备管理?从哪些方面进行设备管理?从哪些方面进行设备管理?从从4方面管理:方面管理:实现对外设的分配和回收实现对外设的分配和回收怎样配合进程占用和释放?怎样配合进程占用和释放?实实现现对对外外设设的
39、的启启动动最最好好不不要要由由用用户户直直接接启启动动外外设设;既既节节省省用用户户动作,又保证了系统可靠性动作,又保证了系统可靠性处处理理外外设设中中断断事事件件怎怎样样实实现现平平时时由由通通道道独独立立管管理理外外设设,关关键键时刻由时刻由CPU出面发令?出面发令?实实现现虚虚拟拟设设备备怎怎样样提提高高独独占占设设备备(如如打打印印机机)的的利利用用率率?用虚拟设备可实现设备的独立性用虚拟设备可实现设备的独立性重点介绍重点介绍和和33第33页,共53页,编辑于2022年,星期三3.3.怎样实现设备管理?怎样实现设备管理?怎样实现设备管理?怎样实现设备管理?中断技术、通道技术和缓冲技术中
40、断技术、通道技术和缓冲技术中中断断技技术术外外部部事事件件随随机机提提出出服服务务申申请请,CPU及及时时响响应应并并服服务,完毕后务,完毕后CPU继续执行以前动作。继续执行以前动作。但但在在设设备备管管理理中中,是是由由进进程程随随机机提提出出需需要要I/O的的申申请请,然然后后挂挂起起(等等待待),交交由由CPU中中的的进进程程调调度度来来处处理理,在在中中断断服服务务子子程程序序中中完完成成I/O操作,服务完毕后,再唤醒等待中的进程。操作,服务完毕后,再唤醒等待中的进程。一、简介设备管理三大关键技术:一、简介设备管理三大关键技术:34第34页,共53页,编辑于2022年,星期三通道技术通
41、道技术即即I/O处理机(可理解为一种微控制器),处理机(可理解为一种微控制器),可独立完成主存与外设之间传送信息的可独立完成主存与外设之间传送信息的I/O操作。是程序操作。是程序直接传送、中断方式、直接传送、中断方式、DMA方式等方式等3种种I/O传送方式之后的传送方式之后的第第4种(高级计算机的多道环境才用)。种(高级计算机的多道环境才用)。可以理解为可以理解为:通道是:通道是CPU的助手,可以在内存与外设间交换数据的助手,可以在内存与外设间交换数据而不轻易惊动而不轻易惊动CPU。一旦要惊动,用。一旦要惊动,用I/O中断方式。中断方式。CPU仅负责查询和启仅负责查询和启/停,当停,当CPU要
42、启动某个外设工作时,只要要启动某个外设工作时,只要发一条发一条I/O指令给通道,告诉通道要执行的指令给通道,告诉通道要执行的I/O操作和要访问的设操作和要访问的设备,通道便向主存索取通道程序,完成备,通道便向主存索取通道程序,完成I/O控制管理。控制管理。35第35页,共53页,编辑于2022年,星期三在大中型机器中,主机与外设打交道实际上是三层:在大中型机器中,主机与外设打交道实际上是三层:CPU通道通道控制器控制器外设外设(通道和控制器通道和控制器外设数外设数)分析:分析:声卡、显卡、网卡、多功能卡(并口、声卡、显卡、网卡、多功能卡(并口、串口)、串口)、MODEMMODEM卡等等,是不是
43、通道和控制器连卡等等,是不是通道和控制器连为一体的硬件装置?为一体的硬件装置?主存主存Memory通通道道外设控制外设控制器器1n外部外部设备设备36第36页,共53页,编辑于2022年,星期三缓冲技术缓冲技术为了解决高速为了解决高速CPU与低速外设传送速度严重与低速外设传送速度严重不匹配的矛盾。不匹配的矛盾。若若想想“解解放放”CPU,就就会会自自然然想想到到在在内内存存中中设设立立数数据据缓缓冲冲区区,专专门门用用于于I/O传传送送过过程程中中的的临临时时数数据据存存放放。无无论论是是输输入入还还是是输输出出,都都利利用用此此缓缓冲冲区区来来当当“二二传传”,解解除除CPU一一直直“陪陪同
44、同”的困扰。例如打印机的的困扰。例如打印机的I/O数据缓冲区,还有键盘缓冲区。数据缓冲区,还有键盘缓冲区。37第37页,共53页,编辑于2022年,星期三设置内存缓冲区有这么几种方式:设置内存缓冲区有这么几种方式:若若I/O不频繁时,可以只设立不频繁时,可以只设立单缓冲单缓冲区,每一时刻只为输入区,每一时刻只为输入或输出单向服务;或输出单向服务;若希望同时若希望同时I/O,应设立,应设立双缓冲双缓冲区,能提供同时区,能提供同时I/O;若若I/O量特别大,还可采用量特别大,还可采用多缓冲多缓冲技术。技术。若设备较少,可以为每个外设开辟一个若设备较少,可以为每个外设开辟一个专用缓冲区专用缓冲区;若
45、设备较多,为避免内存开销过大,可以将若干个相同的缓冲若设备较多,为避免内存开销过大,可以将若干个相同的缓冲区组成区组成缓冲池缓冲池,统一管理,统一管理,变专用为通用变专用为通用,这叫缓冲池,这叫缓冲池技术。技术。38第38页,共53页,编辑于2022年,星期三设立缓冲池的优点?设立缓冲池的优点?设立公共缓冲池后,当某一进程需要使用缓冲设立公共缓冲池后,当某一进程需要使用缓冲区时,先提出申请,由设备管理程序分配给它,待区时,先提出申请,由设备管理程序分配给它,待进程用完后,释放缓冲区,又可供给别人用。进程用完后,释放缓冲区,又可供给别人用。显然,使用缓冲池技术后,用少量的缓冲区就显然,使用缓冲池
46、技术后,用少量的缓冲区就能为更多的进程服务(随时释放),不过这需要一能为更多的进程服务(随时释放),不过这需要一个个缓冲区管理软件缓冲区管理软件的支持。的支持。39第39页,共53页,编辑于2022年,星期三二、简介设备分配策略二、简介设备分配策略把把什什么么东东西西分分配配给给谁谁?把把设设备备、控控制制器器和和通通道道分分配配给给(请请求设备的)求设备的)进程进程独占设备如何分配?独占设备如何分配?常采用常采用静态静态分配策略。分配策略。只只能能让让一一个个作作业业独独占占使使用用的的设设备备称称为为独独占占设设备备,例例如如打打印印机、键盘、鼠标、扫描仪等终端。机、键盘、鼠标、扫描仪等终
47、端。独独占占设设备备意意即即在在某某作作业业执执行行前前就就分分配配设设备备给给它它,直直到到作作业业结结束束后才回收设备。后才回收设备。40第40页,共53页,编辑于2022年,星期三问:问:作业在申请独占设备时,系统怎样指定一个设备给它?作业在申请独占设备时,系统怎样指定一个设备给它?答:答:有两种方式。有两种方式。一是指定设备的一是指定设备的绝对号绝对号(计算机系统为每一台设备确定一个编号,(计算机系统为每一台设备确定一个编号,以便区分和识别);以便区分和识别);二是指定设备的二是指定设备的设备类和相对号设备类和相对号(指用户在程序中定义的设备编号,(指用户在程序中定义的设备编号,要哪一
48、类设备?要多少台?)要哪一类设备?要多少台?)申请设备时常用第二种,因为适应性好,灵活性强。申请设备时常用第二种,因为适应性好,灵活性强。独占设备的缺点:独占设备的缺点:设备利用率低,因为作业不可能始终都使用设备利用率低,因为作业不可能始终都使用该设备。该设备。比较合理的改进是,把设备的分配推迟到进程真正使用比较合理的改进是,把设备的分配推迟到进程真正使用该设备时才进行,一旦停止使用便立即收回,而不管整该设备时才进行,一旦停止使用便立即收回,而不管整个作业是否运行结束,即个作业是否运行结束,即“晚占早放晚占早放”,把独占设备变,把独占设备变为为共享共享设备。设备。41第41页,共53页,编辑于
49、2022年,星期三共享设备如何分配共享设备如何分配?可可以以让让几几个个作作业业同同时时使使用用的的设设备备称称为为共共享享设设备备(例例如如磁磁盘盘驱驱动器)。动器)。它它允允许许多多个个作作业业交交替替使使用用该该设设备备,虽虽然然每每一一瞬瞬间间仍仍然然只只有一个作业占用,但宏观上看起来是共享。有一个作业占用,但宏观上看起来是共享。思考:思考:怎样保证作业都能占用独占设备但又互不冲突,当怎样保证作业都能占用独占设备但又互不冲突,当一个作业用完另一个马上接着用?一个作业用完另一个马上接着用?答:答:借助借助虚拟设备虚拟设备来实现。来实现。用互斥性和等待队列互斥性和等待队列实现实现42第42
50、页,共53页,编辑于2022年,星期三虚拟设备是什么?虚拟设备是什么?用高速共享设备(如磁盘)来模拟独占设备称为用高速共享设备(如磁盘)来模拟独占设备称为虚拟设备虚拟设备。采采用用虚虚拟拟设设备备的的优优点点:存存取取速速度度比比物物理理设设备备高高得得多多,所所以以能能提提高高作作业业的的运行速度。运行速度。例例如如:以以前前一一批批作作业业在在运运行行时时要要不不断断打打印印,只只能能一一个个作作业业独独占占打打印印机机,打打印印完完毕毕后后才才能能让让给给下下一一个个作作业业;现现在在可可以以先先把把全全部部作作业业的的打打印印内内容容先先陆陆续续送送入入(预预输输入入)硬硬盘盘,分分别