第十章PCDOS操作系统.ppt

上传人:本田雅阁 文档编号:3130412 上传时间:2019-07-14 格式:PPT 页数:69 大小:1.02MB
返回 下载 相关 举报
第十章PCDOS操作系统.ppt_第1页
第1页 / 共69页
第十章PCDOS操作系统.ppt_第2页
第2页 / 共69页
第十章PCDOS操作系统.ppt_第3页
第3页 / 共69页
第十章PCDOS操作系统.ppt_第4页
第4页 / 共69页
第十章PCDOS操作系统.ppt_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《第十章PCDOS操作系统.ppt》由会员分享,可在线阅读,更多相关《第十章PCDOS操作系统.ppt(69页珍藏版)》请在三一文库上搜索。

1、第十章 PC-DOS操作系统,1 DOS的历史与发展 2 PC-DOS的基本结构 3 PC-DOS的启动引导过程 4 文件管理 5 设备管理 6 内存管理 7 进程管理 8 系统调用与软中断 9 DOS命令 10 命令处理程序CCP 11 CC-DOS与PC-DOS, 的历史与发展,表- 的发展及其主要性能, -的基本结构,-的基本结构由四部分组成: 引导程序 (基本输入输出部分) (磁盘操作系统部分) (命令处理部分),具体来说,与这四个部分相应的程序的全部(或部分)都存放在软盘上,这些程序模块是: 自举记录引导程序 基本输入输出管理模块(以隐式文件的形式存放在盘上) 磁盘操作系统模块(以隐

2、式文件的形式存放在盘上) 命令处理程序,图- -层次结构,. 引导程序 该程序模块在FORMAT命令时装在系统磁盘的道第扇区。系统启动或复位时,首先进入固化的I/O程序ROM BIOS,对系统进行初始化和自测试,然后进入ROM BIOS的BOOT-STRAP(中断INT19)。如果是系统盘,则读入引导程序模块;否则,就给出出错信息并进入ROM BASIC。 引导程序进入内存并被执行后,即将系统盘上目录表内容读入内存。同时,判断基本输入输出程序IBMBIO COM和磁盘操作系统程序IBMDOS COM两个文件的位置是否对。正确的位置是IBMBIO COM在前,IBMDOS COM紧跟其后。如果程

3、序不对或者不是系统盘, 将发出出错提示信息。 如一切正常,则转向执行基本输入输出IBMBIO COM程序。,. IBMBIO.COM 模块,IBMBIO.COM模块作为ROM BIOS与IBMBIO.COM模块的接口,主要任务是: ()测定系统中设备的状态和进行初始化。 ()具有个与 的接口程序。 ()设置低序号的中断向量。 ()完成引导和传递控制作用。,表1- 中 断 向 量 表,.模块,表- 中 断 向 量 表,(1) 确定磁盘内部工作参数。,表 -,()对文件分配表进行初始化。所谓分配表(ie )是供文件分配磁盘空间使用的。表的结构很简单,它由若干个表项所组成。每个表项的位长度有两种:位

4、和位。对于和版本,取表项长度为位,而对于和,取表项长度为位或位,其值与磁盘容量有关(当磁盘容量簇时为位,否则为位)。,如图-所示,表由长度为位的若干个表项组成,表头占两项共个字节,表示磁盘规格的说明,有种不同规格: :双面,每道个扇区 :单面,每道个扇区 :双面,每道个扇区 :单面,每道9个扇区 :硬磁盘,图10-2 FAT结构形式,表头中第、字节由系统设置,总是,按第一个字节识别磁盘规格。 从第三项起记录盘簇的标记信息,它的含义是: :表示该扇区未使用,并可供使用。 :表示是文件的最后一个盘簇。 :表示保留盘簇。若不是装配链的一部分时,表示是一个坏盘簇,作为文件结束标志。 :三个任意进制数,

5、表示文件的下一个盘簇号。文件的第一个盘簇号则存放在文件的目录中。,()为COMMAND.COM模块建立程序段前缀。操作系统规定,当调入一个外部命令或功能调用EXEC去调用一个程序时,DOS都要为此程序确定其在内存中存放的最低地址,并为它建立一个程序段前缀。,表-,()填入20H3FH类中断向量。 ()为IBMBIO.模块装入COMMAND.提供装入地址。装入后,BIO即将控制传送给COMMAND.模块的第1个字节。,COMMAND.命令处理程序,()在内存中的常驻部分。 ()初始化部分。 ()暂驻部分。 ()指挥DOS把用户程序装入内存并使它们去控制计算机工作。,表10-6,. DOS在磁盘上

