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

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

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

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

命令处理程序的使用极大地推动了计算机的发展,通过它不仅可以更快地向存储器输入数据,更重要的是,计算机变得可交互(interactive)了。当你通过键盘输入一些内容,计算机会立即做出响应,把你所输入的内容显示出来。

将命令处理程序存储到ROM后,就可以执行操作了:把内存中的数据写入到磁盘驱动器(可能是按照与磁盘的扇区大小一致的块的形式),然后再把数据读回到内存中。因为掉电的时候,RAM中的内容会丢失,所以与RAM相比,把程序和数据存储到磁盘中会更安全(它们不会因为突然断电而丢失数据),就灵活性来说,也比存储到ROM中要好。

仅仅有上面的命令还是不够的,还需要向命令处理程序中添加新命令。例如,S命令表示存储(Store):

S 2080 2 15 3

运行这条命令后,在磁盘的第2面、第15道、第3扇区中将存放起始地址为2080h的内存块数据(被存放内存块的大小是由磁盘扇区的大小决定的)。类似地,还可以通过加载(Load)命令,把磁盘上相应扇区的内容写回到内存中,如下所示:

L 2080 2 15 3

当然,还要把存储的位置记录下来,这是必须要做的。你可以用手头上的纸和笔来完成。需要注意的是:你不能把位于某个地址处的代码又加载到内存的另外一个地址中,如果这样的话,程序将不能正常运行。具体来说,程序代码在内存中改变位置后,其跳转(Jump)和调用(Call)指令标识的依然是原来的地址,所以运行时会报错。也存在这样的情况,程序比磁盘的扇区大,这时就需要多个扇区来存放程序。而磁盘上某些扇区已被其他程序或数据占用了,而另外一些扇区是空闲的,可能在磁盘上找不到一块足够大的、连续的扇区来存放程序。

最后,所有的东西存储在磁盘的什么位置,都需要你手工地记录下来,这个工作挺多,也挺麻烦。出于这个原因,文件系统(file system)应运而生。

文件系统是磁盘存储的一种方法,就是把数据组织成文件(file)。简单地说,文件是相关数据的集合,占用磁盘上一个或多个扇区。更重要的是,你可以为每个文件命名,这有助于记下文件里存放的内容。想象一下,磁盘是不是类似于一个文件柜,每个文件都有个小标签,标签上有文件的名称。

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

352