系统历史
1980年,西雅图电脑产品公司(Seattle Computer Products)的一名24岁的程序员蒂姆·帕特森(Tim Paterson)花费了四个月时间编写出了86-DOS操作系统。1981年7月,微软以五万美元的代价向西雅图公司购得本产品的全部版权,并将它更名为MS-DOS。
随后,IBM发布了第一台个人计算机,当时采用的操作系统是西雅图公司的86-DOS 1.14,但微软很快改进了MS-DOS,并使它成功地成为IBM PC采用的操作系统。1981年8月12日,微软正式发布MS-DOS 1.0和PC-DOS 1.0。1
MS-DOS是微软早期取得成功的最为重要的一项业务。该操作系统主要由微软开发,提供的命令行界面允许用户在一系列由IBM设计的PC上操作。MS-DOS为那些想要从他们的PC上获得更多功能的用户打开了一个新世界,也为IBM开发PC硬件业务提供了一个平台。最终,Windows取代了MS-DOS,但是后者一直以另外一种形式存在,直到2000年正式退出市场。2
DOS概述
定义
DOS是英文Disk Operating System的缩写,意思是“磁盘操作系统”,顾名思义,DOS主要是一种面向磁盘的系统软件。说得简单些,DOS就是人与机器的一座桥梁,是罩在机器硬件外面的一层“外壳”,有了DOS,就不必去深入了解机器的硬件结构,也不必去死记硬背那些枯燥的机器指令。只需通过一些接近于自然语言的DOS命令,就可以轻松地完成绝大多数的日常操作。
此外,DOS还能有效地管理各种软硬件资源,对它们进行合理的调度,所有的软件和硬件都在DOS的监控和管理之下,有条不紊地进行着自己的工作,但是在操作不慎情况下也会死机。
DOS是磁盘操作系统的简称,MS-DOS是MicroSoft-dos,它不是纯DOS,是基于Windows的DOS程序,在功能上类似于DOS,但是不一样(有很多操作是不能在MS-DOS里实现的)。最初的DOS不支持NTFS文件系统,只支持FAT、FAT16、FAT32,操作系统中的DOS工具箱已经支持NTFS。
当进入该系统时,内部指令可以由系统间接调用。
第一台个人电脑版的磁盘操作系统(DOS),称为PC-DOS,是由比尔·盖茨和他的微软公司为IBM公司研制的。他保留Microsoft版(称为MS-DOS)的销售权。PC-DOS和MS-DOS几乎相同,大多数用户统称它们为“DOS”。
它是一个非图形界面的操作系统,使用命令行界面的操作系统,运行程序的方法是在命令行中键入程序的名称,具有相对简单的接口,但不是过于“友好”的用户界面。
20世纪70年代,在个人计算机发明之前,IBM公司有一个不同且无关的DOS(磁盘操作系统),在规模尚未小一点的企业电脑上运行。它最后被IBM的VSE操作系统所取代了。而在以前,这个名字是指用于一系列商用电脑的IBM操作系统。
DOS操作系统用户指令是不区分大小写的。例如:DIR、Dir、dir在DOS中的执行含义是一致的。
组成
完整的DOS由五部分组成:
引导程序(BOOT):由格式化程序直接写入磁盘初始扇区。
基本输入/输出管理程序(PC-DOS为IBMBIO.COM、MS-DOS为IO.SYS)。
文件管理和系统功能调用程序(PC-DOS为IBMDOS.COM、MS-DOS。为MSDOS.SYS)。
命令处理程序(COMMAND.COM)。
各种外部命令:完成各种辅助功能的可执行文件。
软件
由于DOS是PC兼容机的主要平台,有许多为DOS撰写的知名软件。其中包括了:
Lotus1-2-3:一套在企业市场中被广泛运用的电子表格软件。被许多人视为IBM PC成功的主因。在MS-Office、Excel出现之前被广泛使用,随着Excel的出现,大部分用户转向使用Excel。
WordPerfect:一套出在DOS平台的文本编辑器。
dBase:最早的数据库软件之一。
BASIC:DOS下最普遍的计算机编程系统,有GBASIC、QBASIC等分支,是当时计算机初学者启蒙语言。
PCTools(PCShell):DOS下文件管理软件,可进行绝大多数文件操作。
Telix:调制解调器通信软件。
Arachne:一套DOS版的网络浏览器。
DJGPP:gcc的DOS移植版。
GRUB4DOS:是一个优秀的双(多)系统引导软件,使用GRUB4DOS可以很方便的引导各种操作系统,比如DOS、Windows、Linux等。是一个可以把U盘制作成光盘似的来进行装系统。
UCDOS:是基于MS-DOS,由中国人自己编制的中文操作系统。
TurboC:是一个高效的编译程序。
CCDOS:CCDOS是为中国第一台PC长城机做的汉字操作系统。CC是“长城”的两个拼音字母ChangCheng的字头字母。其作者为严援朝,曾获国家科技进步二等奖。
常用命令

