软件技术-操作系统2

上传人:ji****n 文档编号:54314569 上传时间:2018-09-10 格式:PPT 页数:53 大小:255.50KB
返回 下载 相关 举报
软件技术-操作系统2_第1页
第1页 / 共53页
软件技术-操作系统2_第2页
第2页 / 共53页
软件技术-操作系统2_第3页
第3页 / 共53页
软件技术-操作系统2_第4页
第4页 / 共53页
软件技术-操作系统2_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《软件技术-操作系统2》由会员分享,可在线阅读,更多相关《软件技术-操作系统2(53页珍藏版)》请在金锄头文库上搜索。

1、1,第三章 操作系统,3.1 基本概念 3.2 处理机管理 3.3 存储管理 3.4 文件管理 3.5 设备管理,2,3.3 存储管理,讨论3个问题: 为什么要对存储器进行管理? 存储管理的内容? 怎样实现存储管理?,3,1. 为什么要对存储器进行管理?,存储管理的目的: 尽量方便用户,提高主存空间利用率,理由1:存储器分为主存和辅存(二级存储),所有程序必须调入主存才能运行,而主存空间有限,所以必须对主存进行管理。 理由2:主存的空间分为系统区和用户区,系统区用来存放操作系统等信息,用户区存放用户的程序和数据,存储管理是指对用户区进行管理。应当尽量方便用户,提高主存空间利用率。,4,主要有5

2、项内容: 主存空间的分配和去配 地址转换(或地址映射) 主存空间的扩充 存储的保护(或信息保护) 主存空间的共享,2. 存储管理的内容?,作业进入内存或进程动态申请主存空间时,OS该将哪块空闲区分配出去?作业或进程执行完毕,OS又如何收回这些区域?,逻辑地址如何转换为物理地址?不转换就不能正确运行程序。,用户程序太大,内存装不下怎么办?虚拟存储技术,逻辑地址顺序排,物理地址分段转。,内存中各作业或进程应当在各自规定区域内操作,要保证互不干扰。,多个作业用到公共程序或数据,可放入某空间让大家都能调用,共享主存空间。(与第4项有矛盾),5,(1)什么是地址变换(或地址映射、地址重定位)? 答:在程

3、序进入内存的过程中,逻辑地址转为物理地址的过程称为程序重定位(可分为静态重定位和动态重定位)。 (2)为什么要引入浮动的逻辑地址? 答: 引入浮动的逻辑地址是为了支持多道程序和方便用户。因为程序员在编程时无法得知程序会放入内存的哪些地址,也就是说,无法确定程序的真实地址,只能用符号来代替地址。 (3)外存中的逻辑地址怎样转换为内存中的物理地址? 答: 先用编译程序把地址符号变为逻辑地址(把目标地址的首址作为0的相对地址),再用硬件地址变换机构将逻辑地址转为物理地址。,讨论几个重要概念:,6,静态重定位-在程序装入内存时由连接装入程序完成转换,程序运行过程中不再改变(移动)。因为程序必须全部预先

4、调入内存,因此此方式无法实现虚拟存储。 动态重定位在指令执行过程中由硬件地址变换机构对地址进行定位,程序可以在内、外存中调进调出,也可以在主存内部上下移动。,(4)什么是静态重定位和动态重定位?,7,3. 怎样实现存储管理?,管理方法主要有3种:分区、分页、分段,(1) 分区存储管理 特点:给每个作业划分一个区(这是多道情况,DOS单用户单任务不必分区),全部内存(除驻留的OS外)连续分配给用户即可。又分为“固定分区”和“可变分区”。,固定式分区把内存先分成大小不等的(空)区,再把作业一一往里套送;实现法:建立“分区分配表”,设“已分配/未分配”状态标志 技巧:将空闲区单独列表再形成链表,便于

5、系统快速查找与作业尺寸匹配的空间。有最佳适应法和首次适应法两种匹配策略。,8,可变式分区,按装入的第一批作业大小来分区,保证初始无碎片。但系统运行一段时间后,随着作业的进出释放,就会留下很多分区(且分区长度可变),要用两张表才能描述(已分配的表和空闲分区表)。 分区存储管理的特点; 优点:简单可靠 缺点:碎片多(虽然可以进行碎片整理,但CPU耗时多),9,(2)页式存储管理,设计思想:为解决碎片问题,允许作业不连续存放,可以把主存空间等分为若干小块,同时把外存作业尺寸也等分为若干“页”,并让块和页尺寸相等(例如1K、4K、32K等) ,分得越小,碎片越少。 请注意:内存Cache+主存页式存储

