收藏 分享(赏)

操作系统复习例题new.doc

上传人:dreamzhangning 文档编号:2211383 上传时间:2018-09-05 格式:DOC 页数:85 大小:591KB
下载 相关 举报
操作系统复习例题new.doc_第1页
第1页 / 共85页
操作系统复习例题new.doc_第2页
第2页 / 共85页
操作系统复习例题new.doc_第3页
第3页 / 共85页
操作系统复习例题new.doc_第4页
第4页 / 共85页
操作系统复习例题new.doc_第5页
第5页 / 共85页
点击查看更多>>
资源描述

1、1.1 本章知识点操作系统的定义如下: 操作系统是控制和管理计算机系统内各种硬件和软件资源、有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口。(2)操作系统的主要功能操作系统作为计算机基本的系统软件,具有五大功能,分别是:存储管理、进程和处理机管理、文件管理、设备管理和用户接口管理。教材从第 2 章到第 6 章将分别介绍这些主要功能。(3)操作系统的主要类型操作系统在发展中形成了以下类型,它们是批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统、嵌入式操作系统、个人机操作系统等。其中前三种属于传统的操作系统类型,后面的操作系统类型是随着计算机网络、

2、分布式处理等新技术的应用而产生的,属于现代操作系统。(4)操作系统结构设计一般说来,操作系统有如下四种结构:整体结构,层次结构,虚拟机结构和客户机-服务器结构。它们在设计上各有优缺点。UNIX 系统和 Linux 系统是当代最著名的多用户、多进程、多任务的分时操作系统。本章对它们的发展历史、主要特点以及内核的结构都进行了介绍。1.2 典型例题解析【例 1】什么是操作系统?答案 操作系统是控制和管理计算机系统内各种硬件和软件资源、有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口。分析操作系统作为本课程最重要的概念,同学们一定要牢记。可以从三个方面理解这个概念,然后在理解的

3、基础上进行记忆。(1)操作系统是系统软件。(2)对内,操作系统控制和管理各种资源,有效地组织多道程序运行。被计算机系统工作时所引用的一切客体都称为资源。这里所说的客体可能是处理机、设备、内存、外存等硬件,也可能是程序和数据等软件。(3)对外,操作系统是用户与计算机之间的接口。它为用户提供服务,方便用户使用计算机。如果同学们理解了操作系统在计算机系统中的地位,那么对于学习这个概念有帮助。【例 2】在计算机系统中,操作系统是( )。 A处于裸机之上的第一层软件 B处于硬件之下的底层软件C处于应用软件之上的系统软件 D处于系统软件之上的用户软件答案 A分析 解答这道题主要是清楚操作系统在计算机系统中

4、的地位。在计算机系统中,操作系统处于一个承上启下的地位,它对内管理计算机的各种软硬件资源(文件、作业、存储器、设备、进程),对外向用户提供良好界面的服务,方便用户使用计算机。操作系统属于系统软件,但却又不同与其他的系统软件。从下图可以看出,操作系统紧贴硬件,是裸机之上的第一层软件,是对硬件的扩充,其他系统软件都建立在操作系统之上。而应用软件是建立在系统软件之上的,更贴近用户。操作系统是系统软件,因此 D 是错误的。C 说系统软件在应用软件之上,这与图中的情况相反,显然不对。而硬件之下则没有软件存在,所以 B 根本就不正确。所以 A 才是正确答案。以上是用排除法来进行选择,如果同学们已经理解了操

5、作系统的地位,就可以直接选择 A,这样可以节省答题的时间。【例 3】现代操作系统的基本特征是( )、资源共享和异步性。A多道程序设计 B中断处理C实现分时与实时处理 D程序的并发执行答案 D分析 操作系统也是一个程序,不过与其他程序相比,它有三个非常重要的特性:即多任务并行、多用户资源共享和异步性,把握操作系统的这些特性对于深刻理解操作系统会有很大帮助。并发性是指两个或多个任务在同一给定的时间间隔中进行。这是一个宏观上的概念。以多道程序为例,这里的并发性不仅体现在用户程序与用户程序之间并发执行,还体现在用户程序与操作系统程序之间的并发执行。因而从宏观上看,这些程序是同时向前推进的。资源共享是指

