立邦1687木器漆价格:分页式存储管理的基本原理

来源:百度文库 编辑:偶看新闻 时间:2024/04/28 12:35:33
页式存储管理
用分区方式管理的存储器,每道程序总是要求占用主存的一个连续的存储区域,因此,有时为了接纳一个新的作业而往往要移动已在主存的信息。这不仅不方便,而且开销不小。采用分页存储器既可免去移动信息的工作,又可尽量减少主存的碎片。
分页存储器将主存分成大小相等的许多区,每个区称为一块,与此对应,编制程序的逻辑地址也分成页,页的大小与块的大小丰等。分页存储器的逻辑地址由两部分组成:页号和单元号。逻辑地址格式如下:
页  号
单  元  号
采用分页式存储管理时,逻辑地址是连续的。所以,用户在编制程序时仍只须使用顺序的地址,而不必考虑如何去分页。由地址结构自然就决定了页面的大小,也就确定了主存分块的大小。在进行存储分配时,总是以块为单位进行分配,一个作业的信息有多少页,那么在把它装入主存时就给它分配多少块。但是,分配给作业的主存块是可以不连续的,即作业的信息可按页分散存放在主存的空闲中,这就避免了为得到连续存储空间而进行的移动。那么,当作业被分散存放后,如何保证作业的正确执行呢?
首先,进行存储分配时,应为进入主存的每个用户作业建立一张页表,指出逻辑地址中页号与主存中块号的对应关系,页表的长度随作业的大小而定。同时页式存储管理系统包括一张作业表,将这些作业的页表进行登记,每个作业在作业表中有一个登记项。作业表和页表的一般格式如图6-10:

图6-10  页表和作业表的一般格式
然后,借助于硬件的地址转换结构,在作业执行过程中按页动态定位。调度程序在选择作业后,从作业表中的登记项中得到被选中作业的页表始址和长度,将其送入硬件设置的页表控制寄存器。地址转换时,只要从页表控制寄存器就就可以找到相应的页表,再按照逻辑地址中的页号查页表,得到对应的块号,根据关系式:
绝对地址 = 块号×块长 + 单元号
计算出欲访问的主存单元的地址。因此,虽然作业存放在若干个不连续的块中,但在作业执行中总是能按确切的地址进行存取。
图6-11给出了页式存储管理的地址转换和存储保护,根据地址转换公式:块号×块长+单元号,在实际进行地址转换时,只要把逻辑地址中的单元号作为绝对地址中的低地址部分,而根据页号从表中查得的块号作为绝对地址中的高地址部分,就组成了访问主存储器的绝对地址。
',1)">

图6-11  页式存储管理的地址转换和存储保护
整个系统只有一个页表控制寄存器,只有占用CPU者才占有页表控制寄存器。在多道程序中,当某道程序让出处理器时,应同时让出页表控制寄存器。