欢迎光临散文网 会员登陆 & 注册

内存大管家!

2021-12-14 01:46 作者:艾枫start  | 我要投稿


静态重定位=可重定位装入

动态重定位=动态运行时装入

内从空间扩充:覆盖和交换 技术  还有 虚拟存储技术

中级调度:选择一个处于挂起态的进程调入内存

就绪挂起

阻塞挂起??

1 空闲分区表或者空闲分区链

2 动态分区算法进行选择

3 进程的大小和分区的大小进行比较

分配:

1 p<b ——>更改 分区大小 和起始地址

2 p=b ——>删除 分区表项

3 p<b ——>error  算法错误了笨蛋

回收:

1

2

3

外部碎片可以用紧凑技术解决

外部碎片指的是。。。

产生外部碎片的原因:空闲分区太小,难以利用

产生内部碎片的原因:分配给进程的内存太大,部分内存没有充分利用

两个根本就是两个概念,虽然叫法很相似比如他俩就是香蕉和苹果

动态分配是根据进程的大小来分配内存空间的,简而言之就是:你要多少,我给你多少,(无内部碎片)但是你要的我满足不了(存在外部碎片)

单一连续分配和固定分区分配(分区大小相等和不等)就是肯定能把我装下,不存在外部碎片,但是给的太多了,没用上啊大哥,即内部碎片。

非连续分配方式产生的原因?废话,那不就是连续...不好(要不是内部碎片,要不是外部碎片)嘛,然后就非连续就行了(离散分配方式)

从K位断开,前面的是页号后面的是页内偏移量

0——11是12位

0——31是32位 

我要知道页号对应的起始地址

2的页号次方*页面大小

 

就是说页表建立了 进程的页号和物理块(空闲分区)的块号之间的关系

通过页号可以直接找到块号——>*页面大小就是 在物理内存的地址

下面一段不懂

其实这也很简单:页表项是根据页号和块号建立起来的,每页个块号和页号是一一对应的,?

块号决定了页号,而计算机的物理内存是固定的,页面大小也是一定的,内存即物理内存即空闲分区即一共划分的物理块的个数是确定的(由物理内存/页面大小=页块大小),因为我们要求 页面大小(划分的各个小进程)和物理块大小(内存被分成各个小内存)相等,只有这样才能装入,才能对应。

我们得到了物理块的总个数即页号(我的理解)

基本地址变换机构:硬件机构:逻辑地址到物理地址的转换

b物理块号*L页面大小 +偏移量

数量乘以单位(起始地址)+走了几步{最终的物理地址}

e:其这么多麻烦的名字不嫌麻烦吗?

上面这个说的啥: 1 通过分析 即 2^32 / 2 ^12 = 2^ 20  这么多个页表项,页表项有大小一个就是=页号 + 页内偏移量   我这么多的页面我怎么存,我当然要大于他 1 B=8bit 20个 bit 需要24 bit= 3B  我能够把他给容下了,这个容下了是物理上的内存, 我现在是要算页表项,(和别的页面没关系)  页框要存页表项,一个叶匡是4kb 一个页表项是3b 可以存1365 个页表项,然而,还剩下一个b的页内碎片,我一个页表项需要3b 这显然不能满足我,所以我的1365的地址就得变一下,页表项的地址x +  3* 1065 +1 (前面放的是0——1064的页表项) ,这个地方讨论的不是 逻辑地址(页面)的存储 讨论的是页表项的存储。。。


我懂了呀!,页表项=一个页面,页表项长度=页面大小,页表长度=页表项的数目!(牛皮)

存在的问题单机列表

虚拟内存技术建立在离散的分配管理的方式

由于传统的存储管理方式的一次性和驻留性的特点,根据局部性原理(时间局部性和空间局部性)产生了虚拟内存的概念,通过调入调出(多次性),换入换出(对换性),将常用的数据放置到内存,实现虚拟内存,然后对应的的是请求分页存储管理,请求分段存储管理,请求段页式存储管理,增加的内容就是 请求调页/段,页面置换/段 是根据虚拟内存的两个特性提出的

请求分页存储管理 和基本分页存储管理增加的步骤

多次性和对换性提出的

新增的表项:1 不在外存在哪?

                      2 修改了没访问了几次?

请求调页——>说明了页面中断

页面置换——>说明内存吃紧,发生页面淘汰

修改页表项

最佳置换算法 opt

先进先出置换算法 fifo

最近最久未使用置换算法 LRU

时钟置换算法 clock

改进型的时钟置换算法

缺页率=9/20 由发生缺页中断的次数除以总的访问页面的次数(无法实现,操作系统不可能未卜先知)

我先来就让我先出去,你礼貌吗?

latest recently unused

 

运行前和运行期间


内存大管家!的评论 (共 条)

分享到微博请遵守国家法律