6、多个任务共享计算机系统中的资源,如处理机、内存、外存、设备和数据等。这种共享是在操作系统的控制下实现的。对于一个给定的计算机系统,它的资源配置情况是相对固定的,而系统中多道程序对于资源的需求则是变化的,且通常是不可预知的;操作系统要掌握系统中当前资源的使用情况,并据此决定各程序进入系统的次序以及使用资源的次序。异步性体现了多道程序环境下,程序执行时“走走停停”的性质,更反应出操作执行现场的不可预知性。【例 4】以下不属于操作系统具备的主要功能的是( )。A内存管理 B文档编辑C中断处理 DCPU 调度答案 B分析 教材中介绍操作系统的主要功能有存储管理、进程和处理机管理、文件管理、设备管理和用

7、户接口管理,一般被认为是操作系统的五大功能。对于本题,A 显然是操作系统的功能之一, C 中断处理是操作系统实施并发的基础,对于操作系统非常重要,是实现多道程序设计的前提。它就像机器中的齿轮,驱动各部件的动作,因此,许多人称操作系统是由“中断驱动”的。C 和 D 都属于操作系统的进程和处理机管理功能。只有 B 不是操作系统需要具备的主要功能,它一般是由应用软件提供的,如应用软件 Windows Office 的组件 Word 就提供了文档编辑功能。【例 5】 操作系统是计算机系统的核心软件。按功能特征的不同,可把操作系统分为(1)、(2)、(3 )、网络操作系统和分布式操作系统基本类型。其中1

8、 的主要目标是提高系统的吞吐率和效率,而2是一旦有处理请求和要求处理的数据时, CPU 就应该立即处理该数据并将结果及时送回。A单用户系统 B批处理系统 C分时系统 D微机操作系统 E实时系统答案 1B 2E 3C分析 解答此题需要理解三种传统操作系统类型的不同特点。批处理操作系统的主要特征可归纳为两点:“多道”和“成批”。“多道”是指内存中同时存在有多个正在处理的作业,并且外存上还存放有大量的尚待处理的后备作业。“成批”是指作业成批地进入系统,成批地处理,成批地离开系统;作业与作业之间的过渡由操作系统控制,不需用户的干预。批处理系统的主要优点是系统吞吐量大,资源利用率高;缺点是用户作业的等待

9、时间长,用户与系统没有交互能力。(吞吐量:在一段给定的时间内,计算机所能完成的总工作量。)分时系统与实时系统的主要区别如下:(1)关于交互性。分时系统中各个终端用户与系统之间具有较强的交互性,而实时系统一般是专为某一领域使用的,对此要求不强。(2)关于可靠性。与分时系统相比,实时系统更加注重其稳定性和可靠性。例如,对于航天控制系统来说,实时控制系统的故障可能带来的后果是无法估量的。(3)关于响应时间。分时系统对响应时间的要求是以终端用户能接受的时间为依据的;而实时系统对响应时间一般有严格的要求,即能对外部请求做出及时的响应和处理。【例 6】把下面左右两列词用线连起来,形成最恰当的搭配。(1)L

10、inux (A)层次结构(2)UNIX (B)客户机-服务器结构(3)IBM VM/370 (C)整体结构(4)Windows XP (D )虚拟机结构答案 (1)(C),( 2)(A),(3)(D),(4)(B)。分析 左侧列出的是一些计算机操作系统,右侧列出的是操作系统的结构。一般说来,操作系统有四种结构:整体结构,层次结构,虚拟机结构和客户机-服务器结构。Linux 是采用整体结构的操作系统,即所有的内核系统功能都包含在一个大型的内核软件之中。UNIX 系统的核心层采用的是层次结构。Windows 系列操作系统采用微内核技术,尽可能地使操作系统保持最小的核心,并由核心来负责处理客户和服务

11、器之间的通信。IBM VM/370 系统是虚拟机结构的一个典型实例。1.3 练习题一、选择题(选择一个正确答案的代码填入括号中)1. 一个完整的计算机系统是由( )组成的。A硬件 B软件 C硬件和软件 D用户程序2. 在计算机系统中,控制和管理各种资源、有效地组织多道程序运行的系统软件称作( )。A文件系统 B操作系统C网络管理系统 D数据库管理系统3. 按照所起的作用和需要的运行环境,操作系统属于( )。A用户软件 B应用软件C支撑软件 D系统软件4. 操作系统的基本职能是( )。A提供功能强大的网络管理工具B提供用户界面,方便用户使用C提供方便的可视化编辑程序D控制和管理系统内各种资源,有

12、效地组织多道程序的运行5. 为用户分配主存空间,保护主存中的程序和数据不被破坏,提高主存空间的利用率。这属于( )。A处理器管理 B存储管理C文件管理 D作业管理6. 操作系统对缓冲区的管理属于( )的功能。A处理机管理 B设备管理 C文件管理 D存储器管理7. 操作系统内核与用户程序、应用程序之间的接口是( )。Ashell 命令 B图形界面C系统调用 DC 语言函数8. 为了使系统中所有的用户都能得到及时的响应,该操作系统应该是( )。A多道批处理系统 B分时系统C实时系统 D网络系统9. 在实时系统中,一旦有处理请求和要求处理的数据时,CPU 就应该立即处理该数据并将结果及时送回。下面属

