快表:在地址变换机构中增设一个具有并行查询能力的特殊高速缓冲寄存器
变换过程:在cpu给出有效的 地址后,有得知变换机构自动的将页号p送入高速缓冲寄存器,并将此页号与高速缓冲中的所有页号进行比较,若其中有与此相匹配的页号,便表示所要访问此页号的页表项的快表中。于是,课直接从快表中读出该页所对应的物理块号,并送到物理寄存器中。如在块表中未找到对应的页表项,则还须再访问内存中的页表,找到后,把从页表中读出的物理快好送地址寄存器;同时,再将此页表项存入快表的一个寄存器单元中,重新修改快表 页表始址 页表长度 页号 页内地址 页表寄存器 逻辑地址L
> + 页号 块号 页号 块号 地址变换结构
C两级和多级页表 1两级页表
为离散分配的也表的页表再建一张页表,称为外层页表。并在每个页表项中记录了页表页面的物理块号 2多级页表
将外层页表在进行分页,也就是将各分页离散的装入到不相邻的物理块中,在利用第2级外层页表来影射它们之间的关系
3.熟悉基本的分段、及段页式存储管理方式
在分段存储管理方式中,作业的地址空间被划分为若干段,每个段定义了一组逻辑信息。
段页式存储管理方式的原理,是分段和分页原理的结合,即先将用户程序分成若干个段,再把每个段分成若干个页,并为每一个段赋予一个段名。 4.熟悉虚拟存储的概念(虚拟存储的页表构造)
所谓的虚拟存储器,是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。具有多次性、对换性、虚拟性三大主要特征。页表项如下: 页号 物理块号 状态位P 访问字段A
修改位M 外存地址
5、掌握请求分页存储管理的控制过程以及常见的页面置换算法(最佳页面置换算法(OPTIMAL)、先进先出页面置换算法(FIFO)、最近最久未用置换算法(LRU)、Clock置换算法、LFU置换算法,缺页的概念,页表的含义、逻辑地址空间的计算、从页表中求解逻辑地址对应的物理地址)
最佳页面置换算法(OPTIMAL):所选择的被淘汰页面,将是以后永不使用的,或许是在最长(未来)时间内不再被访问的页面。采用最佳置换算法,通常可保证获得最低的缺页率。
先进先出页面置换算法(FIFO):总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。
页表 快表 b d 最近最久未用置换算法(LRU):选择最近最久未使用的页面予以淘汰。 LFU置换算法:选择在最近时期使用最少的页面作为淘汰页。
缺页:要访问的页面不在主存,需要操作系统将其调入主存后再进行访问。 页表:用来将虚拟地址空间映射到物理地址空间的数据结构称为页表。
逻辑地址空间的计算:
解答、
(1)17CAH 转换为二进制为:0001 0111 1100 1010, 页的大小为1KB,所以页内偏移为10位,于是前6位是页号,所以其页号为0001 01,转换为10进制为5,所以,17CA对应的页号为5
(2)若采用先进先出置换算法,则被置换出的页号对应的页框号是7,因此对应的二进制物理地址为:0001 1111 1100 1010,转换为16进制位的物理地址为1FCAH
(3)若采用时钟算法,且当前指针指向2号页框,则第一次循环时,访问位都被置为0,在第二次循环时,将选择置换2号页框对应的页,因此对应的二进制物理地址为:0000 1011 1100 1010,转换为16进制物理地址为0BCAH 某段表内容如下:
段号 0 1 2 3 120K 760K 480K 370K 段首地址 40K 30K 20K 20K 段长度 一逻辑地址为(2,154)的实际物理地址为多少?
答:逻辑地址(2,154)表示段号为2,即段首地址为480k,154为单元号, 则实际物理地址为480k+154。
第五章:
1、熟悉I/O系统的基本构成:I/O系统包括:I/O设备;设备控制器;I/O通道;和总线系统。
2、熟悉各种I/O控制方式: 程序I/O方式;中断驱动I/O控制方式;直接存储器访问(DMA)I/O控制方式;I/O通道控制方式。
3、熟悉缓冲的概念以及几种常用缓冲的应用:
缓冲指用来暂存数据的缓冲存储器。是为了缓和CPU与I/O设备速度不匹配的矛盾;减少对CPU的中断频率,放宽对CPU中断响应时间的限制;提高CPU和I/O设备的并行性而设立的。 几种常用的缓冲:
单缓冲:在单缓冲情况下,每当用户进程发出一I/O请求时,操作系统便在主存中为之分配一缓冲区。 双缓冲:是在设备输入时,先将数据送人第一缓冲区,装满后便转向第二缓冲区。
循环缓冲:通常是提供给输入进程或计算进程使用,输入进程不断向空缓冲区输入数据,而计算进程则从中提取数据进行计算。
缓冲池:为了提高缓冲区的利用率,在池中设置了多个可供若干个进程共享的缓冲区。
4、熟悉I/O软件的基本构造:中断处理程序;设备驱动程序;设备独立性软件;用户层的I/O软件。 5、熟悉设备分配的概念,掌握SPOOLING的实现原理
设备分配:每当进程向系统提出I/O请求时,只要是可能和安全的,设备分配程序便按照一定的策略,把设备分配给请求用户(进程)。
SPOOLing是Simultaneous Peripheral Operation On-Line (即外部设备联机并行操作)的缩写,它是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常称为“假脱机技术”。实际上是一种外围设备同时联机操作技术,又称为排队转储技术。
它在输入和输出之间增加了“输入井”和“输出井”的排队转储环节。 SPOOLing系统主要包括以下三部分:
(1)输入井和输出井:这是在磁盘上开辟出来的两个存储区域。输入井模拟脱机输入时的磁盘,用于收容I/O设备输入的数据。输出井模拟脱机输入时的磁盘,用于收容用户程序的输出数据。
(2)输入缓冲区和输出缓冲区:这是在内存中开辟的两个缓冲区。输入缓冲区用于暂存有输入设备送来的数据,以后在传送到输出井。输出缓冲区用于暂存从输出井送来的数据,以后再传送到输出设备。 (3)输入进程和输出进程:输入进程模拟脱机输入时的外围控制机,将用户要求的数据有输入设备到输入缓冲区,再送到输入井。当CPU需要输入设备时,直接从输入井读入内存。输出进程模拟脱机输出时的外围控制机,把用户要求输入的数据,先从内存送到输出井,待输出设备空闲时,再将输出井中的数据,经过输出缓冲区送到输出设备上。
6、掌握磁盘调度的常见方法(FCFS, SCAN, CSCAN)
FCFS:先来先服务,它根据进程请求访问磁盘的先后次序进行调度。
SCAN:扫描算法,磁头不停的往复运动,由边缘至中心然后返回,沿途执行已经到来的访问。 CSCAN:循环扫描算法,在SCAN算法的基础上规定磁头单向移动。
第六章
一、简答题
1)文件的定义:文件是具有文件名的一组相关信息集合。 2)根据文件的性质和用途的不同,可将文件分为三类:
(1) 系统文件。这是指由系统软件构成的文件。大多数的系统文件只允许用户调用,但不允许用户去读,更不允许修改;有的系统文件不直接对用户开放。
(2) 用户文件。指由用户的源代码、目标文件、可执行文件或数据等所构成的文件。用户将这些文件委托给系统保管。
(3) 库文件。这是由标准子例程及常用的例程等所构成的文件。这类文件允许用户调用,但不允许修改。
3)按文件中数据的形式分类
按这种方式分类,也可把文件分为三类:
(1) 源文件。这是指由源程序和数据构成的文件。通常由终端或输入设备输入的源程序和数据所形成的文件都属于源文件。它通常是由ASCII码或汉字所组成的。
(2) 目标文件。这是指把源程序经过相应语言的编译程序编译过,但尚未经过链接程序链接的目标代码所构成的文件。它属于二进制文件。通常,目标文件所使用的后缀名是“.obj”。
(3) 可执行文件。这是指把编译后所产生的目标代码再经过链接程序链接后所形成的文件。 4) 按存取控制属性分类
根据系统管理员或用户所规定的存取控制属性,可将文件分为三类:
(1) 只执行文件。该类文件只允许被核准的用户调用执行,既不允许读,更不允许写。 (2) 只读文件。该类文件只允许文件主及被核准的用户去读,但不允许写。 (3) 读写文件。这是指允许文件主和被核准的用户去读或写的文件。 5) 按组织形式和处理方式分类
根据文件的组织形式和系统对其的处理方式,可将文件分为三类:
(1) 普通文件:由ASCII码或二进制码组成的字符文件。一般用户建立的源程序文件、数据文件、目标代码文件及操作系统自身代码文件、库文件、实用程序文件等都是普通文件,它们通常存储在外存储设备上。
(2) 目录文件:由文件目录组成的,用来管理和实现文件系统功能的系统文件,通过目录文件可以对其它文件的信息进行检索。由于目录文件也是由字符序列构成,因此对其可进行与普通文件一样的种种文件操作。
6)文件应具有自己的属性,属性可以包括:
(1) 文件类型。可以从不同的角度来规定文件的类型,如源文件、目标文件及可执行文件等。 (2) 文件长度。文件长度指文件的当前长度,长度的单位可以是字节、字或块,也可能是最大允许的长度。
(3) 文件的物理位置。该项属性通常是用于指示文件在哪一个设备上及在该设备的哪个位置的指针。 (4) 文件的建立时间。这是指文件最后一次的修改时间等。
7)文件管理系统管理的对象有:① 文件。它作为文件管理的直接对象。② 目录。为了方便用户对文件的存取和检索,在文件系统中必须配置目录,每个目录项中,必须含有文件名及该文件所在的物理地址(或指针)。对目录的组织和管理是方便用户和提高对文件存取速度的关键。③ 磁盘(磁带)存储空间。文件和目录必定占用存储空间,对这部分空间的有效管理,不仅能提高外存的利用率,而且能提高对文件的存取速度。
8)文件系统的接口
为方便用户使用文件系统,文件系统通常向用户提供两种类型的接口:
(1) 命令接口。 这是指作为用户与文件系统交互的接口。 用户可通过键盘终端键入命令,取得文件系统的服务。
(2) 程序接口。这是指作为用户程序与文件系统的接口。用户程序可通过系统调用来取得文件系统的服务。 9)文件操作
1.最基本的文件操作
(1) 创建文件。在创建一个新文件时,系统首先要为新文件分配必要的外存空间,并在文件系统的目录中,为之建立一个目录项。目录项中应记录新文件的文件名及其在外存的地址等属性。
(2) 删除文件。当已不再需要某文件时,可将它从文件系统中删除。在删除时,系统应先从目录中找到要删除文件的目录项,使之成为空项,然后回收该文件所占用的存储空间。
(3) 读文件。在读一个文件时,须在相应系统调用中给出文件名和应读入的内存目标地址。此时,系统同样要查找目录,找到指定的目录项,从中得到被读文件在外存中的位置。在目录项中,还有一个指针用于对文件的读/写。
(4) 写文件。在写一个文件时,须在相应系统调用中给出该文件名及该文件在内存中的(源)地址。为此,也同样须先查找目录,找到指定文件的目录项,再利用目录中的写指针进行写操作。
(5) 截断文件。如果一个文件的内容已经陈旧而需要全部更新时,一种方法是将此文件删除,再重新创建一个新文件。但如果文件名及其属性均无改变时,则可采取另一种所谓的截断文件的方法,此即将原有文件的长度设置为0,或者说是放弃原有的文件内容。
(6) 设置文件的读/写位置。前述的文件读/写操作都只提供了对文件顺序存取的手段,即每次都是从文件的始端读或写。设置文件读/写位置的操作,用于设置文件读/写指针的位置,以便每次读/写文件时,不是从其始端而是从所设置的位置开始操作。也正因如此,才能改顺序存取为随机存取。 10)文件的“打开”和“关闭”操作
当前OS所提供的大多数对文件的操作,其过程大致都是这样两步: 第一步是通过检索文件目录来找到指定文件的属性及其在外存上的位置;第二步是对文件实施相应的操作,如读文件或写文件等。当用户要求对一个文件实施多次读/写或其它操作时,每次都要从检索目录开始。为了避免多次重复地检索目录,在大多数OS中都引入了“打开”(open)这一文件系统调用,当用户第一次请求对某文件进行操作时,先利用open系统调用将该文件打开。
所谓“打开”,是指系统将指名文件的属性(包括该文件在外存上的物理位置)从外存拷贝到内存打开文件表的一个表目中,并将该表目的编号(或称为索引)返回给用户。以后,当用户再要求对该文件进行相应的操作时,便可利用系统所返回的索引号向系统提出操作请求。系统这时便可直接利用该索引号到打开文件表中去查找,从而避免了对该文件的再次检索。这样不仅节省了大量的检索开销,也显著地提高了对文件的操作速度。如果用户已不再需要对该文件实施相应的操作时,可利用“关闭”(close)系统调用来关闭此文件,OS将会把该文件从打开文件表中的表目上删除掉。 文件逻辑结构的类型:有结构文件和无结构文件 12)记录的长度可分为定长和不定长两类。
(1) 定长记录。这是指文件中所有记录的长度都是相同的,所有记录中的各数据项都处在记录中相同的位置,具有相同的顺序和长度。文件的长度用记录数目表示。对定长记录的处理方便、开销小,所以这是目前较常用的一种记录格式,被广泛用于数据处理中。
2) 变长记录。这是指文件中各记录的长度不相同。产生变长记录的原因,可能是由于一个记录中所包含的数据项数目并不相同,如书的著作者、论文中的关键词等;也可能是数据项本身的长度不定,例如,病历记录中的病因、病史;科技情报记录中的摘要等。不论是哪一种,在处理前,每个记录的长度是可知的。
13) 根据用户和系统管理上的需要,可采用多种方式来组织这些记录,形成下述的几种文件:
(1) 顺序文件。这是由一系列记录按某种顺序排列所形成的文件。其中的记录通常是定长记录,因而能用较快的速度查找文件中的记录。
(2) 索引文件。当记录为可变长度时,通常为之建立一张索引表,并为每个记录设置一个表项,以加快对记录检索的速度。
(3) 索引顺序文件。这是上述两种文件构成方式的结合。它为文件建立一张索引表,为每一组记录中的第一个记录设置一个表项。