瑞星卡卡安全论坛

首页 » 技术交流区 » 系统软件 » DOS详解
▄︻┻┳ - 2008-8-23 21:06:00
1楼——DOS简介

2楼——DOS特点

3楼—— 文件与目录

4楼——文件的分类

5楼——目录,子目录与盘符


6楼——DOS的启动

7楼——DOS的常用命令

8楼——使用批处理文件

10楼——如何进行系统配置

11-14楼——出错提示与对策






现在家用电脑的操作系统大多都是用的 Windows 95,但在1995年Windows 95推出以前,占统治地位的操作系统是DOS(Disk Operation System 磁盘操作系统)。

  接触电脑早一点的人想必都听说过DOS的大名,更有很多人到今天仍然对DOS时代怀念不已,虽然自己的电脑早已用上了Windows 95,但仍要在硬盘上保留一份DOS,以备不时之需。
  那么DOS的魅力到底在哪里呢?我们这就一起来揭开DOS的神秘面纱。 






用户系统信息:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)
▄︻┻┳ - 2008-8-23 21:07:00
——DOS的特点    在DOS环境下,开机后,我们面对的不是桌面和图标,而是这样的电脑屏幕:这个C:\>叫做提示符,这个闪动的横线叫做光标。这样就表示电脑已经准备好,在等待我们给它下命令了。我们现在所需要做的,就是对电脑发出命令,给电脑什么命令,电脑就会做什么。那我们又怎么向电脑发布命令呢?

  很简单。比如,我们想看看现在几点钟了,就可以输入时间命 令,敲入time四个字母,它在英文中是“时间”的意思,再敲回车键加以确认,这时屏幕上就显示出当前时间。 

  再敲回车键,瞧!又出现提示符了,就可以输入下一条命令了。
  如果想看日期,输入date,然后敲回车键确认。

  这时屏幕上显示出当前日期。再敲回车键就回到提示符下。
  这就是DOS的命令输入方法,和 Windows 95中用鼠标寻找图标来运行程序不同,DOS中是通过输入英文命令加回车键这种方式来执行程序的。
  怎么样,和Windows 95完全不一样吧?在字符界面下,我们只能通过键盘输入字符来指挥电脑工作,电脑完成一个命令后,出现下一个提示符,我们就又可以给电脑下命令了。注意,在DOS下电脑一次只能做一件事,做完以后才能开始下一件事;而在95下,我们可能让电脑同时干几件事,比如,我们可以一边拷贝文件,一边写文章,一边浏览Internet。所以人们把DOS称为单任务的操作系统,而把 Windows 95称为多任务的操作系统。
▄︻┻┳ - 2008-8-23 21:07:00
——文件与目录     在DOS中,文件与目录是最重要的概念,这和95一样,不同的是,“目录”在95中叫做“文件夹”。
  如果我们想查看电脑中的文件,可以输入dir命令,然后回车。下面是我电脑屏幕上显示的结果。

  如图所示,后面带有<dir>的是目录,没有的则是文件,这些目录里都分门别类地存放着许多不同用途的文件。你看,第一排是DOS目录,它里面有许多DOS命令文件和一些辅助信息文件。第二排是WINDOWS目录,它里面包含着许多有关WINDOWS程序的文件。   在DOS中,文件名的规则是8.3形式,即一个文件名由文件基本名和文件扩展名组 成,中间用点“.”隔开,文件基本名由不超过8个英文字母或数字组成,文件扩展名由不超过三个英文字母或数字组成,文件基本名必须有,扩展名可以没有。
  看上图,第一列的就是“文件基本名”,第二列的是“文件扩展名”。注意:在用dir命令显示文件列表时,文件基本名和扩展名之间并无“.”分隔符,但你在输入完整的文件名时必须输入它。
  第三列显示的是文件的大小,表示它占用了多少存储空间,也就是文件包含信息的多少,包含的信息越多,文件就越大;
  第四列表示的是文件建立的日期或者是最后被改动的日期,每个文件都有对应的生成时间,就象每个人都有自己的生日一样,文件的生成时间就是文件形成的时候。时间采用通常的表示方法,由年、月、日组成。
  最后一列表示文件生成的具体时间,最后的一个字母a表示上午、p表示下午。
  我们再来看看倒数一二行,这些是什么意思呢。“ 10 file(s) ”是要告诉你这个目录内有 “ 10 ”个文件,这些文件加起来一共有“ 64,692 bytes”大,在这种计算中,每个子目录也算是一个文件,但它的大小算零。最后一行的是告诉你当前你的工作磁盘上还剩下“ 215,735,513 bytes”大小可用的磁盘空间。
  如果我们要看看DOS目录里的文件,那么我们可以敲dir dos回车,也就是查看DOS目录的意思,如果敲dir windows回车就是查看windows目录下的文件的意思。 大家可以试着练习练习dir命令,观察文件夹下面的东西。