13、于实时系统的是( )。A计算机激光照排系统 B办公自动化系统C计算机辅助设计系统 D航空订票系统10.下面不属于分时系统特征的是( )。A为多用户设计 B需要中断机构及时钟系统的支持C方便用户与计算机的交互 D可靠性比实时系统要求高11. 以下著名的操作系统中,属于多用户、分时系统的是( )。ADOS 系统 BWindows NT 系统 CUNIX 系统 DOS/2 系统二、判断题(正确的划,错误的划。)1. 操作系统是用户与计算机之间的接口。 ( )2. 操作系统是系统软件中的一种,在进行系统安装时可以先安装其它软件,然后再装操作系统。( ) 3. 操作系统是整个计算机系统的控制管理中心,它

14、对其它软件具有支配权利。因而,操作系统建立在其它软件之上。( )4. 在 UNIX/Linux 系统上,系统调用以 C 函数的形式出现。( ) 5. 虽然分时系统也要求系统可靠,但实时系统对可靠性的要求更高。( )6. UNIX 操作系统是采用微内核方法实现结构设计的。( )三、简答题请同学们解答参考教材 26 页的课后习题。参考答案:一、CBDDB BCBDD C二、1、4、5 是正确的。2、()安装操作系统时必须先安装操作系统,然后再安装其它软件3、()其它软件建立在操作系统之上。6、()UNIX 操作系统采用的是层次结构三、四见教材习题解答第 2 章 进程管理 辅导与自测2.1 本章知识

15、点进程是操作系统中最基本、最重要的概念之一,在计算机系统中,进程不仅是最基本的并发执行的单位,而且也是分配资源的基本单位。引入进程这个概念,对于我们理解、描述和设计操作系统具有重要意义。本章的主要知识点为:(1)进程的概念进程是程序在并发环境中的执行过程。进程最根本的属性是动态性和并发性。要注意进程与程序的区别。进程的五个基本特征是:动态性、并发性、独立性、制约性、结构性。一个进程实体通常由程序、数据、栈和进程控制块(PCB)这四部分组成。进程控制块是进程组成中最关键的部分。每个进程有唯一的进程控制块。操作系统根据 PCB 对进程实施控制和管理。进程的动态、并发等特征是利用 PCB 表现出来的

16、。为了对所有进程进行有效地管理,常将各进程的 PCB 用适当的方式组织起来。一般说来,进程队列有以下几种方式:线性方式、链接方式和索引方式。进程有三个基本状态:运行态、就绪态和阻塞态。在一定的条件下,进程的状态将发生转换。下图所示为进程的状态及其转换。图 进程状态及其转换(2)进程管理就如同人类的族系一样,系统中众多的进程也存在族系关系:由父进程创建子进程,运行态分配到CPU 时间片到等待某事件发生所等待的事件发生阻塞态就绪态子进程再创建子进程,从而构成一棵树形的进程族系图。进程作为有“生命期”的动态过程,对它们的实施管理主要包括:创建进程、撤消进程、挂起进程、恢复进程、改变进程优先级、封锁进

17、程、唤醒进程、调度进程等。在 Linux 系统中,进程有 5 种状态。进程分为系统进程和用户进程。其中,系统进程只运行在内核模式下;用户进程既可以在用户模式下运行,也可以通过系统调用等运行在内核模式下。Linux 的 task_struct 结构相当于其进程控制块。Linux 系统对进程的操作常用命令有:ps 、kill、sleep 等。常用的系统调用有:fork,exec ,wait ,exit ,getpid ,sleep ,nice 等。(3)进程通信进程通信是指进程间的信息交换。根据进程间交换信息量的多少,分为高级进程通信和低级进程通信。进程的同步与互斥是指进程在推进时的相互制约关系,

18、属于低级进程通信。一般来说同步反映了进程之间的协作关系,往往指有几个进程共同完成一个任务时在时间次序上的某种限制,进程相互之间各自的存在及作用,通过交换信息完成通信。如接力比赛中一组队员使用接力棒等。进程互斥体现了进程之间对资源的竞争关系,这时进程相互之间不一定清楚其它进程的情况,往往指多个任务多个进程间的通讯制约,因而使用更广泛。如打篮球时双方挣抢篮板球等。我们用信号量(Semaphore)及 P,V 操作来实现进程的同步和互斥。生产者 -消费者问题是经典的进程同步和互斥问题。(4)死锁死锁是指多个进程循环等待他方占有的资源而无限期地僵持下去的局面。计算机系统产生死锁的根本原因就是资源有限且

