大话操作系统之基本分段存储管理

存储 存储软件
个人认为,学习操作系统一定要多看多记多整理,在这里我只是以自己的经验给大家整理一下,希望大家可以自己学会整理,我们的作为参考好了。接下来开始正题吧。

 个人认为,学习操作系统一定要多看多记多整理,在这里我只是以自己的经验给大家整理一下,希望大家可以自己学会整理,我们的作为参考好了。接下来开始正题吧。

在这之前,有想了解分页的小伙伴可以戳这里:

一、分段存储管理的引入

分页管理的方法,提高内存的利用率,但是对于对程序员是透明的;分段管理的方法,满足了程序员在编程和使用上的要求,适应软件工程开发上的要求。

[[243679]]

1.分段管理的引入主要有以下几个特点:

(1)方便编程按逻辑关系划分段:有独立的段名,各段的逻辑地址均从0开始。程序通过分段(segmentation)划分为多个模块,如代码段、数据段、共享段。满足了程序员在编程和使用上的要求

(2)分段共享:可以按段为单位来进行共享;分页不易于实现共享。(3)分段保护:可以针对不同类型的段采取不同的保护措施(4)动态链接:进程开始运行时,只装入主模块,运行中需要哪段再装入、链接。(5)动态增长:如数据段根据运行需要可能会增大。

2.分段管理的优缺点:

优点:

(1)没有内碎片,外碎片可以通过内存紧凑来消除。便于改变进程占用空间的大小。

(2)分段管理按逻辑关系分段方便程序员利用编程

缺点:基本分段管理要求进程全部装入内存。

二、段式管理的数据结构

1.各类型段表

进程段表:每个进程一张段表,描述组成进程地址空间的各段在内存的起始地址(段基址-base address)及段长。

系统段表:描述系统内所有占用段的使用情况。

空闲段表:描述内存中所有空闲段,可以结合到系统段表中。

 

2.逻辑地址结构

逻辑地址由段号和段内地址组成。

例:逻辑地址长32位,后16位代表段内地址,每段64K,前16位代表段号,有64K个不同的逻辑段。逻辑段的***个数以及每个段的***长度由机器硬件决定,比如后半部分17,前15,则每个段***可达128K,不同段最多为32K


 

3.地址变换机构

段式存储管理,逻辑地址到物理地址的映射与页式存储管理类似。

首先逻辑地址分为段号与段内地址。段号对应一个段表(需要段表寄存器的越界中断判断),根据段表找段的段基址,将其与段内地址结合,便得到物理地址。

 

三、分页和分段的主要区别

(1)页是物理单位,而段是逻辑单位。分页是出于系统管理的需要,分段是出于用户应用的需要。因此,一条指令或一个操作数可能会跨越两个页的分界处,而不会跨越两个段的分界处。

(2)页大小是系统固定的,而段大小则通常不固定。

(3)地址空间:分页是一维的,程序员只需用一个记忆符,即可表示一个地址;而分段是二维的,程序员在标识一个地址时,既要给出段名,又需给出段内地址。

(4)通常段比页大,因而段表比页表短,可以缩短查找时间,提高访问速度。

(5)分段比分页系统更容易共享代码。

责任编辑:武晓燕 来源: 叁研良语
相关推荐

2009-12-02 16:47:42

Linux操作系统

2010-04-13 13:02:43

Unix操作系统

2011-03-24 10:34:28

2009-12-22 14:43:38

Linux操作系统

2010-03-04 14:52:57

Ubuntu操作系统

2010-04-14 13:59:45

Unix操作系统

2010-04-22 12:27:16

Aix操作系统

2014-09-22 15:33:54

2010-04-20 10:27:23

Unix操作系统

2010-04-22 12:42:24

Aix操作系统

2010-04-22 12:18:21

Aix操作系统

2023-02-26 23:13:24

存储LinuxRAID

2010-04-07 15:37:16

Unix操作系统

2010-04-08 17:05:21

Unix操作系统

2019-01-28 10:00:42

CPU操作系统存储器

2016-10-24 11:46:11

存储

2018-05-14 09:28:24

RAID磁盘存储

2020-11-08 16:16:12

Linux硬盘RAID

2010-04-22 14:18:42

Aix操作系统

2018-04-16 09:21:04

Oracle数据库操作系统存储
点赞
收藏

51CTO技术栈公众号