▄︻┻┳ - 2008-8-23 21:08:00
——文件的分类     用dir命令来查看磁盘上文件时,你会发现文件后缀(即文件扩展名)有很多种,它们当中大部分都是有一定含义的。

  其中凡后缀为exe、com或bat的文件都是可以直接执行的。这些以exe为后缀的文件叫可执行文件;以com为后缀的文件叫命令文件;以bat为后缀的文件叫批处理文件。如果我们要执行这些文件,只需在提示符下敲入文件基本名然后回车即可,不需输入文件后缀。
  比如第一行的这个文件叫format.com,其后缀名为com,如果我们要执行它,只需在提示符下敲入文件基本名然后回车即可,不需输入后缀名。(这其实是我们后面要学的格式化命令format,不要试着按画面上的提示文字输入,否则你A盘上的资料就要没了,等学了后续章节后,你明白了这个命令后再试,现在千万不要乱用!!!)     又比如,第二行的这个文件mem.exe,其后缀是exe,也是一个可以执行的文件,它的功能是查看电脑目前内存的占用情况。在提示符下敲mem,然后回车。(这个命令没问题,你可以试试看)   这里显示了电脑总共有多少内存,现在使用了多少,还剩多少,以及使用了多少基本内存,还剩下多少基本内存等情况,这些在下面将有详细解释。
  当我们在c盘的根目录下查看文件时,往往会看到这个 autoexec.bat 文件,其后缀是bat,说明它是一个批处理文件,也是可以直接执行的。

  所谓批处理,就是一下可以执行很多条命令,当我们想让电脑完成一系列任务时,可以一个一个命令的执行,也可以将这些命令都装入一个文件中,只要敲一下这个文件名,电脑就会将这一批命令一次执行完毕。
  在实际操作中,我们经常会建立一些批处理文件,来完成许多有着固定步骤的烦琐工作。现在,你已经知道电脑中哪些文件对你直接有效了,它们就是以com、exe或bat为后缀的文件。
  所以,当你拿到一个新软件时,首先就可以用dir命令查看有没有以它们为后缀的文件,一般情况下,你都能找到一个或几个这样的文件,你大可放心地去执行它们,其中必然有一个是对的,错了也没关系,一般不会有太大的影响。
▄︻┻┳ - 2008-8-23 21:09:00
——目录、子目录与盘符     在DOS中,有个当前目录的概念,就是提示符所显示的目录,现在的提示符是C:\,那么当前目录就是C盘的根目录,这个\(反斜杠)就表示根目录。

  如果要更改当前目录,那么可以用cd命令, 比如我们输入cd dos,就表示更换当前目录为dos目录,回车后, 你看,提示符变成了C:\DOS,这就表示当前目录变成了C盘的DOS目录了,当前目录有什么意义呢?

  在这里,我们输入dir试试,看,现在列出的文件已经不是刚才看见的了,这些都是DOS目录里的文件,这就说明,dir命令列出的,是当前目录中的内容。还有,就是在我们输入可执行文件名时,DOS会在当前目录中寻找该文件,如果没有该文件,DOS会提示错误信息。   那么目录是什么结构的呢?目录是树形结构的,你看,下面是一个目录结构的示意图,这个C:表示最上面的一层目录,叫做根目录,其它的目录都是根目录的子目录,如DOS,WINDOWS,TOOLS等,而DOS,WINDOWS目录自己也有子目录,象DOS下的TEMP目录,WINDOWS下的SYSTEM目录。

  我们用CD命令来改变当前目录,输入CD DOS,那么当前目录就变成了 DOS,有时我们把改变当前目录为一个子目录叫做进入该子目录,那么我们现在就是进入了DOS目录,再输入CD TEMP,那么我们又会进入TEMP目录了,如何退出TEMP目录呢? 只要键入CD ..,回车,我们就可以回到DOS目录了。在DOS中,这个两点就表示当前目录的上一层目录,一个点表示当前目录,有时,我们叫上一级目录为父目录。 再输入CD ..,然后回车,我们就回到了C盘的根目录。
  进入一个目录的子目录并不需要用CD命令一层一层进入,可以用一行命令完成,比如要进入 WINDOWS目录下的SYSTEM子目录,只要输入CD WINDOWS\SYSTEM就可以了,也可以输入CD C:\WINDOWS\SYSTEM,如果要回到根目录,那么也不必多次输入CD ..来完成, 可以直接输入CD \,\就表示根目录。
  在子目录中用dir命令列文件列表时,我们会发现,.和..都算作文件数目,但大小为零。
  如果我们要更换当前目录到硬盘的其它分区该怎么办呢?当然不是使用CD,否则我就不用说了,这时应该输入盘符然后回车。比如要到D盘,那么就输入D:,然后回车,瞧,现在提示符就变成D:\>了。 再用dir命令,就是列出D盘的文件了。

  实际上,要完整地表达一个子目录应该是盘符加目录,比如C: \DOS\TEMP,那么完整地表达文件呢?就是盘符加目录加文件名,比如C:\DOS\TEMP\ME.TXT,C:\DOS\TEMP\就叫做ME.TXT的路径。
  刚才我们说过,输入可执行文件名时,DOS会在当前目录中寻找该文件,如果找不到,会提示错误的文件名,但是我们不是一定要把当前目录更换到文件所在的目录才能运行它的,可以在文件名前加上完整的路径就可以了,比如我们现在的当前目录是C:\DOS,我们要运行D:\TEST\PCT.EXE,那么我们可以直接输入D:\TEST\PCT.EXE回车,这样我们不改变当前目录就可以执行其它目录下的文件。