19、操作不当。一种原因是竞争资源引起的死锁,另一种原因是由于进程推进顺序不合适引发的死锁。产生死锁的四个必要条件是:互斥条件,不可抢占条件,占有且申请条件,循环等待条件。如果在计算机系统中同时具备这四个必要条件时,那么会发生死锁。一般地,解决死锁的方法分为死锁的预防、避免、检测与恢复三种。2.2 典型例题解析【例 1】判断题:并发是并行的不同表述,其原理相同。 ( )答案 。分析 并发是指多道程序的执行在时间上是重叠的,一个程序的执行尚未结束,另一个程序的执行已经开始。但对单 CPU 系统而言,每一时刻只有一个程序在 CPU 上运行(有可能此时其他的程序在进行输入、输出) 。也就是说,占有 CPU

20、 的只能有一个程序。因此,并发实际上是“在宏观上并行执行,在微观上串行执行”。而并行是真正意义上的并行执行,因此两者的含义是不同的。【例 2】在操作系统中引入“进程”概念的主要目的是( ) 。A改善用户编程环境 B提高程序的运行速度C描述程序动态执行过程的性质 D使程序与计算过程一一对应答案 C分析 操作系统中多道程序的引入,使得它们在并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各道程序在执行过程中就出现了相互制约的新关系,程序的执行出现“走走停停” 的新状态。这些都是在程序的动态过程中发生的。而程序本身是机器能够翻译或执行的一组动作或指令,它或者写在纸面上,或者存放在磁盘等介质

21、上,是静止的。很显然,直接从程序的字面上无法看出它什么时候运行、什么时候停顿,也看不出它是否影响其它程序或者一定受其它程序的影响。因此,用程序这个静态概念已不能如实反映程序并发执行过程中的这些特征。为此,人们引入进程的概念来描述程序动态执行过程的性质,这是引入“进程”概念的主要目的。【例 3】下列进程状态的转换中,不正确的是( ) 。A就绪阻塞 B运行就绪C就绪运行 D阻塞就绪答案 A分析 回答这道题要知道进程的 3 种基本状态,以及它们之间的转换关系。通过下图可以看到,凡是图中有箭头指向的转换都是可行的,而没有箭头指向的则不可能。因此 A 是不正确的。图 进程状态及其转换如果有的同学记不住这

22、张图,那就从理解的角度进行思考。首先要理解 3 种状态的含义,然后再理解它们之间的转换。例如:运行的进程能变成就绪吗?可以,如果运行进程的时间片到了,就必修让出 CPU,转换为就绪态。就绪的进程能变成阻塞吗?不可以,就绪态的进程已经具备了运行条件,只在等待 CPU,怎么可能还退回到还不具备运行条件的阻塞态呢?因此,如果理解了,这张图就可以自己画出来,并不需要死记硬背。【例 4】进程控制块是描述进程状态和特性的数据结构,一个进程( ) 。A可以有多个进程控制块 B可以和其他进程共用一个进程控制块C可以没有进程控制块 D只能有唯一的进程控制块答案 D分析 进程控制块( PCB)是一个用于描述进程动

23、态性质的数据结构。操作系统根据PCB 对进程实施控制和管理。进程的动态、并发等特征也是通过 PCB 表现出来的。进程由程序、数据、栈和 PCB 构成。构成进程的有关程序和数据集合是进程得以存在的物质基础,它们是进程的实体;PCB 用于标识和刻画实体的存在和变化,是进程存在的唯一标志。当系统创建一个新进程时,就为它建立一个 PCB;当进程终止后,系统回收为其分配的 PCB,该进程在系统中就不存在了。【例 5】在执行 V 操作时,当信号量的值( ) ,应释放一个等待该信号量的进程。A小于 0 B大于 0 C小于等于 0 D大于等于 0答案 C运行态分配到CPU 时间片到等待某事件发生所等待的事件发

24、生阻塞态就绪态分析 P,V 操作能够实现对临界区的管理要求。它由 P 操作原语和 V 操作原语组成(原语是不可中断的过程) ,对信号量进行操作,具体定义如下:P(S):将信号量 S 的值减 1,即 S=S1;如果 S0,则该进程继续执行;否则该进程置为阻塞状态,排入阻塞队列。V(S): 将信号量 S 的值加 1,即 S=S+1;如果 S0,则该进程继续执行;否则释放队列中第一个等待信号量的进程。信号量的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程。信号量的值与相应资源的使用情况有关。当它的值大于 0 时,表示当前可用资源的数量;当它的值小于 0 时,其绝对值表示等待使用该资源的

