书城计算机网络信息技术教育大全-操作系统大全
27113500000002

第2章 DOS(2)

Lock violation(非法锁定)解释:SHARECOM企图访问的文件已被别人锁定。这通常是暂时的。措施:选用R重试,若错误仍在,则选择A使其中止。

No paper(打印机无纸或无电源)解释:打印机纸用完或未打开电源。措施:打开打印机电源,按ON-LINE开关,放入纸张再试。

Non -DOS disk(非DOS盘)解释:文件分配表中没有合法信息,需要重新格式化磁盘。措施:R重试; A终止; I忽略。

试运行CHKDSK命令查看当前的盘空间状态。重新格式化可恢复磁盘可用,但其中的信息会全部被破坏。

Not ready (设备未就绪)解释:选择的设备尚未处于接受可传送数据的状态。措施:查看软盘驱动器的门是否未关上。若是,则关上门,选择R重试。

Sector not found(扇区未找到)解释:未能在盘上找到指定的扇区。措施:R重试; A终止; I忽略。

Seek (磁道定位错)解释:无法使磁盘驱动器定位到指定的磁道。措施:选择R重试,或者换一个磁盘或驱动器,或者运行CHKDSK命令。

Sharing violation(非法共享)解释:在网络环境下,用户试图访问非共享的文件。措施:先选择R重试,若不行,则选择A中止。

Write fault(写入故障)解释:DOS无法把数据写入设备。措施:在确保盘片正确插入驱动器后,选择R重试,若不行,则选择A中止。

Write protect(写保护)解释:企图在写保护的磁盘上写入。措施:仔细考虑是否确实要往写保护的盘片上写入数据,然后再打开写保护。

二、系统内部参数表浅析

你想详细了解你的设备驱动程序吗?

你想直接通过内存了解软件内容吗?

你想了解磁盘的盘体逻辑结构信息吗?

那就让我们一起来学习DOS系统中的一个重要的数据结构——系统内部参数表,又称表之表(List of lists-LOL)。

调用未公开的52号系统功能可获取LOL的表首地址于ES∶BX中。

1将BX减8h,即LOL-8h处的双字单元为当前磁盘缓冲区(Disk buffer)的地址。 DBF的长度为532字节(DOS 62,下同),包括20字节的缓冲区控制块和正好容纳一扇数据的512字节的缓冲区。

2LOL-2h处的字单元为第一个内存控制块MCB(Memory Control Block)的段地址,偏移为0。

MCB的长度为16字节。首字节为标志位,为“Z”(5Ah)表示最后一个内存块,为“M”(4Dh)表示为非最后块。 01h字节单元为0000h表示内存块空闲,否则为拥有此内存块程序的程序段前缀(PSP)的段地址。

03h字节单元表示以节为单位的内存块的大小。

05h 11字节保留。下一个MCB的段址为现MCB的段址加1,再加上内存块的大小(3-4字节中的数)。

3LOL+0h处的字单元地址为驱动器参数块DBF(Drive Parameter Block)链首地址,继而得到DBF的地址。

DBF长度为33字节,具体意义如下: 00h字节:驱动器号(0=A:,1=B:,2=C:等等)

01h字节:子单元号(unit)

02h字:每扇字节数

04h字节:簇内最大扇区号(此值加1即为簇扇数)

05h字节:簇大小以2为底的指数

06h字:保留扇区数

08h字节:FAL的数目

09h字:根目录区项数

0Dh字:文件区第一扇的逻辑扇号

0Fh字:每个FAL的扇数

11h字:根目录区第一扇的逻辑扇号

13h双字:块设备驱动程序(设备头)的段:偏移

17h字节:介质标志(F8为硬盘)

18h字节:DBF有效标志(为FFFF表示必须重建DBF;为0表示刚用过)

19h双字:下一个DBF的段:偏移(若偏移为FFFF,则本DBF为最后一个)

1Dh字:目录首簇号(0为根目录,1为子目录)

1Fh字:盘上空闲数(-1为未确定)

4LOL+04h处的双字单元为面向句柄的系统文件表SFT(System File Table)第一个表组的地址。

此SFT表由两个表组组成,每个表项长度为59字节,每个表组有一个6字节的组头,前四个字节为下一表组指针,后两个字节为表组内的项数。

5LOL+12h处的双字单元的DBF键首地址

6LOL+16h处的双字单元为当前日期目录结构数组表CDST(Current Directory Structure Table)的首地址。

CDST由若干个CDS组成,每个CDS的长度为88字节,意义如下:

00h 67字节:当前目录的路径名ASCII字符串

43h字:标志记道常为40h

