1. 存储管理的功能与目的是什么?
主要包括以下四个方面:(1)映射逻辑地址到物理主存地址;(2)在多用户之间分配物理主存;(3)对各个用户区的信息提供保护措施;(4)扩充逻辑主存区。
2.物理地址 VS 逻辑地址
把内存分成若干个大小相等的单元,每个单元给个编号,就是物理地址,又称为绝对地址或者实地址;
逻辑地址是用户编程序时所用的地址,又称为程序地址或者虚地址。
为了支持多道程序运行,方便用户使用;使得多用户程序共享主存,
必须要解决主存区域如何分配、各个区域内信息如何保护等问题。如果直接以物理地址提交给用户使用,这对用户来说将是十分困难的事情,因此必须要由操作系统实现逻辑地址到物理地址的转换。
3.地址变换可以由软件实现,但是软件实现会花费较多的CPU时间。
4.所谓存储保护,就是指计算机在多用户使用或者多道程序运行的情况下,为了互不影响,必须由硬件(软件配合)保证每道程序只能在给定的存储区域内活动。
分区分配方法中,主要采用上下界保护。
5. 放置策略中: 最佳适应算法 VS 首次匹配算法
最佳适应算法:将输入作业放入到主存中与他所需要大小最接近的空闲区中,这样剩下的未用空间最小。
此时,空闲区队列是按空闲区大小递增的顺序链接在一起的。
起主要缺点是:空闲区一般不可能正好和要求的大小相等,因此将其分割成两部分后,往往会使得剩下的空闲区非常小,以至于无法使用,最后会导致得到许多非常小且分散的空闲区,造成主存空间浪费。
首次匹配算法:将输入的作业放置到主存中第一个足够装入他的可利用的空闲区中。
此时,空闲区队列是按照位置的顺序 链接在一起的。
该方法的实质是尽可能利用存储器的低地址部分的空闲区,尽量保存高地址部分的大空闲区,使其不至于被划分掉。其优点是当需要一个较大分区时,有较大的希望找到够大的空闲区以满足其要求。
7.首次适应算法可以满足要求。
8.见百度文库答案。http://wenku.baidu.com/view/b562d3758e9951e79b892710.html
9.分区分配方法的主要问题就是
碎片问题。尽管理论上可以通过拼接技术来解决碎片问题,但是拼接需要消耗系统资源,花费大量CPU时间,且必须停掉其他工作,故而该方法并不实用。
10.同8.
11.虚拟存储器:实质:将用户的逻辑主存与物理主存分开。
计算机系统在处理应用程序时,只装入部分代码和数据就启动其运行,由操作系统和硬件相配合完成主存和外围联机存储器之间的信息的动态调度,这样的计算机系统就好像为用户提供了一个存储容量比实际主存大的多的存储器,这个存储器就称为
虚拟存储器。
在页式系统中,不限定作业在投入运行之前必须将它的全部地址空间装入主存,而只需要把当前所需要的一部分页面装入主存就可以,这样可以方便地支持虚拟存储。
12. 如果主存中的某页正在与外部设备交换信息,那么在缺页中断时可以讲这一页淘汰吗?
不能将这一页淘汰,因为如果淘汰出去的话,则新进入的页将代替正在交换信息的页,而I/O数据区将被新换入的页所代替,从而导致错误。因此,应该等该页与外部设备交换信息结束之后,才能将该页淘汰。
可以在页表中加入标志位标志当前页面是否正在进行数据交换。
13.抖动又称为颠簸,是指导致系统效率急剧下降的主存和辅存之间的频繁页面置换的现象。
抖动会导致一个进程在换页上用的时间要多于执行时间,导致系统效率急剧下降,直至系统的总崩溃。
14.置换算法就是当主存空间不够用时,而操作系统又要满足用户程序的要求,因此必须把内存中一些暂时用不到的空间置换到外存中,当紧迫的任务结束后再把外存中的那些空间换回主存继续运行。
在页式置换中,常用的先进先出算法和最久未使用淘汰算法(LRU算法)。
15.什么是进程在某时刻t的工作集?工作集与页面的调入和淘汰策略有什么关系?
解: 工作集是指在某段时间间隔Δ里,进程实际访问的页面集合,具体地说便是把某进程在时间t-Δ ~ t之间所访问的页面集合计为w(t, Δ),把变量Δ称为工作集窗口尺寸。
正确选择工作集窗口尺寸,对存储器的有效利用和系统吞吐率的提高,都将产生重要影响。一方面,如果把Δ选得很大,进程虽不易产生缺页,但存储器也将不会得到充分利用。另一方面,如果把Δ选得过小,则会使进程在运行过程中频繁地产生缺页中断,反而降低了系统的吞吐率。
16. 页式系统 VS 段式系统
分页式管理系统中对于物理主存是物理划分,而分段式是逻辑划分。
分页式管理系统中每一个分块是大小相等的,而分段式则是大小不等的。
分页式管理系统中地址的映射是一维的,而分段式是二维的。
分页是用户不可见的,而分段是用户可见的。
页式系统不能实现数据或者代码的共享,但是段式系统可以方便地实现数据共享。
17.在段式系统中,非常容易地可以实现共享,例如如果两个作业共享一个子程序段,则只要在作业段表的响应表目中的段首地址一项填入相同的主存地址就可。
19. 段页式地址变换过程。
段页式存储的地址结构由段号、段内页号、页内位移三部分组成。
段页式地址变换的数据结构是每个程序一个段表,每个段又建立一张页表,段表中的地址是页表的启示地址,而页表中的地址则为某页的主存块号。
段页式地址变换时,先通过段号在段表内查到对应的页表,然后通过段内页号获得对应的内存块号,然后利用块号和页内位移获得实际的物理地址。
课件补充题:
1.
2.
3.
但是要注意的是:逻辑地址到物理地址的映射是在程序运行时完成的。
4.