25、进程个数。注意,信号量的值仅能由P,V 操作来改变。一般来说,信号量 S0 时,S 表示可用资源的数量。执行一次 P 操作意味着请求分配一个单位资源,因此 S 的值减 1;当 S0 BS=0 CS0 DS 024. 信号量 S 的初值为 8,在 S 上执行了 10 次 P 操作, 6 次 V 操作后,S 的值为( ) 。A10 B8 C6 D425. 若 P、V 操作的信号量 S 初值为 2,当前值为 1,则表示有( )个等待进程。A0 Bl C2 D3 26. 在进程通信中,使用信箱方式交换信息的是( ) 。A低级进程通信 B高级进程通信 C共享内存方式 D管道文件方式27. 系统出现死锁的

26、原因是( ) 。A计算机系统发生了重大故障B有多个封锁的进程同时存在C若干进程因竞争资源而无休止地循环等待着,而且都不释放已占有的资源D资源数大大少于进程数,或进程同时申请的资源数大大超过资源总数28. 两个进程争夺同一个资源( ) 。A一定死锁 B不一定死锁C不会死锁 D以上说法都不对二、判断题(正确的划,错误的划。 )1. 简单地说,进程是程序的执行过程。因而,进程和程序是一一对应的。 ( )2. 进程和程序是两个截然不同的概念。 ( ) 3. 程序在运行时需要很多系统资源,如内存、文件、设备等,因此操作系统以程序为单位分配系统资源。 ( ) 4. 进程控制块(PCB)是专为用户进程设置的

27、私有数据结构,每个进程仅有一个 PCB。 ( ) 5. 进程执行的相对速度不能由进程自己来控制。 ( )6. 进程之间的互斥,主要源于进程之间的资源竞争,从而实现多个相关进程在执行次序上的协调。 ( )7. 信号量机制是一种有效的实现进程同步与互斥的工具。信号量只能由 P、V 操作来改变。 ( )8. V 操作是对信号量执行加 1 操作,意味着释放一个单位资源,如果加 1 后信号量的值小于等于零,则从等待队列中唤醒一个进程,现进程变为阻塞状态,否则现进程继续进行。 ( )9. 利用信号量的 P,V 操作,进程之间可以交换大量信息。 ( )10. 系统产生死锁的根本原因是资源有限且操作不当。因此

28、,当系统提供的资源少于并发进程的需求时,系统就产生死锁。 ( )三、简答题四、应用题请同学们解答参考教材 68 页的课后习题。参考答案:一、CCCAA BDCDB ACACD DBCBC BBCDB BCB二、2,5,7 是正确的。1. () 。进程和程序不是一一对应的。3. () 。操作系统以进程为单位分配系统资源。4. () 。进程控制块(PCB )是为系统中各个进程设置的私有数据结构。第 3 章 处理机调度 辅导与自测3.1 本章知识点调度是操作系统的基本功能,几乎所有的计算机资源在使用之前都要经过调度。CPU作为计算机最主要的资源,处理机调度的目的就是分配 CPU。CPU 是操作系统中

29、最核心的调度,其调度策略决定了操作系统的类型,其调度算法优劣直接影响整个系统的性能。所以,调度问题是操作系统设计的一个中心问题。本章的主要知识点为:(1)调度级别一般来说,作业从进入系统到最后完成,可能要经历三级调度:高级调度、中级调度和低级调度,这是按调度层次进行分类的。其中,高级调度又称为作业调度,低级调度又称为进程调度。作业调度是在输入的一批作业中选择有权竞争 CPU 的作业。资源的分配策略(特别是内存管理)对作业调度有很大影响。为了使内存中同时存放的进程数目不至于太多,有时就需要把某些进程从内存中移到外存上,以减少多道程序的数目,为此设立了中级调度。进程调度是从就绪进程队列中选择一个进