b15位: 1-网络驱动器;0-本地驱动器

b14位: 1-物理驱动器;0-虚拟驱动器

b13位: 1-本驱动器符已被连接到指定路径;否则为0

b12位: 1-本驱动器符被用来代替指定路径;否则为0

b11和b10位:未知45h双字:此驱动器的DPB的地址(段:偏移)

49h字:当前目录的首簇号(0:根目录;+1:从未访问过)

4Bh双字:未知4Fh字:当前目录的路径名(前67个字节)中,相当于根目录的“\\”符前的字节数(通常为2)

51h-57h:保留

7LOL+1Ah处的双字单元为面向FCB的SFT表组的头部地址。此SFT只有一个表组,组头的前四个字节未用,其他同面向句柄的SFT表组。

8LOL+22h处的字节单元为CDST的表项数,即configsys中lastdrive的值在面向句柄的SFT中第一个表组项数为5,第二个表组项数为此值减5。

9LOL+22h处的双字单元为NUL设备驱动程序的头部,长度 18字节,意义如下:

00h双字:下一设备头的地址(段:偏移)

04h字:设备属性(b15为1表示字符设备;为0是块设备)

06h-09h 4字节:中断例程入口的段内偏移量

10h-17h 8字节:设备名(字符设备:此域存放逻辑设备名;块设备:只第一字节中写有块设备驱动程序所支持的子单元数目,其余字节为0)

三、DOS下的必备工具

DOS是个非常强大实用的操作系统,有着最多的用户。但是我们在安装了DOS以后,发现DOS自带的命令并不能完成大家所需的各方面的功能。这时,我们就需要一些其他的软件来实现那些功能。DOS下的实用软件是非常多的,那么,我们应该在其中选择哪些工具作为必备工具来使用呢?下面就来分类讨论一下。

当安装了操作系统后,首先要使整个电脑的硬件发挥出各自的功能,比如鼠标,光驱,声卡等等。这时就需要有相应的驱动程序,而这些驱动程序就是DOS下的必备工具。这些驱动程序安装与设置方法请见本栏目的“DOS下硬件设备的使用与设置”。

将硬件都能正常工作了以后,就要让DOS来完成所需的功能了。DOS既是个方便实用的操作系统,又是一个基础操作系统,许多界面增强程序(如Windows 3x/9x)都是建立在它的基础上实现的,即DOS是它们的内核。因此,在DOS下进行一些系统和磁盘的管理是十分合适的,例如复制磁盘,分区,格式化等等。这时,GHOST,FDISK,FORMAT及PQMAGIC等磁盘工具就可以大显身手了,可以当作是DOS下的必备工具。当然,其他的系统维护工具(如磁盘检查工具等)也非常重要,大家可在本栏目的“DOS系统的维护”中看到。

大家知道,为了节省空间,很多文件都是使用压缩的方法来存取的。因此,DOS下进行压缩和解压的工具是非常重要的。常用的压缩格式有ZIP,RAR及ARJ等,而能够建立和展开这些压缩格式的DOS工具分别是PK(UN)ZIP,(UN)RAR及(UN)ARJ。它们的操作都十分方便快捷,如PKUNZIP *ZIP就可以将当前文件夹下所有的ZIP文件展开。RAR和ARJ格式也是一样,可以建立或展开相应的压缩文档。不过要注意,由于RAR近年来在30版本中采用了新的RAR压缩格式,所以许多新的RAR文件应用最新版本的RAR(即30版)来解压,可在网站的“压缩工具”中下载。除了压缩一般文件,还可以压缩可执行文件,即将可执行文件的体积变小。最好的可执行文件的压缩工具是UPX,功能非常强大,可以作为必备工具。

还有部分文件叫作映像文件,如IMG文件,它们中有很多是用HD-COPY产生的,当然还有其他的工具。解压这些文件最好的方法是用UNDISK(可在本站下载),它可以非常高效的将映像文件展开,可作为必备工具。最好不要用HD-COPY等工具来解压这些文件,因为此工具不仅旧,而且只能将文件展开到软盘上,非常不方便。刚才提到的UNDISK则要好用得多。

那么如果不知道一些文件是什么压缩格式的情况怎么办呢(尤其是当扩展名丢失的时候)?这时,可用DOS下的一个非常强大的工具GetType,它的最新版本是260,可在本站中下载。它可以非常详细的显示压缩/映像/加密文件中的信息,甚至可以将里面的内容全部显示出来,而不需其他任何软件。不仅如此,它还可以显示可执行文件(包括Windows文件)和其他文件中的信息,非常强大,而且支持长文件名。大家可以将它当作必备工具,因为一旦有了它,操作起来就方便多了。

