第1章操作系统引论第1章操作系统引论1.1操作系统的地位1.2操作系统的定义1.3操作系统的特征1.4操作系统的发展1.5操作系统结构研究1.6UNIX操作系统习题第1章操作系统引论你所了解的OS有哪些?第1章操作系统引论UNIX大家庭:Solaris,AIM,HPUX,SVR4,BSDUNIX是一种多用户操作系统,是日前的三大主流操作系统之一(另外两个是Linux和Windows)。它1969年诞生于贝尔(电话)实验室,由于其最初的简洁、易于移植等特点而很快得到注意、发展和普及,成为跨越从微型机到巨型机范围的惟一操作系统。除了贝尔实验室的“正宗”UNIX版本外,还有大量的变种。例如,日前的主要变种SUNSolaris、IBMAIX和HPUX等。第1章操作系统引论自由软件中的操作系统:Linux和freeBSD等自由软件的自由(free)有两个含义:第一是免费,第二是自由。免费是指自由软件可免费提供给任何用户使用,即便是用于商业目的。并且自由软件的所有源程序代码也是公开的,可免费得到的。Slackware,RedHat,Debian……第1章操作系统引论第1章操作系统引论IBM操作系统产品:AIX,Zos(OS/390),OS/2,OS/400,PCDOS等IBM(InternatioallBusinessMachinesCorporation,国际商业机器公司)于1914年创建于美国,是世界上最大的信息工业跨国公司。计算机历史上的许多重大事件,都与IBM公司有关。例如,标志着第三代计算机——大规模集成电路计算机开始的,就是IBM360。IBM在不停地制造世界上的第一个、最快、最小、最大。例如,1999年世界上最小的硬盘,世界上第一个制造主频673MHz商用微处理器(1999年),世界上第一台“铜芯”企业服务器,数不胜数。第1章操作系统引论其他操作系统:MacOS和NetWare等MacOS是美国苹果公司的操作系统,运行于该公司生产的Macintosh微型机(苹果机)上,其较新版本是MacOSX(即10)。NetWare是Novell公司出品的网络操作系统,其较新版本是NetWare5。第1章操作系统引论智能手机操作系统•Symbian系统–SymbianOS(中文译音“塞班系统”)由诺基亚、索尼爱立信、摩托罗拉、西门子等几家大型移动通讯设备商共同出资组建的一个合资公司,专门研发手机操作系统。现已被NOKIA全额收购。•GoogleAndroid–Android的出现并强势发展是近期手机行业当中引人注目的大事,Google介入手机领域的方式出乎所有人的意料,并非是之前人们所猜测的智能手机,而是联合30多家技术和无线应用领域当中的领军厂商所组成的开放式移动设备平台。•WindowsMobile–WindowsMobile(WM)系统源自Windows桌面系统,有着桌面应用的血脉,因此无论是界面设计还是功能应用都几乎和PC机如出一辙,在早期推广的时候,这也是大量用户投入到WM旗下的原因。虽然在理论上Linux系统有着最为开源的特性,给开发者发挥的空间最大,但从近几年的发展来看,Linux系统似乎仍然远离着多数的普通消费者。•PalmOS–PalmOS作为一款嵌入式操作系统,用于PDA等专业设备上确实是它的强项。但是,在Palm发展11年之后,已经日益进入寒冬期,或许捍卫中高端专业领域才是它的正道。•IphoneOS,BlackBerry,MTK,Kjava等。第1章操作系统引论1.1操作系统的地位计算机系统由硬件和软件两部分组成。通常把未配置软件的计算机称为裸机。直接使用裸机不仅不方便,而且将严重降低工作效率和机器的利用率。操作系统(OS,OperationSystem)是为了填补人与机器之间的鸿沟,即为了建立用户与计算机之间的接口,而为裸机配置的一种系统软件。由图1.1可以看出,操作系统是裸机上的第一层软件,是对硬件系统功能的首次扩充。第1章操作系统引论计算机硬件系统工具用户应用应用用户操作系统应用开发人员操作系统开发人员图1.1操作系统在计算机系统中的地位第1章操作系统引论配置操作系统的目标有:(1)提供一个计算机用户与计算机硬件系统之间的接口,使计算机系统更易于使用。(2)有效地控制和管理计算机系统中的各种硬件和软件资源,使之得到更有效的利用。(3)合理地组织计算机系统的工作流程,以改善系统性能(如响应时间、系统吞吐量等)。(4)遵循国际标准,设计和构筑开放式的环境,支持可扩展的体系结构,支持应用程序的可移植性和可互操作性。第1章操作系统引论从不同角度看,操作系统具有以下特性:(1)有效性(系统管理人员的观点):管理和分配硬件与软件资源,合理地组织计算机的工作流程。(2)方便性(用户的观点):提供良好的、一致的用户接口,弥补硬件系统的类型和数量上的差别。(3)可扩充性(Extensibility):指在为操作系统增加新特性时能够很容易,增强功能所引起的对系统的其他部分的改动要尽可能地少。注:与可扩充性相关的是可伸缩性(Scalability),主要是指对处理器数量的适应性。在倾向于采用多处理器技术的时代,可伸缩性是很重要的。第1章操作系统引论(4)可移植性(Portability):可扩充性使操作系统以尽可能少的改动得到性能上的增强,可移植性则使整个操作系统以尽可能少的改动移植到一个具有不同处理器或不同配置的计算机上。硬件制造水平的发展很快而且常常是不可预计的,因此操作系统必须具有良好的可移植性。(5)兼容性(compatibility):指软件或硬件对另一(几)种计算机系统的适用能力,旨在保护已有的软硬件资源,节约开发投资。兼容性表现在软件和硬件的许多方面,兼容的范围和级别也各不相同。随着现有软硬件资源越来越多、开发规模和投资量越来越大,兼容性越来越受到重视。但兼容性要求往往也给新产品的开发提出各种制约,降低了计算机体系结构变革的自由度。一个操作系统的兼容性,是指该操作系统能否执行为其他操作系统或为同一系统的早期版本所编写的程序,分为二进制兼容和源码级兼容。二进制兼容是指一个操作系统下的一个可执行程序能直接在另一个不同的操作系统上成功运行,无需重新编译或编制、修改源程序。源码级兼容是指一个操作系统下的一个源程序经重新编译后能在另一个不同的操作系统上成功运行,无需重新编制和修改源程序。第1章操作系统引论1.2操作系统的定义由于操作系统向用户隐蔽了系统使用的硬件设备,因此操作系统要为它上面的应用软件提供一组命令或系统调用接口供用户程序使用。操作系统(OperatingSystem)是计算机中最重要的系统软件,是这样一组系统程序的集成:这些系统程序在用户对计算机的使用过程中,即在用户程序运行和用户操作过程中,负责完成所有与硬件因素相关的(硬件相关)和所有用户共需的(应用无关)基本工作,并解决这些基本工作中的效率和安全问题,为使用户(操作和上层程序)能方便、高效、安全地使用计算机系统,而从最底层统一提供通用的帮助和管理。第1章操作系统引论1.3操作系统的特征1.并发(Concurrency)并行性和并发性是既相似又有区别的两个概念。并行性是指两个或多个事件在同一时刻发生,而并发性是指两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发性是指宏观上在一段时间内有多道程序在同时运行。第1章操作系统引论2.共享(sharing)资源共享是指系统中的硬件和软件资源不再为某个程序所独占,而是供多个用户共同使用。根据资源属性的不同,可有以下两种不同的资源共享方式。一种共享方式是,系统中的很多资源虽能提供给多个作业(进程)使用,但在一段时间内却只允许一个作业访问该资源,这称为互斥共享。第1章操作系统引论另一种共享方式是,允许在一段时间内,由多个进程同时对资源进行访问。这里所谓的“同时”仍然是宏观上的。而微观上,这些进程可能是交替地对该资源进行访问。并发和共享是操作系统的两个最基本的特征,而这两者之间又是互相依存的:一方面,资源共享是以程序的并发执行为条件的,假若系统不允许程序并发执行,就不存在资源共享问题;另一方面,若系统不能对资源共享实施有效的管理,势必影响到程序的并发执行。第1章操作系统引论3.虚拟(Virtuality)在操作系统中,所谓虚拟,是指把一个物理上的实体变为若干个逻辑上的对应物,前者是实的,即是实际存在的,而后者是虚的,是逻辑上的。•时分复用技术•空分复用技术第1章操作系统引论4.不确定性(Uncertainty)在操作系统中,不确定性主要有两种类型:(1)程序执行结果是不确定的,即对同一程序使用相同的输入,在相同的环境下运行多次,却可能获得完全不同的结果,亦即程序是不可再现的。(2)多道程序环境下程序的执行是以异步方式进行的,换言之,每个程序在何时执行,多个程序间的执行顺序以及完成每道程序所需的时间都是不确定的,因而也是不可预知的。这种不确定性却是允许的。第1章操作系统引论1.4操作系统的发展1.4.1操作系统的发展历史(技术发展&类型)操作系统是在人们不断改善计算机系统性能和提高资源利用率的过程中逐步形成和发展起来的。操作系统发展的主要动力是“需求推动发展”。第1章操作系统引论1.人工操作方式在早期的计算机系统中,程序的每一次运行都需要很多人工干预,操作过程繁琐,占用很多时间,而且也很容易产生错误,往往准备的时间很长,而执行的时间却很短。具体表现在两个方面:第1章操作系统引论(1)用户独占全机。一台计算机为一个用户独占,系统中的全部资源由他一人支配,因此用户可以较方便地使用各种资源,不会出现因资源已被其他用户占用而等待的现象,但资源的利用率却非常低。(2)CPU等待人工操作。用户仅在上机时才能将自己的程序和数据通过穿孔纸带或卡片装入相应的输入设备,显然,此时CPU空闲。当计算完成,进行卸带或取卡操作时,CPU又空闲。由此可见,CPU的利用极不充分,这在运行短程序时尤为突出。第1章操作系统引论2.脱机输入/输出技术(Off-LineI/OTechnic)1)脱机输入技术为解决低速输入设备与CPU速度不匹配的问题,人们将用户程序和数据在一台外围计算机的控制下,预先从低速输入设备输入到磁带上。第1章操作系统引论2)脱机输出技术当程序运行完毕或告一段落,CPU需要输出时,无需直接把计算结果送至低速输出设备,而是高速地把结果送到磁带上,然后在另一台外围机的控制下,把磁带上的计算结果由相应的输出设备输出,这就大大加快了程序的输出过程。第1章操作系统引论3.批处理技术批处理技术是指计算机系统对一批作业自动进行处理的一种技术。所谓作业,是指用户程序及其所需的数据和命令的集合。在脱机输入/输出方式中,事先已把一批作业记录在一盘磁带上,这意味着作业的处理是成批的,且处理顺序已经排定。第1章操作系统引论4.多道程序设计技术1)多道程序在采用批处理技术时,内存中仅存放一道程序,每当该程序发出I/O请求后,便处于等待I/O完成状态,致使CPU空闲。单道多道第1章操作系统引论2)多道程序系统需解决的问题虽然多道程序技术能提高系统的吞吐量并有效地提高资源利用率,但实现多道程序还需妥善地解决下述一系列问题:(1)在一个连续的内存空间中,同时驻留了多道程序,系统应为每道程序分配好内存空间,使它们各得其所,不会相互重叠而丢失信息,又应防止某道程序由于人为的因素或出现异常情况而破坏其他程序。第1章操作系统引论(2)在单处理机系统中,系统只有一个处理机为各道程序所共享,这必将引起各道程序对处理机的竞争。(3)一个系统中的I/O设备数量通常少于多道程序所要求的数量,这也会引起各道程序对I/O设备的争用,系统应为各道程序分配I/O设备。(4)在一个系统中运行的程序可能具有不同的类型。有的程序属计算型,即该程序需要经过大量的计算后方才要求输入/输出;而有的程序属I/O型,其计算量小,但要求操作的量却较大。(5)系统把大量有意义的信息以文件的形式存放在各种存储介质上。为提高存储空间的利用率,加速对信息的检索速度,系统应对它们进行组织和管理;并且为