现代操作系统第三章答案(待)

1:
最多只能有16个进程在运行, 要特殊硬件来保证该操作迅速。

2:
巧合, 因为该例子的起始物理地址跟进程长度相同。

3:
4GB = 2 的32次方B, 32bit = 4B,需要4ns, 并且需要读和写,所以 2 * 2 的32次方 * 4ns。

4:

首次适配法:(第一次遇到合适的就选)

a:20MB。
b:10MB。
c: 18MB。

最佳适配法:(选择能满足要求的最小的空闲区)

a:18MB.
b: 10MB.
c: 9MB.

最差适配法:(选择能满足要求的最大空闲区)

a:20MB.
b: 18MB.
c: 15MB.

下次适配法:(从上一次选中的空闲区继续)

a:20MB.
b:18MB.
c:9MB.

5:
物理地址是机器使用的实际地址,其对应于地址总线上。
虚拟地址是机器产生的逻辑地址, 可以大于物理地址。
每个程序拥有自己的地址空间, 这个空间被分割成多个块, 每一块成为一页面。

6:
4KB的页面需要12位偏移量, 页面号分4位, 8KB的页面需要13位偏移量, 页面号分3位
20000:
4KB 0100 111000100000
8KB 010 0111000100000

32768:
4KB 1000 000000000000
8KB 100 0000000000000

60000:
4KB 1110 101001100000
8KB 111 0101001100000

7:
20 +8192 = 8212
4095 + 4100 - 4095 = 4100
8300 - 8192 + 24 * 1024 = 24684

8:
把MMU放在cpu与地址总线连接之间,这样就能通过MMU把物理地址转换为虚拟地址送到地址总线上。

9:
需要MMU, 需要产生缺页中断的硬件。

10:
写时复制是父进程fork子进程后, 子进程父进程共享一个存储空间,子进程有指向父进程代码段、数据段的指针, 当父进程进行写操作时, 才为子进程分配物理地址空间。
可以在支持多进程的手机上起作用。

11:
M > 1024 会失效, 因为页面大小为4KB, 且M为int类型, 4个字节, 4KB / 4 = 1024, 每过1024个数据TLB就会失效一次。

12:
所有进程的虚拟地址空间最大为nv, 而RAM的大小为r, 磁盘空间需求 = nv - r, 这通常比实际需要的大得多, 因为不是所有进程都在运行。

13:
[(k - 1) + (N + 1)] / k

14:
32为地址空间为4GB内存, 每个页面8KB, 有 2的19次方个页面, 每个字需要100ns, 一共有100ms, 所以 (2的19次方 * 100ns) / 100ms = 0.524288

15:
虚拟地址为48位,页面大小为4KB, 所以有2的48次方 / 2的12次方= 2的36次方个页表项。

页面大小为4KB, 长整型为4个字节, 每4KB/4 = 1024个数据TLB会失效一次。

16:
99% * 1ns + 1%* 100ns * 99.99% + 0.01% * * 6ms.

17:
a:
一级页表必须把整个页表放入内存中, 但进程通常使用其中很小一部分, 这导致了内存的浪费,
比如二级页表, 4GB内存空间: 其中一级页表被分为1024个4MB的片, 每个片对应1024个二级页表项,二级页表每页表大小为4KB, 若一级页表的每个片都没被分配, 则此片就不用分配二级页表, 减少了很大的内存需求。

18:
在这里插入图片描述
19:
页面大小由偏移量确定, 4KB
2^20次方个页面

20:
一级页表需要2^20次方个表项

二级页表需要: 需要顶级页表的两个页表项指向二级页表中的程序和数据段和栈, 2 + 1 + 1 = 4.

21:

22:
设命中率为x
x + (1 - x) * 5 = 2,
x = 0.75

23:
支持TLB需要寄存器里有能做比较运算的设备, 需要线性的扩展。

24:
页面大小为8KB, 则偏移量为13位, 则有2^35个表项。

25:

26:
最优页面置换算法:把这个页面下次执行前要执行的指令数作为标记, 在进行页面置换时置换标记最大的页面。
但这是不可能, 因为程序运行时不可预测。
在编译器编辑是收集有关进程的信息, 在链接时重新排列代码。

27:
标准得页面置换算法是针对内存中已有的页面研究的, 当工作负载比比序列段时, 会因为内存容量不够出现颠簸。

28:

29:
第三页

30:

0111
10011111
110001111011
1110100101111011
01110010011011101011
101110001001110111001011
1101110100100101101110001011
01101110010010010011011110001011

31:
12310
LRU把第二页替换成第零页, CLOCK把第一页替换成第零页。

32:
假设当前时间为t, 若t - 1213 > 400, 则移出去, 否则不移, 1000同理

33:

34:
FIFO:生存时间, LRU:最近访问时间, OA(optimal algorithm):下次使用时间。

从大到小标记对应的属性, 替换标签最小的。

35:
2KB:
有64KB / 2KB = 32个页面,32 * (10 + 10) = 640;
4KB:
320;

36:
a: 页面2.
b:页面3.
c:页面1.
d:页面2

37:

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值