6、的空间分配,PC系统所使用的磁盘,无论是软盘还是硬盘,在盘面上存放DOS都有相似的位置。此DOS区域有如下形式:, PC-DOS的启动引导过程,. 引导程序装入内存及其执行过程,它是靠FORMAT固化在软盘0面0道1扇区或硬盘1柱面0磁头1扇区上,是靠运行ROM BIOS时被装入内存的。详细地讲是这样:当用户将机器通电后,即自动进入ROM BIOS的复位指令JMP RESET,其机器指令为EA5BE000F0,然后转跳到F0000:E05B进行整个开机工作,在完成系统的初始化和一系列自测试工作之后,就调用INT19(BOOT-STRAP),于是引导程序就被装入内存绝对地址07C00处。引导程序

7、被装入内存的意义是实现系统自举,装入后将把控制转到引导程序的执行上。,图10-3 BOOT-STRAP程序框图,图10-4 引导程序框图,图10-5 PC-DOS .启动引导流程,可以按下列方法建立CONFIG文件: ()输入:COPY CON:CONFIG ()配置:譬如 BREAK=ON 它为一个程序执行任何功能时,使DOS对Ctrl-reak进行开始开启延长检验(省缺值off) FILES=20 可扩展同时打开文件数20个 BUFFERS=5可扩展缓冲区到5个,()按F键和ENTER键,以便结束。 AUTOEXEC.是一个特殊的批命令文件。 当启动或再启动DOS时, 命令处理程序检索AU

8、TOEXEC文件,如果该文件出现在DOS盘上,那么每当启动DOS时,DOS总是自动地执行该文件。, 文 件 管 理,. 文件目录,PC-DOS的目录在0道。每个目录占32个字节。在单面盘中,目录占4个扇区,最多有64个目录入口;在双面盘中,目录为7个扇区,有112个目录入口。 每个目录的32个字节定义如下:,其中: 07:文件名。其中第一个字节(0字节)表示本目录项的状态。 00表示本目录项未使用过。 E5表示被用过,但文件已删除。 2E表示本目录已用作一目录。,8:文件扩展名(如.为命令文件、 为批文件、为运行文件等)。 : 文件属性,有下列几种: 01为只读文件。 02为秘密文件。在列目录

9、清单时不出现。 04为系统文件。 表示在目录开始的11个字节为盘标号,而目录中其他部分不再包含有用信息。盘标号仅存于根目录中。 该项定义一个子目录。 为归档位。当文件完成了写操作并已关闭时,置此值。,1221:保留。 2223:文件建立时间或最近一次文件修改时间。此两字节共16位,按下面划分表示小时 (hh) 、分(mm)和秒(ss):,其中:hh、mm均为二进制数,ss是以2 s作增量的二进制数。,2425:建立文件或最后一次修改文件的日期。两字 节共16位,分别表示年 (yy) 、月(mm)和日(dd) :,其中: yy=0119(1 9802 099) mm=112 dd=131 262

10、4:起始簇号。硬盘软盘数据空间的第一个簇号总是002。 2831:以字节为单位的文件长度。,. 硬盘上的树形文件结构,硬盘根目录下的最大文件数取决于硬盘上DOS所在盘区的大小。根目录下除文件外还可含有子目录, 子目录下又可有文件和子目录。 磁盘的根目录在FORM格式化命令时建立。 由于软盘的目录为一级目录,所以对文件的访问非常简单,直接通过文件名访问即可。但对具有树形文件结构的硬盘来说,要查找一个文件,就必须给出文件的路径(Path)。,例如,系统工作的当前目录为David,如需找出David的报表(REPORTS)目录下的一种名为ANNUAL.的年报。则有两种查找路径: ()从当前目录Dav

11、id开始。输入 ANNUAL ()从根目录开始。输入 SALESDAVIDREPORTSANNUALFIG 开头的反斜杠号“”表示根目录。从上可见,路径是由一系列目录名组成的,目录名之间用“”号分开。,例如,当前目录为David,现需查找Jeanne下的报表SUMMARY。如从根开始,可用 SALESJEANNEREPORTSSUMMARY 如用回溯方法,可用 JEANNEREPORTSSUMMARY 左面的“”表示从当前目录David回溯至上一层父目录,DOS还提供有一组关于目录操作的命令,如: ()命令:建立新的目录 ()命令:删除目录(没有文件和子目录的目录才能被删除) ()命令:显示和

