关于操作系统的一个问题?

来源:百度知道 编辑:UC知道 时间:2024/05/21 15:03:09
请问:段式存储管理是如何完成重定位的?
请越仔细越好!!这是一个问答题的形式!
首先谢谢各位了!!

式存储管理的基本管理:系统将进程按照段划分,然后把段随机的装入内存里,内存没有被预

先划分,根据每个段的大小自动的分配,(这里的原理和可变分区差不多),然后再执行进程。

地址转换:这里的地址转换是动态重定位,执行某条指令时,找到它的段号,然后查找段表,找

到该段的手物理地址,把该值和偏移地址相加,得到的就是实际的物理地址。(这个转化的过程

和页式存储管理差不多)

段的共享和保护(这里还是和页式差不多)

1。段的共享

即两个或者多个进程共享相同的段,这是我们很容易看出这里的段都是“纯页“,不存在分页管

理时存在不纯的页面的情况。

2。段的保护

(1)越界检查

将段号和段表长度寄存器里面的值比较,如果小于等于,则继续进行,否则产生越界。

将偏移地址和段长进行比较,如果小于等于,则继续进行,否则产生越界。

(2)存储控制权限

用3个位对段的访问权限进行管理,分别表示“可读“,“可写“,“可执行“,1表示允许,0

表示禁止。

从上面我所讲的,大家可以看出分页和分段管理之间有很多相同的地方,现在讲一下他们的区

别!

(1)页的内容通常是没有完整意义的,而段的内容是由逻辑意义的,分页下,内存块的划分是

静态的,而分段时,内存块大小是动态的。

(2)页的大小是固定相等的,而段的大小是不固定的,每段的大小也不以定相等,是由用户

编写的程序所决定的。

(3)分页的进程地址空间是一维的,而分段的进程地址空间是二维的。

(4)分页下对用户是透明的,是看不见的,系统自己划分的;分段下对用户是看得见的,是由

用户决定的。