6、管理实现方案:只要“不连续”,势必要用到数据结构中的“链表”和“索引”概念。可以用“页表”将作业的“页”与主存的“块”关联起来。,10,若某作业逻辑地址从0312H2AF0H,则可以将高4位当作页号,低12位为页内地址(即页长为4KB),进入主存后的具体安排见下面的页表。 问:作业中逻辑地址为1050H的单元对应主存的哪个物理地址?,例:,解: 由表可知,作业的第1页(01H)对应主存中第11块(0BH),所以逻辑地址1050H对应物理地址B050H,更普遍的公式:绝对地址块号块长页内相对地址,(例如将高6位分为页号、低10位作为页内地址的的情况),11,若将作业预先一次性全部装入主存,则称为

7、静态页式管理,页式存储管理还可分为两种方法: 静态页式管理 和 虚拟页式管理。,若允许部分页面先调入主存执行,然后根据需要再陆续调入其他页面,则称为虚拟页式管理,即内存外存统一管理。,若主存空间不够大怎么办?,那就不装!一定要保证 作业总页数主存空闲块总数,需要解决2个问题: 怎知作业页在不在主存?不在主存时怎样处理?,此时页表至少要增添两项属性!,12,讨 论: 此表何时建立?作业调入内存时就边调入边建立了。 程序页在不在主存,看缺页中断标志标志( 0在1不在);进入之后改标志为0;退出之后改为1; 不在主存时,发出缺页中断申请,找到主存一空闲块之后,赶紧从磁盘调入,接着改变标志; 万一主存

8、没有空闲区怎么办?要淘汰一些页面,腾出空间调入新页。,原例:,13,页面淘汰策略主要有3种:,l 先进先出算法(FIFO)页号进入时生成队列,淘汰队首; l 最近最久未使用算法(LRU,Least Recently Used)近期未使用,记录上次引用后的驻留时间l 最近最少使用算法(LFU,Least Frequently Used)近期未访问,设置访问计数器,可能出现的异常: 刚淘汰的页面又被调入,频繁进出将产生“抖动”,14,(3)段式存储管理,问题: 若一段程序分在两页上怎么办? 方案: 将作业按逻辑内容长短分段调入,防止分在两页上。 谁来分段? 由程序员或编译系统来分段。 具体实现:

9、建立段表。,15,讨论:, 若程序分成N段却无法一次放入内存怎么办?用段式虚拟存储方式分批调入,方法同页式。 若一段太大,内存无法提供连续空间怎么办?段页式存储管理,段内再分页,多建一个索引表到内存。 存取内存中的一条指令至少要访问几次内存? 至少要访问三次内存。前提是指令的逻辑地址已知,即段号和页号已知。 先根据控制寄存器访问段表,得到与该段对应的页表首址; 访问页表,得到其页号对应的内存块号; 以块号与页内地址拼接得到该指令的绝对物理地址。,16,3.4 文件管理,讨论3个问题: 为什么要对文件进行管理? 文件管理的内容? 怎样实现文件管理?,文件的定义:是逻辑上具有完整意义的信息集合。,

10、17,1. 为什么要对文件进行管理? 为了给用户提供“按名存储”功能。操作系统会自动将文件名转换成存储器的物理位置,这种管理是一个信息管理机构,简称为OS中的文件管理或文件系统。 (用DOS.SYS管理) 文件系统为用户提供了5大功能: 文件组织 存储空间管理 目录管理 文件操作及共享 保护和保密,18,1. 实现文件从名字空间与外存地址空间的转换,便于识别和查找称为文件组织 2. 管理文件的存储空间,便于存放和删除称为存储空间管理 3. 建立文件目录,方便检索和保证安全称为目录管理 4. 实现对文件的控制操作和存取操作,如建立、删除、打开、关闭(内外存配合)称为文件操作 5. 联网时的资源共

11、享可节省空间,但又要保密称为共享、保护和保密,2. 文件管理的内容?,19,3. 怎样实现文件管理?,两大问题: (一)文件放在哪里?按什么格式存放? (二) 用什么方法管理文件? (一) 文件放在哪里?按什么格式存放? 文件通常存放在存储介质上,如内存或外存,磁盘、光盘、磁带、磁鼓等等。 请注意存储介质与存储设备的区别。 例如光盘和光驱、磁盘和软驱不同,硬盘和硬盘驱动器合为一体。,20,讨论1:文件及存储介质的大小如何衡量? 用存储容量衡量。除字节单位外,主要以块(324096)为单位交换信息。DOS及UNIX系统均以512字节(0.5KB)为一块。内存与外存的数据交换通常是按一块或数块进行