12、改变现行目录 TREE命令:显示整个磁盘的目录结构,. 文件控制块及文件管理方法,图10-6 文件控制块FCB格式,:驱动器号码 文件打开前 0-隐含的驱动器 -驱动器A -驱动器 文件打开后 1-驱动器A 2-驱动器B :文件名。 左对齐,尾补空格。,9:文件扩展名。 1:相对于文件开头的当前块号。每块为128 个记录。每记录长度则由逻辑记录长度决定。 :逻辑记录长度,以字节为单位。 :文件长度(以字节计)。 :建立文件和最后修改文件的日期:,2231:保留为系统用。 32:当前块内的当前的相对记录号(0127)。 用户对盘进行顺序读写操作前,需预置此段。 字节015和3236必须由用户程序

13、设置,字节1631则由DOS设置。下面,对扩展的文件控制块FCB作一说明: -7:若为FFH的标志,表明是扩展的FCB。 -6至FCB-2:保留区。 FCB-1:属性字节。如02表示秘密文件、04表示系统文件等等。,. 系统文件表与读写操作的实现,图10- SFT表组的链结构,图10-程序数据结构之间的关系, 设备管理,在DOS中设备管理可对两个基本类型字符设备和块设备进行管理。 DOS设备管理与一些专用数据结构有关,如每个驱动程序都有一个设备表,DOS系统程序就是用此表的信息去分配和管理设备。 每个设备驱动程序都具有三个部分:设备表、策略程序和中断程序。 操作的起始扇区号的计算公式为: 起始

14、扇区号=(当前簇号-2)每簇扇区数+文件数据区的起始扇区号, 内存管理,DOS对640KB的常规内存区的分配和待分配的内存块是依据内存控制块链进行跟踪管理的。DOS的4个内存管理功能调用48H、49H、4AH及58H分别管理内存块申请、内存块释放、内存块修改和内存管理策略设定等操作,它们为DOS操作系统和应用程序有效地、充分地使用有限内存而服务。, 进程管理,图10- PSP和与其相应的程序结构图,DOS操作系统可通过EXEC功能调用4BH来实现程序的管理和控制:EXEC可供系统程序或应用程序(称其为父进程)把另一个程序(称其为子进程)调入到内存中,由父进程决定子进程是否执行,并且父进程还能决

15、定子进程被调入到内存的位置。当子进程结束之后,控制将返回到父进程。, 系统调用与软中断,用户程序使用系统调用命令的一般步骤为: ()把系统调用编号放入寄存器AH中; ()把命令要求的调用参数放入有关的寄存器; ()执行软中断INT21,启动相应命令执行。,实际上,在20类这32个中断向量中,目前DOS只使用了20类这8个向量,其余由DOS保留作为今后的功能扩展。 20类向量所在的区域相当于地址80H。 下面我们只对常用的几条软中断处理作说明: ()系统功能调用21H已讨论过。 ()程序的退出。 正常退出INT 20H。用户程序执行完毕后,可使用这条中断处理来结束用户程序,退回操作系统。 驻留退

16、出INT 27H。用于用户自己写的中断处理程序的初始化。用这种方法退出后,留下的程序被PC-DOS视为自身的一部分,不会被其他程序覆盖。,()磁盘读写。 INT 25H和INT 26H用来读写盘上的若干个扇区,这是两条BIOS调用。必须按下列要求设置参数: ()驱动器号(0=A,1=B,等) ()读写的扇区数 ()开始扇区的逻辑号(0号表示0柱0面1区) (BX)内存起始地址 例如,从双面盘上读出目录的程序如下: , 把盘号置为A CX,7双面盘根目录长为7个扇区 ,目录区从0柱0面6区开始 , 传送到1 000H起的内存中去 读盘 T 返回操作系统, DOS 命 令,. DOS命令的格式和类

17、型,显示一个名为TABLE的指定文件的目录项: C:WANGTABLEW 如果以通用的格式表示,可写为: d:pathfilenameextW,命令可分为几个部分: ()命令名 ()驱动器名d: ()路径名path: ()文件名filenameext ()参数, 命令格式的说明,d:表示用户指定的驱动器。 在驱动器符后面跟一个冒号。 A和B分别表示第一和第二软盘驱动器, C为第一个硬盘驱动器。 如果省略这个参数,则DOS认为是当前的隐含驱动器。 path代表目录名的路径,dirnamedirname。 目录名之间以斜杠分开。 第一个斜杠表示由根目录开始。 加入文件名时, 必须加在目录名路径的末

