操作系统——内存离散分配

基本分页存储管理方式


概念

内存划分成多个小单元,每个单元K大小,称(物理)块。作业也按K单位大小划分成片,称为页面。为了找到被离散分配到内存中的作业,记录每个作业各页映射到那个物理块 ,形成页面映射表,简称页表。
页表记录的是页号到物理块号的地址映射
假如要找到作业A,找到页表(通过PCB,页表位置记录在PCB中)–>根据页表找到物理快
页表实际存放的位置是内存(或者页表寄存器中)


地址的处理方式连续方式下,每条指令用基地址+偏移地址则可找到物理地址


由上图可以看出:页面大小为8B(8条指令),则页内地址需要三位二进制数来表示,作业大小32B,32/8=4,则需要4个块,所以在地址中取后三位表示页内地址,(四个页面需要2个二进制位表示,所以再取倒数45位作为块地址),括号中只是举个例子因为并不一定是连续存储,但是原理就是如此,除去后三位其余的表示块号,例如上图中第三页存到了第七个块中,则它的块号为111(页号与块号的映射关系存在页表中)

规律

作业相对地址在分页下不同位置的数有一定的意义结构:

页号+页内地址(即页内偏移)

关键的计算是:根据系统页面大小找到不同意义二进制位的分界线。

从地址中分析出页号后,地址映射只需要把页号改为对应物理块号,偏移不变,即可找到内存中实际位置。

**注意:**一作业所有指令在用户地址空间是顺序编址

举例说明


答:页面大小4K=2^12,所以需要12位二进制数来表示页内地址,作业大小32K,32/4=8,所以需要八页(即8个块),需要三个二进制数表示。


这里的页表的大小是指存块号占的地址

访问内存的有效时间

进程发出逻辑地址的访问请求,经过地址变换,到内存中找到对应的实际物理地址单元并取出数据,所需花费的总时间,称为内存的有效访问时间EAT(effective access time)

设访问一次内存时间为t,则基本分页机制下EAT=2t

:因为操作一条指令需要访问内存两次

减少第1步访问内存的时间。增设一个具有“并行查询”能力的高速缓冲寄存器,称为“快表”,也称“联想寄存器”(Associative memory),IBM系统称为TLB(Translation Look aside Buffer)。

此时:设一次查找访问快表时间为t’ ,则

EAT= at’ + (1-a)(t’+t) + t

= 2t +t’ -ta

两者比较:



两级页表


理解

当页表中的项太多,会存在一个页表放不下的情况(毕竟页表也是存在内存中,当内存的一个块放不开页表,就会将一个页表分开放入两个块中,为了能找到这两个页表的位置,就引入了二级页表,又称为外表用来存放页表分开后的位置)

如图:


理解:

外页号的取值同前边页号的取值一样

每个进程一张页表

一张OS反置页表+没进程一张外部页表

**反置页表:**站在物理角度,记录占用他的已调入内存的进程标识和页号。系统中只需要一张表即可(例如:一个64MB内存,若页面大小4KB[64M/4K=2^16 ,16个物理块],反置页表占用64KB(16K*4B))

**进程外部页表:**每个进程一张,记录进程不在内存中的那些页面所在物理位置。

**如何提高检索反置页表的速度:**内存容量大时,反置页表的页表项还是会很大,利用进程标识符和页号去检索一张大的线性表很费时,可利用hash算法提高检索速度。

分段

程序通过分段划分为多个模块,每个段定义一组逻辑信息(如代码段,数据段,栈段)

段的特点

每个段有自己的名字(一般是段号),都从0编址,可分别编写和编译。装入内存时每个段赋予各段一个段号。

每个段占据一块连续的内存(既有连续的,又有分离的)

各段的大小不等

地址结构:段号+段内地址

段表:记录每段实际存放的物理地址





分页容易造成共享和非共享数据共处一页,不方便设置权限。


段页式存储

基本原理:
将用户程序分成若干段,并为每个段赋予一个段名。
把每个段分成若干页
地址结构包括段号、段内页号和页内地址三部分


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

推荐阅读更多精彩内容

  • 1. 基础知识 1.1、 基本概念、 功能 冯诺伊曼体系结构1、计算机处理的数据和指令一律用二进制数表示2、顺序执...
    yunpiao阅读 5,237评论 1 22
  • 操作系统对内存的管理 没有内存抽象的年代 在早些的操作系统中,并没有引入内存抽象的概念。程序直接访问和操作的都是物...
    Mr槑阅读 16,648评论 3 24
  • 操作系统概论 操作系统的概念 操作系统是指控制和管理计算机的软硬件资源,并合理的组织调度计算机的工作和资源的分配,...
    野狗子嗷嗷嗷阅读 11,879评论 3 34
  • 你的爱是吻,却不曾想吻出了痕迹,那便是伤害。还记得年少轻狂时,我那颗叛逆的心指使我的手写下我行我素的这句话。儿童时...
    左小祺阅读 418评论 3 15
  • 2017年12月20日 00:27。 想你。 夜 我写下最后一个字 便可以跌在黑夜 漫长的夜 思念你 我试探又收回...
    茕kriya阅读 296评论 0 5