DOS系统
TIME命令
1、功能:设置或显示系统时间。
2、类型:内部命令
3、格式:TIME-[hh:mm:ss:xx]
4、使用说明:
(1)省略[hh:mm:ss:xx],显示系统时间并提示输入新的时间,不修改则可直接按回车键相应,[hh:mm:ss:xx]为“小时:分钟:秒:百分之几秒”格式;
(2)当机器开始启动时,有自动处理文件(AUTOEXEC.BAT)被执行,则系统不提示输入系统日期。否则,提示输入新日期和时间。
TYPE命令
1、格式:type[盘符:][路径]文件名
2、类型:内部命令
3、功能:把指定的文件内容在屏幕上显示或打印机输出,它常用作查阅和显示文本文件的内容和打印清单。
4、说明:
(1)该命令只能显示ascii字符型文件,不能显示非文本文件,如exe、com
(2)文件名指全名,不能使用通配符
(3)执行时,可以按ctrl+numlock或ctrl+s暂停滚动,按任意键继续。
(4)按ctrl+p可以将内容在打印机上打出
例1、将C:\windows下tabletoc.log文件的内容显示出来
typeC:\windows\tabletoc.log
例2、将C:\windows下WGA.log只在打印机中输出,不在屏幕上显示
typeC:\windows\WGA.log>prn
CLS清屏幕
1、功能:清除屏幕上的所有显示,光标置于屏幕左上角。
2、类型:内部命令
3、格式:CLS
VER查看
1、功能:显示当前系统版本号
2、类型:内部命令
3、格式:VER
日期设置
1、功能:设置或显示系统日期。
2、类型:内部命令
3、格式:DATE[mm-dd-yy]
4、使用说明:
(1)省略[mm-dd-yy]显示系统日期并提示输入新的日期,[mm-dd-yy]为“月-日-年”格式;
恢复删除
1.功能:恢复被误删除命令(只可以在纯dos下使用)
2.类型:外部命令。
3.格式:UNDELETE[盘符:][路径名]<文件名>[/dos][/LIST][/ALL]
4.使用说明:使用UNDELETE可以使用“*”和“?”通配符。
(1)选用/dos参数根据目录里残留的记录来恢复文件。由于文件被删除时,目录所记载斩文件名第一个字符会被改为E5,dos即依据文件开头的E5和其后续的字符来找到欲恢复的文件,所以,UNDELETE会要求用户输入一个字符,以便将文件名字补齐。但此字符不必和原来的一样,只需符合dos的文件名规则即可。
(2)选用/LIST只“列出”符合指定条件的文件而不做恢复,所以对磁盘内容完全不会有影响。
(3)选用/ALL自动将可完全恢复的文件完全恢复,而不一一地询问用户,使用此参数时,若UNDELTE利用目录里残留的记录来将文件恢复,则会自动选一个字符将文件名补齐,并且使其不与现存文件名相同,选用字符的优选顺序为:#%——00001~9A~Z。
UNDELETE还具有建立文件的防护措施的功能,已超出本课程授课范围,请读者在使用些功能时查阅有关dos手册。
删除文件
1.功能:删除指定的文件。
2.类型:内部命令
3.格式:DEL[盘符:][路径]<文件名>[/P]
4.使用说明:
(1)选用/P参数,系统在删除前询问是否真要删除该文件,若不使用这个参数,则自动删除;
(2)该命令不能删除属性为隐含或只读的文件;
(3)在文件名称中可以使用通配符;
(4)若要删除磁盘上的所有文件(DEL*.*或DEL.),则会提示:(Are you sure?)(你确定吗?)若回答Y,则进行删除;回答N,则取消此次删除作业。
替代命令
subst[盘符][路径](将指定的路径替代盘符,该路径将作为驱动器使用)
subst/d——解除替代

