奎克的藏经阁 · 原书印刷页

编码 隐匿在计算机软硬件背后的语言 · 第 354 页

PDF 物理页索引 370 · 编码隐匿在计算机软硬件背后的语言

书名
编码 隐匿在计算机软硬件背后的语言
作者
未记录
印刷页
354
PDF 物理页
370(从 0 开始)
章节
编码隐匿在计算机软硬件背后的语言
UUID
38270854-596f-4a26-8183-db8c968c6020
来源类型
original_book
页面 SHA-256
e5e9500499b62e147f516759ef9e324452459303591beecd24b91ad7bbf8c55d

目录区是磁盘中的一个非常重要的区域,磁盘文件中每个文件的名字和其他一些重要信息都存储在该区域,根据目录就能够很方便、高效地查找文件。存放目录也需要占用空间,磁盘上每个文件对应的目录项(directory entry)大小均为32字节,由于目录区大小为2048字节,所以这个磁盘上最多可以存放64(2048/32)个文件。

为了能够根据目录找到相应的文件,每一个32字节的目录项包含以下信息。

在目录项中,第一个字节用来设置文件的共享属性,只有文件系统被两个或更多人同时共享时才设置此字节为1。在CP/M中,这个字节跟第13、14字节一样,通常设置为0。

CP/M中每个文件的文件名由两部分构成,第一部分称为文件名(filename),文件名最多由8个字符构成,目录项的第1\~8字节用来存储文件名。第二部分称为文件类型(file type),最多由3个字符表示,这些字符存储在目录项的第9\~11字节中。我们会经常遇到一些常见的标准文件类型,例如:TXT表示文本文件(此文件只包含ASCII码);COM(command的简写)表示这个文件中存放的是8080机器码指令,或者说是一段程序。当命名一个文件时,通过一个点来隔开这两部分,如下所示:

MYLETTER.TXT

CALC.COM

人们习惯形象地称这种文件命名方式为8.3,就是说在点号隔开的前半部分最多有8个字母,后半部分最多有3个字母。

接下来介绍一下如何利用目录项查找文件。目录项中的第16\~31字节是磁盘存储表,它能够标明文件所存放的分配块。假设磁盘存储表的前4项分别为14h、15h、07h、23h,其余项全为0,这表明文件占用了4个分配块的空间,大小为4KB,而实际上文件可能并没有用完4KB空间,因为最后一个分配块往往只有部分扇区被使用。目录项的第15字节表明最后一个分配块到底用到了多少个128字节的扇区。

编码隐匿在计算机软硬件背后的语言

354