第一章操作系统概述主要知识点:一、操作系统的目标和作用计算机系统由硬件和软件两部分组成。操作系统是配置在计算机硬件上的第一层软件,是对硬件的首次扩充。1.操作系统的目标:有效性,方便性,可扩充性,开放性。2.操作系统的作用(1)从一般用户的观点看,OS是用户与计算机硬件系统之间的接口。OS处于用户与计算机硬件系统之间,用户通过OS来使用计算机系统。OS是一个系统软件,因此是软件接口,用户通过命令方式,系统调用方式和图形、窗口方式来使用计算机。(2)从资源管理的观点看,OS是计算机系统资源的管理者。资源可分为处理器,存储器,I/O设备以及信息(数据和程序)。OS主要是对这四类资源进行有效的管理。(3)OS实现了对计算机资源的抽象,隐藏了对硬件操作的细节,使用户更方便地使用机器。二、操作系统的发展过程表1.1操作系统的发展过程操作系统的产生无操作系统时的计算机系统(40年代)单道批处理(50年代)操作系统的形成多道批处理(60年代初)分时系统(60年代中)实时操作系统(60年代中)微机操作系统的发展单用户单任务操作系统(CP/M,MS-DOS)单用户多任务操作系统(Windows)多用户多任务操作系统(UNIX,SolarisOS,Linux)1.无操作系统时的计算机系统(1)电子管计算机(1946~1958),无操作系统,由手工控制作业的输入输出,通过控制台开关启动程序运行。缺点:用户独占全机,CPU等待人工操作。(2)脱机输入/输出方式(Off-LineI/O),事先将装有用户程序和数据的纸带(或卡片)装入纸带输入机,在一台外围机的控制下,把纸带上的数据(程序)输入到磁带上,当CPU需要这些程序和数据时,再从磁带上将其高速地调入内存。CPU需要输出时,CPU直接高速地把数据从内存送到磁带上,然后再在另一台外围机的控制下,将磁带上的结果通过相应的输出设备输出。程序和数据的输入和输出都是在外围机的控制下完成的,是在脱离主机的情况下进行的,所以称为脱机输入/输出方式。优点:减少了CPU的空闲时间,提高I/O速度。2.单道批处理系统(1)单道批处理系统的工作过程:用户将作业交到机房,操作员将一批作业输入到辅存(如磁带)上,形成一个作业队列。当需要调入作业时,由监控程序从这一批中选一道作业调入内存运行。当这一作业完成时,监控程序调入另一道程序,直到这一批作业全部完成。(2)单道批处理系统:系统对作业的处理都是成批地进行的、且在内存中始终只保持一道作业。(3)单道批处理系统的特征:自动性,顺序性,单道性。在单道批处理系统中,内存中仅有一道作业,它无法充分利用系统中的所有资源,致使系统性能较差。3.多道批处理系统-1-(1)多道程序设计技术:在内存中放多道程序,使它们在管理程序的控制下相互穿插地运行。引入多道程序设计技术的好处:1)提高CPU的利用率;2)提高内存和I/O设备的利用率;3)增加系统吞吐量。(2)多道批处理系统:用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列”;然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。(3)多道批处理系统的特征:1)多道性:在内存中可同时驻留多道程序,并允许它们并发执行;2)无序性:多个作业完成的先后顺序与它们进入内存的顺序之间,并无严格的对应关系;3)调度性:作业从提交给系统开始直至完成需要经过两次调度:作业调度和进程调度。(4)多道批处理系统的优缺点:1)资源利用率高;2)系统吞吐量大;3)平均周转时间长;4)无交互能力。(5)操作系统的定义:操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。4.分时系统(1)引入原因:推动分时系统形成和发展的主要动力是用户的需要:人-机交互、共享主机、方便上机。(2)概念:分时系统是指在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户共享主机中的资源,每个用户都可以通过自己的终端以交互的方式使用计算机。(3)关键问题:为实现分时系统,其中,最关键的问题是如何使用户能与自己的作业进行交互,即使有多个用户同时通过自己的键盘键入命令,系统也应能全部地及时接收并处理。(4)改变方法:为了实现人机交互,必须彻底改变原来的批处理系统的运行方式:(1)用户作业直接进入内存;(2)不允许一个作业长期占有处理机,为此规定每个作业只运行一个很短的时间(时间片),然后暂停该作业的运行,立即调度下一个程序运行。(5)分时系统的特征:①多路性(即同时性):允许在一台主机上同时联接多台联机终端,系统按分时原则为每个用户服务。②独立性:每个有用户各占一个终端,彼此独立操作,互不干扰。③及时性:用户的请求能在很短时间内获得响应。④交互性:用户可通过终端与系统进行广泛的人机对话。5.实时系统(1)实时系统是指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致运行。它主要应用于实时控制系统(如飞机自动驾驶,核反应堆)和实时信息处理系统(如飞机订票)。(2)实时任务的分类①按任务执行时是否呈现周期性来划分:周期性实时任务和非周期性实时任务。②按对截止时间的要求来划分:它又可分为硬实时任务和软实时任务。硬实时任务是系统必须满足任务对截止时间的要求,否则可能出现难以预测的结果,如化学反应的控制系统。软实时任务也联系着一个截止时间,但并不严格,若偶尔错过了任务的截止时间,对系统产生的影响也不会太大,如数字视频、音频处理系统。(3)实时系统与分时系统特征的比较:①多路性;②独立性;③及时性;④交互性;⑤可靠性。6.微机操作系统的发展(1)单用户单任务操作系统只允许一个用户上机,且只允许用户程序作业一个任务运行。主要配置在8位和16位微机上。最有代表性的单用户单任务操作系统是CP/M(8位)和MS—DOS(16位)。(2)单用户多任务操作系统-2-只允许一个用户上机,但允许用户把程序分为若干个任务,使它们并发执行,从而有效地改善了系统的性能。最有代表性的单用户多任务操作系统是微软公司推出的Windows。(3)多用户多任务操作系统允许多个用户通过各自的终端使用同一台机器,共享主机系统中的各种资源,而每个用户程序又可进一步分为几个任务,使它们能并发执行,从而可进一步提高资源利用率和系统吞吐量。UNIXOS是美国电报电话公司的Bell实验室开发的,已被广泛应用于多种中、小型机上。现在最有影响的两个能运行在微机上的UNIX操作系统的变型是SolarisOS和LinuxOS,后者源代码是公开的。三、操作系统的基本特性1.并发性。并发是指在内存中放多道作业,在一个时间段上来看,每一道作业都能不同程度地向前推进,但在任何一个时间点上只能有一道占用CPU。并行性是指两个或多个事件在同一时刻发生;并发性是指两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交替执行。为了实现程序并发执行引入了进程,进程是可以并发执行的,同时使CPU和I/O设备可以并行工作。2.共享性共享是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用。两种共享方式:(1)互斥共享方式(如打印机),一段时间内只允许一个进程访问(2)同时访问方式(如磁盘设备)允许在一段时间内由多个进程“同时”对它们进行访问。3.虚拟性虚拟是指通过某种技术把一个物理实体映射为若干个对应的逻辑实体。虚拟是操作系统管理系统资源的重要手段,可提高资源利用率。时分复用技术:分时使用某个设备提高其利用率,如虚拟处理机(多道程序设计技术),虚拟设备(SPOOLing技术)。空分复用技术:主要提高存储空间的利用率,如虚拟磁盘技术,虚拟存储器技术。4.异步性异步性指在多个进程并发执行过程中,各个进程运行时间、运行顺序具有不确定性,进程以不可预知的速度向前推进。在有些课本中称之为不确定性。四、操作系统的主要功能1.处理机管理功能处理机管理的主要任务是对处理机进行分配,并对其运行有效的控制和管理。处理机的分配和运行都是以进程为基本单位。因此对处理机的管理可归结为对进程的管理。处理机管理功能包括进程控制、进程同步、进程通信、调度。2.存储器管理功能存储器管理的主要任务,是为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率,以及能从逻辑上扩充内存。存储器管理要具备下列功能:内存分配,内存保护,地址映射,内存扩充。3.设备管理功能设备管理用于管理计算机系统中所有的外围设备,而设备管理的主要任务是,完成用户进程提出的I/O请求;为用户进程分配其所需的I/O设备;提高CPU和I/O设备的利用率;提高I/O速度;方便用户使用I/O设备。设备管理应具有功能:缓冲管理,设备分配,设备处理,设备独立性和虚拟设备4.文件管理功能-3-文件管理的主要任务是为每个文件分配必要的外存空间,提高外存的利用率,并能有助于提高文件系统的运行速度。文件系统管理的功能:文件存储空间管理,目录管理,文件的读/写管理和保护5.操作系统与用户之间的接口(1)用户接口:提供给用户使用的接口,用户可通过该接口取得操作系统的服务,可分为联机用户接口,脱机用户接口,图形用户接口。(2)程序接口:提供给程序员在编程时使用的接口,是用户程序取得操作系统服务的惟一途径。它是由一组系统调用组成的,每一个系统调用都是一个能完成特定功能的子程序。五、OS结构设计1.传统的操作系统结构(1)无结构操作系统(2)模块化结构OS:该技术是基于“分解”和“模块化”原则来控制大型软件的复杂度的。将OS按其功能划分为若干个具有一定独立性和大小的模块。(3)分层式结构OS:从物理机器开始,在其上面先添加一层具有一定功能的软件A1,由于A1是建立在完全确定的物理机器上的,在经过精心设计和几乎是穷尽无遗的测试后,可以认为A1是正确的;然后再在A1上添加一层新软件A2,……,如此一层一层地自底向上增添软件层,每一层都实现若干功能,最后总的构成一个能满足需要的OS。2.微内核结构所谓微内核技术,是指精心设计的、能实现现代OS核心功能的小型内核,它与一般的OS(程序)不同,它更小更精炼,它不仅运行在核心态,而且开机后常驻内存,它不会因内存紧张而被换出内存。微内核并非是一个完整的OS,而只是为构建通用OS提供一个重要基础。微内核所提供的功能,通常都是一些最基本的功能,如进程管理、低级存储器管理、中断和陷入处理。微内核结构特征:以微内核为OS核心,以客户/服务器为基础,采用面向对象的程序设计方法。第二章进程管理主要知识点:一、进程的基本概念1.一个程序通常由若干个程序段组成,这些程序段必须按照某种先后次序执行,仅当前一个操作(程序段)执行完后才能执行后继操作,这类计算过程就是程序的顺序执行过程。程序顺序执行的特征:顺序性,封闭性,可再现性。2.前趋图前趋图是一个有向无循环图,图中的每个结点可以表示一条语句、一个程序段或一个进程,结点间的有向边表示两个结点之间存在的偏序或前趋关系“”:={(Pi,Pj)|Pj必须在Pj开始执行之前完成}3.程序的并发执行程序的并发执行是指若干个程序(或程序段)同时在系统中运行,这些程序(或程序段)的执行在时间上是重叠的,即一个程序(或程序段)的执行尚未结束,另一个程序(或程序段)的执行已经开始。程序并发执行时有如下特征:(1)间断性。程序并发执行时,由于需要共享资源或为完成同一项任务而相互合作,致使并发程序之间形成了相互制约的关系。这些相互制约的关系将导致并发程序具有“执行-暂停-执行”这种间断性的活动规律。(2)失去封闭性。程序并发执行时,共享系统中的各种资源,这些资源的状态将由多个程序来改变,这将致使程序的运行失去封闭性。因此,某程序执行时,必然会受到其他程序的影响。(3)不可再现性。程序并发执行时,由于失去了封闭性,也将失去运行结果的可再现性。也就是说,对于同一个程序而言,即使其运行的初始