段、页、快表、内存访问次数总结


内存

存储器

内存主要分为三种储存器

一、随机存储器(RAM):

可以从中读取数据,也可以写入,当断电时所有数据丢失。

二、只读存储器(ROM):

一般只用作读取,不能写入,当机器停电时不会丢失数据。

三、Cache高速缓存:

位于内存和CPU之间,是一个读写速度比内存更快的存储器,CPU会优先从高速缓存中读取数据,然后再去读取内存。

内存管理

地址转换:将逻辑地址转换为响应的物理地址。

一、连续分配管理模式:

连续分配管理方式是指为一个用户程序分配一个连续的内存空间,常见的如块式管理

块式管理:将内存分为几个固定大小的块,每个块中只包含一个进程。如果程序运行需要内存的话,操作系统就分配给它一块,如果程序运行只需要很小的空间的话,分配的这块内存很大一部分几乎被浪费了。这些在每个块中未被利用的空间,我们称之为碎片

二、非连续分配管理方式:

非连续分配管理方式允许一个程序使用的内存分布在离散或者说不相邻的内存中

页式管理:把主存分为大小相等并且固定的一页一页的形式,页较小,相对相比于块式管理的划分力度更大,提高了内存利用率。通过页表对应逻辑地址和物理地址

段式管理:页式管理虽然提高了内存利用率,但是页式管理其中的页实际并无任何实际意义。 段式管理把主存分为一段段的,每一段的空间又要比一页的空间大 。但是,最重要的是段是有实际意义的,每个段定义了一组逻辑信息,例如,有主程序段 MAIN、子程序段 X、数据段 D 及栈段 S 等。 段式管理通过段表对应逻辑地址和物理地址

段页式管理机制 :段页式管理机制结合了段式管理和页式管理的优点。简单来说段页式管理机制就是把主存先分成若干段,每个段又分成若干页,也就是说段页式管理机制中段与段之间以及段的内部的都是离散的

分页和分段的共同点和区别

共同点:

1.都可以提高内存利用率,减少内存碎片。

2.段和页都是离散存储的,但是每个段和页中的内存是连续存储的。

不同点:

1.分页是出于方便系统管理的目的,他是信息的物理单位;分段是为了更好的满足用户的需要,他是信息的逻辑单位,它含有一组意义相对完整的信息。

2.大小不同:页的大小固定并且由系统决定,段的大小不固定,由其完成功能的需要决定。

3.地址空间不同:段提供的是二维空间,页提供一维空间。

4.信息共享:段是信息的逻辑单位,便于存储和保护信息的共享,页的保护和共享受到限制。

5.内存碎片:页式存储管理的优点是没有外碎片,但是会产生内碎片(页面内可能填充不满),段式管理是没有内碎片,但是会存在外碎片。

基本分页储存管理模式

虚拟地址到物理地址的转换(快表)

页表:程序存储在不同的页面中,页面又离散分布在内存中,那么就需要一个页表来记录逻辑地址和物理地址之间的映射关系。

访问分页需要两次访问:第一次从内存中找到页表,然后找到页面的物理块号,加上页内偏移得到实际物理地址;第二次根据第一次得到的物理地址访问内存取出数据。

快表:为了解决两次访问内存的效率问题,当要访问内存数据的时候,首先将页号在快表中查询,如果查找到说明要访问的页表在快表中,那么直接从快表中读取响应的物理块号,如果没有找到则从页表中查找,并将物理地址加入到快表中。

如果虚拟地址空间很大,那么页表也会很大(多级分页)。

在某些计算机中如果内存的逻辑地址很大,将会导致程序的页表项会很多,而页表在内存中是连续存放的,所以相应的就需要较大的连续内存空间。为了解决这个问题,可以采用两级页表或者多级页表的方法。其中外层页表一次性调入内存且连续存放,内层页表离散存放。相应的访问内存页表的时候需要一次地址变换,访问逻辑地址对应的物理地址的时候也需要一次地址变换,而且一共需要访问内存3次才可以读取一次数据。

基本分段储存管理方式

分段内存管理当中,地址是二维的,一维是段号,一维是段内地址

段内部是连续分配,都是从0开始编址,段和段之间是离散分配的,所以存在一个段表,段表中的表项记录了段在内存中的开始地址和长度。

对段的访问也是两次访问:访问内存的时候根据段号和段表项的长度计算当前访问段在段表中的位置,然后访问段表,得到该段的物理地址,根据该物理地址以及段内偏移量就可以得到需要访问的内存。由于也是两次内存访问,所以分段管理中同样引入了联想寄存器(快表)。

段页式内存管理

页式存储管理可以有效的提高内存利用率,分段存储管理能反映程序的逻辑结构并且有利于段的共享,则段页式存储就是将程序分为多个逻辑段,在每个段里面分页,将分段和分页组合起来使用。

地址变换的实现:为每个进程建立一张段表,每个分段里面有一张页表。

物理地址的访问要三次:先通过段表查询到页表起始地址,然后通过页表找到页号,最后找到物理地址,一次访问需要三次访问主存,依然可以使用快表。

关键字:段号 页号 物理地址

段页总结

快表命中:1次

快表不命中:页式和段式都是两次,如果分多级,多一级一次。

段页式三次。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM