分页式/段式存储管理

一、概述

在复习操作系统的时候 ,遇到的第一个难点,当年的操作系统课上老师这块也没讲,所以对这些知识的了解几乎为空白,特此记录,怕过后忘了。

好,现在进入正题。

页式,段式或者段页式都管理属于离散存储管理中的一种 ,采用这种方式的主要目的是为了解决碎片问题,不用连续地分配内存,可以将一个进程/程序离散地装入到不连续的内存中。

二、主要过程及涉及技术介绍说明

分页式存储

首先将进程和内存都已页为单位进行分块,进程中的称为页,内存中的称为块,一一对应,大小相等,这个时候就需要一个专门的数据结构来管理这种映射关系,也就是页表,页表也是存在内存中的。在这种映射关系的基础上,通过相应的硬件转换机制可以将逻辑地址转换为对应的物理地址,从而实现内存的分配与管理。


                                                                            (图1.1)

页面大小一般是由机器决定的,通常为4KB,如图1.1所示,以某一32位逻址为例,4KB(2^12B)的页大小,12根地址线可以完全表示,即快内偏移为12位。剩下20位用来表示页号,最多可以表示2^20-1页。再来看页表项,一个页表项就代表了一个进程中页与内存中块的映射,故页面数等于页表项个数,页表项中有两个数据项,页号和块号。(图1.2)根据给定的逻址可以算出对应的页号,再结合页表可以求出对应的块号,此时再结合偏移地址便可得出物理地址。


(图1.2)

具体过程见图1.3,在映射的过程中,系统还设置了相应的内存保护机制,使用一个界限保护寄存器,来确保没有地址越界等事情的发生。同时,设置了一个页面寄存器来存放页表始址和页面长度。


(图1.3)

上述过程通常由处理器的硬件直接完成,不需要软件参与。通常,操作系统只需在进程切换时,把进程页表的首地址装入处理器特定的寄存器中即可。

一般来说,页表存储在主存之中。这样处理器每访问一个在内存中的操作数,就要访问两次内存:

第一次用来查找页表将操作数的 逻辑地址变换为物理地址;第二次完成真正的读写操作。

这样做时间上耗费严重。为缩短查找时间,可以将页表从内存装入CPU内部的关联存储器(例如,快表)中,实现按内容查找。

此时的地址变换过程是:在CPU给出有效地址后,由地址变换机构自动将页号送人快表,并将此页号与快表中的所有页号进行比较,而且这种比较是同时进行的。

若其中有与此相匹配的页号,表示要访问的页的页表项在快表中。于是可直接读出该页所对应的物理页号,这样就无需访问内存中的页表。由于关联存储器的访问速度比内存的访问速度快得多。

页式管理方式的优点是:

1)没有外碎片,每个内碎片不超过页大比前面所讨论的几种管理方式的最大进步是,

2)一个程序不必连续存放。

3)便于改变程序占用空间的大小(主要指随着程序运行,动态生成的数据增多,所要求的地址空间相应增长)。

缺点是:要求程序全部装入内存,没有足够的内存,程序就不能执行

分段式管理

跟页式管理不同的是,段式管理是针对用户的,它是将程序进行分段,装入内存。在段式存储管理系统中,为每个段分配一个连续的分区,而进程中的各个段可以不连续地存放在内存的不同分区中。程序加载时,操作系统为所有段分配其所需内存,这些段不必连续,物理内存的管理采用动态分区的管理方法。

段式管理的内存格式和页式相似,由段号和段内偏移组成(如图2.1),而有点略微不同的是每一段的大小不是由系统决定的,是由用户编程决定的。

(图2.1)

同样,段表项也发生了变换,页表项只有两项,而在段表中增加了一栏,用来表示段长,具体结构如下(图2.2):

(图2.2)

同样,在地址变换机构中,有两种越界保护,①段号是否小于段长 ②段内偏移是否小于段长。

(图2.3)

在段式管理系统中,整个进程的地址空间是二维的,即其逻辑地址由段号和段内地址两部分组成。为了完成进程逻辑地址到物理地址的映射,处理器会查找内存中的段表,由段号得到段的首地址,加上段内地址,得到实际的物理地址。(如图2.3)这个过程也是由处理器的硬件直接完成的,操作系统只需在进程切换时,将进程段表的首地址装入处理器的特定寄存器当中。这个寄存器一般被称作段表地址寄存器。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,636评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,890评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,680评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,766评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,665评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,045评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,515评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,182评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,334评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,274评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,319评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,002评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,599评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,675评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,917评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,309评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,885评论 2 341

推荐阅读更多精彩内容

  • 前段时间看了进程管理,觉得对编程简直大有裨益,至少对于多线程编程方面,对系统的进程管理有了非常深刻的理解,看来还是...
    KevinCool阅读 1,129评论 0 1
  • word直接复制来了,格式就不改了。至于这门课怎么复习,只要平时实验都认真完成、报告认真写,平时分都很高;考试的话...
    Jozhn阅读 4,486评论 0 8
  • 一、温故而知新 1. 内存不够怎么办 内存简单分配策略的问题地址空间不隔离内存使用效率低程序运行的地址不确定 关于...
    SeanCST阅读 7,762评论 0 27
  • 请不要偷看我 请不要偷看我的日记 请不要偷看我的东西 偷偷的碰我的东西 请不要把你因别人犯的错误而生的气迁移到我的...
    蓝蔚公子阅读 160评论 0 0
  • 上一章 | 目录 | 下一章 石砾簌簌,山南坡略低处一块巨岩后走出一人,施施然朝山巅走来。 可怜九月初三夜,露似真...
    瑞麟阅读 379评论 0 2