DOS系统
显示属性命令
1.功能:修改指定文件的属性。
2.类型:外部命令。
3.格式:ATTRIB[文件名][+R|-R][+A|-A][+H|-H][+S|-S][/S]
4.使用说明:
(1)选用+R参数,将指定文件设为只读属性,使得该文件只能读取,无法写入数据或删除;选用-R参数,去除只读属性;
(2)选用+A参数,将文件设置为档案属性;选用-A参数,去除档案属性;
(3)选用+H参数,将文件调协为隐含属性;选用-H参数,去隐含属性;
(4)选用+S参数,将文件设置为系统属性;选用-S参数,去除系统属性;
(5)选用/S参数,对当前目录下的所有子目录及子目录中的文件作设置。
格式化
1.功能:对磁盘进行格式化,划分磁道和扇区;同时检查出整个磁盘上有无带缺陷的磁道,对坏道加注标记;建立目录区和文件分配表,使磁盘作好接收dos的准备。
2.类型:外部命令
3.格式:FORMAT<盘符:>[/S][/4][/Q]
格式化恢复
1.功能:对进行过格式化误操作丢失数据的磁盘进行恢复。
2.类型:外部命令
3.格式:UNFORMAT<盘符>[/L][/U][/P][/TEST]
磁盘检查
1.功能:显示磁盘状态、内存状态和指定路径下指定文件的不连续数目。
2.类型:外部命令
3.格式:CHKDSK[盘符:][路径][文件名][/F][/V][/R]
磁盘复制
1.功能:复制格式和内容完全相同的软盘。
2.类型:外部命令
3.格式:DISKCOPY[盘符1:][盘符2:]
LABEL建立磁盘卷标
1.功能:建立、更改、删除磁盘卷标。
2.类型:外部命令
3.格式:LABEL[盘符:][卷标名]
文件改名
1.功能:更改文件名称
2.类型:内部命令
3.格式:REN[盘符:][路径]<旧文件名><新文件名>
4.使用说明:
(1)新文件名前不可以加上盘符和路径,因为该命令只能对同一盘上的文件更换文件名;
(2)允许使用通配符更改一组文件名或扩展名。
文件比较
1.功能:比较文件的异同,并列出差异处。
2.类型:外部命令
3.格式:FC[盘符:][路径名]<文件名>
4.使用说明:
(1)选用/A参数,为ASCII码比较模式;
(2)选用/B参数,为二进制比较模式;
(3)选用/C参数,将大小写字符看成是相同的字符。
(4)选用/N参数,在ASCII码比较方式下,显示相异处的行号。
路径设置
1.功能:设备可执行文件的搜索路径,只对文件有效。
2.类型:内部命令
3.格式:PATH[盘符1]目录[路径名1]{[;[盘符2:]],<目录路径名2>…}
4.使用说明:
(1)当运行一个可执行文件时,dos会先在当前目录中搜索该文件,若找到则运行之;若找不到该文件,则根据PATH命令所设置的路径,顺序逐条地到目录中搜索该文件;
(2)PATH命令中的路径,若有两条以上,各路径之间以一个分号“;”隔开;
(3)PATH命令有三种使用方法:
PATH[盘符1:][路径1][盘符2:][路径2]…(设定可执行文件的搜索路径)
PATH:(取消所有路径)
PATH:(显示已设的路径)
批量工具
功能:批量处理某一类文件
类型:外部命令
格式举例:del*.txt(意为删掉所在目录下的所有.txt文件)
使用说明:输入想对批量文件处理的命令,输入*.后缀,比如想把所有.ini文件改为.txt文件则需输入ren.ini*.txt。
设计架构

