作者:empty 页数:445 出版社:empty |
操作系统原理DOS篇本书以DOS为典型实例、讲述操作系统的基本概念、原理及实现技术。由于DOS本身的不断发展, 用操作系统理论分析DOS的新发展仍具有现实意义, 这正是出版本书第:版的意义。本书既介绍了操作系统的基本知识, 又结合DOS讲述了操作系统的上要功能及其采用的数据结构与实现技术。本书注重理论与实际的结合, 对DOS的新技术, 如内存的扩展与扩充、内存优化、TSR编程、IOCTL, 文件共宁、DOS的高级批处理REXX语言等, 在阐述概念及技术之后, 均给出应用实例, 最后一章特别介绍了DOS在局域网中的作用与应用。微机开发与应用的广大技术人员,也是具有很强实用性、理论性的参考书。
第二版前言《操作系统原理DOS篇》第一版于1994年5月由清华大学出版社出版, 迄今已重印g次,畅销近10万册,受到了广大读者的关心与支持.本书在解决多年来操作系统理论教学与实际应用脱节方面作了积极的探索,本着既保证操作系统原理的完整性、又结合实际的原则, 从操作系统理论的高度, 实事求是地详细分析了MS-DOS的系统结构和运行机制。由于UNIX仍是理论方面最完备的操作系统, 本书在奇数章讲解操作系统原理时.特别注意基本知识的全面性, 仍以UNIX操作系统为背景。由于微机风靡世界, 目前已有数量过亿的DOS用广, 本书在偶数章以MSDOS系统为背景, 引导学生用所学的理论去解决实际问题。这种编写方法在教学的过程中引起了师生的广泛兴趣。根据这一形势的发展, 应广大读者的要求, 我们修订了与DOS有关的章节, 推出了本书的第二版。
出于计算机技术的迅速发展, 32位的486、586机已广泛应用, MS-DOS版本不断更新。我们力求紧跟DOS的发展, 尽可能地将DOS的新技术融合到教材中。虽然微软公司推出MSDOS 6.22版后, 声称不再升级, 转向Windows的发展, 并已陆续推出了WindowsNT, Windows 95、Windwos 98等32位操作系统, 其功能强大, 尤其有很强的图象处理功能和资源管理功能, 已较少依赖DOS, 但是它们对硬件资源要求也相应较高。本书从Windows95的启动与DOS的关系说明了DOS出色的配角作用。由于DOS的短小精悍及对硬件的宽松要求,加之近年米又迅速发展了丰富多彩的实用软件,所以仍深受众多用户的欢迎,本书在相关章节介绍了一些有特色的新的实用软件。IBM公司仍在继续开发其PC DOS, 已推出PC DOS 6.3、PC DOS 7.0, 引起了许多人的关注。笔者根据自己的实践经验, 介绍了DOS 7.0的新增功能, 希望对读者有所帮助,者运行此例程, 即可通过观察对DOS进程的概念有一整体的认识。理等章节中补充了光盘存储器的内容。由于作者水平所限,时间紧迫,书中难免有不妥之处,敬请读者指正,以便今后进一步为了方便教学, 在“DOS的进程管理”·章中, 我们提供了DOS进程综合演示例程.读随着多媒体技术的发展, CD-ROM的使用已非常普及。我们在DOS设备管理、文件管在“DOS的作业管理”一章巾, 我们介绍了MS-DOS 6.22命令表和PC DOS 7.0新增命令表.并简介了DOS 7.0新提供的高级批处理REXX语言。此外, 在第十三章“DOS与局域网”中, 增加了MS-DOS 6.x简易网络功能和Internet应用软件与DOS有关的内容。总而言之, DOS与Windows的发展是互相影响、互相促进的, DOS 6.x、DOS 7.0有许多新的特点。可以看出, DOS仍具有强大的生命力。实事求是地对待DOS, 用操作系统的理论去分析DOS的新发展, 仍具有现实意义, 这也正是本书第二版的主要宗旨。我们很感激全国各地许多高校师生在教学实践中对此书的修订所提供的宝贵的经验和建议。清华大学出版社对本书的出版给予了大力的支持和鼓励,五邑大学、青岛大学和清华大学的许多老师给予了热心的支持与帮助,在此一并表示诚挚的谢意:改进。
第一版前言《操作系统原理DOS篇》和广大读者见面了。这是一本以MS-DOS为具体实例来讲述操作系统基本概念、原理及实现技术的教材,力图解决多年来操作系统理论教学与当代实际应用较为脱节的难题。但愿高等院校计算机应用等专业的广大师生能欢迎它。同时,本书也是一本站在操作系统理论的高度上详细分析MS-DOS的系统结构和用户接, 并论述MS-DOS特色与不足的实用性科技书。相信它也能使广大MS-DOS用户从中获得启迪和帮助!IBM PC系列微型机以其先进的系统结构, 特别是其丰富的系统软件与应用软件的支持而倍受广大用户的青睐。从80年代后期开始,微型计算机步入了32位机的发展阶段,随着386、486机的相继问世,已使微型机与小型机的差距越来越小。从发展趋势看,90年代我国微型计算机应用技术的主要方向, 仍是与lB MPC系列机兼容的各类高档个人计算机。多年前被IBM确定为PC系列机使用的操作系统的MS-DOS, 已经成为微型计算机的主流操作系统。仅截止到1989年的统计, DOS的总销售量就已达到5000万套, 至少其普及程度是任何其他操作系统无法比拟的。从1981年的1.0版到1991年的5.0版,以至最近推出的6.2版, MS-DOS几乎年年都有新版本推出。它不断地适应PC机硬件技术的迅速发展,每次都有创新和增强的功能,及时满足了用户的新需求。事实证明,“历史悠久”的MS-DOS在这种“推陈出新”不断完善的过程中, 其生命力是弥足强大的。除MS-DOS用户手册、技术手册之外, 各种类型的DOS剖析说明、技术分析、编程指南、高水平程序设计等图书相当卡富。它们各有特色, 都为MS-DOS的普及与应用立下了汗马功劳。但是, 以MS-DOS为背景材料或为典型实例的严格意义上的操作系统教材却始终未见。以目前大部分高校的计算机实验室的设备状况而言, 学生大多在IBM PC系列及其各类兼容机上完成计算机课程的实验和作业, 已积累了一些MS-DOS的使用经验。但该要上操作系统课了, 却又不讲述MS-DOS, 或者一带而过。学生对MS-DOS的认识始终是零乱的、非系统的,始终不能上升到操作系统理论的高度。尤其是,这些学生走向社会后,其中大多数人必将“不得不”永远成为MS-DOS的“忠实”用户。显然, 这种理论与实际应用相脱节的状况是极不利的。何以MS-DOS不能登上操作系统课程教学的大雅之堂?原因就在于, MS-DOS从本质讲是·个单用户单任务操作系统。比如,它不存在几个进程并发执行的情况,系统资源被当前进程全部占有,它没有进程调度和作业调度能力等。的确,这给讲述操作系统的许多基本概念和重要原理带来了困难。但是,笔者认为某个操作系统本身之局限并不能成为以此操作系统为实例或为背景材料的操作系统教学之局限。实际上,任何一个具体的操作系统都不可能囊括操作系统原理所介绍的全部技术。只要我们坚持实事求是的编写原则,并精心地加以组织,这个难题是可以突破的。这个实事求是的编写原则的第一层意思, 就是我们不要低估了MS-DOS。任MSDOS推出之前, 毕竟已有不少成熟的操作系统, 其中首当其冲的便是UNIX系统, MS-DOS从中汲取了不少成功经验。更何况设计出OS/2, Windows等操作系统的Microsoft公司一直对实事求是编写原则的第二层意思是绝不生搬硬套。对MS-DOS的局限绝不掩饰, 对它本书精心组织编排,其基本结构是:以第一、三、五等奇数章安排操作系统的基本概念本书编写过程中,清华大学苏云清副教授白始至终给予了热情指导并提出不少针砭性尽管自己想向广大高校师生贡献一木理论与实际紧密结合的操作系统新教材.向广大MS-DOS进行着坚持不懈的改进、不断地进行版本更新。例如。2.0版以后的MS-DOS.其文件、Ⅱ录管理和设备管理就已具备UNIX系统的许多特色。又如, 早期的MS-DOS其存储管理基本上是简单的分区管理方案, 但它的5.0版已支持延伸内存(ex ended memory) 管理和扩充内存(expanded memory) 管理, 这其中已涉及到页式存储管理的范畴了。再如, 悄然兴起的TSR编程技术已带来进程并发执行所必须考虑的一些问题; DOS 3.10及更高版本对网络重定向的支持, 以及DOS 5.0版下的DOS Shel已具备了一定的任务切换能力。还有, 尽管MS-DOS不具备作业调度能力, 但联机作业控制的三种方式(键盘、命令文件和菜单驱动) 到MS-DOS 5.0版已无一不具备, 而新型的外层软件DOS Shell已具备了类似Windows 3.x的窗界面。这一切都告诉我们, 不能小看MS-DOS, 若把它只看成是一种监控系统, 将是大错特错了, 这至少抹杀了MS-DOS十几年来久盛而不衰、普受欢迎的事实。已具备的功能绝不刻意拔高, 去硬套操作系统原理中的基本概念和术语。MS-DOS毕竟脱胎于8位机的操作系统CP/M,在其后的版本更新中,虽然它不断地增添新功能以满足用户的新需求和争取新用户,但为了不抛弃老用户,不使广大用户在老版木上开发的成千上万个应用软件成为“过期支票”, MS-DOS的新版本总是最大限度地考虑与老版本的兼容。这产生广8位机时代的兼容性的顾虑, 事实上又限制了MS-DOS, 使其始终未能跳出以Intel80x 86微处理器实地址模式为设计基础的框框, 这不能不算是MS-DOS的最大遗憾。随着386机、486机和各种硬件新技术的迅猛发展, MS-DOS面临着与UNIX系统史强烈的竞争, 也许90年代的DOS+Windows的携手方案会立上不败之地, 让我们拭目以待。和一般原理, 以第二、四、六等偶数章安排MS-DOS的具体实现技术。奇数章特别注意基本知识的全面性, 并对MS-DOS涉及不到或较少涉及的知识先行补足, 而在偶数章的第一节总是介绍MS-DOS在这方面管理上的特色与不足, 将奇、偶两章的内容有机地联系在一起,随后详细讲述DOS中的实现。最后, 以第十三章专门介绍MS-DOS的网络重定向功能.以及DOS在微机局域网中的地位和作用。每章之后均附有习题, 以供教学与学习。的意见,最后又不辞辛苦地详尽审阅了全部书稿。清华大学出版社姜峰编辑对本书的出版给子了大力支持和鼓励,并提出不少宝贵建议。在此,一并致以热忱的谢意。MS-DOS用户贡献一本有启发有实用价值的参考书, 但是, 由于笔者水平所限.本书能否达到上述目标,还有待广大读者的检验,尤其盼望得到讲授操作系统课程的老师们的宝贵意见。让我们一起使本书得以不断改进和提高。
数据提供服务,并为管理员对系统进行常维护提供手段。系统实用软件和操作系统一起、应由计算机厂商提供.但使用时与操作系统不同,系统启动时操作系统即由外存储器调入内存并常驻内存,而系统实用程序则是需要时才由外存储器装入内存。也有一种观点,把这些系统实用程序也看作操作系统的一·部分,本书不采用此观点。能是商售软件,也可能是用户自己编制的软件。应用软件层中的各类软件,如数据库管理系统、办公自动化系统、事务处理系统等等,可1.1.2操作系统的功能前面我们从计算机系统的层次结构的观点,讨论了操作系统这个最基本的系统软件与系统硬件以及上层的系统实用软件、应用软件的关系。现在再从资源管理的观点,进步看看操作系统应具备哪些功能。(1)操作系统要方便用户使用。一个好的操作系统应给用户使用计算机提供一个良好的界面,使用户不必了解硬件和系统软件的细节就可方便地使用计算机。这里的“用户“是一个广义的概念,不仅包括系统的一般用户、系统管理员,还应包括系统实用软件的设计者。CPU、内存、外围设备等硬件资源, 也包括程序和数据等软件资源(亦称信息资源) 。应合理地组织计算机的工作流程,使这些硬、软件资源为多个用户所共享。引入操作系统的目的有如下两方面:(2)操作系统应最大限度地发挥计算机系统资源的使用效率。这里的系统资源既包括为了实现上述目标,操作系统通常具备以下五个方面的功能。1.进程管理进程管理主要是对处理机进行管理。CPU是计算机系统中最宝贵的硬件资源。为了提高它的利用率,采用了多道程序技术。如果一个程序因等待某一条件而不能运行下去时,就把处理机占用权转交给另一个可运行的程序。或者出现了一个比当前运行的程序更重要的可运行的程序时, 后者应能抢占CPU。为了描述多道程序的并发执行, 就要引入进程的概念。通过进程管理协调多道程序之间的关系, 以使CPU资源得到最充分的利用。2.存储管理
内存(又称主存) 是另一宝贵的硬件资源.虽然RAM芯片的集成度不断地提高、价格不设备管理是指计算机系统中除了CPU和内存以外的所有输入、输出设备的管理, 除了程序和数据是以文件形式存放在外存储器(如磁盘、磁鼓、磁带)的,需要时再把它们装对上述四种资源的管理,其彼此之间并非是完全独立的,它们之间存在着相互依赖的关除了上述四项功能之外,操作系统还应该向用户直接提供使用它白己的于段,这就是操5.作业管理所谓作业,就是用户在一次算题过程中,或一次事物处理中,要求计算机系统所做工作以系统层次结构和资源管理两个角度考察操作系统后,我们就可以完整地回答什么是操作系统是直接控制和管理计算机硬件、软件资源的最基本的系统软件,用以方便用户不同的硬件结构,尤其是不同的应用环境,应有不同类型的操作系统,以实现不同的追批处理系统的设计目标是提高系统资源的使用效率和作业吞吐量(单位时间里处理作这类操作系统要求用户使用系统提供的作业控制语言,来描述自己对作业运行的控制意图,并将这些控制信息连同自己的程序和数据一起作为一个作业提交给操作员。操作员启动有关程序将--批作业输入到计算机外存,由操作系统去控制、调度各作业的运行并输出结早期的批处理系统是单道的,一个作业调入内存后要直到正常运行结束或因某种原因当一个作业运行时它便独占了全机所有资源。显然,尽管这种单道批处理系统减少了作业交为提高处理机资源的利用率.应尽可能地使处理机与输入/输出设备并行工作,这样便将多道技术引入批处理系统,就成为一个多道批处理系统。现代计算机上的批处理系断地下降, 但需求量大, 内存整体的价格仍较昂贵, 而且受CPU了址能力的限制, 内存的容量也有限。因此,当多个程序共享有限的内存资源时,如何为它们分配内存空间,使它们既彼此隔离、互不侵扰,又能保证在一定条件下调用,尤其是当内存不够用时,如何把当前未运行的程序及数据及时调出内存,要运行时再从外存调入内存等等,都是存储管理的任务。3.设备管理进行实际I/O操作的设备外, 还包括诸如设备控制器、DMA控制器、通道等支持设备。外围设备的种类繁多、功能差异很大。这样,设备管理的首要任务是为这些设备提供驱动程序或控制程序,以使用户不必详细了解设备及接11的技术细节,就可方便地对这些设备进行操作。另任务就是利用中断技术, DMA技术和通道技术, 使外围设备尽可能与CPU并行工作.以提高设备的使用效率并提高整个系统的运行速度、4.文件管理入内存。文件包括的范围很广,例如用户作业、源程序、目标程序、初始数据、结果数据等等,而且各种系统软件其至操作系统本身也是文件。因此, 文件是计算机系统中除CPU、内存、外围设备以外的另一类资源,即软件资源。有效地组织、存储、保护文件,以使用户方便、安全地访问它们,是操作系统文件管理的任务。系。对每种资源的管理,操作系统都要做到:记录资源的使用情况;以某种策略分配资源;回收资源。操作系统常借助于一些表、队列等数据结构米实施管理功能。作系统的作业管理功能。的集合。例如, 我们用FORTRAN语言编制了一个算题程序, 那么要经过下列步骤:把源程序读入系统,对源程序进行编译,运行目标程序,打印输出结果。上述每一步骤称为作业步,它们的总和完成了一个作业。用户应该如何向系统提交作业,操作系统应该如何组织和调度它们的运行来提高整个系统的运行效率?这就是作业管理的任务。操作系统了:充分、有效地利用这些资源并增强整个计算机的处理能力。求目标。通常,将操作系统分成如下二类:果。由于作业进入计算机系统后,用户不再对作业的运行进行人工干预,从而提高了系统的运行不下去而中途退出后,系统才去调入下一个作业。作业总是一-个接着一个地顺序运行,接时的机时浪费,但整个系统资源利用率和运行效率还是很低的。其主要原因是处理机和输入/输出设备的串行工作方式,当作业进行输入/输出操作时处理机在空闲着,等待输入/输相应地出现了多道技术。多道(multiprogramming) 是指在内存中同时存放若干道用户作业,允许这些作业在系统中交替地运行。如果这些作业搭配得合理,就能使处理机与输入/输出设备高度并行工作,当然,这还需要通道和中断机构等硬件的支持。多道技术看似简单,实践起来并不容易,如何使内存中的多道作业有条不紊地运行,如何为它们分配资源,这促进了统,差不多都是多道批处理系统。其工作流程大致如下:各用户使用操作系统提供的作业控制语言,描述作业运行时的控制意图以及对资源的需求,然后将程序、数据以及这些信息一并交给操作员;操作员可随时把一批批作业交给系统。在外存中存放大量后备作业。系统根
定的调度原则从后备作业中选择搭配合理的若干作业调入内存。搭配合理主要是指作业的选择既能充分利用系统各类资源又能满足不同用户的响应时间要求。在内存中的作业按多道方式组织它们的运行。例如,某个作业因等待输入输出操作的完成而暂时不能继续运行下去时,系统就使另·作业投入运行.这样,内存中的多个作业交替运行,某个作业运行完毕,系统输出它的运行结果并回收分配给它的资源,系统再从外存中调入另一个作业。作业不断地流入系统、经处理后又退出系统,形成一个源源不断的作业流。这样的系统,系统资源利用率高,作业吞吐量大。批处理系统的主要缺点是用户使用不太方便。用户把作业提交给系统后,无法对作业运行中可能出现的意外情况进行十预,于是可能是程序中一个很小的错误就导致了它无法继续运行。这种情况特别不利于程序的调试。1.2.2分时系统一台计算机连接多个终端、用户通过各自的终端把作业送入计算机、计算机又通过终端向各用户报告其作业的运行情况。这种计算机能分时轮流地为各终端用户服务并能及时地对用户服务请求干以响应,这就构成了分时系统。分时系统的主要优点是它和多个终端用户的交互会话工作方式,方便了用户使用计算机并可大大加快程序的调试过程。因此,分时系统设计的主要目标是对用户请求的及时响应,并在可能条件下尽量提高系统资源的利用率。
第一章
1.1
操作系统引论·
什么是操作系统·
1.1.1操作系统的地位
1.1.2操作系统的功能
1.2操作系统分类
1.2.1批处理系统
1.2.2分时系统
1.2.3实时系统
1.2.4通用操作系统
1.2.5网络操作系统
1.3微型机操作系统.
1.3.1CPM操作系统
1.3.2MS-LX)S操作系统
1.3.3
习题
第二章
2.1
第六章
虚拟存储技术
86系列CPU的工作模式
PC系列微机的存储空间
各类PC机如何利用内存111
进程概念的引入
死锁的对策
单级和二级月录
文件操作的系统调用
光存储器的文件录
管理
文件操作
10.3.2句柄式文件管理系统
10.3.3系统文件表(SFT)
文件共亨
分段存储管理
3.3.1段式管理
3.3.2段页式管理
习题.
第四章DOS的存储管理
4.1DOS存储管理的特点
74.1.1
94.1.2
94.2常规内存管理w.
104.2.1内存控制块(MCB) ·
104.2.2存储管理系统功能
144.2.3用户程序空间
21
微型机多任务操作系统16
DOS的组成和功能服务22
DX OS的组成和启动22
2.1.1DOS的组成22
2.1.2DOS的启动26
2.2按用户要求配置DOS·29
2.2.1CONFIG.SYS文件30
2.2.2AUTOEXEC.BAT文件·39
2.2.3Windows 95的启动与DOS
2.3DOS的功能服务
2.3.1中断分类一
2.3.2系统功能分类·
2.3.3中断与系统功能的调用·
习题二
第三章存储管理·
3.1分区存储管理
5.4死锁
5.4.2
习题五
9.3.1
9.3.2多级日录
9.4文件的使用
9.4.1
第十章DOS的文件管理
10.1DOS文件管理的特点
延伸内存与扩充内存管理
4.3.1延仲内存规范(XMS)
4.3.2扩充内存规范(EMS).
4.3.3
4.3.4关于内存优化
习题四
第五章进程管理
5.1进程的概念及实体·
m5.1.2进程的定义
.405.1.3进程状态
415.1.4进程实体
425.2进程的控制与调度
465.2.1进程控制
505.2.2进程调度
565.3进程通信
585.3.1进程的瓦斥与同步
585.3.2加锁与开锁
585.3.3信号量上的P,V操作
615.3.4消息通信
665.4.1死锁的产生4114
1498.4字符设备管理·255
1498.4.1概述255
1528.4.2设备IO传统方式256
1538.4.3设备文件及设备IO高级
158方式258
1618.4.4时钟设备管理263
1658.5设备IO控制266
1668.5.1IOCTL系统功能267
1688.5.2使用举例270
169习题八273
172第九章文件管理274
1729.1概述274
1769.1.1文件和文件系统274
.1799.1.2文件的分类275
1819.2文件结构和存取方法276
1829.2.1文件的逻辑结构276
1869.2.2文件的物理结构277
1959.2.3文件的存取方法278
1989.2.4文件存储空间管理279
1989.3文件目录280
2009.3.3文件目录检索·283
2049.4.1文件共享、保护和保密··287
.205习题九289
21010.2文件的组织与存储294
21110.2.1日录层次结构·294
21110.2.2子月录管理299
21310.2.3文件分配表(FAT) 305
22510.3.1FCB式文件管理系统
地址重定位
获取和设置当前PSP问题
设备的分类mm198
设备管理的月标和功能199
1O控制方式-200
通道202
设备分配策略205
设备分配程序207
固定式分区和可变式分区
覆盖与交换技术64
简单页式管理66
请求页式管理.69
设备驱动程序结构213
调用设备驱动程序217
安装设备驱动程序·221
磁盘驱动器225
驱动器参数块(DPB):234
磁盘扇区读写·238
磁盘设备管理小结242
磁盘缓冲区管理243
光存储器247
分页存储管理
3.2.1
3.2.2
DOS的进程管理
DOS进程管理的特点
进程的建立
6.2.1程序段前缀(PSP) ·
6.2.2环境块(EVB)
6.2.3EXEC系统功能
6.3进程的终止
6.3.1结束退出
6.3.2结束并驻留
6.3.3中止运行
6.4TSR程序·
6.4.1TSR编程概述
6.4.2DOS重入问题
6.4.