分段管理包含的内容
什么是分段管理
如何实现分段管理?需要的数据结构
怎么样进行地址的变换
分段和分页管理的比较
页
是
信息的物理单位
。分页的主要目的是为了实现离散分配,提高内存利用率。分页仅仅是系统管
理上的需要,完全是系统行为,
对用户是不可见的
。
段
是
信息的逻辑单位
。分页的主要目的是更好地满足用户需求。一个段通常包含着一组属于一个逻
辑模块的信息。
分段对用户是可见的
,用户编程时需要显式地给出段名。
页的大小固定且由系统决定。段的长度却不固定,决定于用户编写的程序。
分页
的用户进程
地址空间是一维的
,程序员只需给出一个记忆符即可表示一个地址。
分段
的用户进程
地址空间是二维的
,程序员在标识一个地址时,既要给出段名,也要给出段内地址。
分段
比分页
更容易实现信息的共享和保护。
不能被修改的代码称为
纯代码
或
可重入代码
(不属于临
界资源),这样的代码是可以共享的。可修改的代码是不能共享的
访问一个逻辑地址需要几次访存?
分页(单级页表)
:第一次访存
——
查内存中的页表,第二次访存
——
访问目标内存单元。总共
两次
访存
分段
:第一次访存
——
查内存中的段表,第二次访存
——
访问目标内存单元。总共
两次访存
与分页系统类似,分段系统中也
可以引入
快表
机构
,将近期访问过的段表项放到快表中,这样
可以
少一次访问
,加快地址变换速度。