我是荔园微风,作为一名在IT界整整25年的老兵,今天总结一下Windows操作系统的文件组织结构和计算方法。
这是一块非常实用的知识,感谢大家来看这个帖子。
Windows组织结构就是文件的组织形式,其中:
1.Windows逻辑结构为用户可见的文件结构
2.Windows物理结构为存储器中存放的方式
文件逻辑结构分类
主要有以下两种:
1.记录文件
特点有结构,文件由一个个的记录构成。根据记录长度分为定长记录和不定长记录
2.流式文件
特点
字节流形式,文件是由字节或字符构成的。 文件没有划分记录,文件顺序访问。UNIX系统中, 所有文件均为流式文件
文件物理结构分类
主要有以下四种:
1.连续结构(顺序结构)
预分配一个连续的物理块,然后依次存入信息
2.链接结构(串联结构)
逻辑连续的文件存储在不连续的物理块中;按单个物理块逐个分配,每个物理块有一个指针指向下一个物理块
3. 索引结构
逻辑连续的文件存储在不连续的物理块中;该结构中每个文件建立一张索引表,每一项指出逻辑块与物理块的对应关系。 索引结构既可以满足文件动态增长的需求,又能进行快速随机存储
4.多个物理块的索引表
在文件创建时,系统自动创建索引表,并与文件共同存放在同一文件卷中。文件大小不同,索引占用物理块数不等
在windows操作系统中,尤其是服务器端的操作系统中,当存储大文件时,一般采用多级(间接地址索引),间接地址索引指向的不是文件,而是文件的地址。
例如,一个能存储n个地址的物理块,采用一级间接地址索引,则可寻址的文件长度变成 n²块。对于更大的文件还可采用二级、三级间接地址索引。
举例:
设文件索引节点中有8个地址项,每个地址项大小为4字节,其中前5个地址项为直接地址索引,第6个和第7个地址项是一级间接地址索引,第8个地址项是二级间接地址索引,磁盘索引块和磁盘数据块大小均为1KB字节。如果要访问文件的逻辑块号分别为2、5和518,则系统分别采用:直接地址索引、一级间接地址索引和二级间接地址索引。该文件系统可表示的单个文件最大长度是66053KB。
分析:
每个地址项大小为4字节,磁盘索引块为1KB字节,则每个索引块可存放物理块地址个数=磁盘索引块大小/每个地址项大小=1KB/4=256。
文件索引节点中有8个地址项,5个地址项为直接地址索引,2个地址项是一级间接地址索引, 1个地址项是二级间接地址索引。则有:
(1)直接地址索引指向文件的逻辑块号为:0~4。
(2)一级间接地址索引指向文件的逻辑块号为:5~256×2+4即5~516。
(3)二级间接地址索引指向文件的逻辑块号为:517~256×256+516即517~66052。
因为地址是从0开始的,所以单个文件的最大长度是66053.KB。
作者简介:荔园微风,1981年生,高级工程师,浙大工学硕士,软件工程项目主管,做过程序员、软件设计师、系统架构师,早期的Windows程序员,Visual Studio忠实用户,C/C++使用者,是一位在计算机界学习、拼搏、奋斗了25年的老将,经历了UNIX时代、桌面WIN32时代、Web应用时代、云计算时代、手机安卓时代、大数据时代、ICT时代、AI深度学习时代、智能机器时代,我不知道未来还会有什么时代,只记得这一路走来,充满着艰辛与收获,愿同大家一起走下去,充满希望的走下去。