关闭

关闭

封号提示

内容

首页 操作系统概念第一章 引论.pdf

操作系统概念第一章 引论.pdf

操作系统概念第一章 引论.pdf

上传者: 丿童话丶狗子丨 2010-11-15 评分 5 0 220 30 999 暂无简介 简介 举报

简介:本文档为《操作系统概念第一章 引论pdf》,可适用于IT/计算机领域,主题内容包含http:wwwtulipsyscom操作系统概念(第六版)第一章引论更新日期::操作系统是一种管理计算机硬件的程序为应用程序提供了基本的运行条件在符等。

http:wwwtulipsyscom操作系统概念(第六版)第一章引论更新日期::操作系统是一种管理计算机硬件的程序为应用程序提供了基本的运行条件在计算机用户和计算机硬件之间扮演着中介的角色。操作系统的一个让人感到惊奇的方面就是它们所表现出来的丰富的多样性。大型计算机操作系统的首要设计目标是优化对硬件的使用。个人计算机(PC)操作系统则提供了对复杂的游戏、商业应用以及对介于二者之间的所有应用软件的支持。手持计算机操作系统则向用户提供了一个运行计算机程序的便利的环境。这样有些操作系统追求易用性有些追求效率还有些则是两者的折衷。要理解什么是操作系统必须要首先清楚它们是如何发展的。在本章中我们将从最初的handson系统开始经过多道程序系统和分时系统到个人计算机系统和手持计算机系统以此来追寻操作系统的发展。我们也将讨论操作系统的变种比如并行系统、实时系统和嵌入式系统。在跨越各种各样的平台时我们将看到作为一种自然而然的解决方案操作系统是怎样在早期的计算机系统中发展的。什么是操作系统?操作系统几乎是所有的计算机系统的一个重要组成部份。大体上可以将一个计算机系统分为四部分:硬件、操作系统、应用程序和用户(图)。FigureAbstractviesofthecomponentsofacomputersystem中央处理单元(CPU)、存储器和输入输出(IO)设备等硬件提供了基本的计算资源。字处理软件、电子制表软件、编译器和网页浏览器等应用程序定义了利用这些资源来解决用户计算问题的方法。操作系统为用户在各种应用程序之间控制和协调着对硬件的使用。计算机系统由硬件、软件和数据组成。在计算机系统的运行中操作系统提供了利用这些资源的合理途径。操作系统与政府十分相似。像一个政府其本身并不能做什么。操作系统仅仅提供了一个环境其它程序可以在此做有用的工作。我们可以从两个视角来研究操作系统:用户视角和系统视角。用户视角计算机的用户视角随应用接口的不同而变化不一。大多数计算机用户坐在一台由显示器、键盘、鼠标和系统单元组成的个人计算机前面。这样的系统针对独占资源的单用户以求最优化用户的工作(或娱乐)。http:wwwtulipsyscom这样操作系统的主要设计目标是易用性同时也兼顾了性能而没有太多考虑资源利用率。对用户来说性能是至关重要的但是他们并不介意系统是不是频繁处于空闲状态等待缓慢的IO处理。有些用户使用连接到大型计算机或小型计算机的终端。有些用户通过终端访问同一台计算机他们共享资源并且可以进行信息交流。这种操作系统的设计目标是最优化资源利用以保证对现有的所有CPU时间、存储器和IO设备的高效利用使每个用户都公平地分享资源。有些用户使用工作站并连接到其它工作站或服务器的网络。这些用户在他们的工作中互相提供资源也共享资源例如:网络和服务器(文件、计算和打印服务器)。所以这种操作系统的设计是为了协调个人的可用性和资源的利用率。最近各种各样的手持计算机流行起来。这些设备大多独立运行一般由个人用户独自使用。有些通过有线(这种更为普遍)或无线的方式与网络连接。受到电源容量和操作界面的限制他们仅能执行相关的远程操作。这种操作系统主要面向个人应用节能也很重要。有些计算机没有或者仅有很小的用户视角。例如:家用设备和汽车上的嵌入式计算机可能仅仅有一个数字键盘和能够开关表示状态的指示灯。但是它们和它们的操作系统的运行大多不需要用户介入。系统视角从计算机视角看来操作系统是与硬件最为密切的程序。我们可以把操作系统视为资源分配程序。一个计算机系统有许多资源(硬件和软件系统工作时可能会需要它们):CPU时间、内存空间、文件存储空间、IO设备等等。操作系统扮演着这些资源的管理者的角色。面对为数众多而且可能相互冲突的资源请求操作系统必须决定如何为特定的程序和用户分配资源力求高效、公平。操作系统视角与用户视角的一个轻微的不同点在于它强调了对各种IO设备和用户程序的控制需求。操作系统是一种控制程序。控制程序管理用户程序的运行以防止发生错误和对计算机的不合理利用。它尤其关注对IO设备的操作和控制。然而通常我们没有对操作系统做完全充分的定义。操作系统之所以存在是因为它们是构造便于使用的计算环境的合理途径。计算机系统的基本目标是执行用户程序和简化用户问题。基于这个目标构建了计算机硬件。因为纯粹的硬件并不易于使用于是开发了应用程序。这些应用程序需要一些公共的操作比如控制IO设备。于是控制和分配资源的公共功能就被整合到了一个软件中这就是操作系统。另外对于操作系统应该包含哪些部分我们还没有达成共识。一个简单的观点认为当你向商家订购“操作系统”时就包含了一切。存储器(内存、磁盘和磁带)的需求和特性包含其中然而随着系统的不同而差异巨大。(系统的存储容量以吉为单位度量。(千字节或KB相当于,字节兆字节或MB相当于,字节吉字节或GB相当于,字节但是计算机制造商往往简单的称兆为百万字节吉为亿字节。))有些系统拥有不足一兆的存储空间甚至缺少一个全屏幕的编辑器相反有些则需要数百兆的存储空间并且基于图形视窗系统。一个更为普遍的定义是:操作系统是一个自始至终在计算机中运行的程序(通常称之为内核)其它程序则属于应用程序。操作系统应该由那些部件组成变得越来越重要了。年美国司法部起诉了微软状告微软在她的操作系统中集成了太多应用程序阻碍了应用程序开发商与她的竞争。系统目标通过说明它做什么比它是什么更容易定义操作系统但是这样也十分很困难。有些操作系统的首要目标是用户的易用性。操作系统存在是因为它们被假定为较容易的计算手段。当你看待个人计算机时这种观点就会异常清晰。其它操作系统的首要目标是计算机系统的高效性。这是对大型、共享、多用户的系统而言的。这些系统非常昂贵所以希望它们尽可能的高效。易用性和高效性这两个目标有时相互冲突。过去效率要比易用性更为重要(节)。因此许多操作系统理论更为注重对计算资源的优化使用。随着时间的推移操作系统也在发展例如UNIX开始时以键盘和打印机作为它的用户接口限制了用户的易用性。随着时间的过去硬件变了UNIX也移植到了新硬件上并提供了更加友好的界面。许多图形用户界面(GUI)诞生了这允许UNIX在保持其高效性的前提下为用户提供更佳的易用性。操作系统的设计是相当复杂的工作。设计者要在设计和实现的过程中面对众多的利弊权衡许多人不仅仅满足于实现他们还不断的修订和更新操作系统。对于某个操作系统是否达到了其设计目标的讨论是http:wwwtulipsyscom公开的不同用户各持己见。要领会操作系统是什么和做什么首先让我们考虑一下它在过去的年中是如何发展的。通过回顾这个发展我们可以明确操作系统的共同点并理解这些系统如何和为什么会有这样的经历。操作系统和计算机体系结构在很大程度上相互影响。为了推动对计算机硬件的利用研究人员开发了操作系统。而后操作系统用户提议改变硬件的设计以求简化他们的工作。在这个简短的历史回顾中要注意到为了解决操作系统的问题而导致了一些新硬件的引入。大型计算机系统大型计算机系统是最早在商业和科学领域应用的计算机系统。在这一节里我们将从简单的批处理系统到分时系统来追寻大型计算机系统的成长过程(批处理系统运行一个且仅仅一个应用程序分时系统允许用户与计算机系统交互)。批处理系统早期的计算机是通过控制台运行的体积巨大的机器。通用的输入设备是读卡器和磁带驱动器。输出设备是行式打印机、磁带驱动器和卡片穿孔机。用户不直接与计算机系统交互而是准备好一个作业(由程序、数据和一些控制信息(控制卡片)组成)并提交给计算机操作员。作业一般以穿孔卡片的形式提交。一段时间之后(数分钟、数小时或数天之后)结果就会出来。输出由程序结果和用于调试的最后的内存和寄存器内容组成。这些早期计算机中的操作系统相当的简单。它的主要任务是自动的一个一个的传送作业。操作系统总是驻留在内存中(图)。FigureMemorylayoutforasimplebatchsystem为了提高处理速度操作员根据作业需求的相似性将它们分批然后以组为序来运行。这样程序员只需要把程序留给操作员。操作员根据程序的需求将它们分批当计算机可用时运行每一批程序。作业的执行结果将返回给相应的程序员。因为机械IO设备的速度本质上就要比电子设备慢所以在这种运行环境中CPU经常处于等待状态。甚至一个慢速的CPU也要以微秒级的速度运行每秒可以执行数千个指令。另一方面即使快速读卡机也只能每分钟读张卡(每秒钟张)。这样CPU和IO设备的速度大约就相差三个数量级或者更多。随着时间的推移技术的进步和磁盘的引入造就了更快速的IO设备。然而CPU速度的提高远为迅速所http:wwwtulipsyscom以问题不但没有解决反而加剧了。磁盘的引入允许操作系统将所有的作业保留在一张磁盘上这优于串行读卡器。由于直接读取多个作业操作系统可以实现作业调度能够高效的利用资源和执行任务。我们讨论了作业和CPU调度的几个重要方面在第六章中将有详细的讨论。多道程序系统作业调度最重要的方面就是多道程序设计。一般而言单个用户不能总是保持CPU或IO设备忙碌。通过组织多个作业多道程序设计提高了CPU的利用率。如此CPU总是有一个作业可以执行。其思想是:操作系统在内存中同时保留多个作业(图)。因为可同时保存在内存中的作业数要远小于作业池中的作业数所以内存中的作业集是作业池中的作业集的一个子集。操作系统从内存中挑选一个作业并执行。最终作业可能必须等待一些工作(比如说IO操作)事先完成。而在非多道程序系统中CPU将处于等待状态。在多道程序系统中CPU简单的转向执行另外一个作业。当一个作业需要等待时CPU就执行另外一个以此类推。最终第一个作业结束等待并重新获得CPU。既然至少有一个作业需要执行那么CPU就不会空闲下来。FigureMemorylayoutforamultiprogrammingsystem这种思想在日常生活中是很普遍的。一个律师每次不会只为一个委托人工作。当一个案子等待审判或打印文件时律师可以为另一个案子工作。如果有足够的委托人就不会因为缺乏工作而无事可做。(空闲的律师往往会成为政客因为那儿有确定的社会价值保持律师整天忙碌。)多道程序设计是操作系统必须为用户做出选择的第一个实例。多道程序操作系统也因此有相当大的改进。所有作业在进入系统之后保存在作业池中。作业池中包含了所有存储在磁盘中等待分配内存的进程。如果几个作业准备完毕要被放到内存中但是有没有足够的空间全部容纳这时系统必须要从中选择。作业调度做出这个选择这将在第六章中进行讨论。操作系统从作业池中选择一个作业后就将这个作业调入内存执行。因为同时有多个程序在内存中所以就需要某种形式的内存管理第九章和第十章中涉及到这些内容。另外如果多个作业同时准备好系统就必须从中做出选择。这是CPU调度的任务将在第六章中讨论。最后多个作业的并发运行只能够影响到操作系统的某些部分包括进程调度、磁盘存储器和内存管理等。对这些事项的讨论贯穿全书。分时系统http:wwwtulipsyscom多道程序系统和批处理系统提供了一个可以高效利用系统资源(如CPU、存储器和外围设备)的环境但是没有为用户提供与计算机系统交互的能力。分时技术(或者说是多任务处理)是对多道程序设计的逻辑扩展。通过在多个作业间转换CPU可以同时执行多个作业但是这种转换发生的如此频繁以至于用户在程序运行的同时可以与计算机交互。交互式(或handson)计算机系统为用户提供了与计算机直接通信的能力。通过键盘或鼠标用户直接向操作系统或程序发出指令然后等待会立即出现的结果。因此响应时间应该较短典型的大约在一秒钟之内。分时操作系统允许多个用户同时共享计算机。因为分时系统中的每个操作或命令往往都非常短所以每个用户仅仅需要一点CPU时间。系统快速的从一个用户转向另外一个每个用户却感觉到自己独占了整个计算机系统即便此时是由多个用户共享。分时操作系统利用CPU调度和多道程序设计为每个用户提供了分时系统资源的一小部分。每个用户至少有一个独立的程序在内存中。程序在装入内存并执行后通常被视为进程。当一个程序正在运行时在它结束或需要进行IO操作之前往往只会执行小段时间。输入输出可能是交互式的换句话说输出要显示给用户输入则来自用户的键盘、鼠标或其它设备。因为交互式的输入输出典型的运行在一个“人的速度”上它可能需要很长的时间才能完成。例如输入可能会受限于用户的打字速度对人们来说个字符每秒是很快的但对计算机来说却相当缓慢。当交互式输入发生时与其让CPU闲置还不如让操作系统快速的将CPU转向其他用户的程序。分时操作系统甚至比多道程序操作系统更加复杂。二者都必须在内存中同时保留多个作业所以系统必须要有内存管理和保护(第九章)。为了获得一个合理的响应时间作业可能需要在主存和磁盘(作为主存的后备存储器)之间换进换出。为达到这个目标一个通用的方法是虚拟内存这是一种允许将作业部分内容装入内存就可以运行的技术(第十章)。虚拟内存策略的主要优点是程序可以比物理内存更大。更进一步讲它将主存抽象到一个大的统一的存储队列中从而分开来看待逻辑内存和物理内存。这种方案使程序员免受内存容量的限制。分时系统也必须提供一个文件系统(第十一章和第十二章)。文件系统驻留在磁盘中因此必须要提供磁盘管理(第十四章)。而且分时系统提供了一个并行运行机制这需要完善的CPU调度策略(第六章)。为了保证作业有序运行系统必须提供作业的同步和通信机制(第七章)并且要确保作业不会在死锁发生时困住而永远处于相互等待状态(第八章)。早在年就论证了分时思想但那时构建分时系统不但困难而且昂贵这种状况一直持续到年代早期。虽然批处理系统依然存在,但今天的大多数系统是分时系统。因此多道程序设计和分时技术是现代操作系统的主题也是本书的主题。桌面系统个人计算机在年代出现。在最初的十年中个人计算机中的CPU缺少保护操作系统不受用户程序损伤的特性。个人计算机操作系统因此而不支持多用户和多任务处理。然而随着时间的推移这种操作系统的目标有所变化取代对CPU和外围设备的最优化利用用户的易用性和响应速度成为系统的主要设计目标。这些系统包括运行MicrosoftWindows和AppleMacintosh的个人计算机。微软的MSDOS操作系统被同样来自微软的多个产品取代而IBM则使用OS多任务处理系统替代了MSDOS。AppleMacintosh操作系统引入了更多的先进硬件并且包含了新的特征例如:虚拟内存和多任务处理。随着MacOSX的发布现代操作系统的内核为了可测量性、性能和特性而基于Mach和FreeBSDUNIX但也保留了丰富多彩的图形用户界面。Linux是一个用于个人计算机的类UNIX操作系统最近也十分流行。通过借鉴大型计算机操作系统的开发成果个人计算机操作系统受益匪浅。微型计算机可以很快采用为更大型的操作系统研发的一些技术。另一方面微型计算机的硬件价格已经足够低了个人可以单独的使用计算机CPU的利用率不再是主要问题。因此大型计算机操作系统中的一些设计可能不适用于更小型的系统。其它的一些设计依然应用例如:文件保护。最初文件保护在个人计算机上不是必需的。然而现在这些计算机经常要与其它的计算机通过局域网或因特网连接在一起。当其他的计算机和其他的用户能够访问一台个人计算机中的文件时文件保护开始成为操作系统的一个重要特征。缺少了这种保护恶意程http:wwwtulipsyscom序就可以轻易的破坏系统中的数据(如MSDOS和Macintosh)。恶意程序可以自我复制能够通过蠕虫或病毒机制快速传播并且可能会破坏公司或全世界的网络。仅仅依靠像内存保护和文件许可这样的高级分时特征并不能令人满意。近来频繁出现的安全漏洞再次证明了这一点。这些内容将在第十八章和第十九章中展开讨论。多处理机系统目前为止大多数系统是单处理机系统也就是说他们仅仅拥有一个主CPU。然而多处理机系统(通常称之为并行系统或紧密耦合系统)的成长是非常重要的。这样的系统拥有多个密切通讯的处理器这些处理器共享计算机总线、时钟和外围处理机有时也共享内存。多处理机系统有以下三个主要优点:.提高了系统的吞吐量。通过增加处理器的数目我们希望能够在更短的时间内完成更多的工作。N个处理器的加速比不是N而是要小于N。当多个处理器协同处理一个任务时保证所有部分正确工作会导致一个固定的开销。这个开销再加上对共享资源的竞争降低了增加处理器所期望获得的性能提高。相似的N个程序员协同工作不会产生N倍的工作效率。.节省投资。多处理机系统要比多个单处理机系统节省费用因为它们可以共享外围处理机、存储器和电源。如果几个程序对相同的数据进行操作将数据存储在磁盘并由所有的处理器共享要比使用多台计算机利用本地磁盘储存多个拷贝便宜。.提高了系统的可靠性。如果能够将工作适当地跟配给多个处理器那么当一个处理器出现故障时就不会导致整个系统崩溃。如果我们有十个处理器当一个出现故障时剩下的九个处理器必须要得到有故障处理器所负责的工作的一部分。这样整个系统的运行速度仅仅会降低而不会全盘瘫痪。这种持续提供服务的能力被称为故障弱化它与所剩硬件占整个系统的比例有关。这种设计也被称为容错。故障发生时的延续运行需要一个允许故障探测、分析和纠错(在可能的情况下)的机制。Tandem系统通过使用硬件和软件副本以确保在发生故障时可以继续运行。系统拥有两个同样的处理器每个都有自己的本机存储器。它们通过总线连接一个处理器为主处理器另一个作为后备。每个进程留有两个拷贝:一个在主处理器中另一个在后备处理器中。在系统执行的确定的检查点上主处理器中每个作业的状态信息(包括内存映象的拷贝)被拷贝到备份处理器中。如果探测到一个故障就激活备份并从最近的检查点重新开始。因为这种方案包含了相当可观的硬件副本所以代价高昂。今天的大多数通用多处理机系统采用了对称多处理(SMP)技术每个处理器运行一个同样的操作系统拷贝而且这些拷贝在需要时相互通讯。有些系统采用了非对称多处理每个处理器有着明确的任务。一个主处理器控制着系统其它的处理器照应主处理器或者有预定义的任务。这种方案定义了一种主从关系。主处理器调度从处理器并为其分配工作。SMP意味着同等对待所有的处理器处理器之间没有主从关系。每个处理器并行的运行一份操作系统拷贝。图例举了一种典型的SMP体系结构。SMP系统的一个例子是为Multimax计算机设计的UNIX的Encore版。这种计算机可以使用数十个处理器它们都运行UNIX的拷贝。这种模型的优点是可以同时运行多个进程有N个处理器就可以运行N个进程而不会引起严重的性能恶化。然而我们必须小心控制输入输出以保证处理器对数据的正确接收。而且因为CPU是独立的就可能当一个疲于应付时另一个却无事可做导致系统的低效。如果处理器共享确定的数据结构那么就可以避免这种低效。这种形式的多处理机系统将允许多个处理器共享进程和资源(如内存)并且能够降低处理器之间的差异。开发这种系统必须要十分小心这就像我们将在第七章中看到的那样。实际上所有的现代操作系统(包括WindowsNT、Solaris、DigitalUNIX、OS和Linux)都提供了对SMP的支持。http:wwwtulipsyscomFigureSymmetricmultiprocessingarchitecture对称多处理和非对称多处理的不同可能与硬件或软件有关。专用硬件能够区分多个处理器或者可以开发软件以允许一个主处理器和多个从处理器。例如Sun的操作系统SunOS第版提供了对非对称多处理的支持而基于同样硬件的第版(Solaris)是对称多处理系统。因为微处理器变得更便宜更强大从处理器(后端处理器)中去掉了附加的操作系统功能。例如添加一个处理器并为其配备自己的存储器以控制磁盘系统是相当容易的。这个微处理器可以从主CPU接收请求队列并实现自己的磁盘队列和调度算法。这种方案减轻了主CPU的磁盘调度开销。个人计算机在键盘中包含了一个微处理器来将击键转换成编码并发送给CPU。事实上微处理器的这种应用变得如此广泛以至于我们不再考虑多处理技术了。分布式系统以一种最简单的术语来讲网络就是两个或多个系统通讯的路径。分布式系统依靠网络来实现其功能。通过通信分布式系统能够共享计算任务并且为用户提供了丰富的特性。不同的网络采用的协议、节点间距离和传输介质各不相同。虽然ATM和其它的一些协议应用广泛但是TCPIP是最通用的网络协议。同样操作系统对协议的支持也不尽相同。包括Windows和UNIX在内的大多数操作系统支持TCPIP协议。有些系统为了适应自己的需求而支持专有的协议。对一个操作系统来说网络协议仅仅需要一个简单的接口设备网络适配器如利用一个设备驱动程序对它进行管理在通信协议中利用软件将数据打包发送和解包接收。对这些概念的讨论贯穿全书。网络的分类根据它们的节点间的距离。局域网(LAN)在一个房间、一个楼层或者是一个建筑物中。广域网(WAN)通常在建筑物、城市或国家间。一个跨国公司可以有一个WAN来连接世界范围内的办公室。这些网络可以运行一个或多个协议。新技术的不断涌现带来了新的网络形式。例如城域网(MAN)可以连接一个城市的建筑。蓝牙设备在几步远的短距离内进行通信这在本质上就构建了一个小范围网络。网络介质同样各种各样。这包括铜线、光纤和在卫星、微波天线和无线电接收装备之间的无线传输。甚至射程较短的红外线通讯也能够用来构建网络。未来计算机可以随时随地的使用网络或者建立网络进行通信。根据它们的性能和可靠性这些网络也不尽相同。客户端/服务器系统因为个人计算机变得更快、更强并且更便宜设计者已不再将精力集中在系统结构上。现在个人计算机取代了连接到中心计算机的终端。相应的原先由中心计算机直接控制的用户交互功能现在也越来越多的交给PC来处理。结果中央计算机现在作为一个服务系统来满足客户系统发起的请求。图描述了一个客户端/服务器系统的通用结构。http:wwwtulipsyscomFigureGeneralstructureofaclientserversystem服务器系统可以概括性的分为计算服务器和文件服务器两类。计算服务系统提供了一个客户端接口客户端通过此接口发送要执行的操作计算服务器执行这个操作并将结果返回给客户端。文件服务系统提供了一个文件系统接口客户端可以在此创建、更新、读取和删除文件。对等网络系统计算机网络的成长尤其是因特网和环球网(WWW)对最近的操作系统的发展产生了深远的影响。当个人计算机在年代引入时它们的设计是为了“个人”应用并且通常作为独立的计算机。随着在年代开始的电子邮件、ftp和gopher等因特网公共应用的普及许多个人计算机连接到了计算机网络上。随着年代中期互联网的出现网络连接成为计算机系统的必要组成部分。实际上所有的现代个人计算机和工作站都具有运行一个网络浏览器以访问Web上的超文本文档的能力。目前的操作系统(如Windows、OS、MacOS和UNIX)也包含了系统软件(如TCPIP和PPP)这些软件可以使计算机通过局域网或电话线访问因特网。这包括了网页浏览器、远程登录和文件传输客户端和服务器。与在节讨论的紧密耦合系统对比在这些应用中使用的计算机网络由处理器集合组成它们不共享内存或时钟而是每个处理器有它自己的内存。处理机之间通过各种各样的通信线路进行通信比如:高速总线或电话线。这些系统通常被称为松散耦合系统(或分布式系统)。一些操作系统具备了网络和分布式系统的概念而远不止提供网络连接。网络操作系统是一种操作系统它提供了像跨越网络的文件共享这样的特征并且包含了一个允许不同计算机间的不同进程相互交换信息的通讯方案。虽然一台运行网络操作系统的计算机注意到网络的存在并且能够与其它联网的计算机通信但它却独立于网络上其它的所有的计算机。分布式操作系统具有更低的独立性:不同的操作系统密切联系以至于让人感觉只有一个独立的操作系统在控制网络。我们将在第十五章和第十七章中讨论计算机网络和分布式操作系统。集群系统与并行系统相似集群系统也集中了多个CPU来完成计算工作。与并行系统不同集群系统由两个或更多独立的计算机连接在一起组成。对术语“集群”的定义并不具体对于什么是集群系统和为什么一种优于另一种多个商业包互相竞争。通常公认的定义是集群计算机共享存取器并且通过局域网紧密连接。通常集群系统实现了对高可用性的支持。集群软件层运行在众多节点之上。每个节点能够(通过局域网)监控一个或多个其它节点。如果被监控的机器出现故障那么监控的机器能够获取被监控机器的存储器并重新开始运行被监控机器中所运行的应用程序。有故障的机器可以维持在这种故障状态但是用户和客户端应用程序仅仅会感受到一个简短的服务中断。在非对称集群中当其它的计算机运行应用程序时有一台计算机处于开机备用模式。备用主机除了监控其它活动服务器外什么也不做。如果这个服务器出现故障备用机就会成为活动服务器。在对称模式中两个或更多的主机同时运行应用程序并且相互监控。因为利用了所有可利用的硬件这种模式显然更加高效。它就需要多个可以运行的应用程序。其它形式的集群包括并行集群和构建在广域网上的集群。并行集群允许多个主机通过共享存储器访问http:wwwtulipsyscom数据。因为大多数操作系统缺乏对多个主机同时访问数据的支持所以并行集群通常由软件和应用程序的特别版本实现。Oracle并行服务器是Oracle数据库的一个用于运行在并行集群系统上的版本。每个机器有完全访问数据库中所有数据的权力。尽管分布式系统已经取得了长足的进步大多数系统并没有提供多方面的分布式文件系统。因此大多数集群系统不允许共享访问磁盘上的数据。为此分布式文件系统必须提供对文件的访问控制和锁定以避免互相矛盾的操作。这种类型的服务通常被认为是分布式锁定管理(DLM)。针对分布式通用文件系统的研发工作正在进行像SUN这样的开发商已经宣布了在其操作系统中包含DLM。集群技术发展迅速其中包括了全球集群在这种系统中机器可以遍布全世界(或者是WAN所能到达的任何地方)。这样的工程依然是研究和发展的主题。随着存储区域网络(SAN在节中详细描述)变得更为流行集群系统的用途和特性将有更大程度的扩展。SAN可以很容易的在多个主机和多个存储器单元之间建立连接。由于连接的复杂性当前的集群系统通常限制到台主机共享数据。实时系统另外一种具有特殊用途的操作系统是实时系统。如果对运算或数据流有严格的时间要求的话就需要使用实时系统因此它经常作为控制设备出现在专门的应用中。传感器获取数据并发送给计算机。计算机必须分析数据并在需要的情况下调整控制。实时系统在科学实验控制、医学成像、工业控制和某些显示系统中应用广泛。有些汽车引擎燃油喷射控制系统、家用控制器和武器系统也是实时系统。实时系统具有明确定义的、不变的时间约束。处理过程必须在规定的时间内完成否则系统就失效了。例如实时系统必须在一个用于汽车制造的机器人手臂撞到(正在制造的)汽车之前停止它。一个实时系统只有在规定的时间内返回正确的结果才算是能够正确工作。实时系统的这个要求跟分时系统和批处理系统不同在这点上注意跟分时系统和批处理系统对比我们期望(不是强制的)分时系统能够快速响应而对批处理系统则根本就没有时间限制。实时系统分为两种:硬实时系统和软实时系统。硬实时系统要保证按时完成关键性的任务。为此需要限制系统中所有的延迟从数据检索到操作系统结束请求模式的时间需求。这样的时间约束限定了硬实时系统的功能。辅助存储器通常十分有限或者没有使用数据存储在短期存储器或只读存储器(ROM)中。ROM是一种非易失性的存储设备即使在掉电情况下它也可以保存数据大多数其它类型的存储器是易失性的。大多数的高级操作系统特性往往将用户和硬件分离这样就会造成许多不确定的时间需求因此它们也不会出现在硬实时系统中。例如在实时系统中几乎见不到虚拟内存技术(第十章)。因此硬实时系统与分时系统是相互冲突的并且二者不能混为一体。由于现有的操作系统都没有提供对硬实时的支持所以在本书中我们就没有涉及此方面内容。软实时系统是一种限制较少的实时系统其关键任务的优先权要高于其它任务并保持拥有这个优先权直到结束。在硬实时系统中实时任务不能无休止的等待系统内核来执行它因此需要限制操作系统的内核延迟。软实时系统可以与其它类型的系统混为一体这是可以实现的。然而软实时系统比硬实时系统有着更多受限的应用。介于它们缺乏对操作时限的支持在工业控制和机器人中应用软实时系统是比较危险的。然而软实时系统通常在其它几个领域中应用广泛这包括了多媒体、虚拟现实和高级科学项目(如海底探险和行星探测)。这些系统需要一些硬实时系统无法支持的高级操作系统特性。由于软实时系统应用的不断扩展当前的大多数操作系统都包含了该技术其中包括UNIX的主要版本。我们将在第六章中涉及到在操作系统中实现软实时功能所需的调度机制在第十章中描述软实时计算中的内存管理。最后在第二十一章中描述Windows操作系统的实时部分。手持系统手持系统包括像PalmPilot这样的个人数字助理(PDA)或连接到某种网络(如因特网)的蜂窝电话。手持系统和应用程序的开发者要面对许多挑战其中大多来自于这种设备的体积限制。比如典型的PDA大约长英寸宽英寸重量不足磅。由于受到尺寸的限制大多数手持系统包含了一个小容量存储器、一个低速处理器和一个小尺寸显示屏。我们将逐一讨论这些限制。许多手持设备的内存容量在KB到MB之间。(与此相比典型的个人计算机或工作站可能拥有几百兆内存!)这样操作系统和应用程序必须能够高效的管理内存这包括在不再使用内存时将所持有的http:wwwtulipsyscom内存归还给内存管理程序。我们将在第十章中研究虚拟内存这是一种允许开发者的程序好像运行在比物理内存更多的系统之上的技术。目前多数手持设备没有使用虚拟内存技术这就迫使开发者受到物理内存容量的限制。手持系统开发者所关注另外一个的问题是处理器速度。大多数手持设备的处理器运行速度通常为个人计算机处理器运行速度的几分之一。更快的处理器需要更强劲的电源。在手持设备中使用更快的处理器就需要配备更大容量的电池而且需要更频繁的更换电池(或者是充电)。为了尽可能减小手持设备的尺寸经常使用体积更小、速度更慢、能耗更低的处理器。为此操作系统和应用程序就必须减轻处理器的负担。手持设备程序的开发者所面临的最后一个问题是要面对所使用的小尺寸显示屏。家用计算机显示器的尺寸可能会达到英寸而手持系统的显示屏通常不足英寸。像阅读电子邮件和浏览网页这样的常见的工作必须要精简到更小的显示屏中。显示网页内容的一种方法是网页裁剪技术就是只将网页中的一小部分内容传送并显示在手持设备上。一些手持设备可以使用像BlueTooth(节)这样的无线技术允许远程访问电子邮件和浏览网页。与Internet连接的蜂窝电话也是这种类型。当前很多PDA没有提供无线访问的支持。为了向这种设备中下载数据往往首先将数据下载到个人计算机或工作站然后再传到PDA中。有些PDA允许通过红外线相互直接传输数据。通常,PDA的这些功能上的限制根据手持设备的易用性和便携性来折衷。随着网络连接越来越广泛手持系统的应用也日渐广泛照相机和MP等一些其它的设备不断发展也扩大了它们的应用。特征迁移总的来说对大型计算机和微型计算机操作系统的比较显示:微型计算机已采用了过去大型计算机所独有的特性。同样的概念适用于不同类型的计算机:大型计算机、小型计算机微型计算机和手持计算机。图所描述的许多概念将在稍后介绍。然而要开始理解现代操作系统你需要了解特征迁移并且认识到许多操作系统特征的发展史。FigureMigrationofoperatingsystemconceptsandfeatures一个典型的特征迁移的例子是多路复用信息与计算服务(MULTICS)操作系统。MULTICS是MIT(MassachusettsInstituteofTechnology)在年到年间开发的一个计算工具。它运行在一个大型的复杂的大型计算机(GE)上。许多为MULTICS开发的技术后来被贝尔实验室(一个开发MUTICS的合作伙伴)用在了UNIX的设计上。UNIX操作系统大约在年为PDP小型计算机研制。大约在http:wwwtulipsyscom年UNIX的许多特征成了用在微型计算机中的类UNIX操作系统的基础这包括近来的许多操作系统比如:MicrosoftWindowsNT、IBMOS和Macintosh。如此随着时间的推移为大型计算机系统设计的许多技术移植到了微型计算机上。在大型操作系统的特性被按比例缩小以适应个人计算机的同时更强、更快、更完善的硬件系统也在发展。个人工作站是一种大型的个人计算机比如:SunSPARCstation、HPApollo、IBMRS和运行WindowsNT或UNIX派生系统的IntelPentium系列。许多大学和企业拥有相当数量的工作站这些工作站又通过局域网紧密连接。当个人计算机拥有更完善的硬件和软件时大型计算机和微型计算机的分类变得模糊不清了。计算环境从最初的handson系统到多道程序系统和时分系统再到个人计算机和手持计算机我们回顾了操作系统的发展那么现在就应该能够给出一个综述:这样的系统是怎样在多样化的计算环境中应用的。传统计算随着信息处理技术的成熟,传统计算环境的概念变得模糊了。考虑一下“典型的办公环境”。仅仅在数年前这个环境由连接到提供打印服务网络的个人计算机构成。远程访问并不好用而膝上型计算机提供了便携的工作环境。在许多公司中连接到大型机的终端的应用也非常的普遍它们的远程访问和便携能力还要差一些。当前的趋势向着提供更多的访问这些环境的能力发展。互联网技术扩展了传统计算。公司实现了通过互联网访问他们内部服务器的入口。网络计算机是能够解释Web计算的必要的终端。便携式计算机能够与PC同步这样就可以轻便的使用公司的数据。它们也能够连接到无线网络以利用公司的互联网入口(也有其它无限的互联网资源)。大多数用户在家里使用一台独立的计算机利用慢速调制解调器连接到办公室、因特网或二者都有。网络连接速度曾经非常昂贵现在就便宜多了这就允许在公司内部或通过互联网访问更多的数据。这些快速的数据连接允许家用计算机充当Web网页服务并且包含了打印机、客户端PC和服务器。有些家庭甚至拥有防火墙来保护这些家庭环境免收侵害。这种防火墙在数年前价值数千美元而十年前甚至还没有。基于Web的计算Web已经变得无处不在于是人们通过各种各样的设备访问网络这与我们在过去的几年中所梦想的相比有过之而无不及。个人计算机依旧是最普遍的访问设备工作站(高档的面向图形的PC)、手持个人数字助理甚至蜂窝电话也提供了访问支持。网络计算提高了网络连接的重要性。先前没有网络连接的设备现在拥有有线或无线访问能力。网络设备现在有了更快的网络连接这来自于提高网络技术、优化网络实现代码或二者都有。基于Web运算的实现促使了各种新型设备的出现如负载均衡器它在众多类似的服务器之间分配网络连接。像Windows这样的操作系统扮演着Web客户端的脚色它已经发展到了WindowsME和WindowsWindows不但可以作为客户端还可以作为服务器。通常Web提高了设备的复杂性因为用户需要它们能够连接到Web。嵌入式计算嵌入式计算机是现在最为流行的计算机形式它们运行嵌入式实时操作系统。从汽车引擎和工业机器人到录像机和微波炉这些设备随处可见。嵌入式计算机往往有着特殊的任务。它们运行的系统通常很简单并缺少一些高级特征比如虚拟内存甚至是磁盘。这样操作系统仅仅提供了有限的特性。它们的用户接口通常很小或者没有而更多的是在监控和管理硬件设备比如汽车引擎和机器人手臂。作为一个例子考虑前述的防火墙和负载均衡器。有些就是通用计算机它们运行标准的操作系统(如UNIX)和特殊用途的应用程序来实现它们的功能。其它的是一些使用特殊用途的嵌入式操作系统的硬件设备这些设备仅仅提供了所需的功能。嵌入式系统的应用仍在不断扩展。这些设备不管是作为独立的单元还是网络或Web成员它们的能力必定会不断提高。整个住宅能够实现计算机化这样不管是通用计算机还是嵌入式系统都可以控制供热、照明、报警系统甚至能够控制咖啡壶。家庭成员可以在回到家之前通过Web使室内升温。也许会有一天电冰箱在牛奶用光时会自动通知食品店。http:wwwtulipsyscom摘要因为两个主要的原因操作系统在过去的年中持续发展。首先操作系统尝试调度计算活动以确保计算系统的优良性能。其次它为程序的开发和运行提供了一个便利的环境。最初通过前端控制台使用计算机系统。汇编程序、装载程序、连接程序和编译程序等软件使程序设计更加便利但是也需要很多配制时间。为了减少配置时间就要雇佣操作员对相似的作业打包。批处理系统允许常驻内存的操作系统对工作自动排序大大提高了计算机的整体利用率。计算机就不再需要等待人工操作了。然而对于CPU来说IO设备的速度太慢了所以CPU的利用率仍旧很低。脱机操作使得单个CPU可以同时控制读卡机、磁带驱动器、打印机等多个低速设备。(OfflineoperationofslowdevicesprovidesameanstousemultiplereadertotapeandtapetoprintersystemsforoneCPU)为了提高整个计算机的性能引入了多道程序设计可以在内存中同时保留多个作业。CPU在这些作业之间来回转换减少了执行作业的总时间。多道程序技术也允许分时。而分时操作系统允许多个用户(从一个到几百个)同时交互式的使用计算机。个人计算机是微型计算机它明显比大型机系统更小更便宜。这种计算机的操作系统在多个方面受益于大型机操作系统的发展。然而因为个人单独的使用计算机CPU利用率不再是首要问题。因此大型计算机操作系统中的一些设计就不适于这些更小的系统。由于个人计算机现在能够通过网络和Web连接到其它的计算机和用户这样其它的一些设计则对小型系统和大型系统同样适用如安全策略。并行系统拥有多个密切通讯的CPUCPU共享计算机总线和外围处理机有时也共享内存。这样的系统提高了吞吐量并增强了可靠性。分布式系统允许在地理上分散的主机共享资源。集群系统允许多台机器同时对共享数据进行运算并且能够在某些子集群成员出现故障的情况下维持计算持续运行。硬实时系统通常作为控制设备出现。硬实时操作系统具有明确定义的固定的时间限定。进程必须要在限定的时间内完成否则系统就失效了。软实时系统则具有较少的时间限制而且不支持限期调度。最近出于Internet和WWW的影响整合了网页浏览、网络连接和通讯软件的现代操作系统的开发倍受鼓舞。CPU的发展需要更高级的功能通过这条主线我们讨论了操作系统的发展过程。随着硬件价格的进一步降低计算机的特性也有所改变这个趋势可以通过现在PC的发展感受到。词汇并行系统:parallelsystem操作系统:operatingsystem超文本:hypertext城域网:metropolitanareanetwork,MAN存储器:memory存储区域网络:storageareanetwork,SAN大型计算机:mainframe大型计算机系统:mainframecomputersystem对称多处理:symmetricmultiprocessing,SMP对等网络:PeertoPeer对等网络系统:PeertoPeersystem多处理机系统:multiprocessorsystem多道程序设计:multiprogramming多路复用信息与计算服务:MULTIplexedInformationandComputingService,MULTICS多任务处理:multitasking非对称多处理:asymmetricmultiprocessing分布式锁定管理:distributedlockmanager,DLMhttp:wwwtulipsyscom分布式系统:distributedsystem分时:timesharing分时系统:timesharedsystem辅助存储器(二级存储器):secondarystorage高可用性(高效率):highavailability个人工作站:personalworkstation个人计算机:personalcomputer,PC个人数字助理:personaldigitalassistant,PDA工作站:workstation功能退化故障弱化:gracefuldegradation广域网:wideareanetworkWAN环球网:WorldWideWeb,WWW集群系统:clusteredsystem计算服务系统:computeserversystem交互式计算机系统:interactivecomputersystem紧密耦合系统:tightlycoupledsystem进程:process局域网:localareanetworksLAN客户端/服务器系统:clientserversystem控制程序:controlprogram蓝牙:BlueTooth内核:kernel批处理系统:batchsystem容错:faulttolerant入口:portal软件:software软实时系统:softrealtimesystem实时系统:realtimesystem手持系统:handheldsystem输入输出设备:inputoutput(IO)device松散耦合系统:looselycoupledsystem图形用户界面:graphicuserinterface,GUI网络:network网络操作系统:networkoperatingsystem网络计算机:networkcomputer文件服务系统:fileserversystem物理内存(物理存储器):physicalmemory响应时间:responsetime小范围网络:smallareanetwork小型计算机:minicomputer异步传输模式:AsynchronousTransmissionMode,ATM因特网:Internet硬件:hardware硬实时系统:hardrealtimesystem中央处理单元:centralprocessingunit,CPU资源分配程序:resourceallocatorhttp:wwwtulipsyscom资源利用:resourceutilization作业调度:jobscheduling作业调度程序:jobschedulertulipsyssohucom

类似资料

该用户的其他资料

软件工程01.ppt

软件工程1.ppt

软件工程02.ppt

软件工程2.ppt

软件工程3.ppt

职业精品

精彩专题

用户评论

0/200
    暂无评论
上传我的资料

精选资料

热门资料排行换一换

  • 6++熊十力的新唯识论和胡塞尔的…

  • 【阿伦特研究】汉娜·阿伦特与人权…

  • 中国道教 四.pdf

  • 中国道教 三.pdf

  • 中国道教 二.pdf

  • 中国道教 一.pdf

  • 诗经学ABC(金公亮 世界书局1…

  • 物理学中的数学方法 第一卷.pdf

  • 中国封建社会史.pdf

  • 资料评价:

    / 14
    所需积分:0 立即下载

    意见
    反馈

    返回
    顶部