操作系统考研资料:第五章 存储器管理学习辅导资料
- 格式:docx
- 大小:637.02 KB
- 文档页数:44
第五章设备管理(一)简答题1、为什么要在设备管理中引入缓冲技术?解:缓冲技术是用来在两种不同速度的设备之间传输信息时平滑传输过程的常用手段。
在OS的设备管理中,引入缓冲技术的主要原因可归结为以下几点。
(1)缓和CPU与I/O设备间速度不匹配的矛盾。
一般情况下,程序的运行过程是时而进行计算,时而进行输入或输出。
以打印机输出为例,如果没有缓冲,则程序在输出时,必然由于打印机的速度跟不上而使CPU停下来等待;然而在计算阶段,打印机又无事可做。
如果设置一个缓冲区,程序可以将待输出的数据先输出到缓冲区中,然后继续执行;而打印机则可以从缓冲区取出数据慢慢打印。
(2)减少中断CPU的次数。
例如,假定设备只用一位二进制数接收从系统外传来的数据,则设备每接收到一位二进制数就要中断CPU一次,如果数据通信速率为9.6Kb/s,则中断CPU的频率也是9.6KHz,即每100us就要中断CPU一次,若设置一个具有8位的缓冲寄存器,则可使CPU被中断的次数降低为前者的1/8。
(3)提高CPU和I/O设备之间的并行性。
由于在CPU和设备之间引入了缓冲区,CPU可以从缓冲区中读取或向缓冲区写入信息,相应地设备也可以向缓冲区写入或从缓冲区读取信息。
在CPU工作的同时,设备也能进行输入输出操作,这样,CPU和I/O设备就可以并行工作。
2、引入缓冲的主要原因是什么?P155【解】引入缓冲的主要原因是:●缓和CPU和I/O设备速度不匹配的矛盾;●减少对CPU的中断频率,放宽对中断响应时间的限制●提高CPU和I/O设备之间的并行性。
3、请简述为什么要在核心I/O子系统中要引入缓冲机制(Buffering)。
答:引入缓冲的主要原因:(1)缓和CPU与I/O设备间速度不匹配的矛盾。
(2)减少对CPU的中断频率,放宽对中断响应时间的限制。
(3)提高CPU与I/O设备之间的并行性。
4、简述SPOOLing(斯普林)系统的工作原理。
解:多道程序并发执行后,可利用其中的一道程序来模拟脱机输入时外围控制机的功能,将低速I/O设备上的数据传送到高速磁盘上;再利用另一道程序来模拟脱机输出时外围控制机的功能,将高速磁盘上的数据传送到输出设备上,这样就可以在主机的直接控制下,实现脱机输入、输出操作,这时外围操作与CPU对数据的执行同时进行。
四、文件管理4.1 考试大纲(一)文件系统基础1.文件概念2.文件结构顺序文件;索引文件;索引顺序文件3.目录结构文件控制块和索引结点;单级目录结构和两级目录结构;树形目录结构。
4.文件共享共享动机;共享方式;共享语义。
5.文件保护访问类型;访问控制。
(二)文件系统实现1.文件系统层次结构2.目录实现3.文件实现(三)磁盘组织与管理1.磁盘的结构2.磁盘调度算法3.磁盘的管理4.2 知识点归纳4.2.1 文件系统基础文件系统的管理功能是通过把它所管理的程序和数据组织成一系列文件的方法来实现的。
而文件是指具有文件名的若干相关元素的集合。
元素通常是记录,而记录又是一组有意义的数据项的集合。
基于文件系统的概念,可以把数据组成分为数据项、记录和文件三级。
一、文件概念1、数据项在文件系统中,数据项是最低级的数据组织形式,可把它分成以下两种类型:(1)基本数据项。
用于描述一个对象的某种属性的字符集,是组织中可以命名的最小逻辑数据单位,即原子数据。
(2)组合数据项。
它是由若干基本数据项组成的。
简称组项。
基本数据项除了数据名外,还应有数据类型。
2、记录记录是一组相关数据项的集合,用于描述一个对象在某方面的属性。
一个记录应包含哪些数据项,取决于需要描述对象的哪个方面。
而在诸多记录中,为了能唯一地标识一个记录,必须在一个记录的各个数据项中,确定出一个或几个数据项,把它们的集合称为关键字。
3、文件文件是由创建者所定义的、具有文件名的一组相关元素的集合,可分为有结构文件和无结构文件两种。
在有结构的文件中,文件由若干个相关记录组成;而无结构的文件则被看成是一个字符流。
文件在文件系统中是一个最大的数据单位。
此外,文件应具有自己的属性,属性可以包括:文件类型、文件长度、文件的物理位置、文件的建立时间等。
二、文件结构文件是由一系列的记录组成的。
文件系统设计的关键要素,是将这些记录构成一个文件的方法,以及将一个文件存储到外存上的方法。
第五章存储器管理5.1 知识点汇总1、存储器的层次操作系统的内存管理功能,使之操作系统中负责管理内存使用的那部分功能子集,又称主存管理。
在现代计算机系统中,存储器是信息外理的来源与归宿,占据重要位置。
但是,在现有技术条件下,任何一种存储装置,都无法同时从速度与容量两方面,满足用户的需求。
实际上它们组成了一个速度由快到慢,容量由小到大的存储装置层次。
图5-1 三级存储器结构2、内存管理的目的✧主存的分配和管理:当用户需要内存时,系统为之分配相应的存储空间;不需要时,及时回收,以供其它用户使用。
✧提高主存储器的利用率:不仅能使多道程序动态地共享主存,提高主存利用率,最好还能共享主存中某个区域的信息。
✧“扩充”主存容量:为用户提供比主存物理空间大得多的地址空间,以至使用户感觉他的作业是在这样一个大的存储器中运行。
(虚拟内存技术)✧存储保护:确保多道程序都在各自分配到存储区域内操作,互不干扰,防止一道程序破坏其它作业或系统文件的信息。
程序的各个阶段:编辑―――编译―――链接―――装入―――运行1). 编辑阶段:创建源文件2). 编译阶段:生成目标文件3). 连接阶段:生成可执行文件4). 装入阶段:重定位,装入内存5). 运行阶段:得到结果图5-2 程序的各个阶段3、存储器管理的功能存储器管理的功能:内存分配、地址映射、内存保护、内存扩充。
4、存储器有关概念地址空间:程序用来访问信息所用地址单元的集合。
逻辑(相对)地址的集合。
由编译程序生成存储空间:主存中物理单元的集合物理(绝对)地址的集合由装配程序等生成(1)逻辑地址(相对地址,虚地址)用户的程序经过汇编或编译后形成目标代码,目标代码通常采用相对地址的形式,其首地址为0,其余指令中的地址都相对于首地址而编址。
不能用逻辑地址在内存中读取信息(2)物理地址(绝对地址,实地址):内存中各物理单元的地址是从统一的基地址顺序编址。
(3)重定位:把作业地址空间中使用的逻辑地址变换成内存空间中的物理地址的过程。
1
第五章 存储器管理
5.1 知识点汇总
1、存储器的层次
操作系统的内存管理功能,使之操作系统中负责管理内存使用的那部分功能子集,又称主存管理。
在现代计算机系统中,存储器是信息外理的来源与归宿,占据重要位置。
但是,在现有
技术条件下,任何一种存储装置,都无法同时从速度与容量两方面,满足用户的需求。
实际上它们组成了一个速度由快到慢,容量由小到大的存储装置层次。
图5-1 三级存储器结构
2、内存管理的目的
✧ 主存的分配和管理:当用户需要内存时,系统为之分配相应的存储空间;不需要时,及
时回收,以供其它用户使用。
✧ 提高主存储器的利用率:不仅能使多道程序动态地共享主存,提高主存利用率,
最好还
能共享主存中某个区域的信息。
✧“扩充”主存容量:为用户提供比主存物理空间大得多的地址空间,以至使用户感觉他
的作业是在这样一个大的存储器中运行。
(虚拟内存技术)
✧存储保护:确保多道程序都在各自分配到存储区域内操作,互不干扰,防止一道程序破
坏其它作业或系统文件的信息。
程序的各个阶段:编辑―――编译―――链接―――装入―――运行
1). 编辑阶段:创建源文件
2). 编译阶段:生成目标文件
3). 连接阶段:生成可执行文件
4). 装入阶段:重定位,装入内存
5). 运行阶段:得到结果
图5-2 程序的各个阶段
3、存储器管理的功能
2
存储器管理的功能:内存分配、地址映射、内存保护、内存扩充。
4、存储器有关概念
地址空间:程序用来访问信息所用地址单元的集合。
逻辑(相对)地址的集合。
由编译程序生成
存储空间:主存中物理单元的集合物理(绝对)地址的集合由装配程序等生成
(1)逻辑地址(相对地址,虚地址)用户的程序经过汇编或编译后形成目标代码,目标代码通常采用相对地址的形式,其首地址为0,其余指令中的地址都相对于首地址而编址。
不能用逻辑地址在内存中读取信息
(2)物理地址(绝对地址,实地址):内存中各物理单元的地址是从统一的基地址顺序编址。
(3)重定位:把作业地址空间中使用的逻辑地址变换成内存空间中的物理地址的过程。
又称地址映射。
1)绝对装入:编译后,装入前已产生了绝对地址(内存地址),装入时不再作地址重定位。
绝对地址的产生:(1)由编译器完成,编程时使用符号地址(2)由程序员编程完成。
程序中所使用的绝对地址,可在编译或汇编时给出,也可由程序员直接赋予。
但在由程序员直接给出绝对地址时,不仅要求程序员熟悉内存的使用情况,而且一旦程序或数据被修改后,可能要改变程序中的所有地址。
因此,通常是宁可在程序中采用符号地址,然后在编译或汇编时,再将这些符号地址转换为绝对地址。
3
2)静态重定位:是在目标程序装入内存时,由装入程序对目标程序中的指令和数据的地址进行修改,即把程序的逻辑地址都改成实际的内存地址。
重定位在程序装入时一次完成。
图5-3 程序静态运行
3)动态运行时装入:(动态重定位)在把装入模块装入内存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序真正要执行时才进行。
因此,装入内存后的所有地址都仍是相对地址。
4
5
图5-4 动态重定位示意图
(4)程序的链接
1)静态链接:对相对地址的修改,变换外部调用符号。
图5-5 程序的静态链接
2)装入时动态链接:便于修改和更新,便于实现对目标模块的共享。
(DLL 动态链接库)
3)运行时动态链接:
这种链接方式是将对某些模块的链接推迟到执行时才执行,即,
在执行过程中,当发现一个被调用模块尚未装入内存时,立即由OS去找到该模块并将之装入内存,把它链接到调用者模块上。
凡在执行过程中未被用到的目标模块,都不会被调入内存和被链接到装入模块上,这样不仅可加快程序的装入过程,而且可节省大量的内存空间。
4) 碎片:内存中容量太小、无法被利用的小分区。
5、内存管理技术-分区管理
三种基本的存储管理技术:分区法、可重定位分区法和对换技术
(1)分区法:把内存划分成若干分区,每个分区里容纳一个作业。
1)固定分区模式(定长分区模式):是将内存用户区域划分为几个固定大小的区域,在系统运行过程中,每个区域任意时刻只存放一个程序,且连续完整存放。
通过设置内存分配表,内存分配简单,但内存利用率不高
分区的分配策略:
最先适配,任何时刻只要一个分区变成空闲的,队列中的第一个可装入的作业就被装入执行,经常把大分区分给小作业。
6
最优适配,一旦某分区变成空闲,便寻找可装入的最大作业,有待大作业而其实小作业,与优待小作业的处理机调度算法相互抵触。
固定分区在内存利用率上存在的问题:
✧分区经常没有被填满。
因为分区的大小是固定的,所以分给进程的多余存储空间将被浪
费。
被浪费的空间成为内部存储碎片。
✧存在所有空闲分区总合够,但每个空闲分区太小而无法装入的现象。
✧多道并行的程序数量受到分区数量的限制。
2)动态分区
将内存用户区划分为若干个分区,每个分区内任意时刻只有一个程序,且为连续完整存放。
但划分的实际、大小和位置时动态的,即在系统运行从开机到关机这段时间内,各分区的大小、位置等划分情况,是根据用户程序的来去而变化的。
动态分区的策略:
①必须维持一张内存空闲区表和已分配区表来动态地跟踪记录内存空闲块和已用
块的分布情况。
7
图5-6 内存动态分区
②分配策略
✧最先适配。
为作业选择分区时总是按地址从高到低搜索,只要找到可以容纳该作业的空
白块,就把该空白块分配给该作业。
✧下次适配。
总是从上次查找结束的地方开始,找到一个足够大的空白区分配。
✧最佳适配。
接到内存申请时,在空闲块表中找到一个不小于请求的最小空块进行分配,
为作业选择分区时总是寻找其大小最接近于作业所要求的存储区域。
特点:用最小空间满足要求。
✧最坏适配。
接到内存申请时,在空闲块表中找到一个不小于请求的最大空块进行分配,
与最佳适应法相反,它在作业选择存储块时,总是寻找最大的空白区。
特点:当分割后空闲块仍为较大空块
✧快速适配
③分配多大的空闲块
8。