▄︻┻┳ - 2008-8-23 21:10:00
——DOS的启动    电脑刚启动时,要先从某个磁盘上将一些系统程序读入内存后才能正常工作,我们将这个磁盘叫做启动盘。
  通常,我们用A盘或C盘作为启动盘,在特殊情况下,硬盘的其它盘符和少数电脑的光盘也可以作启动盘。制作启动盘需要使用sys命令,可以参看后面的命令部分。

  DOS系统启动时,要先从启动盘中读取两个系统文件IO.SYS、MSDOS.SYS,然后在启动盘的根目录下寻找并执行 CONFIG.SYS、COMMAND.COM、AUTOEXEC.BAT三个文件。其中IO.SYS、MSDOS.SYS和 COMMAND.COM这三个文件缺一不可,否则电脑将无法正常启动   CONFIG.SYS和AUTOEXEC.BAT这两个文件是用来配置系统运行环境和自动执行一些命令,它们对电脑的运行性能以及许多设备的驱动起到了至关重要的作用,我们可以根据自己的需要对它们的内容进行修改,
  autoexec.bat叫做自动批处理文件,它是批处理文件的一种,因为DOS启动时会自动运行它,所以叫做自动批处理文件。你可以把自己每次启动电脑时都要运行的程序放在里面。
  如果电脑在根目录下找不到这两个文件,也是可以运行的,但有许多复杂的软件和设备将无法正常工作。比如光驱、声卡以及Windows程序等。所以,初学者应注意不要将上面的几个文件删除,否则,电脑将不能正常工作。
▄︻┻┳ - 2008-8-23 21:11:00
cd     改变当前目录       sys   制作DOS系统盘   copy    拷贝文件         del   删除文件   deltree   删除目录树        dir   列文件名   diskcopy  制磁盘          edit  文本编辑   format    格式化磁盘        md   建立子目录   mem     查看内存状况       type  显示文件内容   rd     删除目录         ren   改变文件名   记得多少啊,忘了就去上课看看,下面四个命令是新的,给出命令格式,你自己试试看,学电脑重要的就是摸索。   cls     清屏 [适用场合]  屏幕上太乱了,或是屏幕上出现乱码了, 清除屏幕上显示内容但不
  影响电脑内部任何信息 [用  法]  cls  回车   move     移动文件,改目录名  [适用场合]  移动文件到别的目录 [用  法]  move [文件名] [目录]        移动文件至新目录下         move [目录名] [目录名]       改目录名 [例  子]  c:\>move c:\autoexec.bat c:\old         移动autoexec.bat文件至old目录下         c:\>move c:\config.sys c:\temp         移动config.sys文件至old目录下   more    分屏显示 [适用场合]  当输出很多一屏显示不下时采用,几乎适合所有命令,尤其是type
  等命令时很有用。 使用more时磁盘不能有写保护,也不适合光驱。 [用  法]  type [文件名] | more        分屏显示文件内容         more < [文件名]          分屏显示文件内容 [例  子]  C:\>type msdos.w40 | more   xcopy    拷贝目录和文件 [适用场合]  在进行连同子目录一起拷贝时很有用,在拷贝大量文件时比COPY命令
  要快得多 [用  法]  xcopy [文件名] [目录]       将指定文件拷贝到指定目录         xcopy [源目录] [目的目录]  将源目录连子目录考到目的目录下         xcopy *.* [目录] /s   将文件与非空子目录拷贝到指定目录         其它常用参数还有: v 拷贝后校验,会影响速度
                  e 与s 相似,但即使子目录是空的也会拷贝。