大家知道,Windows的文件管理器操作起来非常直观,DOS下也有很多的这样的工具,可在本站的“文件管理”中找到。它们也都是以图形方式进行操作,通常除基本的文件管理功能以外,还能实现其他许多功能,如自带文件编辑器,可以查看压缩文件中的内容等,而且近年来DOS下的文件管理工具还增加了支持长文件名和FAT32的功能。这些工具中,比较实用的有Volkov Commander等,它们的界面都不错,功能也很强,大家可以将它们作为必备工具来使用。

使用DOS自然会经常与文件和文件夹打交道,因此,如何很好的使用这些文件和文件夹就非常重要。常用的文件操作如建立,删除,编辑等,既可用DOS自带的命令,也可用许多增强工具,这样可以大大提高文件操作的效率。这些工具可在本站的“文件工具”中下载,本站的文件工具中大都支持长文件名和FAT32分区。纯DOS通常只能使用短文件名,那么如何让它使用长文件名呢?其实,实现起来并不难,通常有长文件名驱动程序和直接操作长文件名两种方式,对应的工具分别有DOSLFN/LFNDOS和LFN tools,非常实用,可以作为必备工具。

随着电脑的发展,越来越多的人开始使用它,所以许多日常生活上的事(比如写文章,听音乐,看图像等)都在电脑上进行了。那么,如何在DOS下进行这些操作呢?先说写文章。DOS中自带一个EDIT命令,可以编辑多个文件和二进制文件,不过功能并不是很强大(比如不能设置字体等),可以使用其他专门的文字处理工具来完成。这些工具中著名的有MS-Word,CCED,WPS等。有些人喜欢一边打字一边听音乐,在DOS下当然也可以实现。以SETEDIT为例,这是一个非常强大实用的DOS字处理软件,不仅具有字处理的功能,还可以一边写文章一边听MP3音乐,多么好啊!因此可以将它们作为必备工具。

说完了在DOS下的文书处理,接下来就是听音乐和看图像等等操作了。DOS下听音乐和看图像的软件非常多,比如可以听WAV,MID,MP3等格式的音乐,功能和效果都非常好(绝不是最旧最差的MP3播放器DOSAMP的那种播放效果),比如QuickView,它的体积就非常小,功能却很强大,大家可将它作为必备工具。在DOS下看图像也非常方便,通常有两种方式,一种是命令行方式,一种是图形界面方式。以PictView为例,它可以播放40多种图形格式,如JPG,GIF,BMP,TGA,ICO,GIF等等,不仅速度快,质量和效果好,而且它的体积非常小,才100多K!因此,完全可以将它作为必备工具来使用。但有些图像软件,尤其是旧的图像软件,如NV等,不仅速度慢,播放质量差,而且体积也很庞大,所以最好不要使用。

DOS下还有许多非常强大实用的软件,也可以作为必备工具。DOS软件通常都很小巧实用,这自然大大方便了大家的使用。比如SHUTDOWN和POWEROFF等命令可以轻易在DOS命令行方式下实现软关机,不仅操作起来很方便,而且体积非常小,大家就可以将它们作为必备工具。还有一些DOS命令的增强工具,可以大大增强DOS自带的外部的功能,如XXCOPY,XMSDSK等等。

由于每个人的习惯和爱好都不相同,所以每个人所进行的主要操作也并不相同。比如有些人喜欢编程序,或编批处理文件,就可将一些实用的编处理工具作为必备工具;有些人喜欢玩游戏,就可以将一些游戏修改软件或模拟器(可在本站的“游戏软件”中下载)作为必备工具。因此,大家还可以根据自己的喜好来选择适合于自己的必备工具。不过,大家应尽量使用那些近几年来新推出的DOS软件,因为这些软件不仅整体而言功能更强,而且支持最新的电脑技术(如FAT32分区,大硬盘,长文件名,PCI/USB设备等)。总之,只要我们善于选择和使用DOS软件,就可以将DOS变得非常强大,让DOS发挥出应有的功能。

四、DOS下的多媒体

在许多人的印象中,DOS是个单任务的文本模式的操作系统,哪儿会有什么或者说是较好的多媒体功能呢?其实不然。比如,Windows 3x和Windows 9x只不过是建立在DOS基础上的大型保护模式的应用程序,为何它们也能播放精彩的多媒体文件呢?所以,DOS下实现多媒体功能是完全可以的。

注意,如果要在DOS下用声卡播放声音,首先需要设置好声卡。具体方法请见本栏目中的“DOS下硬件设备的使用与设置”。