18、端。 例如:DIR1DIR2FILE。 filenameext表示文件名及其扩展名。 filespec表示某个指定的文件。 包括指定驱动器和指定的文件名。 即d:file-nameext。,格式中符号的一些说明: ()上述 中的项是任选项,如选用这些项时,仅需写出内的参数,无须写本身; ()由一竖杠隔开的项(例如OFF)只可输入竖杠两边参数中的一个(ON或OFF) ,不可两者均输入; ()省略号()表示用户可多次重复同一个项目; ()可以用大写或小写字母,也可以大、小写混合使用。,.命令的类型 DOS命令可分为内部命令和外部命令两大类。 内部命令就在DOS内,可以直接识别和执行。 外部命令和程

19、序文件一样驻留在磁盘上,必须将它从磁盘读出才能执行。所以外部命令的磁盘必须事先在驱动器内。 例如,用户输入命令。 B:GRAPHICS 系统将从B驱动器中寻找出GRAPHICS命令文件并加以执行。,. DOS命令举例,. (列目录)命令 用途:显示磁盘文件目录。 列出磁盘文件目录中的全部目录项,或者仅显示指定文件的目录项。 此外,屏幕上还显示文件数目、磁盘余下的自由空间、文件长度和日期等信息。 格式:DIRd:pathfilenameextPW 说明:参数P表示屏幕满时显示暂停。按任一键后继续显示。 参数为宽显示方式,每行5个文件名。 本参数仅用于8025字符方式。 文件名中可以使用“?”和“

20、”字符。,例1 列出盘上所有的文件(如果考虑宽显示方式): ADIR Volume in drive A has no label Directory of A:,. ERASE(删除文件)命令 用途:在指定驱动器和目录中删除文件。 格式:ERASEd:pathfilenameext或DELd:pathfilenameext 说明:DEL是ERASE的简记形式。 删除命令是DOS的内部命令。 如果不给出驱动器符,就认为是当前隐含的驱动器。 如果不指定目录路径,则认为是当前的目录。 可以使用和? 作为文件名。 系统文件IBMBIO.和IBMDOS.不能删除。,. (显示树结构目录)命令 用途:显

21、示指定驱动器上所有树形文件结构的目录,并有选择地显示各子目录中的文件。 格式:TREEd:F 说明:属外部命令。 对每个目录都给出了从根目录开始的完整的路径名。同时给出属该目录的所有子目录。 如果使用参数F,还将显示出各子目录中的所有文件。,例 2 设磁盘上树形文件结构目录如图10-0所示。 执行TREE命令后显示,图10-10 具有路径的目录,.(打印)命令 用途:在屏幕上显示指定文件的内容。 格式:TYPEd:pathfilenameext 说明:属内部命令。 不给出路径名,指当前目录。 文件中所有字符,包括控制字符都送屏幕。但CTRL-I或CHR (9) 均按跳格(8个字符间隔)处理。

22、此命令只打印文件,不能打印目录。 可将PRN加到命令后把文件在打印机上打印出来。, 命令处理程序CCP,图10 - CCP在内存分配图中的位置,图10-12 命令处理程序框图, -与PC-,.-与PC-的关系,. -的生成,BOOT-STRAP将PCDOS的三个文件引入内存后,就检查磁盘上是否存在AUTOEXEC文件。 如存在,则执行这个批命令文件中的各条命令,CC-DOS的系统盘上就存在一个AUTOEXEC.BAT文件,它含有以下内容:,echo off cls echo PLEASE WAIT file 1 cccc verify on,它们的工作流程如下: ()file。 判断磁盘上是否

23、存在CCLIB文件,如不存在,就显示出错信息,并准备再次引导系统。 判断CCLIB文件中是否有内容。 如无内容, 则显示出错信息,并准备再次引导程序。 把本程序的代码段值(CS)和初始偏移值(为全0)存入1F类中断指针存放处(即0000007C007F)。 申请一块能放下汉字库的内存空间。 本程序驻留内存,退出运行。,()cccc.cccc.文件分为两部分,一部分是该文件本身的执行代码,另一部分是CC-的程序,它只是在执行cccc.命令时被带入内存驻留,并未真正执行。 cccc.文件所作的工作过程如下:, 把汉字库CCLIB文件装入到1F类中断指针指向的内存中去; 把1F类中断指针的内容保存起来,以备将来访问汉字库时用; 把1D类中断指针指向CRT初始化参数存放处;, 把10类中断指针改为指向-的CRT控制程序入口: 把1F类中断指针改为指向字符字模库的首址; 把16类中断指针改为指向CC-的键盘控制程序的入口; 把CRT初始化成200640的图形方式; 显示CC-的标题(即版本号、研制单位等)。 本程序驻留内存,退出运行。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1