▄︻┻┳ - 2008-8-23 21:12:00
使用批处理文件                         ——批处理文件的意义     后缀是bat的文件就是批处理文件,是一种文本文件。简单的说,它的作用就是自动的连续执行多条命令,批处理文件的内容就是一条一条的命令。那它有什么用呢?   比如,在启动wps软件时,每次都必须执行   C:\>cd wps
  C:\WPS>spdos
  C:\WPS>py
  C:\WPS>wbx
  C:\WPS>wps   如果每次用WPS之前都这样执行一次,您是不是觉得很麻烦呢?   如果有一个方法,只需编写一个批处理文件,就会自动执行刚才的所有命令,您想不想学呢?   当您看完此节,自己编写的第一个批处理文件顺利执行时,您一定会大吃一惊的。   此外电脑每次启动时都会寻找autoexec.bat这条批处理文件,从而可执行一些每次开机都要执行的命令,如设置路径path、加载鼠标驱动mouse、磁盘加速smartdrv等,可以使您的电脑真正自动化。




——常用命令  
  echo、@、call、pause、rem 是批处理文件最常用的几个命令,我们就从他们开始学起。
echo表示显示此命令后的字符
echo off表示在此语句后所有运行的命令都不显示命令行本身
@与echo off相象,但它是加在其它命令行的最前面,表示运行时不显示命令行本身。
call调用另一条批处理文件(如果直接调用别的批处理文件 ,执行完那条文件后将无法执行当前文件后续命令)
pause运行此句会暂停,显示Press any key to continue... 等待用户按任意键后继续
rem表示此命令后的字符为解释行,不执行,只是给自己今后查找用的
  例:用edit编辑a.bat文件,输入下列内容后存盘为c:\a.bat,执行该批处理文件后可实现:将根目录中所有文件写入 a.txt中,启动UCDOS,进入WPS等功能。   批处理文件的内容为:         文件表示:     echo off            不显示命令行     dir c:\*.* >a.txt       将c盘文件列表写入a.txt     call c:\ucdos\ucdos.bat    调用ucdos     echo 你好            显示"你好"     pause              暂停,等待按键继续     rem 使用wps           注释将使用wps     cd ucdos            进入ucdos目录     wps               使用wps     批处理文件中还可以像C语言一样使用参数,这只需用到一个参数表示符%。    %表示参数,参数是指在运行批处理文件时在文件名后加的字符串。变量可以从 %0到%9,%0表示文件名本身,字符串用%1到%9顺序表示。   例如,C:根目录下一批处理文件名为f.bat,内容为 format %1   则如果执行C:\>f a:    则实际执行的是format a:   又如C:根目录下一批处理文件的名为t.bat,内容为 type %1 type %2   那么运行C:\>t a.txt b.txt 将顺序地显示a.txt和b.txt文件的内容





  ——特殊命令  
  if goto choice for 是批处理文件中比较高级的命令,如果这几个你用得很熟练,你就是批处理文件的专家啦。 
if表示将判断是否符合规定的条件,从而决定执行不同的命令。 有三种格式:
1、if "参数" == "字符串"  待执行的命令
参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。(注意是两个等号)
如if "%1"=="a" format a:
2、if exist 文件名  待执行的命令
如果有指定的文件,则条件成立,运行命令,否则运行下一句。如if exist config.sys edit config.sys
3、if errorlevel 数字  待执行的命令
如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。如if errorlevel 2 goto x2  DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码
goto批处理文件运行到这里将跳到goto 所指定的标号处, 一般与if配合使用。 如:
goto end
:end
echo this is the end
标号用 :字符串 表示,标号所在行不被执行
choice使用此命令可以让用户输入一个字符,从而运行不同的命令。使用时应该加/c:参数,c:后应写提示可输入的字符,之间无空格。它的返回码为1234……
如: choice /c:dme defrag,mem,end
将显示
defrag,mem,end[D,M,E]?
例如,test.bat的内容如下:
@echo off
choice /c:dme defrag,mem,end
if errorlevel 3 goto defrag 应先判断数值最高的错误码
if errorlevel 2 goto mem
if errotlevel 1 goto end
:defrag
c:\dos\defrag
goto end
:mem
mem
goto end
:end
echo good bye
此文件运行后,将显示 defrag,mem,end[D,M,E]? 用户可选择d m e ,然后if语句将作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以goto end将程序跳到end标号处,然后程序将显示good bye,文件结束。
for循环命令,只要条件符合,它将多次执行同一命令。
格式FOR [%%f] in (集合) DO [命令]
只要参数f在指定的集合内,则条件成立,执行命令
如果一条批处理文件中有一行:
for %%c in (*.bat *.txt) do type %%c
含义是如果是以bat或txt结尾的文件,则显示文件的内容。


  ——autoexec.bat  
   DOS在启动会自动运行autoexec.bat这条文件,一般我们在里面装载每次必用的程序,如: path(设置路径)、smartdrv(磁盘加速)、 mouse(鼠标启动)、mscdex(光驱连接)、 doskey(键盘管理)、set(设置环境变量)等。   如果启动盘根目录中没有这个文件,电脑会让用户输入日期和时间。   例如,一个典型的autoexec.bat内容如下: @echo off                     不显示命令行 prompt $p$g                    设置提示符前有目录提示 path c:\dos;c:\;c:\windows;c:\ucdos;c:\tools    设置路径 lh c:\dos\doskey.com                加载键盘管理 lh c:\mouse\mouse.com               加载鼠标管理 lh c:\dos\smartdrv.exe               加载磁盘加速管理 lh c:\dos\mscdex /S /D:MSCD000 /M:12 /V      加载CD-ROM驱动 set temp=c:\temp                  设置临时目录
