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 虚拟存储的需求背景

  1. 寄存器、高速缓存、内存、外存的访问特征?

  2. 如何理解计算机中的存储层次结构所的理想状态是“均衡繁忙”状态?

  3. 在你写程序时遇到过内存不够的情况吗?尝试过什么解决方法?

8.2 覆盖和交换

  1. 什么是覆盖技术?使用覆盖技术的程序开发者的主要工作是什么?

  2. 什么是交换技术?覆盖与交换有什么不同?

  3. 覆盖和交换技术在现代计算机系统中还有需要吗?可能用在什么地方?

  4. 如何分析内核模块间的依赖关系?

  5. 如何获取内核模块间的函数调用列表?

8.3 局部性原理

  1. 什么是时间局部性、空间局部性和分支局部性?

  2. 如何提高程序执行时的局部性特征?

  1. 排序算法的局部性特征?

8.4 虚拟存储概念

  1. 什么是虚拟存储?它与覆盖和交换的区别是什么?它有什么好处和挑战?

  2. 虚拟存储需要什么样的支持技术?

8.5 虚拟页式存储

  1. 什么是虚拟页式存储?缺页中断处理的功能是什么?

  2. 为了支持虚拟页式存储的实现,页表项有什么修改?

  1. 页式存储和虚拟页式存储的区别是什么?

8.6 缺页异常

  1. 缺页异常的处理流程?
  1. 虚拟页式存储管理中有效存储访问时间是如何计算的?

个人思考题

内存访问局部性的应用程序例子


(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_faulthttps://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存在哪里?中断服务例程应该如何设计,可以返回到用户态产生错误的地址再次执行?

results matching ""

    No results matching ""