1.1操作系统概念1.1.1操作系统地位1.1.2操作系统作用1.1.3操作系统定义11.1.1操作系统地位硬件抽象层(HAL)之上所有其它软件层之下硬件(HAL)OS其它系统软件层应用软件层注意,上图所示的层次关系具有穿透性:高层软件可调用所有低于所在层次的软件,并可与硬件直接打交道。2操作系统硬件(HAL)系统库应用程序机器指令系统调用库调用操作系统的地位:操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的第一次扩充。OS在计算机系统中占据着特殊重要的地位,其它所有软件都依赖于它的支持,它是与硬件关系最密切的系统软件。系统库(lib)可调用操作系统,执行硬件指令。应用程序可以调用lib和操作系统,执行硬件指令。31.1.2操作系统的作用管理系统中的软硬件资源从资源管理的观点,OS是计算机系统资源的管理者,它负责管理和分配系统中的各种硬件和软件资源,以保证系统的各种资源得以有效利用。——CPU、内存、设备、文件为用户提供良好的界面从用户的观点,OS为用户提供了一个友好的界面,使用户无须关心计算机内部的实现细节,从而更加方便灵活地使用计算机。——API、GUI(GraphicUserInterface)41.1.3操作系统定义操作系统是位于硬件层(HAL)之上、所有其它软件层之下的一个系统软件,是管理系统中各种软硬件资源、方便用户使用计算机系统的程序集合。51.2操作系统的历史1.2.1操作系统的产生–手工操作阶段–成批处理阶段–执行系统阶段1.2.2操作系统的完善–多道批处理系统–分时系统–实时处理系统–通用操作系统1.2.3操作系统的发展–网络操作系统–分布式操作系统–多处理机操作系统–单用户操作系统–面向对象操作系统–嵌入式操作系统–智能卡操作系统61.2.1操作系统的产生一、手工操作阶段(20世纪40年代)在手工操作阶段,典型的作业处理步骤如下:(1)将程序和数据通过手工操作记录在穿孔纸带上;(2)将程序纸带放到光电输入机上,再通过控制台开关启动光电机将程序输入内存;(3)通过控制台开关启动程序由第一条指令开始执行;(4)运行结果在电传打印机上输出。穿孔纸带纸带输入机穿孔卡片卡片输入机光电转换计算机打印输出结果手工操作方式的缺点:(1)用户在其作业处理的整个过程中独享系统的全部资源;(2)手工操作所需时间很长。(人机矛盾)7二、批处理阶段(20世纪50年代)缩短手工操作时间,使作业到作业之间的过渡摆脱人的干预,实现自动化。成批处理经历了两个阶段:(1)联机批处理:(On-lineBatchProcessing)Job1Job2…Jobn输入设备操作员主机磁带monitor汇编编译连接输出设备工作原理:操作员将若干作业合成一批,将其卡片依次放到读卡机上,监督程序Monitor通过内存将这批作业传送到磁带机上。输入完毕,监督程序开始处理这一批作业。它自动将第一个作业读入内存,并对其进行汇编(或编译)、连接、执行、输出。第一个作业处理完立即开始处理第二个作业,如此重复,直至所有作业处理完,再处理第二批作业。8联机批处理的优点:•作业自动转换,大大缩短了手工操作时间。•出现了Monitor及相应软件的支持。联机批处理的缺点:作业由读卡机到磁带机的传输需要处理机完成,由于设备的传输速度远低于处理机的速度,在此传输过程中处理机仍会浪费较多时间。即I/O设备与CPU直接相连,CPU(主机)浪费。为克服联机批处理的缺点,引入了脱机批处理。基本思想是把输入/输出操作交给一个功能较为单纯的卫星机去做,使主机从繁琐的输入输出操作中解脱出来。9(2)脱机批处理(Off-lineBatchProcessing)基本原理:待处理的作业由卫星机负责经读卡机传送到输入磁带上,主机从输入磁带读入作业、加以处理,并把处理结果送到输出磁带上,最后由卫星机负责将输出磁带上的结果在打印机上输出。…………纸带机卡片机打印机卫星机输入磁带输出磁带主机脱机批处理的优点:卫星机与主机分工明确,并行工作,提高了CPU的利用率。脱机批处理的缺点:单任务系统;人工拆装磁带。批处理系统是操作系统的雏形。10三、执行系统阶段(ExecutiveSystem60年代初)60年代初,硬件的重要进展:通道、中断技术通道:(channel)通道,也称I/O处理机,它具有自己的指令系统和运控部件,可接受处理机的委托执行通道程序,完成I/O操作。通道的I/O操作可与处理机的计算工作完全并行,并在I/O操作完成时向处理机发出中断请求。中断:(Interrupt)中断是指当主机接到某种外部信号(如I/O设备完成信号)时,马上暂停原来的工作,转去处理这一事件,处理完毕再回到原来的断点继续工作。11假脱机(Spooling):作业由读卡机到存储区的传输以及运行结果由存储区到打印机的传输由通道完成,这种方式既非联机,也非脱机,称为“假脱机”或“伪脱机”。优点:通道取代卫星机,免去了手工装卸磁带的麻烦。执行系统阶段,Monitor常驻内存,是OS的初级阶段。…………I/O设备I/O设备I/O设备通道主机内存运控部件通道运控部件121.2.2操作系统的完善一、多道批处理系统(Multi-programmingSystem60年代初)早期批处理系统,无论On-line还是Off-line,作业都一道一道顺序执行,内存中任意时间内仅有一道作业。为了提高效率,引入了多道程序设计技术,形成了多道批处理系统。工作原理:用户提交的作业都先放在外存上并排成一个后备队列,然后由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存。当一道作业因等待I/O传输完成等原因暂时不能运行时,系统可将CPU资源分配给另一个可运行的作业。优点:资源利用率高;系统吞叶量(单位时间完成作业量)大。缺点:作业的平均周转时间长;无交互能力。13二、分时系统(Time-SharingSystem60年代初/中期)多道批处理系统属于高级脱机处理方式,无交互能力,非常不利于程序的动态调试。为此出现了分时系统,分时系统与多道批处理系统有着截然不同的性能。分时系统:是指在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户共享主机中的资源,每个用户都可通过自己的终端以交互方式使用计算机。分时系统便于程序的动态修改和调试。分时系统与多道批处理系统相比,具有完全不同的特征:(1)多路性:一个主机与多个终端相连,系统按分时原则为每个用户服务。宏观上,多个用户同时工作,共享系统资源;微观上,每个用户轮流运行一个时间片。(2)交互性:以对话的方式为用户服务。(3)独占性:每个终端用户仿佛拥有一台虚拟机。多道批处理系统和分时系统的出现标志OS已进入完善阶段14三、实时系统(Real-TimeSystem60年代中期)实时系统是指系统能即时响应外部事件的请求,在规定时间内完成对事件的处理,并控制所有实时任务协调一致地运行。它分为实时信息处理系统和实时控制系统两大类。实时信息处理系统由一台或多台主机通过通信线路连接成百上千个远程终端,计算机接收从远程终端发来的服务请求,根据用户提出的问题,对信息进行检索和处理,并在很短时间内为用户做出正确的回答。如飞机订票系统。传统操作系统的三大类别:多道批处理操作系统、分时操作系统、实时操作系统。一个实际的操作系统可能兼具三者或其中两者的功能。通用操作系统:(60年代后期)将多道批处理、分时和实时等功能结合在一起构造出的多功能的操作系统,称为通用操作系统。151.2.3操作系统的发展目前,较优秀的实用操作系统:UNIX(美国BellLabs)、Windows(美国微软)、Linux(自由软件)。近30年来,OS取得了很大发展,主要表现在:1.硬件体系结构由集中向分散发展,出现计算机网络,为此网络操作系统和分布式操作系统应运而生。2.微处理机的发展使家庭和商用的微型机得到了普及。为方便非计算机专业人员使用,OS提供了友好的操作界面。3.在科学和军事领域,大型计算任务要求极强的计算处理能力,多处理机并行成为必然,由此产生并行操作系统。4.随着处理机芯片和各种存储介质在各种控制领域的广泛应用,嵌入式和智能卡操作系统应运而生。为降低开发代价,尝试从不同应用中抽取具有共性的东西,并做成很小的操作系统核心,由此产生了微内核操作系统体系结构。161.3操作系统的特性1.程序并发性程序并发指计算机系统中同时存在多个程序,宏观上,这些程序同时向前推进。程序并发与程序并行的区别:程序并行要求微观上的同时,即在绝对同一时刻有多个程序同时向前推进;程序并发并不要求微观上的同时,只需要在宏观上看来多个程序都在向前推进。在单处理机操作系统中,通常使用并发这个术语,尽管处理机与设备之间、设备与设备之间可以并行工作。2.资源共享性资源共享是指操作系统程序与多个用户程序共用系统中的各种资源,这种共享是在操作系统的控制下实现的。171.4操作系统的分类多道批处理操作系统(batchprocessingsystem)分时操作系统(time-sharingsystem)实时操作系统(real-timesystem)通用操作系统(multi-purposesystem)单用户操作系统(singleusersystem)网络操作系统(networkoperatingsystem)分布式操作系统(distributedoperatingsystem)多处理机操作系统(multi-processorsystem)嵌入式操作系统(embeddedoperatingsystem)智能卡操作系统(smart-cardoperatingsystem)18主机输入井输出井输出机输入机作业结果SPOOLing输入作业调度SPOOLing输出1.4.1多道批处理系统(以脱机操作为标志)作业(Job):用户程序+数据+作业说明书(JCL编写)输入井:用于保存已经输入、尚未处理的作业。输出井:用于保存处理完毕、尚未输出的结果。结果:程序运行结果+记帐信息。多道批处理系统的工作原理:19批作业的处理步骤:(1)用户将作业交给机房;(2)操作员在适当的时刻将作业放到某台输入机上并启动其工作,通道负责将作业传输到输入井中;(3)执行某种作业调度算法把作业从输入井读入内存,此时作业以“进程”为单位在内存中运行,运行结束后,其结果被写入输出井中;(4)最后再由通道负责将结果在输出机上输出。20设置输入井和输出井的目的:(1)协调I/O设备速度与处理机速度之间的差异;(2)为作业调度提供条件。如果没有输入井,系统只能按照自然次序处理作业,设置输入井后,系统可以根据调度需要在输入井中选择进入内存的作业,使得内存中运行的作业搭配合理。主机中作业合理搭配的目标:–目标1:提高资源利用率(eg.计算型+I/O型)–目标2:提高系统吞吐量(throughput)多道批处理系统的特点:–多道:内存中同时存在多个正在处理的作业,–成批:作业分批进入系统,作业与作业之间的过渡由操作系统控制,无需用户干预。21在分时系统中,一个主机同多个交互终端相连。分时系统为终端用户提供一组交互终端命令,它是用户与操作系统之间的界面。用户进入系统后,可在终端上键入终端命令,操作系统接收该命令后执行一段系统程序,完成用户交给的任务,然后给出一个回答,用户根据回答确定下一个将要键入的命令,如此直至用户完成其任务。(界面:交互式命令、GUI)1.4.2分时操作系统(以联机操作为标志)Time-SharingOSHAL终端终端终端…...并互命令系统回答22分时系统采取分时的方法为多个终端用户提供服务。它将时间划分为若干个片段,称作时间片,并以时间片为基本单位轮流地为各个交互终端用户服务。由于时间片通常很小,如十几毫秒或几十毫秒,系统为所有用户服务一次仅需较少的时间。例如对于一个拥有50个终端的系统来说,假设时间片长度为40毫秒,一个终端每隔两秒钟左右便能得到一次系统响应。分时系统具有如下三个重要特性:多路性:一个主机与多个终端相连;交互性:系统以对话的方式为用