系统分析师考试资料整理-操作系统基本原理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1第二章操作系统的基本原理资源共享、程序并发执行是现代操作系统的重要特征,而进程则是操作系统中独立运行的动态实体,同时又是申请资源和分配资源的基本单位。这个分配资源的基本单位和动态实体被称为“进程”(Process)。2.1处理器管理处理器管理的主要任务就是对中央处理器(CPU)的进程进行高效、合理的调度,解决多任务环境下如何把中央处理器的工作时间按既定的调度算法分配给各个执行进程,进而提高其使用效率。2.1.1进程的引入和定义1.单道程序与顺序执行系统每次只允许一道程序运行,在运行期间,该程序将独占整个计算机系统资源,且系统按照程序规定的步骤顺序地执行,在该程序执行完之前,其它程序只能等待。顺序执行的特点:顺序性、封闭性和可再现性。顺序执行使系统管理简单,程序编制调试都很容易,但系统资源利用率低。2.多道程序与并发执行系统允许多个程序交替执行,一道程序不用CPU时,另一道程序就马上使用,这种交替执行在宏观上表现为同时执行,这就是程序的并发性,其目的可大大提高处理器的利用率。并发执行的特点:异步性、竞争性、失去可再现性。3.概念的引入在单用户、单任务操作系统中,所有计算机资源在某一时刻只能为一个任务(程序)所占有,如有多个任务,它们只能顺序执行,不存在资源共享问题。但是在多任务的操作系统中,则允许多个任务并发运行,如在Windows操作系统的PC机上,用户可以一边编程,一边欣赏音乐,这对于运行在DOS系统的PC机来讲只能望洋兴叹。这就在于计算机资源分配单位的进程与程序的不同。由于在多道程序系统中,程序已经不能很好地描述并发性的问题,也不能表达并发程序的执行过程。而且,由于并发执行时程序也已经失去了封闭性和可再现性,因此,如何通过操作系统的有效管理来保证并发执行程序时的封闭性和可再现性,这就引入了“进程”的概念。4.进程的定义进程(process)是执行中的程序,这个程序是一个具有一定独立功能的程序。归纳为:进程是一个具有独立功能的、可并发执行的程序关于某个数据集合上的一次动态执行过程。2.1.2进程的特征2⑴动态性进程是一个运行过程,它具有生命周期,一个由产生到消亡的过程。进程具有动态的地址空间,因资源分配等而使地址空间的大小和内容都动态变化。地址空间的内容包括代码(指令执行和处理器状态的改变)、数据(变量的生成和赋值)和系统控制信息(进程控制块的生成和删除)。⑵独立性进程是一个可以独立运行的基本单位。各进程的地址空间相互独立,除非采用进程间的通讯,否则不能相互影响。⑶并发性也称异步性,指从宏观上看,多个进程能在同一时间段内同时运行,它们轮流占有CPU和各种资源。⑷结构化进程地址空间均为结构划分,如代码段、数据段和核心段。进程和程序是两个相关的不同概念,它们在以下几个方面存在区别和联系。•进程是动态的,程序是静态的。进程会因条件的变化而发生状态的改变。程序是有序代码的集合;进程是程序的执行。进程通常不可以在计算机之间迁移;而程序通常可以复制。•进程是暂时的,程序是永久的。进程是一个状态变化的过程,程序则可长久保存。•进程与程序的组成不同,进程包括程序、数据和进程控制块。•进程与程序是密切相关的。通过多次执行,一个程序可以对应多个进程;通过调用关系,一个进程可以包括多个程序。进程可创建另一个进程,而程序并不能形成新的程序。2.1.3进程的状态及转换1.进程的状态代表进程生命周期的三种基本状态:就绪、运行和等待。⑴就绪。进程已经获得除CPU以外的所有运行所需的资源,只要分配到CPU就可运行。⑵运行。已经获得CPU和其它系统资源,正在运行中。⑶阻塞。正在运行的进程,因某种原因暂停运行,等待某个事件的发生,处于等待状态而被阻塞。2.进程状态的转换进程在某种时刻总是处于某种状态,也只能处于某一种状态,随着进程自身的推进和外界条件的变化,进程的状态也随之变化,其状态变化如图2-1所示。3调度等待事件超时事件出现被唤醒图2-1进程状态变化图⑴就绪态运行态等待分配CPU的进程,系统按某种选定的策略,从处于就绪状态的进程队列中,选择一个进程让它占用CPU,被选中的进程就变为运行态,即所谓的调度。⑵运行态就绪态进程用完了规定的一个CPU时间片后,就强迫该进程暂时退出CPU,或者是当有更高优先权的进程要运行时,也迫使正在运行的进程让出CPU。不是由于自身或外界原因成为等待状态的进程让出CPU时,它的状态就变为就绪状态。⑶运行态阻塞态当一个运行的进程提出某些请求而必须等待时,就进入了等待状态(也称阻塞状态)。在该状态下,进程失去了CPU资源。例如,某一进程在运行中要求启动I/O设备,它就变成等待I/O设备传输信息的状态。就是说,当进程在运行中申请资源得不到满足时,就会变成等待资源状态。⑷阻塞态就绪态当某个被阻塞的进程所等待的事件发生后,该进程就变为就绪态。例如,某等待进程得到了所要求的I/O设备后就结束等待,进入就绪状态。任何一个结束等待的进程,必须先变成就绪状态,待分配到CPU后才能运行。2.1.4进程的描述进程的实体包括程序、数据集合和进程控制块3个部分。1.程序。进程运行所对应的执行代码。一个进程可以对应整个程序本身,也可以只对应程序的一部分。多个进程还可以对应一个程序(被多个进程所共享)。2.数据集合。进程运行过程中必需的资源,包括对CPU的占用、存储器、堆栈、缓冲区、I/O通道和I/O设备等的需求信息。3.进程控制块(PCB)。这是系统为进程定义的一种专门的数据结构,用PCB描述进程的运动变化过程,记忆进程的外部特征和其它进程的联系等。PCB是进程存在的唯一标志,操作系统通过PCB来管理和控制进程。PCB与进程一一对应,系统创建一个进程,在系统中就为该进程设置了一个PCB,然后利用PCB对进程进行管理和控制,当进程被撤消时,系统就收回它的PCB,随之进程消亡。一般情况下,进程控制块包含四类信息。见书P18表2.1。对进程执行活动的全过程的静态描述称为进程上下文。用户级上下文是指用户的地址空间,寄存器上下文是指程序寄存器、处理器状态寄存器、通用寄存器、栈指针等。系统级上下文包括进程的静态部分(PCB的资源表格)和由核心栈等运行就绪阻塞4构成的动态部分。2.1.5进程的控制操作系统对进程的控制是依据用户命令和系统状态来决定的。进程控制的功能是创建和撤消进程,完成进程状态的转换。进程控制程序属于操作系统的内核程序。1.原语概念一条原语由若干条机器指令组成,是机器指令的延伸,能完成一个特定的功能,是一种特殊的系统调用命令。它的特点是执行时不可中断,且不允许原语并发执行,即原子性。对系统中所有进程的生命历程进行控制的原语称为进程控制原语,与进程控制有关的操作原语有:创建原语(create)、停止原语(halt)、挂起原语(sus-pend)、激活原语(activate)、阻塞原语(block)、唤醒原语(wakeup)等基本原语。2.内核概念所有的原语组成了操作系统的一个核心,即系统内核。内核处于操作系统的最底层,最接近裸机,它只占操作系统的一小部分,但使用最频繁,一般常驻内存。内核是系统的控制和协调的中心,在管态下运行。它的基本功能可以归结为以下三条:⑴中断处理。中断处理是操作系统内核的基本功能,是整个操作系统赖以活动的基础,如进程调度、设备驱动、文件操作以及程序并发等,都由中断进行驱动。⑵进程管理。进程管理包括进程的创建和撤消、进程状态的转换、进程调度以及控制进程的并发执行。⑶资源管理的基本操作。资源管理的基本操作包括时钟管理、设备管理,以及对文件系统进行基本控制和驱动。3.线程的概念在操作系统中引入进程的目的,是为了使多个任务并发,以提高资源利用率,那么在操作系统中再引入线程的目的,则主要是为了提高系统的执行效率,减小并发执行的时间和调度切换时间,使操作系统具有更好的并发性。进程是一个资源拥有者,因而,在进程的创建、撤消和切换中,系统必须为之付出较大的时间开销。如果将资源分配和处理器调度放在不同的活动实体中,也就是把进程所占资源与进程中的运行代码分离,那么在一个地址空间中便可运行多个指令流,这样就产生了线程。线程是进程中一个可独立调度的实体。它的优点体现在以下几个方面:⑴线程的创建时间比进程短;⑵线程的终止时间比进程短;⑶同进程内的线程切换时间比进程短;5⑷由于同进程内的线程共享内存和文件资源,因此可直接进行不通过内存的通信。2.1.6进程的调度在多道程序环境下,一旦为用户作业建立了进程并装入到内存,则多个进程就要共享处理器资源,这就必然会引起对处理器的竞争。进程调度的主要任务就是按照一定的策略动态地把处理器分配给就绪队列中的某个进程,以实现进程在就绪和执行状态间的转换,直到该进程完成为止。1.调度级别引起处理器调度的原因很多,可归纳为:正在执行的进程运行完毕;正在执行的进程因等待某一事件的发生而不能继续执行;为了实现进程同步而执行了某种原语操作;有一个优先级更高的进程进入了就绪队列;在时间片轮转中,时间片用完等。处理器调度按调度的级别分为三级:高级调度、中级调度、低级调度,如图2-2所示。激活挂起挂起激活图2-2处理器的三级调度⑴高级调度。高级调度又称作业调度或宏观调度它决定从外存的后备队列中选出哪些作业调入内存,并为它建立一个或多个就绪进程,准备执行⑵中级调度。主要任务是在内存和外存交换区之间调出被阻塞的进程和过多的就绪队列,换进被选中要执行的进程,从而达到扩充内存的目的。它特别适活动进程主机执行就绪阻塞阻塞挂起(外存交换区)后备作业(外存输入)低级调度中级调度高级调度就绪挂起(外存交换区)6用于分时系统和那些具有虚拟存储器的系统中。⑶低级调度。低级调度也称进程调度或微观调度。它的任务是按调度算法从就绪进程队列中现选择一个进程来执行,即分派程序。2.进程调度功能进程调度应具备如下三个功能:⑴记录进程的执行情况。利用进程控制块PCB记录进程的运行状态。⑵分配CPU。选择可以享有处理器的进程,将它移出就绪队列并设置成运行态,同时立即启动CPU执行该程序。⑶进程上下文切换。进程是在进程的上下文中执行的。当发生调度时,选出一个就绪进程替换当前正在执行的进程,这时就要做上下文切换,系统要保存当前进程的上下文信息,以便再切换到该进程时,可从上次的断点继续执行。3.进程调度方式进程调度方式通常有以下两种:⑴剥夺方式剥夺方式也称抢占方式。当一个进程正在执行它的CPU周期期间,系统可基于某种原则强行剥夺现行进程占用CPU,并把CPU让给其它进程。剥夺原则:①优先级原则。优先级高的进程可剥夺优先级低的进程占有的CPU.②短进程优先原则。当到达的进程比正在执行的进程明显的短时,剥夺长进程的执行而优先执行短进程。③时间片原则。某进程分配的时间片用完后则重新调度。④强制性剥夺。重要进程或人工干预,强制调度。⑵非剥夺方式采用这种调度方式时,一旦把CPU分配给某个进程后,便让该进程一直执行,直到个进程执行完成或等待某个事件而被阻塞时,才把CPU分配给其它进程。4.进程调度策略⑴先来先服务(FirstComeFirstService)算法FCFS先来先服务算法是最简单的调度算法,它的基本思想是按照进程到达的先后次序进行调度。它的特点是:①比较有利于长作业,不利于短作业;②有利于处理器繁忙的作业,不利于I/O繁忙的作业。⑵最短作业优先(ShortestJobFirst)算法SJF它从作业的后备队列中选择估计运行时间短的作业优先调度执行。它是一个非剥夺的策略,它一旦选中某个短作业后,就保证该作业尽快执行完。这样就减少了在后备队列中的作业数,同时也降低了作业的平均等待时间,提高了系统的吞吐量。但是它也有缺点:①对长作业不利,可能长时间得不到执行;②不能根据作业的紧迫程度来划分优先级。⑶最高响应比优先(HighestResponseRatioNext)算法HRN最高响应比优先算法是为了克服先来先服务算法和最短作业优先算法的缺点提出来的一种折中算法。先来看一下响应比的定义,一个作业或进程的响应比R和它的执行时间t以及等待时间W的关系如下:7R=(W+t)/t=1+

1 / 28
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功