12、的。,讨论2:卷、柱面、磁道、簇、扇区(块)的关系? 卷柱面磁道簇扇区(块) 卷(volume)是指一盘磁带、一张软盘或一个硬盘; 硬盘是多盘面,每个盘面叫一个柱面(clyinder); 每个盘面有很多磁道(同心圆,track); 每个磁道有若干簇(clust)或扇区(块,section) 一个簇是一组连续的扇区,簇随文件系统不同而不同,不定长。 簇号是描述磁盘空间的一种单位,也是DOS为文件分配磁盘空间的最小单位。,21,例:请计算3寸双面高密度软盘的存储容量。 解: 3寸双面高密度软盘,每面分为80道;每道分为18块(扇区),每扇区为512字节(0.5KB)。 则软盘容量280180.5K

13、B=1440KB1.44MB,讨论3:文件如何命名?,每个文件一定要用一个名字作为标识; DOS命名规则:基本文件名.扩展名(8B3B)Win95之后允许长文件名。,答:它是由字符和数字组成的字符串。,22,前三种分类方法与存放方式有关,随机存取指可以从文件中间读写记录(注意是记录而不是数据项)。,分类目的:便于系统对不同的文件进行不同的管理,提高处理速度并实现保护和共享 有6种分类方法: 按逻辑结构分:记录式和流式 按物理结构分:顺序、链接、索引 按存取方式分:顺序存取和随机存取 按用途或性质分:系统文件、库文件、用户文件 按保存期限分:临时文件、档案文件、永久文件 按保护级别分:执行文件、

14、只读文件、读写文件、无保护文件,讨论4: 文件的分类 (存放方式)?,流式文件即字符流或字节流,如源程序或exe文件,23,(二) 怎样管理或组织文件?,用线性表和树结构! 关键技术是:文件名如何对应物理地址? 最简单的表如下:,注:此处假设1个记录大小1块的长度 (也可以设N个记录1块),24,表中包含文件名和文件说明信息,称为一级目录结构或目录文件。 其中每一行实际上是一个文件目录项,或称文件控制块(FCB)。 一级目录的优点是实现了按名存取;缺点是不允许文件重名。,改进方法:用二级或多级目录结构,25,主文件目录(MFD),wang用户文件目录(UFD),gao用户文件目录(UFD),二

15、级文件目录结构!,26,3种物理结构(顺序、链接、索引)对应3种不同的方式 l 顺序结构连续相邻块存放,知道起始地址和文件长度(以块为单位)就能存取文件。优点是简单;缺点是增减信息比较费事。 l 链接结构离散块存放,每块附加一指针,指向下一块的首址。优点是增减信息比较简单;缺点是只适于顺序存取。 l 索引结构仍然是离散块,但另造一张逻辑块与物理块的对应(索引)表,文件目录表中多出一指针项,指向这个表首址(如果文件很大,物理块太多,则索引表也会很大,若超出一个物理块,则用链表方式继续添加,或再建索引表,叫做多重索引UNIX系统使用)。它既保留了链式增减方便的优点,又能快速随机存取。缺点:先查表再

16、存取,增加了存取时间。,讨论1:怎样读取(查找)文件?,27,讨论2怎样存放新文件? 找空闲块! 讨论3. 怎样实现文件的删除?恢复空闲块标志! 讨论4. 如何对空闲空间进行管理? 有3种办法,算法都很简单。 用位示图将全部物理块的使用状态用0和1表示,0空1用,1bit足矣。例,若某张软盘有720个物理块,则状态位需要90个字节(908bit)。可假设:新存文件时就找“0”标志块存放,每存一块则改0为1; 若删除一个文件,则由文件目录把对应物理块的标志位由1改0,释放完毕后再删除文件目录项。,28, 用空闲区表只记录连续空闲块的首块及个数,有点像“压缩编码”。 刘自己设想:新存文件时找空闲区表按块存放,存完后要删减空闲区表;零头块要照样保留;若删除一个文件,则由文件目录把对应物理块找出来,然后添加到空闲区表中。若与其他空块连成一片,则要合并成为一项。 用空闲块链将所有空闲块组成链表,末块以NULL结尾。 刘自己设想:新存文件时从链头开始存放,头指针依次后移;若删除一个文件,则由文件目录把对应物理块找出来,然后添加到空闲块链尾。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号