操作系统--第四章--存储管理--分段、分页管理基本原理

参考视频:传送门

非连续内存分配

为什么需要非连续内存分配? 种类:

1、分段

2、分页

3、页表

连续分配内存的缺点:

1、分配给一个程序的物理内存是连续的

2、内存利用率较低

3、有外碎片、内碎片问题

非连续分配内存的优点

1、一个程序的物理地址空间是非连续的

扫描二维码关注公众号,回复: 10178843 查看本文章

2、更好的内存利用和管理

3、允许共享代码和数据

4、支持动态加载和动态链接

非连续分配内存的缺点:

1、如何建立虚拟地址和物理地址之间的转换?开销很大

软件方案

硬件方案

两种硬件方案

分段

分页

分段

程序的分段地址空间

分段寻址方案

段访问机制

新概念:一个段:一个内存“块”

     一个逻辑地址空间

程序访问内存地址需要  一个二元组(s,addr)

s:一个段号

addr:段内偏移

来个简单题:

分页管理基本原理

页的尺寸是固定的

划分物理内存至固定大小的帧

大小是2的幂次方

划分逻辑地址空间至相同大小的页

大小是2的幂次方

物理内存被分割为大小相等的帧

一个内存物理地址是一个二元组(f,o)  

f-帧号(F位 共有2^F个帧)

o-帧内偏移(S位,每帧有2^S字节)

物理地址=2^S*f+o

罕见的有题目练习:

页内偏移大小=帧内偏移大小

页号大小=帧号大小

分段和分页的区别

以下来自百度百科

1、页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率;或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。

段是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好的满足用户的需要。

2、页的大小固定且由系统确定,把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而一个系统只能有一种大小的页面。

段的长度却不固定,决定于用户所编写的程序,通常由编辑程序在对源程序进行编辑时,根据信息的性质来划分。

3、分页的作业地址空间是一维的,即单一的线性空间,程序员只须利用一个记忆符,即可表示一地址。

分段的作业地址空间是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。

我总结:最大的区别就是分页管理的每一页的大小是都是一样的,分段管理每一段都是不定的

发布了501 篇原创文章 · 获赞 67 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/qq_41286356/article/details/105106896