飘飘飘飘任逍遥 - 2008-8-23 21:13:00
哈,这东西好像恐龙时代的化石了!看起来还有点亲切感的。
▄︻┻┳ - 2008-8-23 21:16:00
——为什么要做系统配置     电脑在启动时会自动寻找config.sys这个文件,如果没有它,电脑就按默认的方式运行,但这种默认的方式在大部分情况下都不是最适合电脑使用的,所以我们应对电脑进行设置,比如设置对扩展内存的使用,加载光驱驱动程序等。   如果您的电脑出现Windows使用不了、游戏报告内存不够、光驱找不到、无法连接网络等等错误,合理修改config.sys也许能解决一半以上的问题。   config.sys是文本文件,可以用任何编辑器编辑修改。如果你增添、更改或删除config.sys文件中的任一配置命令,则这种改变只在下一次启动DOS时才有效。


  ——用CONFIG.SYS做系统配置 
  根据以前的介绍,大家都知道可以在config.sys中可以对系统进行配置,下面我们先学一学基本命令,在第五节将详细介绍一个多种系统配置的例子。
files=[数字]表示可同时打开的文件数,一般可选择20到50,如果要拷贝或解压缩大批的小文件(在安装台湾的一些游戏时经常会遇到这种情况,文件数可能有几千),可以把 files的值设为上限值255,这样可以提高拷贝或解压缩的速度。但是要注意,如果把files的值设得过大会占用过多的基本内存。如果不加设定,系统缺省为files=8,该缺省值足以满足多数操作环境的需要。
有的系统配置文件里可能会出现FCBS=[数字]这条语句,它也是用于确定DOS可同时打开的文件最大数,它与files=[数字]的区别在于打开文件的方式不同。一些旧的应用程序会要求用FCB方式打开多个文件,这样,在config.sys里就要使用FCBS命令。
buffers=[数字]表示设置磁盘缓冲区的数目,通常设置为20-30左右。缺省值一般为15。
磁盘缓冲区是一块内存区,它用于存储从磁盘读入的数据或存储写到磁盘的数据。DOS在读或写一个记录时,先检查包含那个记录的数据块是否已在磁盘缓冲区中,如果不在,就从磁盘上将该数据块读入到磁盘缓冲区中,再将此记录传送给应用程序;如果数据已在磁盘缓冲区中,则不必从磁盘上读入,而是直接把数据传送给应用程序。由于从磁盘上读取数据是相对耗时较多的操作,所以增加磁盘缓冲区可以节省很多读盘的时间。但是要注意,增加磁盘缓冲区是要占用内存的,所以,磁盘缓冲区的数值并不是设得越大越好,最佳的磁盘缓冲区数目要根据用户的机器配1置和通常运行的程序类型来确定。
device和devicehigh加载一些内存驻留程序,用于管理设备。比如内存管理程序和光驱驱动程序等。 如: device=c:\dos\himem.sys device=c:\dos\emm386.exe ram devicehigh=c:\cdrom\cdrom.sys
devicehigh 与device的不同是前者将程序加载入高端内存。
himem.sys和emm386.exeDOS只能直接使用640K的内存,即基本内存,必须依靠其它内存管理程序来使用更多的内存,这两条命令就是最常用的内存管理程序。
640K到1M之间的内存叫高端内存,是系统保留使用的;1M以上的内存叫扩展内存;在早期还有一种内存,是要在主机内安装一块内存板的,叫扩充内存,现在已经很少使用。
himem.sys负责管理扩展内存。
emm386.exe负责管理高端内存并在扩展内存中模拟扩充内存供某些软件使用。
为了使用更多的内存,配置文件中应有: device=c:\dos\himem.sys device=c:\dos\emm386.exe ram
注意:EMM386.exe要求先安装himem.sys,因而必须确保安装himem.sys的配置命令在emm386.exe之前。
dos=high,umb这两个参数也可以分开写成两条语句,即: dos=high
dos=umb
应在config.sys中加入这条命令,这样会将DOS的系统文件移入高端内存,空出更多的基本内存给其它软件使用。 注意,如果用户没有安装emm386.exe,umb这个参数是没有实际意义的。
lastdriverlastdriver规定用户可以访问的最大驱动器符数目,也就是DOS所能识别的最后的驱动器符(字母)。如果设定的驱动器符数目小于本机上的实际驱动器数,则此lastdriver命令会被忽略掉。缺省的最大驱动器符数目为本机的实际驱动器数目加一。
rem它和批处理文件中的rem含义相同,即注释。
  一个典型的config.sys文件内容如下:   DEVICE=C:\DOS\HIMEM.SYS   DEVICE=C:\DOS\EMM386.EXE NOEMS   buffers=15,0   files=50   dos=UMB   lastdrive=Z   dos=HIGH   DEVICEHIGH=C:\DOS\ATAPI_CD.SYS /D:MSCD000 /I:0   STACKS=9,256  ——了解DOS下的内存  
  DOS操作系统最早设计时,PC机的硬件系统只支持1M字节的寻址空间,所以DOS只能管理最多1M字节的连续内存空间。在这1M内存中,又只有640K被留给应用程序使用,它们被称为常规内存或基本内存,其它384K被称为高端内存,是留给视频显示和BIOS等使用的。在1982年,640K内存对微型计算机来说显得绰绰有余,人们甚至认为,640K的内存可以用来干任何事。现在看起来有些可笑,但在当时,情况确实如此。   现在的情况是,即使你的电脑装有几兆或几十兆内存,但如果你使用DOS操作系统,那么你也只有640K的内存可以直接使用,1M以上的内存要通过一些内存管理工具才能使用。值得庆幸的是,Windows 95已经不存在常规内存的限制了,你所有的内存,不管是8M还是128M,都可以被直接使用。   在DOS下,系统中存在以下四种内存:
  常规内存(Conventional Memory);
  高端内存(Upper Memory);
  扩充内存(Expanded Memory);
  扩展内存(Extended Memory)。   常规内存指的是0-640K的内存区。在DOS下,一般的应用程序只能使用系统的常规内存,因而都要受到640KB内存的限制。而且由于DOS本身和config.sys文件中的安装的设备驱动程序和autoexec.bat文件中执行的内存驻留程序都要占用一些常规内存,所以应用程序能使用的常规内存是不到640K的。有很多时候,我们都要想方设法地整理内存,好为一些“胃口”比较大的应用程序留出足够的常规内存,这一点想必是许多DOS时代的电脑爱好者最熟悉不过的了。   高端内存是指位于常规内存之上的384K内存。程序一般不能使用这个内存区域,但是EMM386.exe可以激活高端内存的一部分,并且它允许用户将某些设备驱动程序和用户程序用Devicehigh或LH(即loadhigh)装入高端内存。dos=high,umb也是把DOS的一部分装到高端内存里。这里的umb是高端内存块(Upper Memory Block)的缩写。   扩充内存是一种早期的增加内存的标准,最多可扩充到32M。使用扩充内存必须在计算机中安装专门的扩充内存板,而且还要安装管理扩充内存板的管理程序。由于扩充内存是在扩展内存之前推出的,所以大多数程序都被设计成能使用扩充内存,而不能使用扩展内存。由于扩充内存使用起来比较麻烦,所以在扩展内存出现后不久就被淘汰了。   扩展内存只能用在80286或更高档次的机器上,目前几乎所有使用DOS的机器上超过1M的内存都是扩展内存。扩展内存同样不能被DOS直接使用,DOS5.0以后提供了Himem.sys这个扩展内存管理程序,我们可以通过它来管理扩展内存。emm386.exe可以把扩展内存(XMS)仿真成扩充内存(EMS),以满足一些要求使用扩充内存的程序。   最后再强调一下,不管扩充内存或扩展内存有多大,DOS的应用程序只能在常规内存下运行。有的程序可以通过DOS扩展器(比如DOS4GW.exe等程序)使CPU进入保护模式,从而直接访问扩展内存;但是要注意,进入保护模式以后,计算机就脱离了DOS状态。
