为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

DOS系统结构

2017-09-19 12页 doc 98KB 16阅读

用户头像

is_266065

暂无简介

举报
DOS系统结构1、8086CPU如何移植DOS系统 DOS的主要版本是基于8086和8088芯片的能力而设计的。在讨论DOS、BIOS和编程时,所有例子都是运行在8086或8088上的(没有包括新芯片扩充的特有性能)。 1. DF(方向标志) 2. TF(跟踪标志) 3. IF(中断标志) 方向标志控制着...
DOS系统结构
1、8086CPU如何移植DOS系统 DOS的主要版本是基于8086和8088芯片的能力而设计的。在讨论DOS、BIOS和编程时,所有例子都是运行在8086或8088上的(没有包括新芯片扩充的特有性能)。 1. DF(方向标志) 2. TF(跟踪标志) 3. IF(中断标志) 方向标志控制着8086的指令在内存拷贝的区域内指定方向。跟踪标志将CPU置成“单步”方式(调试器用来控制程序的执行)。中断标志允许或禁止硬件中断响应。 2.3.3 80286其更高档的处理器 从80286开始,使打破由8088/8086分段式结构设置的1M内存的限制成为可能。CPU可以在实地址方式下运行,即运行与8086和8088的能力一样的程序。程序员可在实地址方式下编程,也可以在保护模式下编程。 在保护模式下,建立了一个描述符。这些表包括以前段寄存器信息——段的基地址。同时加上一些信息,如,是否可以被写入这个段的信息。段寄器则是现在的段选择符,它是描述符表的索引。 在80286保护模式中,一个描述符表项包含有24位基地址。当80286在保护模式下运行时,它可以存取多达16M的内存。 80386和80486继续扩充了内存寻址能力。像80286一样,它们可以在保护模式下编程;然而,现在的描述表项有32位基地址,它允许寻址多达40亿字节(46字节)的内存。 为适应这个寻址能力的跳跃,通用、偏移量和标志寄存器现在也有了32位版本:EAX、EBX、ECX、EDX、ESP、EBP、ESI、EIP和EFLAGS。老的16位寄存器(例如AX和BX)仍然存在,只是作为32位寄存器的低16位。 不仅CPU可以存取4G字节的内存,一个段也可以扩充到全部4G内存中。事实上现在32位结构可以和16位结构一样容易处理,在DOS环境中的80386-/80486- 特定软件已经形成了市场,其中包括两个相互竞争的保护模式环境。 DOS保护模式接口(DPMI)和虚拟控制程序接口(VCPI)。 另外,还有一个DOS扩充程序,该程序允许专门针对80386-/80486的软件,在允许存取实地址模式下DOS和BIOS功能的同时,在保护模式下进行操作。 DOS扩充程序允许应用程序在使用CPU的32位扩充能力的同时,仍能使用DOS和BIOS提供的服务。这类程序常常比用等同的16位并且对DOS内存没有强制限制开发出的程序运行得要快。 2.3.4 PU芯片的识别 要使用80286、80386和80486 CPU的扩充功能,软件必须知道它运行在其中一个芯片上,并且要知道在什么芯片上运行。有三种解决确定当前芯片问题的。 1. 第一种解决方法是基于80386和80486在加电时用DH寄存器的10(标志)字节(3或4)来区分它是什么芯片。 2. 第二种方法是询问用户使用的是哪种芯片。 3. 第三种方法是从已知的芯片之间的差异来推断出所使用的芯片是哪一种。 第一种方法必须包含有已重编程的BIOS芯片,它超出了大多数程序员的能力,对用户而言则更是苛刻。它也不能区分80286到8086之间的芯片。第二种方法假设用户知道其机器是什么CPU;在很多情况下,这种假设是无效的。第三种方法需要做的工作比第二种多,但比第一种少,并且是可靠的。 2.3.5数学协处理器 Intel 80x86系列的处理器,从8088到80386只能处理整数运算。对很多应用程序,有整数运算就已足够。对于需要浮点运算的应用计算必须由已编好的特定的程序来处理。对大多数应用程序来说,用户不需留意软件计算处理的开销。然而,对于浮点运算较多的数学应用,开销变成了一个问题,这时的数学协处理器也变成必不可少的了;一些应用系统甚至没有协处理器就不能运行。 数学协处理器可以像处理器计算整数那样容易地计算浮点数。不仅如此,它还能和处理器并行地处理所进行的计算工作。只有当数据被调入协处理器或从协处理器中读出数据时,或者激活协处理器期间,才会需要处理器的配合,而在协处理器完成其功能期间,处理器可以去做另外的属于它自己的工作。 2.3.6数学协处理器的识别 Intel公司共有三种可以和主处理器一起工作的协处理器:8087、80287和80387,但没有80187。因为8087也可以和80186和80188一起工作。也没有80487,因为在80486内有内置的80387的等价物。要识别数学协处理器并不简单。表面上不匹配的处理器和协处理器可以结合。事实上,8086 CPU和80287就可以组合在一起工作。 与识别不同CPU的方法相比,识别协处理器的技术要利用不同代的协处理器之间的细微差别。分辨系统中使用的是何种芯片,会由于在系统中根本未使用协处理器而复杂化(数学协处理器决没有那么便宜——需要使用协处理器的应用也不普遍——使得卖方会自动地将它们放入系统。另一方面,很少有卖方想把它们的产品放在失去和应用程序确定的协处理器百分之一百兼容的地位上。折衷的方法是,在主板上放了一个协处理器的插座,由用户选择是否要安装一个协处理器。) 要确定当前协处理芯片是哪一种,可将一个位模式写进内存,试图初始化协处理器芯片。然后数学协处理芯片运行一个将协处理器状态字写入内存的指令。如果拥有该芯片,则有一个新值写入内存,如果没有该芯片,则写入的是位模式,而不是有效的协处理器状 态字。当知道有协处理芯片存在后,可以用通过区别协处理器中断和读控制的方式来区分8087和80287以及80387。这个过程对8087有效,但对80287或80387无效。要区别80287和80387,可以创建出一个正的无穷大的值(正1除以0),再创建一个负的无穷大的值,然后用协处理器来比较这两个值,因为80387在两个值之间有区别,而80287则没有区别。 2.4内 存 PC及其兼容机中有四种类型的内存: 1. ROM(只读内存)是安装在计算机中的永久内存,它通常保留特定的机器的BIOS部分。 2. RAM(随机存取内存)非永久地保留程序代码和数据。 3. 扩展内存(extended memory)(超过1M的内存)可以被80286处理器在保护模式下存取。 4. 扩充内存(expanded memory)加入到系统但不是直接被处理器映射的内存部分。这部分内存通过特定的扩充内存驱动系统来存取。 读者可能已经听说过多种ROM,如PROM(可编程只读存储器)或EPROM(可擦写可编程只读存储器),所有这些都属于ROM类型。尽管有人反对这样归类,但从DOS系统程序的标准来看,PROM和其它一系列ROM都表示永久存储器。 2.5 I/O管道 PC及其兼容机上的标准输入/输出(I/O)设备是键盘、视频监视器和打印机。除了这些标准设备以外,计算机还常配有鼠标以及一个或多个串行接口。 还以增加诸如触觉感应屏幕(触摸屏)以及各种类型的传感器等一类的用户设备到PC系统中。 2.5.1键盘 PC键盘从不知道从键盘上键入的内容。键盘不解释所击的键,只是直接告诉计算机特定的键被按下或松开。键盘并不指定每个键的含意。但它指定每个键有一个唯一的数值(扫描码)。这个扫描码被BIOS传送到计算机去解释。 当使用者按下某一个键时,键盘通知计算机(通过Int 09h)那个键已被按下或松开。当处理器执行Int 09h时,BIOS取得计算机瞬时的控制权,读取该键的扫描码。BIOS首先检查像Shift和NumLock这样的双态键。如果双态键被按下或松开,BIOS修改在内存地址0417h-0418h上的键盘状态位。接着,BIOS检查一些特定的组合键(如Ctrl-Alt-Del),如果需要,就运行它们对应的特定的处理程序。 如果扫描码还没有当作特殊用途的键(像NumLock,Ctrl-Alt-Del,Shift或者Ctrl等)被“清除”的话,BIOS将它转换成等值的ASCII码。如果对该键没有正确的ASCII字符相对应,它就给出值为零的ASCII码。然后,该ASCII字符,加上它的初始扫描码,就被保存到键盘缓冲区中。这个缓冲区足以存放15个字符和它们的扫描码。如果缓冲区已满的话,BIOS就会发出蜂鸣声(以表示键盘缓冲区满)并且去掉此键的扫描码的值。 在字符到达键盘缓冲区后,就允许运行着的程序(包括DOS)使用它了。因为计算机通常在几分之一秒中就响应,所以填满键盘缓冲区的机会是很小的,除非计算机忙于处理其它任务。 2.5.2显示器屏幕 PC支持多个视频接口卡的型号,并且每个显示卡都可工作在多个文本或图形模式下,然而,编写一个适应各种显示的程序并没有想象的那么困难,因为DOS提供了确定显示卡的种类以及当前工作模式的工具。 显示卡的类型  对于大多数编程人员来说,至少应熟悉6种类型的显示卡。当然也有其它类型的显示 卡,但通常只用在一些特定的应用中。 初始的“标准”显示器是单色显示卡(MDA)。这个系统以其明快的、清晰的字符以及专业化的外观在计算机的商业应用中得到了很高的评价。其它视频卡(CGA、EGA、HGA、MCGA和VGA)也开始在不同的显示场合能被用户使用。 表2.2列出了这些显示卡以及它们开始使用的年代。 表2.2显示卡和使用的年代  显示卡 推出的年份 MDA 1981 CGA 1982 HGA 1982 EGA 1984 MCGA 1987 VGA 1987 在对单色显示卡的扩展中,彩色显示卡(CGA)使显示彩色成为可能,这一点是非常重要的。CGA显示卡可以显示彩色和图形,但是显示字符不如MDA的清晰。这个不同的原因在于产生每个字符的点阵象素数。 MDA使用9*14的字符框产生字符,而CGA使用8*8的框。因为密度的不同,CGA的字符看起来要比MDA的字符“蠢”。 大力神(Hercules)图形显示卡(HGA),结合单色屏幕的清晰的字符以及彩色图形卡显示的图形产生了高分辨率的单色显示效果,因此它很快成为结合文本和图形的标准。HGA不能产生彩色,但这个不足对它并不是特别不利。 随着增强图形卡(EGA)彩色图形系统的推出,人们(和商业市场)开始发现,彩色使他们的工作更加丰富多彩,更加有高度了。仅高亮度不足以在屏幕上显示各种变化,但可以用彩色来强调很多事情。 虽然只是少量的改进,使用也不广,但随着IBM PS/2型号25和30的多彩色图形阵列(MCGA)和IBM PS/2型号50、60、80的视频图型阵列(VGA)的推出,显示的标准再一次被重新确定。 MCGA类似于CGA,但它的分辨率更高。 MCGA分辨率是320*400;CGA的分辨率是320*200。 VGA的分辨率(640*480)是EGA(640*350)适当扩充。两种显示器中主要的改进则是所有的显示都使用的是模拟的而非数字的监视器。在模拟信号下工作,新的视频系统可以显示256色的调色板(允许产生多达262144种颜色)。 内存映射与显示卡  在IBM系列中的视频显示卡都使用内存映射。换句话说,即将屏幕上所见的内容直接映象到被显示卡控制的内存区域中。字符的实现很简单,它被直接写入显示内存,然后显示卡从显示内存中读出该字符并将它显示到屏幕上。在图形模式下,显示卡将视频内存的数据当作一个在屏幕上控制点的分离着的位的阵列。内存区域的使用按照显示模式以及不同的显示卡有着很大的区别。 表2.3详细列出了每个显示卡的视频缓存的起始位置和长度。 表2.3各显示卡的内存配置 显示器类型 显示模式 缓冲区段地址 缓冲区长度 显示页数 MDA 文本 B000h 4K 1 CGA 文本 B800h 16K 4/8   图形 B800h 16K 1 HGA 图形 B000h 64K 1 EGA 单色 B000h 可变 可变   文本 B800h 可变 可变   图形 A000h 可变 可变 MCGA 文本 B800h 32K 8   图形 A000h 64K 1 VGA 单色 B000h 可变 可变   文本 B800h 可变 可变   图形 A000h 可变 可变 2.5.3 打印机 在这本书中,名词打印机一般指连接在并行打印机上的打印机,而不指连在串行口上的打印机(串行口将在下一节和第7章“串行设备”中讨论)。通过并行打印机接口,可以向打印机传送一个初始信息,并且查询打印机当前状态,例如,打印纸是否用完等。这里特指的是在DOS层用打印机可以做些什么。而打印机的使用则超出了本书的范围。 2.5.4串行口 当与一台并行打印机连接时,只能得到对并行打印机口的有限的控制。现在硬件已经设计成几乎可以处理每个任务。你可以随意买一台打印机,并能保证在插上它之后,就能正确地工作。然而,串行口则不同。 当今大多数的计算机至少装备了一个串行口。它主要用来驱动串行打印机、鼠标或者调制解调器,串行口还有些特殊的问题。连接双方必须设定它们的参数;如果参数设置不对,就连接不通。这些参数包括波特率、奇偶校验、起始位、结束位以及数据长度。尽管大多数(但不是全部)设备的物理连接都遵守一个标准,但参数还没有标准化。即使完成了正确的物理连接,还必须完成正确的逻辑连接。 目前还没有一个快速和简单的连接方法。串行口的参数指定了在信息传递时每秒传送的位数;组成字符的位数;是否有奇偶校验位,如果有,校验的方式是什么;以及用来标识字符结束的终止位的数目。可以用软件的控制流覆盖线路的设置,例如XON/XOFF或ETX/ACK;或者用特定的线路,例如Xmodem或Kermit。因此,不熟练的人很难在第一次将计算机和电话线连接就获得成功也就不足为奇了。 2.5.5 鼠标 当设计原始的PC时,鼠标并不是所考虑的重要设备。在BIOS中的程序允许程序员控制很多流行的控制杆和光笔。但是,时至今日,只有鼠标才被大量使用。 一般情况下,鼠标或者通过和用户装在PC内总线上的控制板连接,或者通过串行口连接。鼠标的软件驱动程序确定鼠标的位置,并且处理连接到板上的接口。 鼠标的工作机制  在一般的形式中,鼠标是在底部安装了一个小球的设备。当在平面上移动鼠标时,传感器测量设备在X和Y方向的移动量。鼠标将位置的变化标志的信号传送给计算机系统。光电鼠标不使用小球,但它跟踪反射光和移动量,使用什么型号的鼠标并没有关系,计算机通过在屏幕上可视的指针来反映鼠标位置的移动。所有这些动作都在驱动程序层处理。 除了移动传感器之外,鼠标通常安装一个、两个或三个开关(称为按钮),可以用它来测试和控制程序的动作。 当使用标准的鼠标驱动软件时,DOS的Int 33h将控制鼠标。这个中断提供了鼠标及其移动的信息,并且提交这个数据的控制。 2.6 存储设备 随着DOS的升级,磁盘存储容量也有了很大扩充。表2.4介绍了软盘容量的增加以及所支持驱动器型号的数量。 表2.4软盘容量 DOS版本 软盘 容量 1.0 5.25英寸SSDD 160K   5.25英寸DSDD 320K 2.0 5.25英寸SSDD 180K   5.25英寸DSDD 360K 2.1 5.25英寸DSHD 1.2M 3.2 3.5英寸DSDD 720K 3.3 3.5英寸DSHD 1.44M 6.0 3.5英寸DSHD 2.88M 2.6.1物理磁盘结构 磁盘的面,分成了很多同心圆磁道,每个磁道分成多个扇区。磁道和扇区的数目随着磁盘的型号(软盘或硬盘;单面或双面;倍密度或高密度;3.5英寸或5.25英寸等。)不同而变化。 因为硬盘驱动器(相对于可移动的媒体,也称为“固定磁盘”)包括多个盘片,硬盘空间又分成柱面。每个柱面包括每个盘片的每个面上的一个磁道。图2.9介绍了磁道怎样组成了柱面。 2.6.2逻辑磁盘结构 FORMAT程序不但建立了磁盘的扇区结构,而且还建立了逻辑结构,即专属于DOS的控制存储在磁盘上数据的一种方式。 图2.10介绍了这个逻辑结构。 引导扇区 FAT1 FAT2 根 数据 图2.10 磁盘的逻辑结构  FORMAT程序最关键最常用的任务就是格式化磁盘——将物理磁盘分成逻辑磁盘和扇区并填入初始值。 在格式化完磁盘后,FORMAT程序在磁盘上建立了三个区域;引导记录、文件分配表和根目录。磁盘的保留区(上几部分不在这里)是文件的存储区。 引导记录  引导记录总在每个逻辑磁盘的第一扇区中。从DOS 2.0开始,引导记录便包含磁盘引导程序(仅几百个字节长)和磁盘特性表。当系统启动时,引导程序被调入内存并且引导程序从磁盘中调用操作系统文件。如果没有发现这些文件,引导程序将显示出错信息。 文件分配表  文件分配表(FAT)是磁盘的映象。它跟踪磁盘的每一部分是否被占用,或不能被占用(例如,因为格式化错误)。磁盘区域是以簇的形式被文件占用的,每个簇的情况反映到FAT表中。根据磁盘的大小,簇的大小可以在一到八个或更多的扇区范围内变化。为了适应硬盘存储容量的扩充,FAT项(最初每个项12位)现在已扩充为每项16位。FAT项的大小是DOSV2、V3和V4之间最主要的差异之一。 要强调的是,FAT是DOS中最重要的关系到磁盘的一个特殊功能。FAT可以建立大于512字节的文件,任何损害FAT的行为都可引起文件和程序被截断。 根目录  在磁盘上最后一部分的系统信息是根目录,它紧接着FAT表。主要包含可操作文件的以下信息: 1. 一个8字节的文件名 2. 一个3字节的文件扩展名 3. 文件大小(以字节计) 4. 文件的日期时间印记 5. 文件的起始簇号 6. 文件属性码 每个项有32字节长,剩余的字节留给将来扩充。对给定的磁盘,根目录的大小是固定的。在160K单面磁盘中,根目录可以包含64个项;在20M硬盘中,可以保留512个项。目录区的大小是有限制的,因此DOS可以区分数据区是从什么地方开始的。在DOS V2及其后版本中,该限制是没有问题的,因为可以通过建立子目录来越过这个限制,实际上并无大小的限制。 2.7 软 件 在物理机器之上,提供的软件在PC或兼容机上建立了另一层虚拟机。软件从BIOS开始,它为隐去已安装的特定设备而建立了一个机器的标准窗口。建立在BIOS之上的DOS机器是大家很熟悉的形式(以文件和目录为单元)。 2.7.1 BIOS 在虚拟机上的第一个软件层是BIOS(基本输入/输出系统)。这个软件生成经常涉及的最低层的机器。 真正的BIOS是由固化在ROM中的,包含很多基本机器功能的程序组成。包含很多I/O系统软件的描述也作为BIOS的一部分,这些软件,是从磁盘中调入的,它扩充了BIOS的功能,使得BIOS能处理所有的系统输入/输出要求。 BIOS的目的就在于使高层软件和计算机中可能发生的硬件变化隔离开;I/O系统的目的在于作为BIOS和DOS的缓冲接口。BIOS和I/O系统结合起来,为高层软件提供了一个基本的,定义一致的服务程序集合。 每个计算机制造商(包括IBM)都为其机器提供了BIOS和自定义的I/O系统。 Mi- crosoft公司提供了一个称为SYSINT的模块(见第3章),来管理系统的初始化和DOS的装载。 BIOS和I/O系统的结合必须为适应高层软件的调用而符合一定的标准。例如,Mi-crosoft的DOS核心,就使用BIOS服务程序来辅助它自己的很多操作。 PC兼容机经常带着由制造商提供的BIOS ROM版本。没有人能复制IBM BIOSROM中的编码,但他们能提供与IBM相同的处理的中断结构和使用相同的数据表区域的BIOS。尽管编码不同,但它提供的服务也是DOS需要的。 如果通过定义的BIOS中断,存取第三方的BIOS ROM,则可以超出IBM PC服务程序提供的方式进行工作。如果依赖未公开BIOS ROM功能知识来编写某个程序去完成某件事,所有赌注将会失去。这种编码的一个常见例子就是在多速度兼容情况下转换速度切换的这样一个程序;因为IBM从来没有这个特性的类型,没有适用它的接口标准,因此就必须反复试验才行。 2.7.2 DOS核心 Microsoft提供的DOS核心是基于标准BIOS服务程序之上的程序。 DOS核心提供的服务程序与硬件无关,它可以被应用程序在各种系统中调用。读者将和这些服务程序渡过很大一部份时间(注意:“DOS” 指的是IBM的DOS版本或非特别说明的MS-DOS)。 DOS服务程序可以按属性分成以下部分: 1. 字符I/O 2. 目录操作 3. 磁盘控制 4. 动态内存分配 5. 出错处理 6. 文件操作 7. 各种系统功能 8. 网络功能 9. 程序初起和终止 有两种方式调用DOS服务程序。某些服务程序可能通过软件中断直接调用。然而,大多数DOS服务程序则是通过将功能号放在寄存器AH中,然后调用运行Int 21h来实现的。 2.7.3命令处理器 对大多数工作在PC机上的人来说,命令处理器(或外壳)就是操作系统。这些使用者认为提示符>是来自操作系统而不是来自程序。仅在几年之前,交互式的操作系统才开始创建这种方式。 今天,外壳的接口已成为标准。外壳不仅改变了处理方式,并且,还因为只改变了操作系统中的一部分,所以很容易加入新的特性。尽管外壳接口不是UNIX的设计者发明的,但这种类型的程序的应用(如COMMAND.COM)则是被UNIX操作系统推广开的。UNIX系统已经有了几种标准的外壳(如csh、ksh和sh等一些名字)。 COMMAND.COM的结构对它的操作是非常重要的。这个程序有三部分:初始化部分,驻留部分和暂驻部分。 当COMMAND.COM启动后,初始化部分和驻留部分首先被从磁盘上调入。初始化部分设置系统,运行AUTOEXEC.BAT文件,然后调用并把控制传送给驻留部分。正如其名字所表示的,暂驻部分(按照内存的要求)被调入和调出。“常驻内存”的驻留部分在增加某些事情时,对重新调入暂驻程序作出相应的反映。 如果COMMAND.COM的所有功能都编在同一个程序中,这个程序将占相当大的内存数量(大于20K)。尽管这个内存数量和大多数应用程序所需的内存相比是沧海一粟,但是,要想利用最后的某些作用来装载文件或将最后一些单元放到离散片中去时,这个数量就值得考虑了。为了减少COMMAND.COM的内存消耗,COMMAND.COM的常规操作编码和程序的内部命令的编码放在暂驻部分。因为这个部分有时被其它程序覆盖,COMMAND.COM的驻留部分查看某个暂驻部分时必须调入,如果需要,则调入该部分。 COMMAND.COM运行程序可分成三种类型的命令: 1. 内部命令(建立在COMMAND.COM中) 2. 外部命令(存在磁盘上) 3. 批文件(存在磁盘上) COMmANd.COM的暂驻部分储存有内部命令的编码。当用户输入一个命令名字后,COMMAND.COM首先查询是否是其中的一个内部命令。如果COMMAND.COM没有这个内部命令的名字,则该程序先在当前目录中查找,然后到路径中查找。 COM- MAND.COM查找外部命令时应先查.COM扩展名命令,然后再查.EXE扩展名的命令,如果在给定的目录中都没有发现这些命令,COMMAND.COM则继续查找相应的名字的批文件(扩展名为.BAT)。 批文件是命令处理器允许的特殊类型的“程序”。这个文件由描述一组给定顺序执行的命令组成,并可配以参数替换及判定和跳转等简单的控制。 COMMAND.COM逐行地执行批文件中的命令。每一行都由将要执行的命令组成:或者是一个可执行的命令,或者是只允许在批文件中使用的内部控制命令,其实际操作很简单。 COMMAND.COM的暂用部分从批文件中取出一行,处理任何参数的替换,都用DOS EXEC功能执行该命令。当每一行结束后,COMMAND.COM取出下一行并接着执行。 2.7.4设备驱动程序 在软件技巧方面,大多数改进都涉及使底层的硬件消失。例如:高级语言一个优点就是它们不需要让程序员知道寄存器、位以及字节(不是每个人都同意这个观点)。类似的,操作系统要改进的主要是:当我们要使用某个设备时不得不为自己的设备写驱动程序的问题。 CP/M使用标准的设备来处理终端和打印机。 DOS则已向前走了一步,它使设备有了更多的内部可变化性,并在不重编译整个系统的前提下,有可能安装自己的设备。想想看!以前,如果要给系统增加一个新的设备,不得不修改操作系统的内部以便使增加的设备可以工作。现在,DOS包含了很多灵活的驱动模块允许用户编写设备驱动程序,并在系统启动时选择地加入。要理解它是怎样工作的,还得了解设备驱动程序的知识。 操作系统软件包含一组运行硬件的设备驱动程序(驻留驱动程序)。每个驱动程序按照它的特性组织它们的调用接口,因此,DOS在不用知道硬件怎样工作的情况下就可以操作硬件设备。 当启动计算机时,DOS通过标准的初始化入口指针初始化所有的驱动程序现在,读者所要知道的操作设备的全部内容是一系列标准入口指针定义的功能。需要控制的设备类型决定于入口指针的定义。 DOS将设备分成字符设备和块设备。字符设备是基于字符到字符操作的设备(例如,键盘和显示器);块设备是基于块传送的设备(磁盘和RAM磁盘)。驱动程序的每个类型都有相应的处理程序功能的入口指针。 读者可以编写一个自己的设备驱动程序并把它加到CONFIG.SYS文件中。这个设备在下次启动时就被加入到系统中。驱动程序的操作和驻留的驱动程序相同。读者甚至可以用全新的编码替换掉已存在的字符驱动程序,例如ANSI.SYS和其它驱动显示器的驱动程序。 可安装驱动程序使用户可以在系统中加入原设计没有考虑到的新的设备(MOUSE.SYS加入鼠标;EMM.SYS用来扩充内存)。一句话,DOS已经创造了一个环境,使用户安装自己所需的新的设备成为了可能。 2.8 小 结 在本讲中,读者了解到DOS系统是作为“虚拟计算机”的层次存在的。从最底层硬件开始,接着升到BIOS和DOS系统,每个层次都提供了一个兼容的、有补充下一层次计算机系统使用的必要功能的逻辑计算机。 最底层,硬件设备(组成系统的内容的组合)在不同系统之间,可以有很大的差异。在下一层,BIOS提供了一个“计算机”,它以其定义的服务程序使用户在不同的系统中可以用相同的方式工作。这些基本的输入输出服务程序允许以固定的方式控制系统的设备。 DOS提供了一个相对于BIOS更高层的服务(高层次的提炼)。 DOS服务程序通常完成一些系统操作,例如创建文件和目录等。在这个高层次中,COMMAND.COM提供了一个用户接口用以控制不同的服务程序。
/
本文档为【DOS系统结构】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索