文件的移动速度 |
一、剪切
将一个1G左右的大文件从C盘的附件文件夹剪切到C盘的附件2文件夹; 将一个1G左右的大文件从C盘的附件文件夹剪切到D盘的附件3文件夹。 ✋🗼🥚➡🕊 这两种剪切文件的方式哪种速度快呢? 前一种方法快,后一种方法慢 👨🎨🧢🎷😒👈 原因:前一种其实真真没有磁盘数据的移动,在windows的树型目录及文件结构下,只是把这个文件(叶子),挂到附件2目录下,可以说是瞬间完成;而后一种是真正在磁盘中进行了数据的移动,把逻辑盘C盘那个的数据复制到D盘中,然后再删除C盘的源文件。 在不同磁盘分区之间“移动”文件,就必须移动硬盘磁头“来回”进行读写,使打算“移动”文件真的重新动动地方:从“甲单元房”搬到“乙单元房”或“丙单元房”。如果是在同一分区内“移动”的话,就是在自己的“单元房”里“随心所欲”:只是改变了文件位置标记(任何文件都有自己的独立位置标记),或者说只不过是把逻辑地址改动了一下,实际上并没有挪动地方:“搬来搬去”还是在自己的“单元房”内原地未动。 👌🛑🍖⚛🐥 二、复制将一个1G左右的大文件从C盘的附件文件夹复制到C盘的附件2文件夹; 将一个1G左右的大文件从C盘的附件文件夹复制一份到D盘的附件3文件夹。🩲🪓😰🤟 这两种复制文件的方式哪种速度快呢? 后一种方法慢,前一种方法快。 👌🚤🦀❌🐉 主要是C盘的扇区集中在一起,D盘的扇区在另外一块,在C盘之间拷贝文件磁头运动的距离短,而在C、D盘之间拷贝文件则磁头运动的距离长。目前的这种主流的机械式硬盘的最大性能瓶颈就是磁头的运动速度。硬盘在物理上被分割为扇区。一系列扇区组成分区。硬盘最基本的组成部分是由坚硬金属材料制成的涂以磁性介质的盘片,不同容量硬盘的盘片数不等。每个盘片有两面,都可记录信息。盘片被分成许多扇形的区域,每个区域叫一个扇区,每个扇区可存储128×2的N次方(N=0.1.2.3)字节信息。 在DOS 中每扇区是128×2的2次方=512字节,盘片表面上以盘片中心为圆心,不同半径的同心圆称为磁道。硬盘中,不同盘片相同半径的磁道所组成的圆柱称为柱面。 👳👓💊😛🖐 要点: (1)硬盘有数个盘片,每盘片两个面,每个面一个磁头 (2)盘片被划分为多个扇形区域即扇区 🧑🚀👞🪟🥰👃 (3)同一盘片不同半径的同心圆为磁道 (4)不同盘片相同半径构成的圆柱面即柱面 (5)公式: 存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数 (6)信息记录可表示为:××磁道(柱面),××磁头,××扇区 👀🏝🥩✡🐥 1.磁盘调度算法 磁盘是可被多个进程共享的设备。当有多个进程都请求访问磁盘时,应采用一种适当的调度算法,以使各进程对磁盘的平均访问(主要是寻道)时间最小。由于在访问磁盘的时间中,主要是寻道时间,因此,磁盘调度的目标应是使磁盘的平均寻道时间最少。目前常用的磁盘调度算法有:先来先服务;最短寻道时间优先;扫描算法;循环扫描算法等。 (1)先来先服务.(First-Come,First-Served,FCFS) 👍🎢🫖🆒🦉 这是一种简单的磁盘调度算法。它根据进程请求访问磁盘的先后次序进行调度。此算法的优点是公平、简单,且每个进程的请求都能依次得到处理,不会出现某一进程的请求长期得不到满足的情况。但此算法由于未对寻道进行优化,致使平均寻道时间可能较长。图4-5示出了有9个进程先后提出磁盘I/O请求时,按FCFS算法进行调度的情况。这里,将进程号(请求者)按其发出请求的先后次序排列。这样,平均寻道距离为55.3条磁道。与后面要讲的几种调度算法相比,其平均寻道距离较大。故FCFS算法仅适用于请求磁盘I/O的进程数目较少的场合。 (2)最短寻道时间优先(ShortestSeekTimeFirst,SSTF) 👖📡😒👂 该算法选择这样的进程,其要求访问的磁道与当前磁头所在的磁道距离最近,以使每次的寻道时间最短,但这种调度算法却不能保证平均寻道时间最短。图4-6所示按SSTF算法进行调度时,各进程被调度的次序,每次磁头的移动距离,以及9次磁头移动的平均距离。比较图4-5和图4-6可以看出,SSTF算法的平均每次磁头移动距离,明显低于FCFS的距离。SSTF较之FCFS有更好的寻道性能,故过去一度被广泛采用过。 (3)各种扫描算法 1)扫描(SCAN)算法。SSTF算法虽然获得较好的寻道性能,但它可能导致某些进程发生“饥饿”(starvation)。SCAN算法不仅考虑到欲访问的磁道与当前磁道的距离,更优先考虑的是磁头的当前移动方向。例如,当磁头正在自里向外移动时,SCAN算法所选择的下一个访问对象应是其欲访问的磁道既在当前磁道之外,又是距离最近的。这样自里向外地访问,直到再五更外的磁道需要访问才将磁臂换向,自外向里移动。这时,同样也是每次选择这样的进程来调度,即其要访问的磁道,在当前磁道之内,从而避免了饥饿现象的出现。由于这种算法中磁头移动的规律颇似电梯的运行,露故又称为电梯调度算法。 👃🛩🥑🆚🪶 2)循环扫描(CSCAN)算法。处理该进程的请求,致使该进程的请求被严重地推迟。为了减少这种延迟,CSCAN算法规定磁头单向移动。例如,只自里向外移动,当磁头移到最外的被访问磁道时,磁头立即返回到最里的欲访磁道,即将最小磁道号紧接着最大磁道号构成循环,进行扫描。
帖子热度 1.4万 ℃
|
|