▄︻┻┳ - 2008-8-23 21:18:00
出错提示与对策                                ----A__C    如果你不懂英文,是不是对经常出现的英文提示一筹莫展,当然最好的主意是你现在就开始学习英语,未来是互联网的世纪,而互联网上的大部分资料是英文的,不懂的话,就少了一种交流的手段。不过我想给出一些常见的错误提示给大家还是必要的,不懂的时候就来查一查吧。
 
[英文提示]Abort,Retry, Ignore,fail?
[中  文]退出,重试,忽略,取消?
[原  因]不能识别给出的命令、或发生了使命令不能执行的磁盘或设备错误,可能是磁盘损坏或软驱门没关。
[对  策]按A键 彻底终止,并回到DOS提示符。
按R键 重复执行该命令。
按I键 继续处理,忽略错误,非常冒险,建议不要采用
按F键 不执行有问题的命令,继续下述处理。有时会用到。

[英文提示]Access Denied
[中  文]拒绝存取
[原  因]试图打开一个标记为只读、存贮在写保护的磁盘上或锁定在网络上的文件。如果在子目录上使用“Type”命令,或在文件上使用“CD(chdir)”命令,也会产生这个信息。
[对  策]应该用“Attrib”命令删除文件的只读状态或从磁盘中去掉写保护,然后再试试。

