关于操作系统的一个问题?
来源:百度知道 编辑:UC知道 时间:2024/05/21 15:03:09
请问:段式存储管理是如何完成重定位的?
请越仔细越好!!这是一个问答题的形式!
首先谢谢各位了!!
请越仔细越好!!这是一个问答题的形式!
首先谢谢各位了!!
式存储管理的基本管理:系统将进程按照段划分,然后把段随机的装入内存里,内存没有被预
先划分,根据每个段的大小自动的分配,(这里的原理和可变分区差不多),然后再执行进程。
地址转换:这里的地址转换是动态重定位,执行某条指令时,找到它的段号,然后查找段表,找
到该段的手物理地址,把该值和偏移地址相加,得到的就是实际的物理地址。(这个转化的过程
和页式存储管理差不多)
段的共享和保护(这里还是和页式差不多)
1。段的共享
即两个或者多个进程共享相同的段,这是我们很容易看出这里的段都是“纯页“,不存在分页管
理时存在不纯的页面的情况。
2。段的保护
(1)越界检查
将段号和段表长度寄存器里面的值比较,如果小于等于,则继续进行,否则产生越界。
将偏移地址和段长进行比较,如果小于等于,则继续进行,否则产生越界。
(2)存储控制权限
用3个位对段的访问权限进行管理,分别表示“可读“,“可写“,“可执行“,1表示允许,0
表示禁止。
从上面我所讲的,大家可以看出分页和分段管理之间有很多相同的地方,现在讲一下他们的区
别!
(1)页的内容通常是没有完整意义的,而段的内容是由逻辑意义的,分页下,内存块的划分是
静态的,而分段时,内存块大小是动态的。
(2)页的大小是固定相等的,而段的大小是不固定的,每段的大小也不以定相等,是由用户
编写的程序所决定的。
(3)分页的进程地址空间是一维的,而分段的进程地址空间是二维的。
(4)分页下对用户是透明的,是看不见的,系统自己划分的;分段下对用户是看得见的,是由
用户决定的。