视频记录
【408操统】你明白二维地址的含义吗?分段式存储管理 | 内存管理(五)_哔哩哔哩_bilibili
重点
操作系统原理期末速成不挂科主攻大题_哔哩哔哩_bilibili
地址变换
1 K =
2
10
2^{10}
210
134 D = 0001 0011 0100 1101
页面置换算法
数字在物理块中没有出现过。缺页
2 | 3 | 2 | 1 | 5 | 2 | 4 | 5 | 3 | 2 | 5 | 2 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | ||||||||||||
2 | ||||||||||||
3 | ||||||||||||
是否缺页 |
信号量机制:
时间线法:独家秒杀法!速通考研计算机408操作系统PV大题_哔哩哔哩_bilibili
连续分配存储管理
- 页表项地址的计算:
图片中提到,页表项地址可以通过公式计算:
- <font style="color:rgb(64, 64, 64);">页表项地址</font><font style="color:rgb(64, 64, 64);">=</font><font style="color:rgb(64, 64, 64);">F</font><font style="color:rgb(64, 64, 64);">+</font><font style="color:rgb(64, 64, 64);">P</font><font style="color:rgb(64, 64, 64);">×</font><font style="color:rgb(64, 64, 64);">页表项长度</font><font style="color:rgb(64, 64, 64);">页表项地址</font><font style="color:rgb(64, 64, 64);">=</font>_<font style="color:rgb(64, 64, 64);">F</font>_<font style="color:rgb(64, 64, 64);">+</font>_<font style="color:rgb(64, 64, 64);">P</font>_<font style="color:rgb(64, 64, 64);">×</font><font style="color:rgb(64, 64, 64);">页表项长度</font>
* <font style="color:rgb(64, 64, 64);">F</font>_<font style="color:rgb(64, 64, 64);">F</font>_<font style="color:rgb(64, 64, 64);">:页表的起始地址。</font>
* <font style="color:rgb(64, 64, 64);">P</font>_<font style="color:rgb(64, 64, 64);">P</font>_<font style="color:rgb(64, 64, 64);">:逻辑地址中的页号。</font>
* **<font style="color:rgb(64, 64, 64);">页表项长度</font>**<font style="color:rgb(64, 64, 64);">:每个页表项占用的空间大小。</font>
- <font style="color:rgb(64, 64, 64);">通过页表项地址,可以找到对应的页表项,从而获取目标内存段的块号(b)。</font>
- 页表项长度和页表长度的区分:
- 页表项长度:一个页表项占用的空间大小(例如,4字节)。
- 页表长度:页表中页表项的总数(例如,2n2n 个页表项)。
- 逻辑地址到物理地址的转换:
- 逻辑地址 A=0x2849A=0x2849 被划分为页号 PP 和页内地址 WW。
- 通过页表找到页号 PP 对应的块号 bb。
- 物理地址 EE 由块号 bb 和页内地址 WW 组合而成。
2. 与之前知识的联系
- 页表的作用:
- 页表将逻辑页号(P)映射到物理块号(b)。
- 图片中进一步明确了如何通过页号 PP 计算页表项地址,从而找到对应的块号 bb。
- 地址转换过程:
- 逻辑地址 AA 被划分为页号 PP 和页内地址 WW。
- 通过页表项地址公式 页表项地址=F+P×页表项长度页表项地址=F+P×页表项长度,找到页表项。
- 从页表项中获取块号 bb,并与页内地址 WW 组合,得到物理地址 EE。
- 页表项长度和页表长度:
- 页表项长度决定了每个页表项占用的空间大小。
- 页表长度决定了页表中页表项的总数,通常为 2n2n 个。
3. 完整的地址转换流程
- 逻辑地址划分:
- 逻辑地址 AA 被划分为页号 PP 和页内地址 WW。
- 计算页表项地址:
- 使用公式 页表项地址=F+P×页表项长度页表项地址=F+P×页表项长度,找到页表项。
- 获取块号:
- 从页表项中读取块号 bb。
- 生成物理地址:
- 物理地址 EE 由块号 bb 和页内地址 WW 组合而成。
4. 示例
- 假设:
- 页表起始地址 F=0x1000F=0x1000。
- 页表项长度 = 4 字节。
- 逻辑地址 A=0x2849A=0x2849,页号 P=2P=2,页内地址 W=0x0049W=0x0049。
计算页表项地址:
- 页表项地址=0x1000+2×4=0x1008页表项地址=0x1000+2×4=0x1008
- 从页表项地址 0x10080x1008 中读取块号 b=3b=3。
生成物理地址:
- E=b×块大小+W=3×4096+0x0049=0x3000+0x0049=0x3049E=b×块大小+W=3×4096+0x0049=0x3000+0x0049=0x3049
5. 总结
- 图片补充了页表项地址的计算方法和页表项长度与页表长度的区分,进一步完善了分页存储管理的地址转换过程。
- 通过逻辑地址的页号 PP,可以计算出页表项地址,找到对应的块号 bb,最终生成物理地址 EE。
希望这个解释能帮助你更好地理解图片内容并将其与之前的知识联系起来!
选择
进程状态切换
死锁
进程调度
分页/分段
以下是关于内部碎片、外部碎片,以及不同存储管理方式的特性的表格总结:
存储管理方式 | 是否产生内部碎片 | 是否产生外部碎片 | 备注 |
---|---|---|---|
分页式存储管理 | 是(内零头) | 否 | 页的大小固定,最后一页可能未完全使用,产生内部碎片。 |
分段式存储管理 | 否 | 是 | 内存分配按照段大小,段与段之间可能产生外部碎片。 |
段页式存储管理 | 是(内零头) | 是 | 分页和分段的结合,既可能有内部碎片,也可能有外部碎片。 |
随机存储管理 | 不适用 | 不适用 | 不是标准存储管理方式。 |
碎片分类
碎片类型 | 产生原因 | 存储管理方式 |
---|---|---|
内部碎片(内零头) | 固定分配的单元(如页或块)未被完全利用 | 分页、段页式存储管理 |
外部碎片(外零头) | 内存空间分配不连续,剩余空间无法满足需求 | 分段、段页式存储管理 |
两者都不产生 | 分配刚好满足内存需求,无固定分配单元(如段) | 分段式存储管理(无内部碎片) |
大题 2
答案:计算机操作系统(慕课版 汤小丹 人民邮电出版社)习题答案_计算机操作系统慕课版课后题答案-CSDN博客
习题三 19 22
习题四 13 14 15 18 20(后面讲解了全部的)
习题五 3 7 15 17 18 19 20
习题六 18
考到198页之前的
老师说涵盖了所有大题题型
习题三 19 22
习题四 13 14 15 18 20(后面讲解了全部的)
13.14.15
semaphore full = 0,empty = 1;
int buff;
cp(){
int nexte;
while(1){
compute the next number nextc;
P(empty);
buffer=nexte;
V(full);
}
}
pp(){
int nextp;
while (1){
P(full);
next
}
}
习题五 3 7 15 17 18 19 20
- ( 考研真题)请解释什么是重定位?重定位有哪几种?
7、
- 已知某分页系统,内存容量为64KB,页面大小为1KB,对一个4页大的作业,其1、2、3页分别被分配到内存的2、4、6、7块中。
(1) 将十进制的逻辑地址1023、2500、3500、4500变换为物理地址。
(2) 以十进制的逻辑地址1023为例,画出地址变换过程图。
动态分区分配
操作系统计算题四——动态分区分配算法计算_哔哩哔哩_bilibili
操作 | 已分配区间 | 空闲区 |
---|---|---|
初始 | (0K, 40K) | (40K, 600K) |
申请200K(作业1) | (0K, 40K) (40K, 200K) | (240K, 400K) |
申请70K(作业2) | (0K, 40K) (40K, 200K) (240K, 70K) | (310K, 330K) |
申请150K(作业3) | (0K, 40K) (40K, 200K) (240K, 70K) (310K, 150K) | (460K, 180K) |
释放70K(作业2) | (0K, 40K) (40K, 200K) (310K, 150K) | (240K, 70K) (460K, 180K) |
申请80K(作业4) | (0K, 40K) (40K, 200K) (310K, 150K) (460K, 80K) | (240K, 70K) (540K, 100K) |
释放150K(作业3) | (0K, 40K) (40K, 200K) (460K, 80K) | (240K, 220K) (540K, 100K) |
申请100K(作业5) | (0K, 40K) (40K, 200K) (240K, 100K) (460K, 80K) | (340K, 120K) (540K, 100K) |
申请60K(作业6) | (0K, 40K) (40K, 200K) (240K, 100K) (340K, 60K) (460K, 80K) | (400K, 60K) (540K, 100K) |
申请50K(作业7) | (0K, 40K) (40K, 200K) (240K, 100K) (340K, 60K) (400K, 50K) (460K, 80K) | (450K, 10K) (540K, 100K) |
释放60K(作业6) | (0K, 40K) (40K, 200K) (240K, 100K) (400K, 50K) (460K, 80K) | (340K, 60K) (450K, 10K) (540K, 100K) |
现在初始空闲区修正为(40K, 600K),后续的空闲区计算也相应调整了。谢谢指出这个错误!
19.
20、
习题六 18
18.(考研真题)有一个请求分页式虚拟存储器系统,分配给某进程3个物理块,开始时内存中预装入第1,2,3个页面。该进程的页面访问序列为1,2,4,2,6,2,1,5,6,1。
(1)若采用最佳页面置换算法,则访问过程中发生的缺页率为多少?
(2)若采用LRU页面置换算法,则访问过程中的缺页率为多少?