[英文提示]Bad Command or file name
[中  文]错误的命令或文件名
[原  因]不能识别输入的命令
[对  策]应该检查以确保输入命令的正确性 确认在指定目录或用Path命令指定的搜索路径上能找到命令文件。

[英文提示]Boot error
[中  文]引导错误
[原  因]在引导时检测不到应该的外设。
[对  策]应该检查计算机的设置参数,如用户自己不能解决这个问题,请找专门维修人员。

[英文提示]Cannot find system files
[中  文]不能找到系统文件
[原  因]试图从没有包含系统文件的驱动器上装入操作系统。
[对  策]应该用sys命令将系统文件复制到根目录中。除非真的是不能恢复系统文件了,才可用Format/s命令重新格式化磁盘。

[英文提示]Cannot load command,system halted
[中  文]不能加载command,系统中止
[原  因]应用程序覆盖了内存中的所有或部分Command.com。
[对  策]应该重新引导计算机,检查被应用程序修改过的数据是否完整,如必要可将Command.com复制到子目录,这样退出应用程序时DOS可在这儿找到Command.com。

[英文提示]Cannot read file allocation table
[中  文]不能读到文件分配表
[原  因]文件分配表已坏。
[对  策]如仍能找到一些数据,那么将它们都备份到一张空盘中,也可利用Chkdsk命令修复文件分配表,如需要,可重新格式化磁盘。如果问题重复发生,那么应该修理驱动器或更换驱动器。
▄︻┻┳ - 2008-8-23 21:18:00
----D__F   
[英文提示]Divide Overflow
[中  文]分配溢出,除零错误
[原  因]程序可能编写有错误,未调试好,也可能是与内存中的其它程序冲突。
[对  策]检查内存中的其它程序或不再使用此程序。

[英文提示]Drive Not Ready Error
[中  文]驱动器未准备好
[原  因]没有该驱动器或未放磁盘。
[对  策]检查磁盘或更换磁盘。

[英文提示]Duplicate File Name or File Not Found
[中  文]文件重名或未找到
[原  因]给文件起名字时与以有的文件重名了或是在对文件操纵时根本就没这条文件。
[对  策]更换名字或是检查文件名的拼写。

[英文提示]Error loading operating system
[中  文]引导操作系统错误
[原  因]操作系统文件找不到或已损坏。
[对  策]用SYS命令将操作系统文件拷贝到该驱动器,如需要,可将config.sys和autoexec.bat文件拷贝到根目录中。
如不能恢复系统文件,那么从软盘引导系统,备份数据,用Format/s命令重新格式化磁盘。

[英文提示]EXEC failure
[中  文]文件执行失败
[原  因]应用程序的可执行文件包含影响处埋的错误,或者由于早已打开了太多的文件而不能打开该文件,文件可能与当前的DOS版本不兼容。
[对  策]检查DOS的版本,如版本正确,可通过编辑Config.sys中的Files命令来解决这个问题。

[英文提示]File allocation table bad
[中  文]文件分配表已损坏
[原  因]很多原因,例如病毒发作,突然停机,不正常关机等都能破坏分配表
[对  策]将所能找到的数据备份到空盘中,不要覆盖以前的备份。也许可通过引用Chkdsk命令来解决这个问题。如需要,重新格式化软盘,如问题反复,那么将驱动器送去修理。

[英文提示]File cannot be copied onto itself
[中  文]文件不能拷贝成自己
[原  因]你在源文件和目标文件中指定了相同的文件,或是忘了写文件名。
[对  策]按需要改变源或目标文件,然后再试试看。

[英文提示]File creation Error
[中  文]文件建立错误
[原  因]可能是在磁盘中没有足够的空间为用户要创建的文件、想创建的文件早已存在,且为只读文件或是想利用早已存在的文件名来更换文件的名字。
[对  策]可以换个盘,或使用别的目标名、别的目标位置,或者使用Attrib命令除去文件的只读属性。

[英文提示]File not found
[中  文]文件未找到
[原  因]在当前目录或由Path、Append命令指定的任一目录中找不到文件,或者指定的目录是空的。
[对  策]检查文件名的拼法和位置,如需要改变搜索路径。
▄︻┻┳ - 2008-8-23 21:19:00
----G__I 
[英文提示]General failure
[中  文]通用失败
[原  因]DOS不能判断错误的原因,一般是因为驱动器中的磁盘未格式化,或格式化成非DOS系统。
[对  策]应该重新格式化磁盘。

[英文提示]Incorrect DOS version
[中  文]DOS版本不符
[原  因]输入了一个不同版本的外部命令。
[对  策]用setver设置版本或者使用正确的可执行文件。

