操作系统的写文件操作

2015-10-02  本文已影响409人  summer朱光文
  1. 硬盘的存储结构
  1. 逻辑扇区
    盘面上得同心圆周长不一样,若每个磁道划分为相同数量扇区,则外围磁道密度比较稀疏,造成了浪费。但如果不同的磁道扇区数量不一样,计算起来比较麻烦。为了屏蔽这些复杂的硬件细节,现代硬盘采用一种叫做LBA(Logical Block Address)的方式,即整个硬盘所有扇区从0开始编号,一直到最后一个扇区,这个扇区编号叫做逻辑扇区号。逻辑扇区号去掉了复杂的磁道盘面的概念,当给出一个逻辑扇区号时,硬盘会将其转换成实际的盘面,磁道和扇区。

  2. 操作系统的存储方式
    例如Linux下有一个文件/home/user/test.dat长度为8000字节,那么在创建这个文件时,Linux的ext3系统可能这样保存这个文件: 文件的前4096个字节存储在磁盘的10001007号扇区,每个扇区512字节,8个扇区4096个字节;文件的第40978000字节总共3904个字节,存储在2000~2007号扇区,这8个扇区也是4096字节,只存储了3094个字节的有效字节,剩余192字节无效。若把文件存储看做一个链状的结构,则如下图所示:

    1.png
    文件系统保存了这些文件的存储结构,负责维护这些数据结构并保证磁盘中的这些扇区能够有效的组织和利用。
  3. Example( 当我们在Linux系统中要读取文件中前4096字节时:)

注:本文为作者阅读《程序员的自我修养》的读书笔记

上一篇 下一篇

猜你喜欢

热点阅读