MS-DOS系统
所有DOS类的操作系统都是在使用Intelx86或其兼容CPU的机器上运行的(主要是IBM PC及其兼容机)。最早的时候,DOS并未受限于此;为了在许多以x86为基础,但和IBM PC不兼容的机器上运行,产生了不少特定机器版本的DOS及类似的操作系统。
磁盘操作系统是单一用户、单工的操作系统,拥有不可重入的基本核心函数(意即同时间只能有一个程序调用这些函数)。有一个例外的状况,就是常驻程序(Terminate and Stay Resident,缩写为TSR)。某些常驻程序允许用户多任务操作;然而此时仍有“核心不可重入”的问题:当一个进程(process)调用了操作系统核心中的服务函数(也就是系统调用)时,在这个调用退出之前,其他的进程绝对不能进行系统调用、打断第一个进程。
磁盘操作系统的核心为用户程序提供了各式各样的函数,例如:在屏幕上显示文字、从键盘读入字符、访问磁盘上的文件、创建删除文件等等。
系统优点
磁盘操作系统是一种个人计算机(PC)操作系统。总而言之,DOS是命令模式下的人机交互界面,人通过这个界面来运行和控制计算机,就好像两个人相互沟通。
磁盘操作系统使用一些接近于自然语言或其缩写的命令,就可以轻松地完成绝大多数日常操作。另外,DOS作为操作系统能有效地管理、调度、运行个人计算机各种软件和硬件资源。
Windows XP,Windows Vista和Windows 7在“附件”中有一个“命令提示符”(CMD)。其模拟了一个DOS环境,可以使用相关的命令来对计算机和网络进行操作。
另外,有一些人使用DOS编辑程序在Windows启动失败时强行使用DOS引导盘引导DOS启动,从而恢复C盘。
自1998之后windows完全脱离了DOS,虽然DOS过时了(就像当年的软驱一样),命令行的批处理程序却存活下来,而且活得很好,因为它高效、简单、实用。
功能说明
基本功能
执行命令和程序功能
I/O管理功能
磁盘与文件管理功能
主要功能
文件管理
文件管理是指对计算机中各类文件进行有序的管理,其中包括对文件标识符、属性、生成或修改时间的管理;对文件读写操作的管理及对文件建立、检索、比较、修改、新建、删除和复制等操作的管理等。
特别要注意的是,DOS的文件管理中,对文件名采取8.3的命名方式,也就是说:主文件名为8个字符,扩展名(后缀)为3个字符,并根据扩展名来确定文件的打开方式,比如扩展名为.txt,则一般为文本文件,扩展名为.exe,表示可执行文件。进入windows操作系统后才支持长文件名管理。
设备管理
设备管理是利用dos的设备管理程序和模块,进行外设分配、外设输入/输出操作和缓冲区的有效管理。
存储管理
存储管理是利用dos的动态存储管理,对内存块的分配、请求、释放和修改等操作进行管理。存储管理可以为系统程序和应用程序有效地利用当前内存容量提供方便。
DOS采用的是单一连续存储管理。
作业管理
作业是用户通过dos命令请求计算机系统完成的一个独立任务。一个dos控制台作业可以包括输入、编译、连接、运行和输出等若干个处理步骤。作业管理就是许多个作业执行时进行必要的资源调度和作业处理过程控制。dos分内部命令和外部命令。
CPU管理
CPU(中央处理器)相当于主机的大脑,是微机系统中的核心部件。CPU管理一是使CPU能够进行高效的运作,二是能够处理各种可能发生的中断事件。
用户还可把多于一个的dos指令,加到*.bat批处理文件中批量执行。
系统组成
1.引导程序(BOOT)
2.输入输出管理系统(IO.SYS)
3.文件管理系统(MSDOS.SYS)
4.命令处理程序(COMMAND.COM)
启动引导
1.DOS的冷启动:
当计算机处于断电状态下,加电启动DOS系统,称为系统的冷启动。
2.DOS的热启动:
<CTRL>+<ALT>+<DEL>
版本介绍

