文件的逻辑结构
- 无结构文件(流式文件):以字节为单位的,比如源程序、代码文件等
- 有结构文件(记录型文件):顺序文件、索引文件、顺序索引文件、散列文件
文件分配方式
- 连续分配:一个文件连续占用外存空间。
- 链接分配:采用链表的方式,这个物理块指向下一个物理块。
- 索引分配:把每个文件所有的磁盘块编号放到一个物理块中。文件存储空间管理
- 空闲表法:适用于连续分配方式,在外存中建立一张空闲盘块表,包括序号,第一个空闲盘块号、空闲盘块数。
- 空闲链表法:空闲盘块链和空闲盘区链
- 位示图法:用一位二进制数表示磁盘盘块使用情况,0表示空闲,1表示盘块已分配
磁盘调度算法
-
先来先服务:它根据进程请求访问磁盘的先后次序进行调度。此算法的优点是公平、简单,且每个进程的请求都能依次得到处理,不会出现某一进程的请求长期得不到满足的情况。
-
最短寻道时间优先:该算法选择这样的进程,其要求访问的磁道与当前磁头所在的磁道距离最近,以使每次的寻道时间最短,该算法可以得到比较好的吞吐量,但却不能保证平均寻道时间最短。
-
扫描算法:扫描算法不仅考虑到欲访问的磁道与当前磁道的距离,更优先考虑的是磁头的当前移动方向。例如,当磁头正在自里向外移动时,扫描算法所选择的下一个访问对象应是其欲访问的磁道既在当前磁道之外,又是距离最近的。
-
循环扫描算法:循环扫描算法是对扫描算法的改进。如果对磁道的访问请求是均匀分布的,当磁头到达磁盘的一端,并反向运动时落在磁头之后的访问请求相对较少。这是由于这些磁道刚被处理,而磁盘另一端的请求密度相当高,且这些访问请求等待的时间较长,为了解决这种情况,循环扫描算法规定磁头单向移动。例如,只自里向外移动,当磁头移到最外的被访问磁道时,磁头立即返回到最里的欲访磁道,即将最小磁道号紧接着最大磁道号构成循环,进行扫描。
例:假定某磁盘共有200个柱面,编号为0-199,如果在为访问143号柱面的请求者服务后,当前正在为访问125号柱面的请求服务,同时有若干请求者在等待服务,它们每次要访问的柱面号为 86,147,91,177,94,150,102,175,130
- 先来先服务:86.147.91.177.94.150.102.175.130
- 最短寻道时间优先:130 147 150 175 177 102 94 91 86
- SCAN算法:102 94 91 86 130 147 150 175 177
- CSCAN算法:130 147 150 175 177 86 91 94 102
常见的文件系统
- FAT32:用四个字节即32位空间来每个扇区配置文件的情形,所以叫FAT32。
- NTFS:NTFS文件系统是windows NT核心和高级服务器网络操作系统环境的文件系统。NTFS系统比FAT32的可靠性更高,可以支持更大的分区和更大的文件,此外还有不少FAT32没有的功能,比如压缩分区、文件索引、数据保护和恢复、加密访问等。
- exFAT:exFAT也可以成为FAT64,是由FAT32改进而来,大家都知道FAT32不支持4G及以上大小的文件,所以才有了exFAT。exFAT最大支持16EB,在windows系统和mac系统上通用,所以跨平台能强,exFAT一般用于U盘等移动存储设备,所以如果在格式化这些移动存储设备比如U盘时,首选exFAT,其次再是NTFS