lec8 虚拟内存SPOC练习
NOTICE
- 有"w4l2"标记的题是助教要提交到学堂在线上的。
- 有"w4l2"和"spoc"标记的题是要求拿清华学分的同学要在实体课上完成,并按时提交到学生对应的git repo上。
- 有"hard"标记的题有一定难度,鼓励实现。
- 有"easy"标记的题很容易实现,鼓励实现。
- 有"midd"标记的题是一般水平,鼓励实现。
提前准备
- 完成lec8的视频学习和提交对应的在线练习
- git pull uco re_os_lab, v9_cpu, os_course_spoc_exercises in github repos。这样可以在本机上完成课堂练习。
- 理解如何实现建立页表,给用户态建立页表,在用户态使用虚地址,产生各自也访问错误的基本应对
视频相关思考题
8.1 虚拟存储的需求背景
寄存器、高速缓存、内存、外存的访问特征?
如何理解计算机中的存储层次结构所的理想状态是“均衡繁忙”状态?
在你写程序时遇到过内存不够的情况吗?尝试过什么解决方法?
8.2 覆盖和交换
什么是覆盖技术?使用覆盖技术的程序开发者的主要工作是什么?
什么是交换技术?覆盖与交换有什么不同?
覆盖和交换技术在现代计算机系统中还有需要吗?可能用在什么地方?
如何分析内核模块间的依赖关系?
如何获取内核模块间的函数调用列表?
8.3 局部性原理
什么是时间局部性、空间局部性和分支局部性?
如何提高程序执行时的局部性特征?
- 排序算法的局部性特征?
- 参考:九大排序算法再总结
8.4 虚拟存储概念
什么是虚拟存储?它与覆盖和交换的区别是什么?它有什么好处和挑战?
虚拟存储需要什么样的支持技术?
8.5 虚拟页式存储
什么是虚拟页式存储?缺页中断处理的功能是什么?
为了支持虚拟页式存储的实现,页表项有什么修改?
- 页式存储和虚拟页式存储的区别是什么?
8.6 缺页异常
- 缺页异常的处理流程?
- 虚拟页式存储管理中有效存储访问时间是如何计算的?
个人思考题
内存访问局部性的应用程序例子
(1)(w4l2)下面是一个体现内存访问局部性好的简单应用程序例子,请参考,在linux中写一个简单应用程序,体现内存局部性差,并给出其执行时间。
#include <stdio.h>
#define NUM 1024
#define COUNT 10
int A[NUM][NUM];
void main (void) {
int i,j,k;
for (k = 0; k<COUNT; k++)
for (i = 0; i < NUM; i++)
for (j = 0; j < NUM; j++)
A[i][j] = i+j;
printf("%d count computing over!\n",i*j*k);
}
可以用下的命令来编译和运行此程序:
gcc -O0 -o goodlocality goodlocality.c
time ./goodlocality
可以看到其执行时间。
小组思考题目
缺页异常嵌套
(1)缺页异常可用于虚拟内存管理中。如果在中断服务例程中进行缺页异常的处理时,再次出现缺页异常,这时计算机系统(软件或硬件)会如何处理?请给出你的合理设计和解释。
提示:https://en.wikipedia.org/wiki/Double_fault 和 https://en.wikipedia.org/wiki/Triple_fault
缺页异常次数计算
(2)如果80386机器的一条机器指令(指字长4个字节),其功能是把一个32位字的数据装入寄存器,指令本身包含了要装入的字所在的32位地址。这个过程在OS合理处理情况下最多会引起几次缺页异常?
提示:内存中的指令和数据的地址需要考虑地址对齐和不对齐两种情况。需要考虑页目录表项invalid、页表项invalid、TLB缺失等是否会产生异常?
虚拟页式存储的地址转换
(3)(spoc) 有一台假想的计算机,页大小(page size)为32 Bytes,支持8KB的虚拟地址空间(virtual address space),有4KB的物理内存空间(physical memory),采用二级页表,一个页目录项(page directory entry ,PDE)大小为1 Byte,一个页表项(page-table entries PTEs)大小为1 Byte,1个页目录表大小为32 Bytes,1个页表大小为32 Bytes。页目录基址寄存器(page directory base register,PDBR)保存了页目录表的物理地址(按页对齐)。
PTE格式(8 bit) :
VALID | PFN6 ... PFN0
PDE格式(8 bit) :
VALID | PT6 ... PT0
其
VALID==1表示,表示映射存在;VALID==0表示,表示内存映射不存在(有两种情况:a.对应的物理页帧swap out在硬盘上;b.既没有在内存中,页没有在硬盘上,这时页帧号为0x7F)。
PFN6..0:页帧号或外存中的后备页号
PT6..0:页表的物理基址>>5
已经建立好了1个页目录表和8个页表,且页目录表的index为0~7的页目录项分别对应了这8个页表。
以下给出了4KB物理内存空间,PDBR的值和4KBdisk空间的值: PDBR content: 0xd80 [This means the base address of page directory table is held in here]
4KB物理内存空间,每个页(page)大小为32B
page 00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 01: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 02: 01 15 11 1d 1d 1c 01 17 15 14 16 1b 13 0b 10 06 12 00 04 0a 18 16 0a 13 01 05 1e 08 0c 11 09 0e
page 03: 00 07 17 0b 18 13 0c 1b 01 0e 19 03 16 0a 00 0e 10 01 11 0a 00 05 03 10 01 1c 1a 1d 09 1c 1e 17
page 04: 17 19 02 14 0e 07 0e 04 0a 14 0e 11 10 19 0a 19 02 0d 0a 0d 19 0f 1e 1a 03 09 00 16 00 1b 05 0c
page 05: 11 1c 10 15 00 13 12 11 0c 0b 1e 01 00 1d 05 03 06 18 1d 00 0d 03 08 06 14 0a 05 0f 01 03 1e 06
page 06: 05 10 02 0c 0a 0c 03 1c 0e 1a 1e 0a 0e 15 0d 09 16 1b 1c 13 0b 1e 13 02 02 17 01 00 0c 10 0d 0f
page 07: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 08: 1a 15 17 14 00 01 13 1e 1b 15 16 07 17 08 03 0e 0a 05 0d 1b 0d 0d 15 10 04 1c 0d 18 0c 19 0c 06
page 09: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 0a: 1e 1e 05 07 0d 15 00 19 13 08 1a 14 09 10 1e 01 15 1a 15 04 12 18 0c 12 07 09 19 0f 0d 03 0b 10
page 0b: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 0c: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 0d: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 0e: 04 19 04 1a 19 04 11 00 1a 11 17 0f 15 1c 11 1b 0a 03 00 07 19 09 06 0f 1d 0f 0a 02 11 07 0b 0b
page 0f: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 11: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 12: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 13: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 14: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 15: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 16: 07 1c 0b 19 0d 0b 17 13 08 12 15 19 14 13 12 02 1d 16 08 15 13 14 0b 11 14 06 0f 03 03 1c 03 1b
page 17: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 18: 1e 13 02 16 1e 0c 15 09 06 16 00 19 10 03 03 14 1b 08 1e 03 1a 0c 02 08 0e 18 1a 04 10 14 0a 1b
page 19: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 1a: 11 0a 1e 1c 12 16 15 0a 1c 1b 0a 17 00 19 11 1d 0b 13 0a 18 12 1e 00 04 01 03 1c 1d 0e 1d 19 18
page 1b: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 1c: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 1d: 10 19 0b 1b 16 16 0a 03 1d 1a 0c 1a 1b 0a 0f 0a 15 1c 1e 17 09 1b 1e 0a 1d 0f 1d 1e 19 15 04 00
page 1e: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 1f: 08 16 14 16 0f 1a 03 14 03 16 0b 14 15 14 06 19 07 10 14 07 13 08 05 19 11 0a 12 00 04 0c 1e 0f
page 20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 21: 7f 7f 36 8e 7f 33 d5 82 7f 7f 79 2b 7f 7f 7f 7f 7f f1 7f 7f 71 7f 7f 7f 63 7f 2f dd 67 7f f9 32
page 22: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 23: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 24: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 25: 04 07 0b 16 0c 08 0f 0c 09 1b 11 1e 17 11 08 15 0e 16 0c 0f 00 16 01 15 12 18 08 15 06 10 0a 1e
page 26: 7f d2 f7 7f b4 2e 60 7f 7f 7f 39 05 1b 7f 47 98 24 7f 7f 7f 6b 7f 48 7f 7f 50 7f 7f e5 0e 7f 6f
page 27: 0c 01 17 16 0b 19 02 01 0b 1b 17 14 11 18 0c 00 18 05 0c 0b 03 0a 05 13 14 00 0e 11 1b 0f 02 01
page 28: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 29: 1a 05 11 07 1d 18 0d 02 09 0f 1c 03 11 15 10 19 10 1d 12 12 0d 12 0b 11 09 05 05 12 14 0e 02 17
page 2a: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 2b: 0d 16 14 08 14 09 0b 10 16 04 00 13 00 01 06 14 02 01 1e 0d 1b 06 0d 0b 05 0a 1e 17 0b 0c 08 10
page 2c: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 2d: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 2e: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 2f: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 30: 11 0a 19 07 07 0e 1c 00 16 00 0c 17 0d 0d 07 0e 07 08 14 12 1c 1e 10 02 09 10 14 1d 04 01 1a 18
page 31: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 32: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 33: 56 7f 7f 20 cd c9 88 59 06 7f 7f 6c 54 7f d8 ca cf 03 d6 00 08 f4 7f ff da 12 6a 7f 53 7f 7f 7f
page 34: 05 0c 18 18 1d 1b 15 10 16 05 1c 16 12 0d 13 13 1b 11 06 0d 07 1c 1a 11 06 01 04 0d 14 06 15 1a
page 35: 7f fb 3d d7 61 70 7f 7f 7f 7f 21 7f 4b 38 7f 7f 7f 1a f8 7f 75 9d 78 7f 7f f0 7f e7 7f 86 a9 22
page 36: 0b 1e 08 18 0d 0b 01 1a 15 1b 0d 14 03 0c 06 01 1d 06 04 06 0b 10 04 1e 1e 04 0c 15 1b 0f 1c 09
page 37: 0e 06 0c 14 0c 12 19 1e 1b 0b 00 12 0e 07 01 09 18 1d 03 1b 01 16 00 0d 1a 0c 1c 16 12 05 0a 0c
page 38: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 39: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 3a: 03 02 03 17 0c 1c 0d 02 0d 17 19 01 05 0f 03 1b 1c 09 0d 11 08 10 06 09 0d 12 10 08 07 03 18 03
page 3b: 01 1c 0c 0c 00 04 1a 0f 16 04 0a 1a 19 07 00 19 05 18 15 05 02 1c 12 13 0e 04 12 07 18 16 00 1c
page 3c: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 3d: f6 7f 5d 4d 7f 04 29 7f 1e 7f ef 51 0c 1c 7f 7f 7f 76 d1 16 7f 17 ab 55 9a 65 ba 7f 7f 0b 7f 7f
page 3e: 1a 16 14 04 1e 0c 12 0b 01 0e 04 01 13 13 03 11 0a 0b 18 0f 1b 12 0e 13 0a 03 15 13 18 03 1c 18
page 3f: 14 06 12 06 0a 1d 1b 19 01 04 07 18 1a 12 16 19 02 02 1a 01 06 01 00 1a 0a 04 04 14 1e 0f 1b 0f
page 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 41: 26 7f 7f 7f 13 7f 7f 7f 8a ce 7f 74 46 18 b7 45 1f 7f 52 3e 7f 09 7d 11 b0 31 73 7f 7f c4 4f bf
page 42: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 43: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 44: 02 1e 0f 00 0c 17 09 17 17 07 1e 00 1a 0f 04 08 12 08 19 06 0b 0f 0a 19 08 02 04 13 11 01 1e 0e
page 45: 04 15 0e 15 17 07 17 08 1e 03 1b 01 07 10 12 0c 03 07 08 17 1c 12 01 18 09 0a 10 07 1c 05 0c 08
page 46: 0d 1d 05 05 14 04 03 0f 18 12 17 08 08 0d 1e 16 1d 10 11 1e 05 18 18 1a 17 04 14 1c 11 0b 1d 11
page 47: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 48: 15 06 16 19 17 0a 12 13 1b 03 19 10 0b 0e 00 06 14 14 0f 1d 0e 09 1a 08 12 15 19 18 0b 01 01 16
page 49: 13 10 0c 13 0c 18 18 09 0b 13 04 15 0b 12 04 14 0a 0e 0c 0e 15 09 14 01 09 17 01 13 00 0e 1b 00
page 4a: 05 07 1e 09 1a 18 17 16 18 1a 01 05 0f 06 10 0f 03 02 00 19 02 1d 1e 17 0d 08 0c 0a 0c 16 1b 04
page 4b: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 4c: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 4d: 06 15 0c 00 04 0c 1b 11 1c 1c 02 12 0a 0f 0e 0e 03 19 0f 13 0e 05 10 04 1a 19 04 02 02 0c 1d 11
page 4e: 18 07 00 10 1d 15 13 13 0f 16 07 1b 08 1d 1c 02 0d 17 0d 0f 19 15 1d 05 1c 1c 13 1d 07 1b 17 12
page 4f: 14 0f 0f 09 15 02 09 1b 07 1d 1e 11 01 02 06 0a 03 18 0b 07 01 0b 00 03 12 1c 06 16 06 00 1b 1a
page 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 51: 13 16 0c 0c 14 00 05 0a 07 13 0b 1b 11 0c 0c 15 0c 14 01 0d 08 04 10 0f 11 17 1b 0f 09 0e 19 1b
page 52: 1e 1b 0a 15 05 11 0b 0d 0d 14 1a 0e 04 17 17 1d 0c 0e 10 1b 15 00 06 1a 12 1b 0c 06 00 1e 04 13
page 53: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 54: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 55: 12 0c 09 01 03 04 0e 13 17 01 19 01 11 17 13 1d 0a 12 02 11 19 06 08 15 07 08 1d 1e 04 1b 11 01
page 56: 18 17 1e 17 1c 06 10 12 19 0e 18 0c 12 1a 18 14 00 05 0f 07 02 1a 1d 09 0c 19 01 13 03 08 19 01
page 57: 1e 0c 1c 0e 0a 03 1b 18 0a 0e 0a 00 01 0b 06 10 05 06 14 16 09 1a 07 0a 16 01 1c 02 0e 16 01 19
page 58: 1d 0c 12 17 0a 08 1e 0a 1e 1a 06 19 1e 08 14 17 02 19 09 15 1d 01 12 09 03 16 1e 0f 0a 0d 0c 10
page 59: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 5a: 1d 10 15 14 06 13 1e 03 15 13 0b 18 00 1b 19 0e 03 0e 12 07 0f 18 1c 11 19 02 1a 1c 05 19 1a 1b
page 5b: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 5c: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 5d: 19 1c 05 14 1d 01 14 1a 0a 07 12 0d 05 0e 0c 11 0f 09 0b 19 07 11 00 16 0a 01 08 07 1d 0a 08 0b
page 5e: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 5f: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 61: 7c 7f 7f 4e 4a 7f 3b 5a 2a be 7f 6d 7f 66 7f a7 69 96 7f c8 3a 7f a5 83 07 e3 7f 37 62 30 7f 3f
page 62: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 63: 16 00 0d 15 00 1c 1d 16 02 02 0b 00 0a 00 1e 19 02 1b 06 06 14 1d 03 00 0b 00 12 1a 05 03 0a 1d
page 64: 7f c5 7f 64 84 7f 0d 7f 3c 0f 6e 7f 4c b6 42 23 7f 44 85 7f 34 5b 57 7f 7b 7e 58 9f bb 43 5e c6
page 65: 1a 08 14 02 19 0a 1d 0e 01 1c 13 08 01 0b 04 10 04 05 1c 13 07 1b 13 1d 0e 1b 15 01 07 08 05 07
page 66: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 67: 0b 07 09 19 1c 1d 00 17 10 03 07 08 0c 0e 1d 01 15 1a 0b 07 06 09 04 11 07 00 07 19 0c 1b 1d 07
page 68: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 69: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 6a: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 6b: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 6c: e1 b5 a1 c1 b3 e4 a6 bd 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f
page 6d: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 6e: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 6f: 15 19 10 18 05 18 0d 17 0e 18 02 01 1c 0f 1b 1d 14 11 06 02 19 1b 18 15 0d 09 03 0d 11 1c 1d 0c
page 70: 0e 1b 04 11 00 1c 00 0c 18 1e 00 19 0f 01 18 03 12 18 14 0b 00 0d 1c 0a 07 04 0f 10 02 0c 14 1d
page 71: 03 0d 00 08 0b 0a 0b 18 05 19 10 0a 11 05 0f 00 1a 0a 0a 1e 13 0c 18 02 11 10 1a 12 0f 10 18 0a
page 72: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 73: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 74: 0f 08 17 13 07 1c 1e 19 1b 09 16 1b 15 0e 03 0d 12 1c 1d 0e 1a 08 18 11 00 16 0c 19 14 00 0f 1a
page 75: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 76: 1a 1b 1c 10 0c 15 08 19 1a 1b 12 1d 11 0d 14 1e 1c 18 02 12 0f 13 1a 07 16 03 06 18 0a 19 03 04
page 77: 17 0e 1b 0b 0b 04 18 0c 0f 0e 14 0b 1c 0d 0b 0c 17 1e 1a 0e 09 0d 0a 07 05 1d 0f 03 0b 0c 0f 1e
page 78: 12 01 0c 07 02 05 01 13 05 12 12 15 0f 08 1b 0a 0e 13 0f 1d 1d 1c 1c 12 0f 15 06 08 01 05 00 14
page 79: 01 0c 0c 16 09 06 09 0e 1d 18 08 11 15 18 0d 0c 17 0d 07 0e 1d 04 0e 13 0e 06 00 15 13 00 09 17
page 7a: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 7b: 0b 0e 09 1d 1d 13 05 1e 03 12 04 1b 1d 18 09 07 17 09 0d 01 04 00 02 02 0d 11 16 04 0d 13 02 0d
page 7c: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 7d: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 7e: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
page 7f: 08 0f 1c 0a 13 17 13 17 06 1d 05 12 09 13 09 0d 15 08 16 0a 04 13 05 0d 0c 02 16 15 18 10 11 05
4KB disk空间,每个扇区(sector)大小为32B
disk 00: 03 0f 01 09 06 05 09 1b 07 14 16 14 05 0a 08 10 1e 06 11 02 0b 1d 1c 02 1a 16 1c 0e 0d 1b 10 17
disk 01: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk 02: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk 03: 15 08 0b 1a 13 1d 07 00 1a 12 04 07 1d 11 11 17 1b 0c 19 1a 1d 0e 1b 19 0e 16 04 17 0c 19 0a 18
disk 04: 14 1c 0f 0c 0a 1c 1c 13 16 0a 04 1e 14 08 1e 12 0a 1b 02 18 04 03 08 16 12 0d 04 1c 17 15 19 18
disk 05: 0a 01 14 14 14 13 17 00 13 13 19 17 01 12 0c 08 03 03 04 07 0e 12 08 06 10 0f 02 07 0c 1c 0e 07
disk 06: 07 11 1a 17 19 0e 1d 12 08 0a 0b 04 13 10 19 03 04 0a 06 07 0a 0a 0f 16 10 1b 01 14 14 1c 11 16
disk 07: 1a 12 09 10 11 15 00 04 02 17 0e 06 0b 14 0e 10 1d 0c 03 03 16 09 03 18 1b 03 13 16 07 19 15 0d
disk 08: 0b 07 0a 0f 10 02 09 0b 0c 0e 0d 02 06 13 19 0f 04 02 04 0b 11 14 10 11 0a 14 16 0c 19 17 1c 0e
disk 09: 03 0e 13 0b 05 1a 1d 0a 08 04 1e 11 10 09 18 05 14 14 1d 19 0d 16 0f 04 10 16 1c 11 08 0f 15 08
disk 0a: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk 0b: 0b 10 18 1b 13 14 1b 18 12 00 0c 02 1d 19 0a 03 11 0a 16 19 12 19 00 07 0d 0e 19 05 11 10 14 00
disk 0c: 04 06 11 13 0d 0c 13 08 18 13 12 00 0a 17 06 13 1e 0d 10 06 00 07 0e 12 19 08 0a 16 14 16 1b 02
disk 0d: 1a 0c 19 05 0b 14 13 10 1c 19 12 15 0c 0f 13 19 06 0e 05 06 01 03 17 0a 09 04 11 0c 01 0b 19 17
disk 0e: 01 1e 17 13 11 09 1b 1a 0e 06 14 16 1e 18 02 1e 1a 12 0a 16 12 02 11 00 18 19 16 02 12 0c 03 1b
disk 0f: 1d 0d 05 1a 01 01 16 02 17 02 1d 04 11 14 0b 02 0f 0a 1b 06 06 12 0d 08 04 1a 02 1c 1d 04 1c 08
disk 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk 11: 00 0d 14 19 08 02 0e 0a 0a 01 10 0d 15 15 0b 01 1e 06 16 11 00 16 1e 04 16 11 10 0d 0d 05 0b 14
disk 12: 13 04 17 19 13 02 08 08 0e 18 11 1e 15 04 1e 01 0a 13 0c 00 09 07 18 12 04 1b 06 09 1b 17 0d 10
disk 13: 0d 1e 19 16 13 06 01 1c 1c 00 1c 17 03 04 05 07 1b 0d 10 0d 0e 07 09 07 08 12 00 1d 0f 0f 0d 16
disk 14: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk 15: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk 16: 00 0a 15 1a 03 00 09 13 1c 0a 18 03 13 07 17 1c 0d 15 0a 1a 0c 12 1e 11 0e 02 1d 10 15 14 07 13
disk 17: 01 1d 00 08 14 11 16 09 17 01 01 07 19 03 16 1d 1e 02 07 01 17 0d 08 1b 12 1e 15 03 04 03 0b 18
disk 18: 0e 18 01 1a 04 05 06 16 15 1a 05 1c 04 04 0d 0a 17 14 01 03 10 03 11 16 13 00 1d 07 0e 10 1e 09
disk 19: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk 1a: 09 01 0d 15 00 05 03 0c 1b 08 0c 0a 04 02 06 01 0c 17 08 1e 0f 17 11 11 18 18 06 04 05 07 02 07
disk 1b: 10 12 1d 0f 1c 09 12 13 02 05 07 08 05 0c 03 04 1a 05 0d 02 18 08 14 19 0c 06 04 0e 12 14 12 07
disk 1c: 0f 13 01 0c 12 1a 01 09 09 05 0a 1e 0f 02 18 1e 1c 12 0c 19 11 05 14 0e 15 06 08 09 09 15 0a 14
disk 1d: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk 1e: 1a 0f 18 08 1d 0c 0d 0e 0a 17 11 12 12 09 0a 02 0b 08 0a 13 15 17 06 05 1e 0e 0e 02 15 05 01 07
disk 1f: 1c 19 17 09 16 08 01 0c 15 07 1e 09 13 03 02 18 12 03 0c 13 18 0d 0e 1b 12 17 11 15 19 19 05 15
disk 20: 0c 02 01 1c 12 19 07 11 10 03 19 1d 1c 05 12 1d 1e 0f 1b 1a 1b 15 1d 15 03 06 06 04 0f 09 09 0a
disk 21: 19 05 15 11 11 00 03 09 13 0b 07 0b 0e 12 11 0b 0d 18 12 1e 12 08 0f 0e 1a 16 1b 16 07 08 05 1b
disk 22: 0a 1c 16 04 18 06 06 13 06 0b 05 15 13 1c 02 1e 09 00 0a 1d 08 0f 08 14 0b 1c 03 13 1e 0b 10 17
disk 23: 0b 1d 10 14 15 1c 0c 18 0d 0a 16 13 09 12 03 1c 00 02 15 18 1c 0d 1d 0f 02 09 0f 1b 01 10 11 1a
disk 24: 18 09 01 19 0a 0e 01 14 19 06 1c 13 10 06 1b 0d 01 1c 0b 09 01 01 01 1b 1a 0e 02 04 1d 11 18 02
disk 25: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk 26: 07 1e 19 1a 00 1d 19 19 1c 0c 02 11 10 06 17 1e 16 18 17 19 04 12 12 1b 0d 08 10 0f 00 01 05 0f
disk 27: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk 28: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk 29: 00 0e 18 15 14 00 03 16 19 05 19 1d 12 11 01 0c 0e 1d 0d 00 11 02 1e 14 16 15 1d 0c 08 02 00 0e
disk 2a: 0c 1d 0d 08 18 1c 01 1e 16 1e 14 00 15 07 1e 1c 1a 15 07 1c 19 13 05 06 11 12 0c 19 15 07 00 12
disk 2b: 0c 0a 08 1a 0d 10 0c 0a 0c 1b 08 15 06 1c 0e 09 0d 16 1a 19 04 1d 0e 1d 05 1d 05 1a 08 1a 05 1a
disk 2c: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk 2d: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk 2e: 1a 0c 19 17 14 00 1c 0b 02 00 1a 0c 12 1e 1c 13 16 13 0c 03 06 09 06 1c 06 07 15 1e 13 09 19 04
disk 2f: 00 04 16 15 14 04 03 0f 0f 03 1d 19 1b 05 14 19 0a 1e 02 18 04 07 05 03 14 07 18 17 1d 18 1e 11
disk 30: 17 09 1a 1a 05 14 13 05 11 0e 07 16 1b 1b 03 0b 02 0e 14 15 01 03 13 19 12 02 02 11 06 17 09 19
disk 31: 1d 0a 12 0e 0c 07 0b 19 0e 1e 1d 08 04 15 01 06 09 07 0e 1d 0f 09 05 0f 00 06 10 1a 0b 0a 09 1a
disk 32: 0f 19 10 15 1d 03 16 18 13 16 09 03 04 19 0f 05 0e 10 0e 00 05 12 0a 18 09 18 11 0a 09 0c 02 18
disk 33: 00 1c 19 04 19 0a 12 0f 0d 12 1c 0c 00 1a 1d 19 04 0d 17 1a 1a 1c 13 04 0d 1d 04 1c 0b 12 19 02
disk 34: 1b 1d 1e 01 19 1b 04 1d 03 06 1d 19 11 08 07 0c 00 13 01 17 02 00 08 17 19 0f 1d 03 0a 16 0a 04
disk 35: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk 36: 0f 09 14 18 03 0d 14 12 1b 1a 10 1b 19 04 00 0b 0b 00 19 10 1e 19 19 0c 1d 16 03 11 06 13 0c 01
disk 37: 03 01 0a 03 08 1e 07 18 18 02 0c 04 0a 04 04 16 01 0e 11 0d 07 13 03 05 09 0d 06 14 08 0e 18 14
disk 38: 0a 0f 0a 1a 16 0b 03 16 10 04 01 13 10 11 0c 0e 0c 02 10 03 14 17 05 06 07 12 0c 1b 10 10 06 02
disk 39: 16 10 17 0c 01 0a 1b 18 1c 12 0a 0e 0f 07 1b 01 0a 1e 11 1d 00 19 13 1a 16 1e 0a 17 1a 15 18 19
disk 3a: 05 0f 18 01 07 09 09 14 1c 12 14 0f 0e 16 15 0b 0e 02 09 17 1e 0e 0d 04 15 1b 01 14 06 04 14 08
disk 3b: 1c 01 02 1e 09 02 01 02 06 12 01 1a 1d 0a 19 12 00 19 1e 16 16 0c 1a 00 0b 19 05 05 01 00 1b 17
disk 3c: 0c 06 0c 08 0f 14 1b 04 19 17 13 05 02 04 09 09 19 0a 05 1e 15 18 0f 03 12 0d 09 02 09 08 0b 16
disk 3d: 1b 0f 17 0c 1e 0a 09 15 15 0b 0c 06 13 07 10 01 0e 1a 0c 12 05 00 07 05 19 08 1d 15 1a 03 0c 0a
disk 3e: 19 13 1a 0f 10 13 16 16 11 0c 08 16 01 1d 1e 1b 1b 1d 12 19 05 0e 00 0a 0d 05 16 05 04 17 1c 1c
disk 3f: 12 14 07 04 1c 07 00 08 10 13 16 04 0f 09 16 0b 19 05 1e 10 0d 16 0b 01 0d 08 14 10 19 0f 04 04
disk 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk 41: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk 42: 15 1c 08 1b 02 01 1c 08 16 06 12 0a 16 17 1b 18 0d 03 14 0d 15 1e 0a 0d 0a 09 07 0a 0b 0b 1d 0b
disk 43: 1e 05 0b 08 1b 0e 1c 15 1e 12 1e 05 0d 11 1e 11 1a 13 0f 0c 0b 09 06 1d 10 1a 1b 1d 07 0a 13 09
disk 44: 13 00 00 0e 15 1d 10 14 1c 03 03 0e 11 09 0b 1a 10 11 1c 12 0e 05 05 0f 01 0f 1b 0c 19 17 19 0a
disk 45: 13 0a 1b 1d 0e 0f 0d 15 01 09 18 06 10 06 03 0c 11 08 0a 0d 16 04 12 12 1e 12 0c 0e 13 10 14 09
disk 46: 05 18 08 1a 16 09 0f 09 1d 1a 10 15 02 18 0b 08 0a 1b 03 1e 0e 13 0f 01 17 0c 0e 19 09 04 01 15
disk 47: 00 04 1b 01 1c 14 17 14 17 16 1b 0b 0b 14 10 15 0b 0c 0c 01 16 11 1b 16 0c 18 01 13 1c 1b 09 08
disk 48: 06 08 04 16 0f 0a 1c 06 03 13 0c 0b 12 12 00 03 01 01 06 1c 02 05 11 0b 14 06 15 02 0a 0d 13 00
disk 49: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk 4a: 09 18 00 1a 03 00 04 19 01 1c 09 06 14 07 11 17 14 09 13 13 00 0e 13 0b 04 1c 00 1a 05 1e 1c 02
disk 4b: 10 0e 1e 03 1b 00 17 0e 10 01 1d 05 19 1e 1b 13 04 12 14 1c 15 05 01 19 0a 0a 0a 1c 19 18 0f 1e
disk 4c: 17 0e 11 1c 08 14 16 19 11 1e 1d 0f 0e 03 12 09 15 16 1a 17 19 1a 1e 0a 12 11 11 14 1d 00 09 0e
disk 4d: 12 1d 00 10 03 19 1d 11 09 1b 03 18 01 18 17 18 14 05 19 06 19 13 1a 10 00 1c 11 0d 0e 11 18 09
disk 4e: 11 05 1a 0a 04 09 17 0f 13 08 13 07 00 16 0d 09 10 0b 19 1e 14 01 14 00 0c 02 1a 00 15 0e 0f 08
disk 4f: 00 1a 16 06 1d 1e 13 19 1e 09 05 0a 1d 09 0d 1a 05 0e 08 0d 1d 0d 01 1b 1a 0a 01 0f 13 0d 02 02
disk 50: 07 00 1a 17 1d 04 1e 0a 11 00 18 1c 1d 04 04 10 0c 00 08 18 17 07 1c 0b 17 0a 1e 14 0b 02 05 1d
disk 51: 06 0c 15 03 06 02 1c 17 04 07 14 1e 06 1a 0d 1a 00 10 0c 18 1d 03 17 0b 1b 1a 1e 0f 0f 06 01 1c
disk 52: 01 14 01 01 07 1a 17 08 00 08 1c 11 02 16 13 1a 1e 1a 15 1b 13 06 0f 09 07 05 02 08 1b 0f 10 03
disk 53: 03 05 14 16 01 0f 0e 0d 17 1e 00 1c 16 0b 07 12 10 1d 1e 18 1b 15 18 10 15 0d 1c 1c 1e 07 06 13
disk 54: 1a 12 13 0e 0f 14 08 09 13 13 05 06 11 19 09 05 01 10 10 12 10 14 1a 09 18 07 0a 0f 10 16 00 16
disk 55: 05 08 0e 10 09 1c 17 13 02 19 19 19 19 05 1b 09 08 00 04 0a 07 1b 01 0d 0b 1a 19 0a 15 0e 07 15
disk 56: 17 1a 05 06 0f 0f 19 10 1b 18 0f 19 0e 0a 0d 0e 14 01 16 1e 0e 02 06 03 07 18 00 1b 1d 05 05 1d
disk 57: 1c 13 09 18 1a 19 10 0f 19 15 02 17 19 0f 06 0e 0f 19 0f 1a 0d 05 0c 18 12 1c 15 15 1c 16 10 1a
disk 58: 10 0e 11 08 00 13 1b 0a 0d 15 01 07 17 14 01 0b 12 03 1d 05 12 02 07 04 17 1e 1b 06 13 1c 14 01
disk 59: 17 13 14 0c 1b 05 05 16 06 10 1b 0b 16 1a 14 02 10 18 1e 0e 01 0a 0f 1c 02 1c 0d 03 17 03 04 07
disk 5a: 1b 14 11 09 0b 13 18 0a 14 0b 13 01 03 14 1a 09 16 17 02 14 0d 06 06 19 14 0c 0e 04 1e 10 02 0c
disk 5b: 14 1e 1c 09 0d 13 07 14 1c 09 0b 0d 0b 13 01 18 08 13 0d 12 11 10 04 00 03 0b 07 0f 0e 0f 04 0f
disk 5c: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk 5d: 09 0d 07 1a 0b 0b 0c 11 08 19 14 18 02 0b 06 05 0a 1a 0b 01 1a 18 11 01 04 0b 0c 09 17 1d 0d 05
disk 5e: 00 13 19 1a 17 0c 15 15 01 01 0a 13 0b 13 17 17 08 1e 11 13 13 14 04 14 0d 1e 16 1e 1e 19 12 12
disk 5f: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk 60: 12 05 14 15 08 0b 09 1e 15 0b 06 0a 07 19 05 0b 10 07 05 1d 1c 00 10 01 0d 03 18 06 09 02 1e 0f
disk 61: 11 10 16 03 1c 0e 15 12 12 16 02 0f 06 0c 0f 0a 0c 16 01 1d 12 05 11 02 0f 15 0d 09 14 1c 1b 0b
disk 62: 1a 17 0e 15 03 17 08 18 13 0f 10 02 01 00 18 04 03 0b 1e 1b 09 19 02 0c 11 1e 01 0c 1c 00 12 0c
disk 63: 01 0b 1e 0a 0f 07 02 03 0d 13 10 10 03 01 0b 1d 05 08 0e 1c 1d 00 14 07 14 17 1b 15 1a 18 04 01
disk 64: 02 17 15 04 11 18 07 02 03 09 0b 19 0e 17 07 15 1e 0c 1a 01 02 01 1a 19 17 1b 09 17 1b 12 18 19
disk 65: 18 0c 0c 11 0d 13 19 1c 13 10 06 0c 06 16 10 04 05 00 03 13 13 10 18 10 07 17 0b 01 06 0d 13 18
disk 66: 08 1b 04 0a 06 0d 10 02 05 13 1a 02 1d 0f 18 01 0b 0e 11 1d 0f 1c 1e 1b 0a 1a 09 16 15 12 1b 18
disk 67: 00 1e 00 12 1c 19 09 19 0c 0f 0b 0a 12 18 15 17 00 10 0a 06 1c 06 05 05 14 12 0f 12 1d 1a 1c 01
disk 68: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk 69: 1c 0d 03 16 0d 0f 1b 10 04 0b 1a 0f 02 0f 01 1b 07 16 1e 1b 10 0a 15 10 1c 07 15 04 0c 18 0b 08
disk 6a: 0c 0d 0c 04 12 0f 18 12 0a 1a 08 09 1a 1e 06 06 11 00 19 0d 16 00 18 11 00 01 0c 13 0e 13 1b 0b
disk 6b: 09 06 07 1d 05 06 18 1a 07 10 0b 1a 12 0e 15 1e 13 19 19 08 0c 06 12 18 0c 0a 0d 16 01 1c 14 11
disk 6c: 04 1e 16 19 07 00 12 17 1c 04 06 13 19 09 0c 15 02 0e 08 01 0b 09 1b 11 07 09 10 1e 08 0b 03 02
disk 6d: 0f 02 0d 0d 18 17 04 13 0f 00 04 14 0b 1d 0f 15 04 0e 16 19 06 0c 0e 0d 0e 09 19 1c 0a 13 0b 11
disk 6e: 0f 09 18 16 10 1e 17 0f 1c 0f 1a 01 04 06 07 04 01 11 12 16 13 0e 0d 00 13 13 13 1d 15 06 12 11
disk 6f: 0f 07 19 11 11 15 0c 15 16 19 01 09 12 14 12 18 0a 13 10 1a 09 10 07 1c 1d 09 1a 0d 09 0b 17 1e
disk 70: 10 18 10 15 19 02 02 01 1b 06 0f 0b 0c 0a 1a 03 16 0f 12 0e 18 10 0c 0c 0d 11 07 1e 1a 0a 10 14
disk 71: 07 11 06 1d 13 17 1b 0e 10 0d 13 0a 19 0b 17 00 0b 0e 1b 16 16 13 1b 16 13 1c 17 00 1a 05 17 0c
disk 72: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk 73: 1e 14 05 18 0b 08 12 0d 10 1e 01 1b 0d 1a 1b 16 0e 10 12 0c 16 1a 0a 1d 11 09 05 16 08 19 1d 0a
disk 74: 14 05 01 0d 0d 02 07 0a 0b 13 04 19 0f 02 03 1d 00 14 05 14 1e 1c 0d 0d 08 0d 1d 01 0e 1b 03 03
disk 75: 18 05 12 19 0b 19 10 16 19 03 18 0e 1a 04 09 10 14 0a 15 1c 0a 02 0b 00 04 14 08 03 1c 05 0a 0f
disk 76: 10 1a 06 09 1c 12 07 04 07 0f 09 16 08 02 1b 14 1e 05 1a 00 10 0e 03 19 08 1b 15 1a 1a 18 16 00
disk 77: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk 78: 04 1c 10 1d 1a 09 0e 02 0b 1c 03 07 01 1a 15 12 0e 08 12 15 18 05 13 15 12 16 10 1d 14 13 00 04
disk 79: 1d 1e 1c 11 0c 16 10 07 18 05 14 1d 10 04 0b 0f 0d 04 12 1b 1e 05 14 00 04 0f 12 07 16 1b 1e 03
disk 7a: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk 7b: 0c 02 18 16 00 0f 19 1d 0a 0e 0d 17 15 0e 05 12 00 0b 09 02 03 18 0e 03 1c 09 0d 15 04 18 1a 0f
disk 7c: 11 1e 1a 1e 08 15 0d 1b 13 0c 1d 1a 0f 0d 0c 0c 09 05 19 03 13 04 1a 07 03 00 1c 18 09 1a 0f 06
disk 7d: 0a 03 1c 15 15 0a 06 16 08 13 02 0d 13 11 13 07 0e 02 02 06 14 18 12 0b 00 15 1a 00 13 0a 0c 16
disk 7e: 18 0b 0f 0c 10 1b 02 1b 0f 04 1c 06 00 0e 11 01 13 11 11 02 0b 04 0e 0b 0a 1b 13 03 14 1e 0b 17
disk 7f: 07 1a 19 1d 15 0f 1d 01 1c 17 06 09 1a 03 08 04 06 04 0a 1b 12 04 03 1e 07 08 05 08 1d 0b 0c 0a
PDBR content: 0xd80 [This means the base address of page directory table is held in here]
Virtual Address 6653: Virtual Address 1c13: Virtual Address 6890: Virtual Address 0af6: Virtual Address 1e6f:
格式如下
Virtual Address 0bd6:
--> pde index:0x2 pde contents:(valid 1, pfn 0x21)
--> pte index:0x1e pte contents:(valid 1, pfn 0x79)
--> To Physical Address 0x001 --> Value: 0e
Virtual Address 106f:
--> pde index:0x3 pde contents:(valid 1, pfn 0x2d)
--> pte index:0x14 pte contents:(valid 0, pfn 0x06)
--> To Disk Sector Address 0x127 --> Value: 2c
请手工计算后回答下列虚地址是否有合法对应的物理内存,请给出对应的pde index, pde contents, pte index, pte contents,the value of addr in phy page OR disk sector。
1) Virtual Address 6653:
2) Virtual Address 1c13:
3) Virtual Address 6890:
4) Virtual Address 0af6:
5) Virtual Address 1e6f:
请写出一个translation程序(可基于rust、python、ruby、C、C++、LISP、JavaScript等),输入是一个虚拟地址,依据上述数据自动计算出对应的pde index, pde contents, pte index, pte contents,the value of addr in phy page OR disk sector。
提示:
页大小(page size)为32 Bytes(2^5)
页表项1B
8KB的虚拟地址空间(2^13)
一级页表:2^5
PDBR content: 0xd80(1101_100 0_0000, page 0x6c)
page 6c: e1(1110 0001) b5(1011 0101) a1(1010 0001) c1(1100 0001)
b3(1011 0011) e4(1110 0100) a6(1010 0110) bd(1011 1101)
二级页表:2^5
页内偏移:2^5
4KB的物理内存空间(physical memory)(2^12)
物理帧号:2^7
Virtual Address 0330(0 00000 11001 1_0000):
--> pde index:0x0(00000) pde contents:(0xe1, 11100001, valid 1, pfn 0x61(page 0x61))
page 6c: e1 b5 a1 c1 b3 e4 a6 bd 7f 7f 7f 7f 7f 7f 7f 7f
7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f
page 61: 7c 7f 7f 4e 4a 7f 3b 5a 2a be 7f 6d 7f 66 7f a7
69 96 7f c8 3a 7f a5 83 07 e3 7f 37 62 30 7f 3f
--> pte index:0x19(11001) pte contents:(0xe3, 1 110_0011, valid 1, pfn 0x63)
page 63: 16 00 0d 15 00 1c 1d 16 02 02 0b 00 0a 00 1e 19
02 1b 06 06 14 1d 03 00 0b 00 12 1a 05 03 0a 1d
--> To Physical Address 0xc70(110001110000, 0xc70) --> Value: 02
Virtual Address 1e6f(0 001_11 10_011 0_1111):
--> pde index:0x7(00111) pde contents:(0xbd, 10111101, valid 1, pfn 0x3d)
page 6c: e1 b5 a1 c1 b3 e4 a6 bd 7f 7f 7f 7f 7f 7f 7f 7f
7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f
page 3d: f6 7f 5d 4d 7f 04 29 7f 1e 7f ef 51 0c 1c 7f 7f
7f 76 d1 16 7f 17 ab 55 9a 65 ba 7f 7f 0b 7f 7f
--> pte index:0x13 pte contents:(0x16, valid 0, pfn 0x16)
disk 16: 00 0a 15 1a 03 00 09 13 1c 0a 18 03 13 07 17 1c
0d 15 0a 1a 0c 12 1e 11 0e 02 1d 10 15 14 07 13
--> To Disk Sector Address 0x2cf(0001011001111) --> Value: 1c
扩展思考题
(1)请分析原理课的缺页异常的处理流程与lab3中的缺页异常的处理流程(分析粒度到函数级别)的异同之处。
(2)在X86-32虚拟页式存储系统中,假定第一级页表的起始地址是0xE8A3 B000,进程地址空间只有第一级页表的4KB在内存。请问这4KB的虚拟地址是多少?它对应的第一级页表项和第二级页表项的物理地址是多少?页表项的内容是什么?
v9-cpu相关
[challenge]在v9-cpu上,设定物理内存为64MB。在os.c,os2.c,os4.c,os5的基础上实现os6.c,可体现基本虚拟内存管理机制,内核空间的映射关系: kernel_virt_addr=0xc00000000+phy_addr,内核空间大小为64MB,虚拟空间范围为0xc0000000--x0xc4000000, 物理空间范围为0x00000000--x0x04000000;用户空间的映射关系:user_virt_addr=0x40000000+usr_phy_addr,用户空间可用大小为2MB,虚拟空间范围为0x40000000--0x40200000,物理空间范围为0x02000000--x0x02200000,但只建立低地址的1MB的用户空间页表映射。可参考v9-cpu git repo的testing分支中的os.c和mem.h。修改代码为os5.c
- (1)在建立页表后,进入用户态,能够在用户态访问基于用户空间的映射关系
- (2)在用户态和内核态产生各种也访问的错误,并能够通过中断服务例程进行信息提示
- (3)内核通过中断服务例程在感知到用户态访问高地址的空间,且没有超过0x40200000时,内核动态建立页表,确保用户态程序可以正确运行
如果一个用户态进程访问一个合法用户地址,产生内存访问异常后,v9-cpu会把产生异常的pc存在哪里?中断服务例程应该如何设计,可以返回到用户态产生错误的地址再次执行?