DOS系统界面
DOS1.1
1982年,发表了DOS的第二个版本,该版本被Microsoft称为MS-DOS1.25,以及IBM称为PC-DOS1.1的版本,该版本支持双面软盘驱动器。早期的单面软盘驱动器仅能访问保存在单面软盘上的信息。
为了减少使用磁盘的数量,有的用户购买了可翻面的磁盘。这种磁盘可在两面上存放信息。
除支持双面磁盘外,DOS1.1还纠正了某些在1.0版本中发现的错误并且提供了程序员工具EXE2BIN。
DOS2.X
最早的IBMPC是基于软盘的系统,使用软盘驱动趋A和B。最早的PC不支持当时非常昂贵的硬盘。当IBM发表包括10MB硬盘的IBM PC XT计划时,Microsoft开发了新的用于DOS的文件系统。MS-DOS1.0版本及格1.1版本不支持分层目录,而对于硬盘,着样的目录是必须的。
Microsoft选择开发小型机UNIX操作系统相似的分层目录结构。UNIX当时开始流行。由于文件控制块不支持用于目录路径名的空间,因此Microsoft保留文件控制块并使2.0版本基于文件句柄管理文件.DOS使用文件句柄的第二个好处是能够实现重定向功能(也是UNIX的一个普通功能)。
使用DOS2.0版本,IBM变得很成功,并且DOS和CP/M操作系统一起成为可选的操作系统。由于PC机的流行,很多硬件生产厂家开发基于PC的产品。为帮助这些厂家汇集其产品,MS-DOS2.0提供支持可安装设备驱动程序,首次提供了CONFIG.SYS预配置文件。
DOS2.0版本包含很多UNIX的特性,然而,UNIX是一允许许多个用户同时运行多个程序的多用户操作系统。为提供多任务的简化格式,DOS2.0版本提供了诸如GRAPHICS及PRINT这样的内存驻留程序。
DOS3.X
1984年,IBM发表了其80286IBM PC AT,该机种使用了1.2MB的大软盘驱动器并在COMS芯片中保存计算机的设置信息.为支持DOS3.0版本,1984年的一段时间是计算机网络的前夕.虽然局域网的广泛应用还是将来的事,很多DOS3.0版本被写成支持网络DOS3.1版本成功支持局域网络。
虽然DOS2版本中用文件句柄代替了文件控制块,但还有一些现有的程序仍然使用文件控制块(FCB).为减少在网络程序中过多使用文件控制块,DOS3.1每次允许打开四个文件控制块。如果程序打开第五个文件,则网络服务器或SHARE将关闭最先打开的文件控制块。
为提供支持增加的文件控制块,DOS3.1增加了CONFIG.SYS FCBS项。此外,DOS3.1引入了JOIN及SUBST虚拟命令。1986年,Microsoft发表了支持3.5英寸微软盘驱动器的3.2版本。此外,DOS3.2版本还引入了REPLACE以及XCOPY命令。
1987年,IBM发表了PS/2系列计算机.为支持PS/2、Microsoft发表了,DOS3.3版本,除支持PS/2以外,DOS引入了五个命令:CALL、APPEND、KEYBCHCP、NLSFUNC以及FASTOPEN。
DOS3.3是最广泛应用及最流行的DOS版本.事实上,很多用户仍在运行DOS3.3,因为DOS3.3工作得很好。
DOS3.3的主要不足是其仅支持不大于32MB的磁盘分区。
DOS4.X
1988年,Microsoft发表了DOS4.0版本,该版本突破了32MB磁盘分区的限制。在4.0版本中,盘分区容量可达512MB。此外,DOS4.O版本提供了一个菜单驱动的shell程序,允许用户用菜单选择文件,或用鼠标选择文件。
DOS4.0版本还引入了MEM命令,该命令不允许用户显示其计算机常规内存的容量,还可显示扩充及扩展内存的容量。此外,4.0版本还修改了多个命令使其更有效地使用内存。
初期的DOS4.0版本有一些缺陷及较差的评述,为弥补缺陷,Microsoft发表了4.01版本,然而大多数用户和很多厂家未决定升级至DOS4版本。
DOS5.X
1987年,个人计算机革命成为局域网的革命:横跨全美各地的办公室开始将个人计算机连接在一起以共享信息。在用户程序大到在常规内存限制的640KB内存中运行感到困难之前,这场革命未持续多长时间。
某些情况下,用户要使用扩展或扩充内存,然而,很多程序,包括DOS均不能在640KB以上地址运行。1990年,Microsoft极其成功地推出了友好用户接口Windows,在Windows中,新的用户可以学习如何更快地使用计算机,而有经验的用户则可通过同时运行多个程序而提高效率。
1990年,其它工具软件以“DOS遗忘的应用程序”名义开辟了每年几百万美元的市场。
DOS6.X
在1993年初,Microsoft发表了DOS6版本。DOS6在DOS5的基础上进一步扩充了以前用户必须从其它软件公司购买的软件的功能。
首先,DOS6提供了INTERLNK以及INTERSVR应用程序,该程序使得便携式计算机可以很容易地与台式PC计算机交换文件。在将来,许多新出厂的计算机都配有电源管理芯片,以控制电源的使用,该芯片支持APM(高级电源管理)。DOS6提供了POWER命令,是DOS可以控制该芯片。DOS6还提供了检查并清除病毒的程序以及整理磁盘的实用程序。
为帮助用户配置自己的系统,DOS6引入了建立基本配置菜单CONFIG.SYS的选项。在发表DOS6的版本之前,Microsoft发表了用于Workgroups的Windows和一个基于网络的Windows版本。该版本允许用户共享数据,发送及接收电子邮件,以及远程打印文件。
为了帮助用户在不运行Windows时可以得到这些功能,DOS6提供了NET命令。最后,DOS6提供了强大的菜单驱动的备份文件的实用程序以及磁盘压缩软件,允许用户容易地倍增硬盘的存储能力。
新DOS
概述
DOS系统的确已经完全被取代,但dos命令仍作为使用Windows之余的一个有益补充,用来解决很多Windows解决不了的问题,或者更适合通过dos命令来解决的问题。
进入21世纪以来,自然没有多少人再费心学习dos的内存配置、驱动程序加载技术,更多人以掌握一种或多种dos应用程序的使用方法为荣,如分区、格式化、磁盘修复程序、Ghost备份等。这显示了dos是被作为一种工具而广泛应用,而不是其本义的操作系统。
DOS不再局限于DOS操作系统,而是更广泛地应用到Windows中的命令提示符。需要区分Windows中的命令提示符并非DOS,只是基本兼容DOS应用程序,Windows下命令提示符可以执行32位程序命令,而DOS则是16位程序命令。同时批处理文件也成为辅助windows批量操作一种很好的小程序。
进入
电脑的很多故障都与操作系统或硬盘有关,要想对电脑进行维修,进入DOS模式下进行硬盘维护或重装操作系统是必然的步骤。也可以进入DOS下杀毒。
以Windows 98为例,如果你还能进入windows,你可选从“开始”→“关闭系统”→“重新启动计算机并切换到MS-DOS方式”即可,也可在启动电脑快要出现Windows画面时连续按F8键,在出现的菜单中再选择“Command prompt only”进入。或者你可用做好的可启动软盘或光盘在电脑启动时以软盘或光盘启动方式来进入。
需要说明的是启动并进入DOS模式,要求磁盘要具有引导的能力(即具有三个系统文件,MSdos.SYS、IO.SYS和COMMAND.COM),如果要从硬盘启动,只要硬盘可以引导就行了,U盘、光盘也可以引导进入。
新硬件支持
针对当前的计算机应用需要,dos爱好者开发了支持在dos下读取闪存盘的驱动程序,使得U盘可以取代软盘;此外,还有可在dos下读取NFTS分区的工具,在dos下对鼠标的支持程序、对各种光驱的万能驱动程序等。这些程序的开发扩展了dos的适应能力。
模拟器
在Linux下,使用DOSEMU(一套用来运行实模式程序的Linux原生虚拟机)可以运行DOS及其派生版本。另外在各个版本的UNIX下也有许多用来运行DOS的模拟器,有些甚至在非x86的平台上也可以运行,像是DOSBox。