《计算机操作系统讲解》由会员分享,可在线阅读,更多相关《计算机操作系统讲解(55页珍藏版)》请在金锄头文库上搜索。
1、操作系统 讲义第一部分:操作系统引论(1)一、操作系统基本常识1. 计算机是由硬件和软件两部分组成的,而操作系统(Operating System)是配置在计算机硬件之上的第一层软件,是对计算机硬件的第一次扩充。操作系统是系统软件的基础,其他的系统软件,例如编译程序、汇编程序、数据库管理系统、诊断程序等,都是在操作系统的支持下工作的,都要依赖于操作系统,取得操作系统提供的各类服务。2. 操作系统的目标是什么?1) 方便性:计算机硬件只能识别0或1,即只能识别机器代码,因此没有配置操作系统的计算机是难以使用的;如果配置了操作系统,则可以使用OS提供的各种命令来使用计算机系统,从而方便了用户,也使
2、计算机变得易学易用。2) 有效性:操作系统可以管理CPU、I/O设备等系统资源,从而避免各种资源使用无需而引起的资源浪费现象。配置了OS的计算机可有效改善系统的资源利用率和提高系统吞吐量。3) 可扩充性:OS采用模块化设计,可适应计算机硬件和体系结构的迅速发展,可方便增加新的功能模块和修改旧的功能模块。4) 开放性:为了适应不同的硬件系统和软件系统,实现硬件设备正确、有效地协同工作,以及实现应用程序地可移植性和互操作性,要求OS具有开放性。 说明:方便性和有效性是OS最重要的两个目标。当前更重视OS使用上的方便性。3. 操作系统的作用有哪些?1) 从一般用户的观点看,OS是用户和计算机硬件系统
3、之间的接口;用户可以通过命令方式或者系统调用方式来使用计算机。2) 从资源管理的观点看,OS是计算机资源的管理者。计算机的资源分为四类:处理器、存储器、I/O设备和信息(数据和程序),相应地,OS系统的主要功能也是对这四类资源的管理,即:处理机管理、存储器管理、I/O设备的管理、文件管理。这也是本课程要介绍的主要内容。3) OS可用作扩充机器。没有任何软件支持的计算机,称为裸机,覆盖了软件的机器称为虚拟机(Virtual machine);每多覆盖一层软件,则虚拟机的功能就越强。4. 操作系统可以用一种层次结构模型描述:底层是OS对象,中间层是对对象进行的操作和管理的软件的集合;最高层是OS提
4、供给用户的用户接口。二、操作系统发展历程1. 无操作系统时代:1)人工操作方式:主要发生在第一代计算机到上世纪50年代中期,此时的程序员通过人工操作方式直接操作计算机硬件系统;用户独占全机和CPU等待人工操作是这种方式的主要缺点。人工操作方式严重影响了计算机资源的利用率,引起了所谓的“人机矛盾”。后来出现了“通道技术”和“缓冲技术”,用于缓和此矛盾,但是效果不好,再后来引入了“脱机输入输出方式”,获得了良好的效果。2) 脱机输入输出方式:该方式最突出的方式是增加了外围机。外围机的作用在于脱机控制输入设备和输出设备。因为输入和输出都是在脱机状态下进行的,因此可有效减少CPU的空闲时间,从而缓和了
5、人机矛盾。该中方式的优点是:减少了CPU的空闲时间;提高了I/O的速度。2操作系统时代1)单道批处理系统(Simple Batch System): 是为提高系统资源利用率和系统吞吐量而提出的,配有监督程序(Monitor)。首先将一批作业以脱机输入输出方式(Off-Line I/O)输入道磁带上,然后在监督程序的监督之下顺序执行。此种方式可保证系统对作业的处理是成批进行的,且内存中总保持一道作业。其效果并不好,目前已经很少使用。其特点是:自动性(无需人工干预)、顺序性、单道性。可以认为SBS是OS的前身。说明:系统吞吐量是指系统在单位时间内完成的总工作量。2)多道批处理系统:为进一步提高系统
6、资源的利用率和系统吞吐量,引入了多道程序设计技术,增加了作业调度程序。用户提交的作业都存放在外存上,排成一个队列(后备队列);然后,由专门的作业调度程序按照一定的算法(?)从后备队列中选择若干个作业调入内存,这些作业共享内存和处理机等资源,可并发运行。优点:提高CPU的利用率(有效避免I/O等待);提高内存和I/O设备的利用率;增加系统吞吐量。缺点:平均周转时间长;无交互能力。特征:多道性、无序性(作业完成顺序同进入顺序无关)、调度性(作业调度和进程调度)。说明:作业调度是将作业从外存调入内存,但是不一定占有处理机;进程调度是从已在内存中的作业选择一个作业,将处理机分配给它,使其运行。平均周转
7、时间:从作业进入系统开始,指导其完成并退出系统所经历的时间。3)分时系统(Time-Sharing System):是一台主机 + 多个终端的系统。推动分时系统形成和发展的动力是用户的需要。用户使用计算机时,希望实现“人机交互”,以便能对错误进行修改,并且希望能独占主机;但是在19世纪60年底,计算机非常昂贵,又不可能每个用户独占一台主机,所以“共享主机”是一个不错的选择;同时,如果每个用户各自占用一台终端设备,则可以方便地将自己的作业通过终端设备传输到计算机上处理。分时系统的定义:是指一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户共享主机的资源,每个用户都可以通过自己的终端以交
8、互的方式使用计算机。分时系统需要解决的问题:a. 及时接收:指的是主机要及时接收用户输入的命令和数据b. 及时处理:指用户通过终端键入命令后能及时控制自己的作业运行或修改自己的作业。在分时系统中,所有用户的作业都直接进入内存,且在较短短时间内(例如3秒之内)保证每个作业都运行一次(一个时间片)。说明:时间片:指的是一段很短的时间,例如0.1秒,用于进程调度时的时间段表示。分时系统的实现方法:a. 单道分时系统:系统内存中只驻留一道程序(作业),其余作业都在外存上。当内存中的一个作业运行一个时间片后,便被调至致外存(称为调出),再从外存上选一个作业装入内存(称为调入)并运行一个时间片,如此往返。
9、特点:每个用户的作业都可以轮流调入内存接受CPU的服务,但是由于每道作业都是频繁的调入调出多次,开销大,CPU空闲较多,系统性能较差。b. 具有“前台”和“后台”的分时系统:为充分利用CPU,将内存分为前台区和后台区,前台区存放按时间片“调入”和“调出”的作业流,后台区存放批处理作业。只有前台在调入/调出过程中,或者前台已经无作业可运行时,方才可运行后台区的作业。该类型分时系统能在一定程度提高了系统的性能。c. 多道分时系统:内存中可同时存放多道作业(程序),每道程序在内存中没有固定的位置。系统将具备运行条件的作业排成一个队列,这些作业可以轮流获得时间片来运行。该类系统的特点是:切换作业是在内
10、存中进行,不要花费调入、调出开销,具有较好的性能。现代的分时系统多属于多道分时系统。分时系统的特点:(1) 多路性:一台主机上连接多台终端,系统按照分时原则轮流为每个用户服务。多路性也称为同时性。(2)独立性:是从用户的角度考虑的,每个用户独占一个终端,各自独立操作,互补干扰,因此,用户感到是他一个人占用主机。(3)及时性:用户的请求能在很短短时间内获得响应。人所能接受的等待时间是23秒,因此,分时系统中让用户等待的时间也限定在该范围内。(4)交互性:用户通过终端可以同主机进行广泛的对话,以实现人机交互。. 4) 实时系统(Real-Time System):多道批处理系统和分时系统虽然已经获
11、得了较好的资源利用率和响应时间,但是无法解决“实时控制”和“实时信息处理”两个领域的应用。计算机作为控制系统的中心设备,用于生产过程的控制,能保证实时采集现场数据,并对数据进行及时处理和自动控制,例如高炉温度控制、武器控制、自动驾驶系统等。“实时”是“及时”或“即时”的意思,而“实时系统”是指能及时响应外部时间的请求,在规定的时间内完成对该时间的处理,并控制所有实时任务协调一致地运行。实时任务:控制系统中要求在规定时间内完成的任务称为实时任务,它们都带有某种程度的紧迫性。分类如下:(1)按照是否呈现周期性划分l 周期性实时任务:任务按照制定的周期循环执行;l 非周期性实时任务:任务的执行无明显
12、得周期性,但是都同一个截止时间相联系。截止时间(deadline)分为开始截止时间和完成截止时间。所谓开始截止时间,是指任务在某时间之前,必须开始执行;所谓完成截止时间,是指某任务必须在某时间之前完成。(2)按照对截止时间的要求严格程度划分l 硬实时任务:系统必须满足对截止时间的要求,否则可能出现难以预料的后果;l 软实时任务:系统也有也一个截止时间,但是对截止时间的要求不严格。若错过了截止时间,对系统产生的影响也不会很大。说明:实时系统和分时系统的比较(1)多路性:都具有多路性。分时系统的多路性指的是系统按照分时原则为多个用户服务,实时系统的多路性是指系统经常对现场的多路信息进行采集及对多个
13、对象进行控制。(2)独立性:都具有独立性。分时系统的独立性体现在每个终端用户向系统提出服务时是独立的操作,彼此不相干,实时系统的独立性体现在系统对多路信息采集和控制时,也是彼此独立的。(3)及时性:实时信息系统的实时性通分时系统类似,都是以人所能接受的时间来确定,而实时控制系统是以控制对象所要求的开始截止时间和完成截止时间来确定的,时间要求比较严格。(4)交互性:实时信息系统中的交互是为了访问系统内的特定资源,分时系统中是系统向终端用户提供各种数据处理服务、资源贡献服务等。(5)可靠性:分时系统要求系统较为可靠,但实时系统要求系统严格可靠。三、操作系统定义、特征、服务及功能1操作系统的定义:是
14、一组控制和管理计算机硬件和软件资源,合理对各类作业进行调度,以及方便用户的程序的集合。批处理系统、分时系统和实时系统是三种基本的操作系统类型。一个实际的操作系统,可能兼有三者或者其中两者的功能。2操作系统的四大基本特征1) 并发性(Concurrence)并发:两个或多个事件在同一个时间间隔内发生。并行:两个或多个时间在统一时刻发生。程序是不能并发进行的,是静态实体;为使得程序能并发执行,系统必须为每个程序建立进程。进程,也称任务,是系统中能独立运行且作为资源分配的基本单位,是一个活动实体。进程之间可以并发执行和交换信息。2) 共享性(Sharing):系统中的资源可供内存中的多个并发执行的进
15、程共同使用。有两种共享资源的方式:互斥共享方式和同时访问方式。互斥共享方式:有的资源可以供多个进程使用,但是在一个特定的时间段内只能由一个进程占用,这样的资源称为临界资源;其它希望使用该资源的进程必须等待当前进程释放该资源。同时访问方式:有的资源(如磁盘)可以允许多个进程同时访问。注意这里的“同时”是一个宏观的概念,在微观上往往是这些进程交替对资源进行访问。3) 虚拟性(Virtual):通过某种技术把一个物理实体变成若干个逻辑上的对应物。物理实体实实在存在的,而后者是虚拟的,是用户感觉到的东西。例如多道分时系统中中只有一个CPU,但是每个终端用户都认为有一个CPU在专门为他服务,此即为利用多
16、道程序技术把一台物理上的CPU变成多台逻辑的CPU。4) 异步性(A synchronism):多道环境中,多个进程并发执行,但是由于资源有限,通常进程的执行并非“一气呵成”,而是以“走走停停”的方式进行,即进程是以异步方式进行的。说明:并发和共享是操作系统的两个最基本的特征,且互为依存。3操作系统提供的服务:操作系统提供了其他程序执行的环境,也为程序和用户提供了一些操作系统的服务。操作系统可以提供诸如程序执行、I/O操作、文件系统操纵、通信以及差错检测等服务,还可以提供系统调用(System Call)服务。4操作系统的五大功能1) 存储器管理功能:为多道程序的运行提供良好的环境。这里的“存储器”指的是内存。主要有以下功能:内存分