30、程,并把 CPU 分配给它。进程调度是这三级调度中是必不可少的。这三级调度中,要重点理解作业调度和进程调度形成的两级调度模型,如下图所示。通过理解这个图,理解作业的 4 种状态:提交、后备、执行和完成,作业调度的功能,进程调度的功能,进程调度的时机,以及这两级调度如何协调工作完成了处理机调度。(2)常用调度算法针对不同的系统目标,会采取不同的调度策略。确定调度策略是件复杂的工作,往往要兼顾多种因素的影响。CPU 利用率、吞吐量、周转时间、就绪等待时间和响应时间等是通常评价系统性能时都要考虑的几个指标。教材中主要介绍了 3 种调度算法,分别是先来先服务法、时间片轮转法和优先级法。先来先服务法(F

31、CFS)是最简单的调度算法,它的实现思想就是“排队买票”的办法。按作业(或进程)到来的先后次序进行调度,即先来的先得到执行。时间片轮转法(RR)的设计实现思想是系统把所有就绪进程按先入先出的原则排成一个队列。每当执行进程调度时,进程调度程序总是选出就绪队列的队首进程,让它在CPU上运行一个时间片的时间。当进程用完分给它的时间片后,调度程序便停止该进程的运行,并把它放入就绪队列的末尾;然后,把CPU分给就绪队列的队首进程。轮转法适用于分时系统。其主要问题是时间片如何选择:时间片太长了,就成为FCFS调度;时间片太短了,频繁调度,开销太大。优先级调度算法的实现思想:是从就绪队列中选出优先级最高的进

32、程,把CPU分给它使用。又分为非抢占式优先级法和抢占式优先级法。前者是:当前占用CPU的进程一直运行下去,直到完成任务或者因等待某事件而主动让出CPU时,系统才让另一个优先级高的进程占用CPU 。后者是:当前进程在运行过程中,一旦有另一个优先级更高的进程出现在就绪队列中,进程调度程序就停止当前进程的运行,强行将CPU分给那个进程。其它常用的调度算法还有:短作业优先法、最短剩余时间优先法、多级队列法、多级反馈队列法。(3)中断处理并发是现代计算机系统的重要特性,它允许多个进程同时在系统中活动。而实施并发的基础是由硬件和软件结合而成的中断机制。中断是现代计算机系统中的重要概念之一,它是指 CPU

33、对系统发生的某个事件做出的处理过程。按功能划分,中断一般分为 I/O 中断、机器故障中断、外部中断、程序性中断、访管中断。在中断响应和处理过程中,硬件对中断请求做出响应:中止当前程序的执行,保存断点信息,转到相应的处理程序。软件对中断进行相应的处理:保存现场,分析原因,处理中断,中断返回。各中断处理程序是操作系统的重要组成部分。对中断的处理是在核心态下进行的。Linux系统提供给用户的最重要的系统程序是shell 命令语言解释程序。其基本功能是解释并执行用户输入的各种命令,实现用户与Linux核心的接口。shell解释程序的工作过程基本上是读入命令行、分析命令行和构成命令树,创建子进程来执行命

34、令树等步骤。(4)Linux系统的进程调度Linux系统的进程调度机制主要涉及调度方式、调度策略、调度时机和调度算法。Linux系统 对进程采用两级调度:中级调度(对换进程,解决内存分配)和低级调度(解决CPU分配) 。进程调度基本上采用抢占式优先级算法。而针对不同类型的进程又采用相应的调度策略。本章还介绍了Linux系统中常用的调度命令,如nohup、at、batch、jobs、fg、bg。 3.2 典型例题解析【例 1】为了使系统中各部分资源得到均衡使用,就必须选择对资源需求不同的作业进行合理搭配,这项工作是由( )完成的。A作业调度 B中级调度 C进程调度 D内存调度答案 A分析 首先,

35、要了解操作系统处理机调度的级别,即作业从进入系统到最后完成,至少要经历两级调度:高级调度和低级调度。为了使内存中同时存放的进程数目不至于太多,有时需要把某些进程从内存中移到外存上,以减少多道程序的数目,为此设立了中级调度。各个级别调度的含义,所解决的问题,即功能是什么。只有清晰地掌握了这些基本概念,才能做好选择。本题说的是作业的合理搭配以达到系统资源的均衡利用,显然是作业调度的工作。而中级调度解决的是内存分配问题,进程调度解决的是哪一个就绪进程占有CPU 的问题。因此答案选 A。【例 2】作业调度程序从处于( )状态的队列中选取适当的作业调入主存运行。A执行 B提交 C完成 D后备答案 D分析

36、 解答此题需要了解作业的状态以及转换。一个作业从进入系统到运行结束要经历四种状态:提交状态、后备状态、执行状态和完成状态。(1)提交状态:用户的一个作业提交给系统时所处的状态,如用户通过键盘向机器输入作业。处于提交状态的作业,其信息正在进入系统。(2)后备状态:用户作业经输入设备(如读卡机)输入进外存(磁盘)中存放,等待进入内存时所处的状态。此时,系统将为该作业建立一个作业控制块 JCB,并把作业插入到后备作业队列中等待调度运行。(3)执行状态:作业调度程序按照一定的作业调度算法从后备作业队列中选中一个作业,为它分配必要的资源,建立一组相应的进程后,这个作业就由后备状态转变为执行状态。需要指出

