操作系统之存储的秘密

来源:互联网 发布:asp数据库管理网页 编辑:程序博客网 时间:2024/05/10 17:05


      在操作系统中存储可以分为三种类型——页式存储,段式存储,段页式存储。下面详细介绍三种存储方式以及他们之间的千丝万缕的联系。


页式存储,将程序的逻辑地址空间划分为固定大小的页(page),而物理内存划分为同样大小的页框。

      逻辑地址=页号+偏移地址,物理地址=物理块号+偏移地址。根据页面的大小可以确定偏移地址的长度,再由逻辑地址去掉偏移地址,可以确定页号,由页号可以确定物理块号,由物理块号+偏移地址可以确定物理地址。优缺点:利用率高,产生的碎片小,增加系统开销

      举一个小例子你会明白的:


 


      段式管理,是指把一个程序分成若干个段进行存储,每个段都是一个逻辑实体,程序员需要知道并使用它。它的产生是与程序的模块化直接有关的。段式管理是通过段表进行的,它包括段号或段名、段起点、装入位、段的长度等。

      有效地址=段号+偏移量,根据段号查找段表中相应的基址,用基址+位移量(数相加,不是连接),得到真正的物理地址。优缺点:便于多道程序共享内存,内存利用率低。

      下面是一个段式存储的示意图:

 


段页式存储:段页式虚拟存储器是段式虚拟存储器和页式虚拟存储器的结合。它把程序按逻辑单位分段以后,再把每段分成固定大小的页。程序对主存的调入调出是按页面进行的,但它又可以按段实现共享和保护,兼备页式和段式的优点。缺点是在映象过程中需要多次查表。

由段表先确定页的地址,再由页地址确定物理地址。物理地址=段号+页号+页内地址。一个段表对应一组(多个)页表,页表中保存着地址信息。

下面的图是一个段页式存储的示意图:







原创粉丝点击