[英文提示]Insufficient Disk Space
[中  文]磁盘空间不足
[原  因]磁盘中已没有可用的空间来拷贝文件或创建文件。
[对  策]可以删除一些无用的文件或更换一个大一点的磁盘。

[英文提示]Insufficient memory
[中  文]内存不足
[原  因]没有足够内存来处理用户所输入的命令,一般指基本内存。
[对  策]应删去一些内存驻留的文件或对内存做优化管理。还可以给系统增加更多的内存,以适应应用程序。

[英文提示]Invalid directory
[中  文]非法目录
[原  因]输入了无效的目录名或不存在的目录名。
[对  策]检查目录的拼法。

[英文提示]Invalid Drive Specification
[中  文]无效的驱动器定义
[原  因]根本没有这个驱动器,可能是拼写错误。若是不能指定光驱,可能是没有安装驱动程序。
[对  策]重新安装光驱。

[英文提示]Invalid filename or file not found
[中  文]无效的文件名或文件未找到
[原  因]输入的文件名包含了无效字符或通配符,或者将保留设备名用作文件名。
[对  策]利用不同的文件名试试。

[英文提示]Invalid Media,track 0 Bad or Unusable
[中  文]无效的格式,0磁道损坏或不可用
[原  因]一般是磁盘损坏。
[对  策]更换磁盘。

[英文提示]Invalid parameter
[中  文]无效的参数
[原  因]在命令行中没有指定正确的参数、或者有重复、禁止的 参数。
[对  策]检查命令输入时的拼写或语法。

[英文提示]Invalid partition table
[中  文]无效的分区表
[原  因]硬盘分区信息中有错误。
[对  策]应备份所能找到的数据,运行Fdisk来重新设置硬盘分区。
[英文提示]Invalid path,not directory,or directory not empty
[中  文]无效的路径,非目录,或目录非空
[原  因]系统不能定位指定的目录,或者用户输入了文件名来代替目录名,或者目录中包含文件(或子目录),不能被删除。
[对  策]检查目录名的拼法,如果目录为空,那么它可能包含隐含文件,使用Dir/ah命令来显示任何可能的隐含文件,用attrib改变属性,删除之。

[英文提示]Invalid syntax
[中  文]无效的语法
[原  因]系统不能处理用户输入的语法格式。
[对  策]应查阅正确的文件格式再试试。
▄︻┻┳ - 2008-8-23 21:19:00
----N__W 
[英文提示]No fixed disk Present
[中  文]没有硬盘
[原  因]系统不能检测到硬盘的存在。
[对  策]应检查设置的驱动器类参数,如果不能解决这个问题,那么送去修理。

[英文提示]Non-System Disk or Disk Error
[中  文]非系统盘或磁盘错误
[原  因]系统在当前盘中找不到系统文件。
[对  策]应插入包含系统文件的磁盘,或者重新引导计算机。

[英文提示]Not enough memory
[中  文]内存不足
[原  因]见Insufficient memory
[对  策]

[英文提示]NOT READY,READING DRIVE X
[中  文]驱动器X未准备好
[原  因]在指定的驱动器中没有盘或门没关。
[对  策]插入磁盘到指定驱动器或关上驱动器门。

[英文提示]Program too big to fit in memory
[中  文]重新太大不能载入内存
[原  因]见Insufficient memory
[对  策]

[英文提示]Required Parameter missing
[中  文]缺少必要的参数
[原  因]见Invalid Parameter
[对  策]

[英文提示]Too many open files
[中  文]打开的文件太多
[原  因]超过系统规定的打开文件数目。
[对  策]应在Config.sys文件中用Files命令增加最大数目,并重新引导计算机。

[英文提示]Unrecognized command in CONFIG.SYS
[中  文]config.sys中有不可辨认的命令
[原  因]在引导系统时,不能识别Config.sys文件中的命令
[对  策]应编辑config.sys文件,修正无效的行。

[英文提示]Write fault error
[中  文]写失败错误
[原  因]系统不能在磁盘上写数据。
[对  策]将磁盘取下再重新插好试试,仍然不行则运行Chkdsk或Scandisk,如磁盘不能恢复,扔掉它。

[英文提示]Write protect error
[中  文]写保护错误
[原  因]磁盘上有写保护
[对  策]取下磁盘,去掉写保护,再试试。
独孤忍 - 2008-8-23 22:23:00
强力帖子啊,学习了,谢谢LZ
古梦潭 - 2008-8-26 23:37:00
楼主辛苦了,真长见识受益匪浅
通明1 - 2008-8-27 1:20:00
LZ辛苦大大的,太详细了对DOS我们都重初学者进阶一层了,辛苦了谢谢分享喝杯茶!!!!:default7:
土哦哦土@ - 2008-8-27 10:42:00
该用户帖子内容已被屏蔽
1
查看完整版本: DOS详解