37、的是,处于执行状态的作业在系统中并不一定真正占有处理机,作业能否真正在处理机上运行由进程调度来控制。(4)完成状态:作业完成了处理任务,输出结果形成报告,系统将作业控制块 JCB从当前作业队列中删除,并回收分配给作业的全部资源,准备退出系统时的作业状态。四种作业状态的转换见下图:参考上图,有这样一个判断题:作业调度程序选中一个作业后,与该作业相关的进程即占有 CPU 运行。答案是错误的,因为执行状态的作业能否真正在 CPU 上运行由进程调度来控制,这时候的进程至少有三种基本状态,不能保证一定是占有 CPU 的运行状态。【例 3】在批处理系统中,周转时间是( ) 。进程调度作业调度 作业调度提交

38、 后备 完成运行就绪 阻塞A作业运行时间 B作业等待时间和运行时间之和C作业的相对等待时间 D作业被调度进入主存到运行完毕的时间答案 B分析 作业的周转时间作业完成时间作业提交时间。周转时间是用于作业等待进入内存、进程在就绪队列中等待、进程在 CPU 上运行和完成 I/O 操作所花费时间的总和。因此,周转时间是作业等待时间和运行时间之和。答案 D 是不对的,因为作业提交后进入作业后备状态,此时作业是在外存,这个时间也要计入作业的周转时间。【例 4】在作业调度中,若采用优先级调度算法,为了尽可能使 CPU 和外部设备并行工作,有如下三个作业:J1 以计算为主,J2 以输入输出为主,J3 计算和输

39、入输出兼顾,则它们的优先级从高到低的排列顺序是( ) 。AJ1,J2 ,J3 BJ2,J3 ,J1CJ3 ,J2,J1 DJ2,J1 ,J3答案 C分析 本试题将作业分为:I/O 繁忙的作业、CPU 繁忙的作业、I/O 与 CPU 均衡的作业三种类型,由系统或操作员根据作业类型指定优先级。为了尽可能使 CPU 和外部设备并行工作,那么 I/O 繁忙的作业和 CPU 繁忙的作业都不能指定为最高的优先级,因为这两类作业都无法均衡地使用资源(CPU 或者 I/O 设备) 。对于这两类作业,应指定 I/O 繁忙的作业优先级高于 CPU 繁忙的作业,这样做可以提高CPU 的利用率,增加系统的吞吐量。因此

40、,这三类作业优先级从高到低的排列顺序是:I/O 与 CPU 均衡的作业、I/O 繁忙的作业、CPU 繁忙的作业。【例 5】下表给出作业 l,2, 3 的提交时间和运行时间。采用先来先服务调度算法和短作业优先调度算法,试问作业调度次序和平均周转时间各为多少?(时间单位:小时,以十进制进行计算。 )作业号 提交时间 运行时间1230.00.41.08.04.01.0分析 解此题关键是要清楚系统中各道作业随时间的推进情况。我们用一个作业执行时间图来表示作业的执行情况,帮助我们理解此题。采用先来先服务调度策略,其作业执行时间图如下:采用短作业优先调度策略,其作业执行时间图如下:作业作业 3作业 2作业

