版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、- 1 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科11.1 磁盘结构磁盘结构11.2 磁盘调度磁盘调度(io11.3 磁盘编址磁盘编址11.4 文件概念及实现方法文件概念及实现方法主要内容主要内容第第1111章章 磁盘与文件磁盘与文件- 2 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科认识计算机外设与计算机认识计算机外设与计算机!pci总线总线图形控制器图形控制器ide控制器控制器总线控制器总线控制器cpu-内存总线内存总线对我们来说,磁盘无疑是对我们来说,磁盘无疑是最重要的设备,我们下载最重要的设备,我们下载的
2、电影放在这里,我们写的电影放在这里,我们写的论文也放在这里的论文也放在这里- 3 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科11.1 磁盘结构磁盘结构首先需要了解磁盘首先需要了解磁盘! !- 4 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科认识一下磁盘认识一下磁盘- 5 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科认识一下磁盘认识一下磁盘磁盘面磁盘面柱面柱面c c扇区扇区s s磁道磁道t t旋转旋转磁臂磁臂转轴转轴机械臂杆机械臂杆读写磁头读写磁头盘片高速旋转产生气流非常强,
3、盘片高速旋转产生气流非常强,足以使磁头托起,并与盘面保足以使磁头托起,并与盘面保持一个微小的距离。持一个微小的距离。现在的水平已经达到现在的水平已经达到 0.005m0.01m,这只是人,这只是人类头发直径的千分之一。类头发直径的千分之一。- 6 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科认识一下磁盘认识一下磁盘磁道磁道扇区扇区盘面盘面画一个示意图画一个示意图:看看俯视图看看俯视图:磁盘的数据单位磁盘的数据单位是扇区是扇区扇区大小:扇区大小:512字节字节扇区是磁盘的寻址扇区是磁盘的寻址单位、访问单位单位、访问单位扇区的大小是传输时间和扇区的大小是传输
4、时间和碎片浪费的折衷碎片浪费的折衷所以,磁盘被称为块设备所以,磁盘被称为块设备!- 7 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科磁盘的磁盘的i/o总线控制器总线控制器ide控制器控制器让我们仔细想想磁盘如何让我们仔细想想磁盘如何读读/写写1一个字节一个字节?(1)(2)(3)n分析磁盘分析磁盘i/o的重点的重点在于第在于第2步步!磁道磁道内存缓存内存缓存读出了一读出了一个字节个字节写写(修改修改)一个字节一个字节磁盘磁盘i/o: 缓存队列缓存队列 控制器控制器 寻道寻道 旋转旋转 传输传输!- 8 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统
5、统 for 2015级级本科本科磁盘磁盘i/o的分析的分析n整理磁盘整理磁盘i/o的过程:的过程:进程进程请求队列请求队列磁盘控制器磁盘控制器磁盘磁盘我们最关心的磁盘什么时候读我们最关心的磁盘什么时候读/写完写完?磁盘访问延迟磁盘访问延迟 = 队列时间队列时间 + 控制器时间控制器时间 + 寻道时间寻道时间 + 旋转时间旋转时间 + 传输时间传输时间扇区扇区磁道磁道head12 ms to 8 ms(半周半周): 8 ms to 4 ms约约0.25ms前两项可前两项可以忽略以忽略!关键所在关键所在: 最小化寻道时间和旋转延迟最小化寻道时间和旋转延迟!- 9 -曲明成曲明成 博士后博士后/硕导
6、硕导操作系操作系统统 for 2015级级本科本科i/o过程是解开许多磁盘问题的钥匙过程是解开许多磁盘问题的钥匙n分析磁盘扇区尺寸:分析磁盘扇区尺寸:磁盘访问延迟磁盘访问延迟 = 队列时间队列时间 + 控制器时间控制器时间 + 寻道时间寻道时间 + 旋转时间旋转时间 + 传输时间传输时间12 8 ms8 4 ms约约0.25ms前两项可以忽略前两项可以忽略!扇区尺寸为扇区尺寸为1 byte:没有碎片;传输速度:没有碎片;传输速度100 byte/秒秒(寻道时间寻道时间10ms)扇区尺寸扇区尺寸1 kbyte:平均碎片:平均碎片0.5k;传输;传输100 kbyte/秒秒扇区尺寸扇区尺寸1 mb
7、yte:平均碎片:平均碎片0.5m;传输;传输4 mbyte/秒秒扇区大小扇区大小空间利用率空间利用率传输速度传输速度- 10 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科i/o过程是解开许多磁盘问题的钥匙过程是解开许多磁盘问题的钥匙n磁盘调度:磁盘调度:磁盘访问延迟磁盘访问延迟 = 队列时间队列时间 + 控制器时间控制器时间 + 寻道时间寻道时间 + 旋转时间旋转时间 + 传输时间传输时间12 ms to 8 ms8 ms to 4 ms约约0.25ms前两项可以忽略前两项可以忽略!多个磁盘访问请求出现在请求队列怎么办多个磁盘访问请求出现在请求队列怎么
8、办? 调度调度调度的目标是什么调度的目标是什么? 调度时主要考察什么调度时主要考察什么?目标当然是平均目标当然是平均访问延迟小访问延迟小!寻道时间是主要寻道时间是主要矛盾矛盾!磁盘调度磁盘调度: 输入多个磁道请求,给出服务顺序输入多个磁道请求,给出服务顺序!- 11 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科11.2 磁盘调度磁盘调度磁盘读写请求频繁发生,磁盘读写请求频繁发生,如何尽快响应?如何尽快响应?- 12 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科fcfs磁盘调度磁盘调度n最直观、最公平的调度:最直观、
9、最公平的调度:一个实例一个实例: 磁头开始磁道位置磁头开始磁道位置=53;请求队列请求队列=98, 183, 37, 122, 14, 124, 65, 670 143753656798122124183199磁头在长途奔磁头在长途奔袭袭!fcfs: 磁头共磁头共移动移动640磁道磁道!在移动过在移动过程中把经程中把经过的请求过的请求处理了处理了?!183-53=130183-37=146122-37=85122-14=108124-14=110124-65=5967-65=2130+146+85+108+110+59+2=640- 13 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统
10、 for 2015级级本科本科sstf磁盘调度磁盘调度nshortest-seek-time first最短寻道时间优先:最短寻道时间优先:继续该实例继续该实例: 磁头开始位置磁头开始位置=53;请求队列请求队列=98, 183, 37, 122, 14, 124, 65, 670 143753656798122124183199如果在处理如果在处理183之前之前又来一些中间磁道又来一些中间磁道的请求,则的请求,则sstf: 磁头共移动磁头共移动236(14+53+169)磁磁道,要少很多道,要少很多!sstf存在饥饿问题存在饥饿问题- 14 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系
11、统统 for 2015级级本科本科scan磁盘调度磁盘调度(扫描扫描/电梯算法电梯算法)nsstf+中途不回折:每个请求都有处理机会中途不回折:每个请求都有处理机会继续该实例继续该实例: 磁头开始位置磁头开始位置=53;请求队列请求队列=98, 183, 37, 122, 14, 124, 65, 670 143753656798122124183199这些请求的等待时这些请求的等待时间较长,只因所在间较长,只因所在方向不够幸运方向不够幸运!根据其特征,根据其特征,scan也被称为也被称为电梯算法电梯算法!scan: 磁头共移动磁头共移动53+183=236磁道,磁道,和和sstf一样一样!s
12、can导致延迟不均导致延迟不均- 15 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科c-scan磁盘调度磁盘调度nscan+直接移到另一端:两端请求都能很快处理直接移到另一端:两端请求都能很快处理继续该实例继续该实例: 磁头开始位置磁头开始位置=53;请求队列请求队列=98, 183, 37, 122, 14, 124, 65, 670 143753656798122124183199cscan中的中的circular是环的意思是环的意思!cscan: 磁头共移磁头共移动动53+199+134磁道磁道!其中其中199会较快会较快!140(183199)没
13、有必要没有必要- 16 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科c-look磁盘调度磁盘调度ncscan+看一看:前面没有请求就回移看一看:前面没有请求就回移继续该实例继续该实例: 磁头开始位置磁头开始位置=53;请求队列请求队列=98, 183, 37, 122, 14, 124, 65, 670 143753656798122124183199look和和c-look是比较合理的缺省算法是比较合理的缺省算法操作系统中所有的算法都要因地制宜操作系统中所有的算法都要因地制宜!- 17 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2
14、015级级本科本科c-look磁盘调度磁盘调度继续该实例继续该实例: 磁头开始位置磁头开始位置=53;请求队列请求队列=98, 183, 37, 122, 14, 124, 65, 670 143753 65 6798122 124183199时间时间柱面柱面headrear53-37-14- 183-124-122-98-67-651)磁道请求队列的的形式)磁道请求队列的的形式2)新磁道请求如何入队列)新磁道请求如何入队列ci+1xci+1ci- 18 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科11.3 磁盘编址磁盘编址如何管理磁盘,如何管理磁盘,首
15、先对磁盘的扇区进行编号!首先对磁盘的扇区进行编号!l 出厂的磁盘需要低级格式化出厂的磁盘需要低级格式化(物理格式化物理格式化): 将连续的磁性记录材料分成物理扇区将连续的磁性记录材料分成物理扇区l 扇区扇区 = 头头 + 数据区数据区 + 尾尾l 头、尾中包含只有磁盘控制器能识别的头、尾中包含只有磁盘控制器能识别的扇区扇区号码和纠错码号码和纠错码等信息等信息什么是磁盘的逻辑格式化?什么是磁盘的逻辑格式化?第第12章章 文件系统!文件系统!- 19 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科i/o过程是解开许多磁盘问题的钥匙过程是解开许多磁盘问题的钥匙n
16、磁盘寻址:磁盘寻址:对于内存,我们对于内存,我们往往更关心存放内容的地址往往更关心存放内容的地址实际上就是扇区怎么编址实际上就是扇区怎么编址?显然这个地址是显然这个地址是(盘面盘面 + 磁道磁道 + 扇区扇区)寻道和旋转费时多寻道和旋转费时多 花最少时间访问最多扇花最少时间访问最多扇区的方案区的方案: 磁臂不动、磁盘旋转一周,访问磁磁臂不动、磁盘旋转一周,访问磁头遇到的所有扇区头遇到的所有扇区。磁臂磁臂让这些扇区的编址邻近让这些扇区的编址邻近:因为局部性因为局部性!柱面柱面!扇区编址扇区编址(1): chs(cylinder/head/sector)扇区编址扇区编址(2): 扇区编号(扇区编号
17、(logical block addressing lba)- 20 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科已知已知a,则,则 s = a%s;h = a/s%h;c = a/(h*s)扇区编号扇区编号现代磁盘的常见寻址方式现代磁盘的常见寻址方式 磁臂磁臂扇区编号扇区编号,按照,按照(c,h,s)将将扇区形成一维扇区数组,扇区形成一维扇区数组,数组索引就是扇区编号数组索引就是扇区编号柱面柱面0柱面柱面1柱面柱面c-1整个磁盘整个磁盘磁道磁道0磁道磁道1磁道磁道h-1一个柱面一个柱面扇区扇区0扇区扇区1扇区扇区s-1一个磁道一个磁道某扇区某扇区(c,
18、h,s)编号编号a = c*h*s + h*s + s 扇区总数扇区总数 = c*h*s体现了局部性体现了局部性!柱面编号柱面编号c(0cc-1)柱面内磁道柱面内磁道(磁头磁头)编号编号h(0hh-1)磁道内扇区编号磁道内扇区编号s(0ss-1)- 21 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科扇区编号扇区编号现代磁盘的常见寻址方式现代磁盘的常见寻址方式nchs(cylinder/head/sector)模式模式n以前以前, 硬盘的容量还非常小硬盘的容量还非常小, 采用与软盘类似的结构生产采用与软盘类似的结构生产硬盘硬盘.n也就是也就是硬盘盘片的每一
19、条磁道都具有相同的扇区数硬盘盘片的每一条磁道都具有相同的扇区数n由此产生了所谓的由此产生了所谓的3d参数参数 (disk geometry).:n磁柱面数磁柱面数(cylinders),头数头数(heads), 扇区数扇区数(sectors per track),以及相应的寻址方式以及相应的寻址方式. - 22 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科扇区编号扇区编号现代磁盘的常见寻址方式现代磁盘的常见寻址方式nchs(cylinder/head/sector)模式模式n磁头数磁头数(heads) 表示硬盘总共有几个磁头表示硬盘总共有几个磁头,也就是
20、有几面盘片也就是有几面盘片, 最大最大为为 256 (用用 8 个二进制位存储个二进制位存储);n柱面数柱面数(cylinders) 表示硬盘每一面盘片上有几条磁道表示硬盘每一面盘片上有几条磁道, 最大为最大为 1024(用用 10 个二进制位存储个二进制位存储); n扇区数扇区数(sectors per track) 表示每一条磁道上有几个扇区表示每一条磁道上有几个扇区, 最大为最大为63 (用用 6 个二进制位存储个二进制位存储). n每个扇区一般是每个扇区一般是 512个字节;个字节;n 所以磁盘最大容量为所以磁盘最大容量为: n256 * 1024 * 63 * 512 / 10485
21、76 = 8064 mb - 23 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科扇区编号扇区编号现代磁盘的常见寻址方式现代磁盘的常见寻址方式nchs(cylinder/head/sector)模式模式n这种方式会浪费很多磁盘空间这种方式会浪费很多磁盘空间 (与软盘一样与软盘一样)n为了进一步提高硬盘容量为了进一步提高硬盘容量, 产生了产生了等密度结构硬盘,外圈磁道的扇等密度结构硬盘,外圈磁道的扇区比内圈磁道多区比内圈磁道多.n采用这种结构后采用这种结构后, 硬盘不再具有实际的硬盘不再具有实际的3d参数参数, 寻址方式也改为线寻址方式也改为线性寻址性寻址,
22、 即以扇区为单位进行寻址即以扇区为单位进行寻址n为了与使用为了与使用chs寻址的兼容寻址的兼容 (如使用如使用bios int13h接口的软件接口的软件), 在在硬硬盘控制器内部安装了一个地址翻译器盘控制器内部安装了一个地址翻译器, 由它负责将老式由它负责将老式3d参数翻译参数翻译成新的线性参数成新的线性参数.- 24 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科ide硬盘控制器的寄存器硬盘控制器的寄存器n有一组命令寄存器组有一组命令寄存器组(task file registers), i/o的端口地址为的端口地址为1f0h1f7hn1f2h 扇区计数寄
23、存器扇区计数寄存器 1f3h 扇区号,或扇区号,或lba块地址块地址07 1f4h 柱面数低柱面数低8位,或位,或lba块地址块地址815 1f5h 柱面数高柱面数高8位,或位,或lba块地址块地址1623 1f6h 驱动器驱动器/磁头,或磁头,或lba块地址块地址2427 1f7h 状态寄存器状态寄存器 命令寄存器命令寄存器 nchs或或lba在磁头寄存器中指定在磁头寄存器中指定- 25 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科想一想想一想磁盘驱动应如何实现?磁盘驱动应如何实现?linux 0.11下实现磁盘读写驱动片段下实现磁盘读写驱动片段- 2
24、6 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科磁盘速度与内存速度的差异磁盘速度与内存速度的差异1)磁盘往往不是严格按需读取,而是每次都会预读,磁盘往往不是严格按需读取,而是每次都会预读,即使只需要一个字节,磁盘也会从这个位置开始,即使只需要一个字节,磁盘也会从这个位置开始,顺序向后读取顺序向后读取一定扇区长度一定扇区长度的数据放入内存。的数据放入内存。2)这样做的理论依据是计算机科学中著名的这样做的理论依据是计算机科学中著名的局部性局部性原理原理:当一个数据被用到时,其附近的数据也通常:当一个数据被用到时,其附近的数据也通常会马上被使用。会马上被使用。
25、- 27 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科回忆:虚拟内存中程序优化回忆:虚拟内存中程序优化n对代码来说对代码来说,紧凑的代码也往往意味着接下来执行的代码更,紧凑的代码也往往意味着接下来执行的代码更大可能就在相同的页或相邻页。根据时间大可能就在相同的页或相邻页。根据时间locality特性,程序特性,程序90%的时间花在了的时间花在了10%的代码上。如果将这的代码上。如果将这10%的代码尽量的代码尽量紧凑且排在一起,被换出的概率降低,紧凑且排在一起,被换出的概率降低,从磁盘读取速度快。从磁盘读取速度快。n对数据来说对数据来说,尽量将那些会一起访
26、问的数据放在一起。这样当,尽量将那些会一起访问的数据放在一起。这样当访问这些数据时,因为它们在同一页或相邻页,只需要一次调访问这些数据时,因为它们在同一页或相邻页,只需要一次调页操作即可完成;反之,如果这些数据分散在多个页(更糟的页操作即可完成;反之,如果这些数据分散在多个页(更糟的情况是这些页还不相邻),那么每次对这些数据的整体访问都情况是这些页还不相邻),那么每次对这些数据的整体访问都会引发大量的缺页错误,从而降低性能。会引发大量的缺页错误,从而降低性能。虚拟内存:按需调页与页面置换。虚拟内存:按需调页与页面置换。如何优化提升程序的性能?如何优化提升程序的性能?经常访问的放在一起,被唤经常
27、访问的放在一起,被唤出的概率降低出的概率降低,从磁盘读取速度快。从磁盘读取速度快。- 28 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科进程进程i/o整个过程贯穿整个过程贯穿n第第1步:步:得到要访问的扇区编号;得到要访问的扇区编号;得到读盘的目标得到读盘的目标(或写盘的源或写盘的源)内存地址内存地址算法输入算法输入!n第第2步:步:将扇区编号和内存地址写给将扇区编号和内存地址写给dma;然后阻塞进程然后阻塞进程查手册、写端口查手册、写端口!n第第3步:步:dma处理完成后中断处理完成后中断cpu;中断处;中断处理程序唤醒阻塞进程理程序唤醒阻塞进程编写中
28、断处理程序编写中断处理程序!n第第4步:步:进程继续进程继续获得编号是使用磁获得编号是使用磁盘的关键盘的关键!- 29 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科example hard disk layout硬盘布局硬盘布局- 30 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科example hard disk layoutl 物理盘以物理盘以扇区扇区( (一般为一般为512512字节字节) )为单位为单位 进行编址,它是硬盘读写的进行编址,它是硬盘读写的基本单位基本单位l 一块硬盘从逻辑上可以理解为连续的一块
29、硬盘从逻辑上可以理解为连续的一一 维维扇区序列扇区序列硬盘布局硬盘布局- 31 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科example hard disk layout 整个硬盘的第整个硬盘的第1 1个扇区个扇区 存储着存储着“主引导记录(主引导记录(mbrmbr)”: 引导可执行代码引导可执行代码 硬盘基本分区表硬盘基本分区表 最多包含最多包含4 4个个基本分区位置信息基本分区位置信息 硬盘布局硬盘布局- 32 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科example hard disk layoutl 除
30、了第除了第1个扇区之外,其余扇区可以个扇区之外,其余扇区可以 划分为至多划分为至多4个个基本分区基本分区l 每个分区的第每个分区的第1个扇区预留,可以作个扇区预留,可以作 为为引导扇区引导扇区硬盘布局硬盘布局- 33 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科example hard disk layoutl 每个分区除第每个分区除第1个扇区外的其他部分还个扇区外的其他部分还 可以看做一个硬盘,继续分区可以看做一个硬盘,继续分区 l 这样的分区这样的分区可以无限制地重复进行,直可以无限制地重复进行,直 到硬盘划分完成为止到硬盘划分完成为止硬盘布局硬盘布
31、局- 34 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科example hard disk layout 概念概念 l 扇区扇区 物理盘存储空间基本编址单位,一般为物理盘存储空间基本编址单位,一般为512512字节字节l 主引导记录主引导记录mbrmbr 硬盘的第硬盘的第1 1个扇区的内容,个扇区的内容, 含引导代码和主分区表含引导代码和主分区表l 分区分区 硬盘中可以作为逻辑盘管理的一组扇区集合硬盘中可以作为逻辑盘管理的一组扇区集合l 可扩展分区可扩展分区 可以继续划分成可以继续划分成“分区分区”的硬盘分区的硬盘分区l 引导分区引导分区 标记有可引导标
32、记的硬盘分区,这种分区有引标记有可引导标记的硬盘分区,这种分区有引 导扇区和引导文件导扇区和引导文件l 引导扇区引导扇区 引导分区的第引导分区的第1 1个扇区个扇区l 可扩展分区引导记录可扩展分区引导记录 可扩展分区中第可扩展分区中第2 2个扇区中的内容个扇区中的内容硬盘布局硬盘布局- 35 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科硬盘布局硬盘布局 在在mbr分区表中最多分区表中最多4个个主分区或者主分区或者3个主分区个主分区+1个个扩展分区,也就是说扩展分扩展分区,也就是说扩展分区只能有一个,然后可以再区只能有一个,然后可以再细分为多个逻辑分区。细
33、分为多个逻辑分区。mbr由三部分构成:由三部分构成:1主引导程序代码,占主引导程序代码,占446字节字节2硬盘分区表硬盘分区表dpt,占,占64字节字节3主引导扇区结束标志主引导扇区结束标志aa55h 系统在分区时,各分区都系统在分区时,各分区都不允许跨柱面,即均以柱面不允许跨柱面,即均以柱面为单位,这就是通常所说的为单位,这就是通常所说的分区粒度。分区粒度。主引导程序功能:主引导程序功能:1)扫描分区表查找活动分区扫描分区表查找活动分区(安装了操作系统的分区)(安装了操作系统的分区)2)寻找活动分区的起始扇区寻找活动分区的起始扇区3)将活动分区的引导扇区读将活动分区的引导扇区读到内存到内存4
34、)执行引导扇区的运行代码执行引导扇区的运行代码- 36 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科页面置换(页面置换(swapswap)? ?- 37 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科磁盘磁盘页表页表物理内存物理内存请求调页请求调页页面置换页面置换load addri页错误处页错误处理程序理程序(1)(2)(3)(4)(5)(6)交换出去的页面放在哪里交换出去的页面放在哪里?交换出去交换出去- 38 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科交换分区交换分区问
35、题的关键是写到磁盘的什么位置问题的关键是写到磁盘的什么位置?n交换出去的页面显然要写到磁盘上交换出去的页面显然要写到磁盘上如果是代码段和数据段,如果是代码段和数据段,直接写到文件中?直接写到文件中?如果是堆栈段呢如果是堆栈段呢? 创建一个文件吗创建一个文件吗?变成了页面变成了页面 文件文件 扇区扇区映射关系,显然是低效的映射关系,显然是低效的应该是直接应该是直接“页面页面 扇区扇区”页表条目页表条目 (page table entry)ptep=0换出地址换出地址为提高效率,这部分磁为提高效率,这部分磁盘不存文件,直接用扇盘不存文件,直接用扇区号寻址。区号寻址。(交换分区交换分区)这样使用的磁
36、盘称为生磁盘这样使用的磁盘称为生磁盘(raw disk)- 39 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科回忆:回忆:intel x86的分页硬件的分页硬件p-位位0是存在(是存在(present)标志)标志页框号页框号(物理页号物理页号)ppn保留保留0 l d apcdpwtu w p01234567811-931-12 ?intel x86结构的结构的pter/w-位位1是读是读/写(写(read/write)标志。)标志。a-位位5是已访问(是已访问(accessed)标志。)标志。d-位位6是页面已被修改(是页面已被修改(dirty)标志。
37、)标志。换出到换出到swap分区后地址存到哪里?分区后地址存到哪里?可以存到页框号的位置可以存到页框号的位置- 40 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科linux交换分区交换分区安装安装linux时,需创建一硬盘分区作为交换分区时,需创建一硬盘分区作为交换分区fdisk命令可以查看分区信息命令可以查看分区信息因为交换分区要和内存不断交换,所以是动态变化的因为交换分区要和内存不断交换,所以是动态变化的swap分区的大小通分区的大小通常是内存大小的两倍常是内存大小的两倍- 41 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 201
38、5级级本科本科为什么引入文件为什么引入文件? ?“烹调烹调”磁盘磁盘11.4 文件概念及实现方法文件概念及实现方法- 42 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科为什么引入文件为什么引入文件?n让普通用户使用让普通用户使用raw disk: 许多人连扇区都不知许多人连扇区都不知道是什么道是什么?要求他们根据扇区编号来访问磁盘要求他们根据扇区编号来访问磁盘需要在扇区上引入更高一层次的抽象概念需要在扇区上引入更高一层次的抽象概念! 文件文件首先想一想用户眼里的文件是什么样子首先想一想用户眼里的文件是什么样子?字符序列字符序列(字符流字符流)磁盘上的文件
39、是什么样子磁盘上的文件是什么样子?扇区集合扇区集合文件文件: 建立字符流到扇区集合的映射关系建立字符流到扇区集合的映射关系- 43 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科文件概念文件概念n建立字符流到盘块集合的映射关系建立字符流到盘块集合的映射关系看一个例子看一个例子int main() test.c将将2-12字符删去字符删去test.c中的中的2-12字符字符对应盘块对应盘块789读入、修读入、修改、读出改、读出为增加灵活性,为增加灵活性,os又将多又将多个连续扇区定义为盘块个连续扇区定义为盘块- 44 -曲明成曲明成 博士后博士后/硕导硕导操
40、作系操作系统统 for 2015级级本科本科三种文件存储磁盘块分配方式的优缺点三种文件存储磁盘块分配方式的优缺点从三个方面评估:从三个方面评估:1 1)访问速度(读写)访问速度(读写)2 2)磁盘碎片(外部碎片)磁盘碎片(外部碎片)3 3)文件操作(增删改查)文件操作(增删改查)11.4 文件概念及实现方法文件概念及实现方法- 45 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科文件的实现文件的实现n文件抽象概念的实现关键:文件抽象概念的实现关键:描述这一映射关系描述这一映射关系文件实现文件实现1: 物理盘块连续分配物理盘块连续分配int main() t
41、est.c012345678910111213141516171819202122232425262728293031test.cftrmaillist需存放什么信息需存放什么信息?起始盘块和盘块个数起始盘块和盘块个数存放在哪里存放在哪里?文件描述信息节点中文件描述信息节点中名字很多名字很多: fcb, file header等等文件名文件名 始址始址 块数块数test.c 0 4test.c的的file header优点简单快速,缺点?和连优点简单快速,缺点?和连续内存分配相比一下!续内存分配相比一下!文件文件f的起始的起始块块=?块数块数=?1 1)访问速度(读写)访问速度(读写)2 2)磁盘碎片(外部碎片)磁盘碎片(外部碎片)3 3)文件操作(增删改查)文件操作(增删改查)- 46 -曲明成曲明成 博士后博士后/硕导硕导操作系操作系统统 for 2015级级本科本科文件实现文件实现2: 链式分配链式分配int main() test.c文件名文件名 始址始址test.c 1test.c的的file header优点优点: 文件长度增减容易文件长度增减容易01234567891011121314151617181920212223242526272829303110-1917test.cnullfile header缺点缺点: 顺序访问、效
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 投资意向合同范本
- 园林绿化泥付工施工承包合同
- 出租车租赁服务通知协议
- 企业信用管理政策制定流程
- 科研创新基地租赁住房管理
- 政府部门会议费审批流程
- 挖掘土方协议范本
- 旅游度假设施监理协议
- 民用爆炸物品事故赔偿
- 客户服务热线编号指南
- 小学三年级上册音乐-《放牛山歌》人音版(17张)ppt课件
- 18慢性肾功能不全临床路径
- 断水层施工方案
- 《西部放歌》歌词串词朗诵词
- “7_16”大连保税区油库特大爆炸事故原因调查
- 硕士研究生入学登记表
- PCBA常见的一般性不良现象
- 六年级数学下册 圆锥的体积教案 西师大版 教案
- 董公选择日要览[整理版]
- 师德的五项修炼(修心、修口、修眼、修耳、修身)
- 各科室廉政风险点排查表
评论
0/150
提交评论