第22章:操作系统
CP/M系统
CP/M系统(Control Program for Micros)是20世纪70年代为Intel 8080微处理器设计的操作系统。CP/M系统最早存放在单面、8英寸的磁盘中,该磁盘有77个磁道,每个磁道有26个大小为128字节的扇面,CP/M系统存放在开始的两个磁道中。
在开机时,只读ROM中存放的引导程序(bootstrap loader)会首先加载到内存,并指导微处理器加载前两个磁道的最初128字节内容,这个部分含有特定的指令来将CP/M程序的剩下部分逐步加载到内存中,整个过程称为操作系统的引导(booting)。
在CP/M的文件系统中,75个磁道的每8个扇区组合成一个分配块(共计243个,可以用1字节来表示),分配块大小为1024字节。目录区(directory)占据最初的2个分配块,每个文件对应的目录项(directory entry)都由32字节组成,具体的32字节分配如下:
字节
含义
0
通常设置为0,只有文件被共享才会被设为1
1 - 8
文件名,最多8字符
9 - 11
文件类型
12
文件扩展
13 - 14
保留(设置为0)
15
文件所占用的最后一个分配块使用了多少扇区
16 - 31
磁盘储存表
我们用16字节表示磁盘储存表,文件每使用一个分配块,就将分配块的1字节编码记录在磁盘储存表中,这样一个目录项所表示的文件最大可以有16KB。如果文件过大,需要多个目录项,就将目录项中的文件扩展按顺序设置为0、1、2等等。
CP/M还提供了程序访问外部硬件的接口(API,Application Programming Interface),通过将寄存器C的值设置为一些特定的值,并且执行"CALL 5"指令,来使用API。例如
MS-DOS系统
MS-DOS系统(Microsoft Disk Operating System)采用文件分配表(File Allocation Table,FAT)作为文件系统,与CP/M略有不同。
MS-DOS2.0引入了层次文件系统,1个文件不仅可能是普通文件,还可能是目录。常规的目录称为根目录(root directory),子目录(subdirectory)则是下级目录。
Last updated