41、 10 0.4 1.0 8.0 12.0 13.0 时间作业提交时间 各作业陆续完成时间作业作业 3作业 2作业 10 0.4 1.0 8.0 9.0 13.0 时间作业提交时间 各作业陆续完成时间另外,作业 i 的周转时间 Ti作业完成时间作业提交时间系统中 n 个作业的平均周转时间 ,其中 Ti 为作业 i 的周转时间。ni1)(解:采用先来先服务调度策略,则调度次序为 l、2、3。作业号 提交时间 运行时间 开始时间 完成时间 周转时间1 0.0 8.0 0.0 8.0 8.02 0.4 4.0 8.0 12.0 11.63 1.0 1.0 12.0 13.0 12.0平均周转时间 T(

42、811.612)/310.53采用短作业优先调度策略,则调度次序为 l、3、2。作业号 提交时间 运行时间 开始时间 完成时间 周转时间1 0.0 8.0 0.0 8.0 8.03 1.0 1.0 8.0 9.0 8.02 0.4 4.0 9.0 13.0 12.6平均周转时间 T(8812.6)/39.53【例6】今有三个批处理作业。第一个作业10:00 到达,需要执行2小时;第二个作业在10:10到达,需要执行1小时;第三个作业在 10:25到达,需要执行 25分钟。分别采取如下两种作业调度算法:调度算法 1:作业号 到达时间 开始执行时间 执行结束时间12310:0010:1010:25

43、10:0012:0013:0012:0013:0013:25调度算法 2:作业号 到达时间 开始执行时间 执行结束时间12310:0010:1010:2511:5010:5010:2513:5011:5010;50(1)计算各调度算法下的作业平均周转时间。(2)调度算法 1 是什么作业调度算法?分析 作业的周转时间作业完成时间作业提交时间。以调度算法 1 的作业 2 为例,其周转时间=作业完成时间 13:00作业提交时间10:10,得到结果为 2 小时 50 分钟,转换为小时为 2.83 小时。转换的目的是为了方便计算平均周转时间。解:(1)采用调度算法 1 时:作业 1 的周转时间为 2 小

44、时;作业 2 的周转时间为 2.83 小时;作业 3 的周转时间为 3小时;平均周转时间为:(22.833)32.61 小时。采用调度算法 2 时:作业 1 的周转时间为 3.83 小时;作业 2 的周转时间为 1.67 小时;作业 3 的周转时间为0.42 小时;平均周转时间为:(3.83l.67 0.42)3l.97 小时。(2)调度算法 1 是按照作业到达的先后次序执行的,所以它是先来先服务调度算法。【例 7】一个进程在执行过程中可以被中断事件打断,当相应的中断处理完成后,就一定恢复该进程被中断时的现场,使它继续执行。 ( )答案 ()分析 中断是指 CPU 对系统发生的某个事件做出的一

45、种反应,它使 CPU 暂停正在执行的程序,保留现场后自动执行相应的处理程序,处理该事件后,如被中断进程的优先级最高,则返回断点继续执行被“打断”的程序。本题开头的叙述是正确的,即“一个进程在执行过程中可以被中断事件打断” ,但是后面说“一定恢复该进程被中断时的现场” ,以及“继续执行”就不正确了,因此,系统中进程的并发执行情况非常复杂,中断后的进程能否继续执行,要看那时的具体情况,可能会继续执行,也可能处于就绪队列中无法立即继续执行。【例 8】在 UNIX/Linux 系统中,执行到 trap 指令时,CPU 的状态就从核心态变为用户态。( )答案 ()分析 为了对操作系统程序(特别是其内核部

46、分)进行保护,防止受到用户程序的损坏,系统提供了不同的处理机执行状态,通常分为核心态和用户态两种。当操作系统程序执行时,处理机处于核心态,它有较高的特权,可以执行一切指令(包括一般用户程序中不能使用的特权指令) 。用户程序在用户态下执行。它的权限较低,只能执行指令集中的非特权指令。用户程序要想得到操作系统的服务,必须使用系统调用。在 UNIX/Linux 系统中,系统调用像 C 语言的普通函数调用那样出现在程序中。但是,一般的函数调用序列并不能把进程的运行模式从用户态变为核心态,而系统调用却可以做到这一点,即从用户空间转入系统空间。trap 指令是实现系统调用的汇编代码,trap 指令有这样一

47、种性质:当 CPU 执行到 trap指令时,CPU 的状态就从用户态变为核心态。本题正好说反了,因此是错误的。【例 9】UNIX/Linux 系统中的 shell 是负责( )的模块。A解释并执行来自终端的命令 B解释并执行来自终端的内部命令C解释并执行来自终端的外部命令 D进行系统调用答案 A分析 shell 命令语言解释程序是 UNIX/Linux 系统提供给用户的最重要的系统程序。它不属于内核部分,而是在核心之外以用户态方式运行。其基本功能是解释并执行用户输入的各种命令,实现用户与 Linux 核心的接口。shell 命令分为内部命令和外部命令两种,内部命令是最简单最常用的命令,在 shell 启动时进入内存,Linux 外部命令是一个独立的可执行程序。3.3 练习题一、选择题(选择一个正确答案的代码填入括号中)1. 作业生存期共经历 4 个状态,它们是提交、后备、 ( )和完成。A等待 B就绪 C开始 D执行2. 作业调度是( ) 。A从输入井中选取作业进入主存 B从读卡机选取作业进入输入井C从主存中选取作业进程占有 CPU D从等待设备的队列中选取一个作业进程3. 在操作系统中,JCB 是指( ) 。A文件控制块 B进程控制块C作业控制块 D程序控制块4. 作业调度选择一个作业装入主存后,该作业能否占用处理器必须由( )来决定。A设备管理

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报