操作系统第二章进程和线程复习题
- 格式:doc
- 大小:87.50 KB
- 文档页数:10
进程线程练习题一、选择题1. 进程是指()。
a) 线程的集合b) 代码的集合c) 资源的集合d) 程序的集合2. 线程是指()。
a) 进程的集合b) 代码的集合c) 资源的集合d) 程序的集合3. 在操作系统中,多个进程可以通过()来实现并发执行。
a) 共享内存b) 进程间通信c) 线程d) 同步操作4. 下列关于进程和线程的说法中,错误的是()。
a) 进程是资源分配的最小单位b) 线程是程序执行的最小单位c) 进程之间是相互独立的d) 线程之间共享内存空间5. 在Java中,可以创建线程的两种方式是()。
a) 继承Thread类、实现Runnable接口b) 实现Thread类、继承Runnable接口c) 实现Thread接口、继承Runnable类d) 继承Thread类、实现Callable接口二、填空题1. 进程间通信的方式有()。
2. 线程可以共享的资源有()。
3. 线程调度的方式包括()和()。
三、简答题1. 请简述进程和线程的概念及区别。
2. 进程间通信的方式有哪些,各自的优缺点是什么?3. 线程调度的方式有哪些,各自的优缺点是什么?4. 请举例说明多线程的优势以及适用场景。
四、编程题请使用Java语言编写一个多线程程序,实现以下功能:1. 创建两个线程T1和T2,分别打印出1~5和6~10的数字。
2. 要求线程T1和T2交替执行,即先打印数字1,然后打印数字6,接着打印数字2,再打印数字7,以此类推。
3. 在程序中使用合适的同步机制来实现线程的交替执行。
答案:一、选择题1. a) 线程的集合2. b) 代码的集合3. b) 进程间通信4. d) 线程之间共享内存空间5. a) 继承Thread类、实现Runnable接口二、填空题1. 管道通信、消息队列、共享内存、信号量、套接字通信等2. 内存空间3. 抢占式调度、协同式调度三、简答题1. 进程是操作系统进行资源分配和调度的基本单位。
第二章进程管理.操作系统主要是对计算机系统全部 () 进行管理,以方便用户、提高计算机使用效率的一种系统软件。
它的主要功能有:处理机管理、存储管理、文件管理、 () 管理和设备管理等。
和是最常用的两类操作系统。
前者是一个具有图形界面的窗口式的 () 系统软件,后者是一个基本上采用 () 语言编制而成的的系统软件。
在 () 操作系统控制下,计算机能及时处理由过程控制反馈的信息并作出响应。
供选答案:(): . 应用软件. 系统软硬件. 资源. 设备(): . 数据. 作业. 中断.(): . 分时. 多任务. 多用户. 实时(): . . 宏. 汇编.(): . 网络. 分时. 批处理. 实时答案:.操作系统是对计算机资源进行的 () 系统软件,是 () 的接口。
在处理机管理中,进程是一个重要的概念,它由程序块、 () 和数据块三部分组成,它有种基本状态,不可能发生的状态转换是 () 。
虚拟存储器的作用是允许程序直接访问比内存更大的地址空间,它通常使用 () 作为它的一个主要组成部分。
供选答案:(): . 输入和输出. 键盘操作. 管理和控制. 汇编和执行(): . 软件和硬件. 主机和外设. 高级语言和机器语言. 用户和计算机(): . 进程控制块. 作业控制块. 文件控制块. 设备控制块(): . 运行态转换为就绪态. 就绪态转换为运行态. 运行态转换为等待态. 等待态转换为运行态(): . 软盘. 硬盘. . 寄存器答案:.在计算机系统中,允许多个程序同时进入内存并运行,这种方法称为。
. 技术. 虚拟存储技术. 缓冲技术. 多道程序设计技术.分时系统追求的目标是。
. 高吞吐率. 充分利用内存. 快速响应. 减少系统开销.引入多道程序的目的是。
. 提高实时响应速度. 增强系统交互能力. 为了充分利用主存储器. 充分利用,减少等待时间.若把操作系统看作计算机系统资源的管理者,下列不属于操作系统所管理的资源。
操作系统第二章复习题一、选择最合适的答案1. 用P、V 操作管理临界区时,信号量的初值一般应定义为( C )。
A.–1B.0C.1D.任意值2. 有m 个进程共享同一临界资源,若使用信号量机制实现对一临界资源的互斥访问,则信号量的变化范围是( A )。
A.1 至–(m-1)B.1 至m-1C.1 至–mD.1 至m3.在下面的叙述中,正确的是( C )。
A.临界资源是非共享资源B.临界资源是任意共享资源C.临界资源是互斥共享资源D.临界资源是同时共享资源4.对进程间互斥地使用临界资源,进程可以( D )A.互斥地进入临界区B.互斥地进入各自的临界区C.互斥地进入同一临界区D.互斥地进入各自的同类资源的临界区5.设两个进程共用一个临界资源的互斥信号量mutex,当mutex=1 时表示( B )。
A.一个进程进入了临界区,另一个进程等待B.没有一个进程进入临界区C.两个进程都进入了临界区D.两个进程都在等待6.设两个进程共用一个临界资源的互斥信号量mutex,当mutex=-1 时表示( A )。
A.一个进程进入了临界区,另一个进程等待B.没有一个进程进入临界区C.两个进程都进入了临界区D.两个进程都在等待7.当一进程因在记录型信号量S 上执行P(S)操作而被阻塞后,S 的值为( B )。
A.>0B.<0C.≥0D.≤08.当一进程因在记录型信号量S 上执行V(S)操作而导致唤醒另一进程后,S 的值为( D )。
A.>0B.<0C.≥0D.≤09.如果信号量的当前值为-4,则表示系统中在该信号量上有( A )个进程等待。
A.4B.3C.5D.010.若有 4 个进程共享同一程序段,而且每次最多允许 3 个进程进入该程序段,则信号量的变化范围是( B )。
A. 3,2,1,0B. 3,2,1,0,-1C. 4,3,2,1,0D. 2,1,0,-1,-211.若信号S 的初值为2,当前值为-1,则表示有( B )个等待进程?A.0B.1C.2D.312.如果有三个进程共享同一互斥段,而且每次最多允许两个进程进入该互斥段,则信号量的初值应设置为( C )。
操作系统第二章复习题一、选择最合适的答案1. 用P、V 操作管理临界区时,信号量的初值一般应定义为(C )。
A.–1 D.任意值2. 有m 个进程共享同一临界资源,若使用信号量机制实现对一临界资源的互斥访问,则信号量的变化范围是( A )。
至–(m-1) 至m-1 至–m 至m3.在下面的叙述中,正确的是(C )。
A.临界资源是非共享资源B.临界资源是任意共享资源C.临界资源是互斥共享资源D.临界资源是同时共享资源4.对进程间互斥地使用临界资源,进程可以(D )A.互斥地进入临界区B.互斥地进入各自的临界区C.互斥地进入同一临界区D.互斥地进入各自的同类资源的临界区5.设两个进程共用一个临界资源的互斥信号量mutex,当mutex=1 时表示(B )。
A.一个进程进入了临界区,另一个进程等待B.没有一个进程进入临界区C.两个进程都进入了临界区D.两个进程都在等待6.设两个进程共用一个临界资源的互斥信号量mutex,当mutex=-1 时表示(A )。
A.一个进程进入了临界区,另一个进程等待B.没有一个进程进入临界区C.两个进程都进入了临界区D.两个进程都在等待7.当一进程因在记录型信号量S 上执行P(S)操作而被阻塞后,S 的值为(B )。
A.>0B.<0C.≥0D.≤08.当一进程因在记录型信号量S 上执行V(S)操作而导致唤醒另一进程后,S 的值为(D )。
A.>0B.<0C.≥0D.≤09.如果信号量的当前值为-4,则表示系统中在该信号量上有(A )个进程等待。
10.若有4 个进程共享同一程序段,而且每次最多允许3 个进程进入该程序段,则信号量的变化范围是( B )。
A. 3,2,1,0B. 3,2,1,0,-1C. 4,3,2,1,0D. 2,1,0,-1,-211.若信号S 的初值为2,当前值为-1,则表示有( B )个等待进程12.如果有三个进程共享同一互斥段,而且每次最多允许两个进程进入该互斥段,则信号量的初值应设置为( C )。
操作系统第二章复习题答案操作系统第二章复习题答案第一节:操作系统概述操作系统是计算机系统中的核心软件之一,它负责管理和控制计算机硬件资源,并提供用户与计算机之间的接口。
操作系统的主要功能包括进程管理、内存管理、文件系统管理和设备管理等。
第二节:进程管理1. 进程是指正在执行中的程序。
它包括程序计数器、寄存器集合和栈等信息。
进程的状态包括运行态、就绪态和阻塞态。
2. 进程调度是指根据一定的策略选择下一个执行的进程。
常见的调度算法有先来先服务调度算法、短作业优先调度算法和时间片轮转调度算法等。
3. 进程同步是指协调多个进程的执行顺序,避免出现竞态条件和死锁等问题。
常见的进程同步机制有互斥锁、信号量和条件变量等。
第三节:内存管理1. 内存管理是指操作系统对内存资源的分配和回收。
常见的内存管理方式有分区管理和页式管理。
2. 分区管理将内存划分为多个固定大小的分区,每个分区只能分配给一个进程。
常见的分区分配算法有首次适应算法、最佳适应算法和最坏适应算法等。
3. 页式管理将内存和进程的地址空间划分为固定大小的页和页框,实现了虚拟内存的概念。
常见的页式管理算法有局部页面置换算法和全局页面置换算法等。
第四节:文件系统管理1. 文件系统管理是指操作系统对文件的组织和访问控制。
文件是计算机中存储数据的基本单位,它包括文件名、文件属性和文件数据等。
2. 文件系统通过目录结构来组织文件,常见的目录结构有单级目录结构、树状目录结构和索引节点结构等。
3. 文件系统提供了文件的读、写和删除等操作,同时还提供了文件保护和文件共享等功能。
第五节:设备管理1. 设备管理是指操作系统对计算机硬件设备的管理和控制。
常见的设备管理方式有设备驱动程序和设备控制块等。
2. 设备驱动程序是操作系统与硬件设备之间的接口,它负责将操作系统的请求转化为硬件设备可以理解的指令。
3. 设备控制块是操作系统对每个设备的描述,它包括设备类型、设备状态和设备队列等信息。
现代操作系统第四版第二章答案现代操作系统第二章进程与线程习题1. 图2-2中给出了三个进程状态,在理论上,三个状态可以有六种转换,每个状态两个。
但是,图中只给出了四种转换。
有没有可能发生其他两种转换中的一个或两个A:从阻塞到运行的转换是可以想象的。
假设某个进程在I/O上阻塞,而且I/O结束,如果此时CPU空闲,该进程就可以从阻塞态直接转到运行态。
而另外一种转换(从阻塞态到就绪态)是不可能的。
一个就绪进程是不可能做任何会产生阻塞的I/O或者别的什么事情。
只有运行的进程才能被阻塞。
2.假设要设计一种先进的计算机体系结构,它使用硬件而不是中断来完成进程切换。
CPU需要哪些信息请描述用硬件完成进程切换的工作过程。
A:应该有一个寄存器包含当前进程表项的指针。
当I/O结束时,CPU将把当前的机器状态存入到当前进程表项中。
然后,将转到中断设备的中断向量,读取另一个过程表项的指针(服务例程),然后,就可以启动这个进程了。
3.当代计算机中,为什么中断处理程序至少有一部分是用汇编语言编写的A:通常,高级语言不允许访问CPU硬件,而这种访问是必需的。
例如,中断处理程序可能需要禁用和启用某个特定设备的中断服务,或者处理进程堆栈区的数据。
另外,中断服务例程需要尽快地执行。
(补充)主要是出于效率方面的考量。
中断处理程序需要在尽量短的时间内完成所需的必要处理,尽量减少对线程/程序流造成的影响,因此大部分情况下用汇编直接编写,跳过了通用编译过程中冗余的适配部分。
4.中断或系统调用把控制转给操作系统时,为什么通常会用到与被中断进程的栈分离的内核栈A:内核使用单独的堆栈有若干的原因。
其中两个原因如下:首先,不希望操作系统崩溃,由于某些用户程序不允许足够的堆栈空间。
第二,如果内核将数据保留在用户空间,然后从系统调用返回,那么恶意的用户可能使用这些数据找出某些关于其它进程的信息。
5.一个计算机系统的内存有足够的空间容纳5个程序。
这些程序有一半的时间处于等待I/O的空闲状态。
操作系统第二章复习题 第二章进程管理 一、单项选择题 1.临界区是指( )。 A.并发进程中用于实现进程互斥的程序段 B.并发进程中用于实现进程同步的程序段 C.并发进程中用户实现进程通信的程序段 D.并发进程中与共享变量有关的程序段 2、( )是只能由P和V操作所改变的整型变量。 A共享变量 B.锁 C.整型信号量 D.记录型信号量 3.对于整型信号量,在执行一次P操作时,信号量的值应( )。 A.不变B.加1 C.减1 D.减指定数值 4.在执行V操作时,当信号量的值( )时,应释放一个等待该信号量的进程。 A.>0 B.<0 C.>=0 D.<=0 5、PV操作必须在屏蔽中断下执行,这种不可变中断的过程称为( )。 A初始化程序B.原语 C.子程序 D控制模块 6、进程间的互斥与同步分别表示了各进程间的( )。 A.竞争与协作 B.相互独立与相互制约 C.不同状态D.动态性与并发性 7、并发进程在访问共享资源时的基本关系为( )。 A.相互独立与有交往的 B.互斥与同步 C并行执行与资源共享 D信息传递与信息缓冲8.在间接通信时,用send(N,M)原语发送信件,其中N表示( )。 A.发送信件的进程名 B.接收信件的进程名 C信箱名 D.信件内容 9.下列对线程的描述中,( )是错误的。 A.不同的线程可执行相同的程序 B.线程是资源分配单位C.线程是调度和执行单位D.同一进程中的线程可共享该进程的主存空间 1-5 DCCDB 6-9ABCB 二、填空题 1、进程的_____是指进程在处理器上的执行是按顺序进行的。 2、当一个进程独占处理器顺序执行时,具有___ ___和____两个特性。 3、进程的封闭性是指进程的执行结果只取决于______,不受外界影响。 4、进程的可再现性是指当进程再次重复执行时,必定获得___ ___的结果。 5、一个进程的工作在没有全部完成之前,另一个进程就可以开始工作,则称这些进程为______。 6、若系统中存在一组可同时执行的进程,则就说该组进程具有____。 7、如果—个进程的执行不影响其他进程的执行,且与其他进程的进展情况无关,则说这并发进程相互之间是____的。 8、临界区是指并发进程中与______有关的程序段。 9、_____是指并发进程中涉及到相同变量的那些程序段。 10、进程的______是指当有若干进程都要使用某一共享资源时,任何时刻最多只允许一个进程去使用 。 1顺序性2 封闭性和可在现行3 进程本身4相同 5 可同时执行或并发执行6 并发性7 无关8 共性变量9 临界区10 互斥执行 三、简答题 1、程序并发执行时为什么会失去封闭性和可再现性? 答案:因为程序并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态是由多个程序来改变,致使程序的运行失去了封闭性。而程序一旦失去了封闭性也会导致其再失去可再现性。 2、在操作系统中为什么要引入进程概念?它会产生什么样的影响? 答案:为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,从而在操作系统中引入了进程概念。 影响: 使程序的并发执行得以实行。 3、试从动态性,并发性和独立性上比较进程和程序? 答案: a. 动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,是静态实体。 b. 并发性是进程的重要特征,同时也是OS的重要特征。引入进程的目的正是为了使其程序能和其它建立了进程的程序并发执行,而程序本身是不能并发执行的。 c. 独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。而对于未建立任何进程的程序,都不能作为一个独立的单位来运行。4、试说明PCB的作用?为什么说PCB是进程存在的唯一标志? 答案: a. PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。PCB中记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息。因而它的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程。 b. 在进程的整个生命周期中,系统总是通过其PCB对进程进行控制,系统是根据进程的PCB 而不是任何别的什么而感知到该进程的存在的,所以说,PCB是进程存在的唯一标志。 5、试说明进程在三个基本状态之间转换的典型原因. a. 处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态变为执行状态。 b. 当前进程因发生某事件而无法执行,如访问已被占用的临界资源,就会使进程由执行状态转变为阻塞状态。 c. 当前进程因时间片用完而被暂停执行,该进程便由执行状态转变为就绪状态。 6、为什么要引入挂起状态?该状态有哪些性质? 【答案:】 a. 引入挂起状态主要是出于4种需要(即引起挂起的原因): 终端用户的请求,父进程请求,负荷调节的需要,操作系统的需要。 b. 被挂起的进程是处于静止状态,并且不能直接被处理机调度。 7、为什么进程在进入临界区之前应先执行“进入区”代码?而在退出前又要执行“退出区”代码? 【答】为了实现多个进程对临界资源的互斥访问,必须在临界区之前加一段用于检查临界资源是否正在被访问的代码,如未被访问,该进程可进入临界区对此临界资源进行访问;如正被访问,则该进程不能进入临界区访问临界资源。 在退出临界区后,执行恢复访问标志的代码为“退出区”,而在退出前执行“退出区”代码主要是为了使其它进程能再访问此临界资源。 8、试从物理概念上说明记录型信号量wait和signal。 【答】 Wait(S):当S.value>0时,表示目前系统中这类资源还有可用的,执行一次wait操作,意味着进程请求一个单位的该类资源,是系统中可供分配的该类资源减少一个,因此描述为S.value:=S.value-1;当S.value<0时,表示该类资源已分配完毕,因此进程应调用block原语,进行自我阻塞,放弃处理机,并插入到信号量链表S.L中。 Signal(S):执行一次signal操作,意味着释放一个单位的可用资源,使系统中可供分配的该类资源数增加一个,故执行S.value:=S.value+1操作。若加1后S.value≤0,则表示在该信号量链表中,仍有等待该资源的进程被阻塞,因此应调用wakeup原语,将S.L链表中的第一个等待进程唤醒。
第二章处理机管理——死锁——单选题1.在多道程序系统中,可能发生一种危险――死锁。
产生死锁的原因是由于____。
A.资源竞争,进程推进顺序非法B.系统资源不足,程序推进顺序非法C.系统资源不足,各进程之间竞争资源D.资源竞争,并行进程同时执行2.在为多道程序所提供的可共享的系统资源不足时,可能出现死锁。
但是,不适当的___也可能产生死锁。
A.进程优先权B.资源的线形分配C.进程推进顺序D.分配队列优先权3.当进程数大于资源数时,进程竞争资源_____会产生死锁。
4.产生死锁的四个必要条件是互斥、不剥夺、环路等待和____。
A.请求与阻塞B.请求与释放C.释放与阻塞D.保持与请求5.产生死锁的必要条件有四个,要防止死锁的发生,可以破坏这四个必要条件,但破坏_____条件是不太实际的。
A.互斥B.不剥夺C.环路等待D.保持与请求6.为了防止死锁的产生,在进程所需要的全部资源被满足之前,不进入就绪状态,这是否定了7.在预防死锁发生的方法中,当进程申请资源得不到满足时,必须释放它已占有的全部其它资源,这是破坏了死锁必要条件中的_____。
8.在预防死锁发生的方法中,将系统资源按类型线型排序,并赋予不同的序号。
进程必须严格按资源序号的递增次序提出申请。
这是破坏了死锁必要条件中的____。
A.互斥条件B.不剥夺条件C.环路等待条件D.请求与保持条件9.系统可用资源3份,P1进程正占用5份,还需要5份;P2进程正占用2份,还需要3份;P3进程正占用2份,还需要7份。
该状态是____。
A.安全的B.不安全的10.系统可用资源2份,P1进程正占用5份,还需要5份;P2进程正占用2份,还需要2份;P3进程正占用3份,还需要6份。
该状态是___。
A.安全的B.不安全的11.系统中有2份共享资源,有3个并行进程,每个进程都需要该共享资源2份,则在这3个进程之间_____。
12.某系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源是_____。
第二章进程管理1.操作系统主要是对计算机系统全部 (1) 进行管理,以方便用户、提高计算机使用效率的一种系统软件。
它的主要功能有:处理机管理、存储管理、文件管理、 (2) 管理和设备管理等。
Windows和Unix是最常用的两类操作系统。
前者是一个具有图形界面的窗口式的 (3) 系统软件,后者是一个基本上采用 (4) 语言编制而成的的系统软件。
在 (5) 操作系统控制下,计算机能及时处理由过程控制反馈的信息并作出响应。
供选答案:(1): A. 应用软件 B. 系统软硬件C. 资源D. 设备(2): A. 数据 B. 作业C. 中断D. I/O(3): A. 分时 B. 多任务C. 多用户D. 实时(4): A. PASCAL B. 宏C. 汇编D. C(5): A. 网络 B. 分时C. 批处理D. 实时答案:CBBDD2.操作系统是对计算机资源进行的 (1) 系统软件,是 (2) 的接口。
在处理机管理中,进程是一个重要的概念,它由程序块、 (3) 和数据块三部分组成,它有3种基本状态,不可能发生的状态转换是 (4) 。
虚拟存储器的作用是允许程序直接访问比内存更大的地址空间,它通常使用 (5) 作为它的一个主要组成部分。
供选答案:(1): A. 输入和输出 B. 键盘操作C. 管理和控制D. 汇编和执行(2): A. 软件和硬件 B. 主机和外设C. 高级语言和机器语言D. 用户和计算机(3): A. 进程控制块 B. 作业控制块C. 文件控制块D. 设备控制块(4): A. 运行态转换为就绪态 B. 就绪态转换为运行态C. 运行态转换为等待态D. 等待态转换为运行态(5): A. 软盘 B. 硬盘C. CDROMD. 寄存器答案:CDADB3.在计算机系统中,允许多个程序同时进入内存并运行,这种方法称为 D。
A. Spodling技术B. 虚拟存储技术C. 缓冲技术D. 多道程序设计技术4.分时系统追求的目标是 C。
1、下面哪种死锁处理策略代价最小?()A.死锁忽略B.死锁检测+恢复C.死锁避免D.死锁预防正确答案:A2、下面哪种死锁处理策略引入的不合理因素最严重?()A.死锁检测+恢复B.死锁忽略C.死锁预防D.死锁避免正确答案:C3、为什么进程切换的代价要比线程切换要大?()A.因为进程切换要切换控制块数据结构B.因为进程切换要切换PC指针C.因为进程切换要切换段表D.因为进程切换要切换栈正确答案:C4、初值为N的信号量,当前值为-1表示的含义是什么?()A.有1个资源B.有N-1个进程在等待C.有1个进程在等待D.有N-1个资源5、为什么PC机通常死锁忽略策略?()A.因为死锁检测算法在PC机器上不能执行B.因为PC机上的发生死锁造成的破坏小C.因为PC机上的死锁可以用重启来解决D.因为PC机上的发生死锁的可能性小正确答案:C6、下面哪种参数可以用来表征操作系统可以对用户输入快速处理?()代响应时间B.等待时间C.吞吐量D.周转时间正确答案:A7、下面哪种调度算法可以保证用户的输入在一定的时间以后可以得到响应?()A.短作业优先B.时间片轮转调度C.剩余短作业优先D.先来先服务算法正确答案:B8、下面哪个系统调用不是用来操控进程的?()A.open()B.fork()C.wait()D.exec()正确答案:A9、下面哪种状态下的进程不存放在内存中?()正确答案:AB.阻塞态C.挂起态D.就绪态正确答案:C10、关于进程和线程的主要区别,下面哪种论述是正确的?()A.线程之所以切换快是因为TCB比PCB尺寸小B.线程切换时可能会引起进程切换C.进程不能成为调度的单位D.线程可以没有栈正确答案:B11、在实际系统中实现进程调度算法需要考虑诸多因素,相比而言下面哪个因素最不需要考虑?()A.机器物理内存的大小B.机器的使用坏境C.用户任务的特点D.算法的复杂性正确答案:A12、进程和程序的区别主要体现在哪里?()A.进程在内存中,程序在磁盘上。
第二章进程和线程作业答案1,2,4,6,7,10,11,12,14, 211.在操作系统中为什么要引入进程概念?它与程序的差别和关系是怎样的?答:由于多道程序的并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各程序在执行过程中就出现了相互制约的新关系,程序的执行出现“走走停停”的新状态。
用程序这个静态概念已经不能如实反映程序并发执行过程中的这些特征。
为此,人们引入“进程(Process)”这一概念来描述程序动态执行过程的性质。
进程和程序是两个完全不同的概念。
进程与程序的主要区别:进程和程序之间存在密切的关系:进程的功能是通过程序的运行得以实现的,进程活动的主体是程序,进程不能脱离开具体程序而独立存在。
2.PCB的作用是什么?它是怎样描述进程的动态性质的?答:PCB是进程组成中最关键的部分。
每个进程有惟一的进程控制块;操作系统根据PCB对进程实施控制和管理,进程的动态、并发特征是利用PCB表现出来的;PCB是进程存在的唯一标志。
PCB中有表明进程状态的信息,该进程的状态包括运行态、就绪态和阻塞态,它利用状态信息来描述进程的动态性质。
4. 用如图2-26所示的进程状态转换图能够说明有关处理机的大量容。
试回答:①什么事件引起每次显著的状态变迁?②下述状态变迁因果关系能否发生?为什么?(A)2→1 (B)3→2 (C)4→1答:(1)就绪→运行:CPU空闲,就绪态进程被调度程序选中运行→阻塞:运行态进程因某种条件未满足而放弃CPU的占用。
阻塞→就绪:阻塞态进程所等待的事件发生了。
运行→就绪:正在运行的进程用完了本次分配给它的时间片(2)下述状态变迁(A)2→1,可以。
运行进程用完了本次分配给它的时间片,让出CPU,从就绪队列中选一个进程投入运行。
(B)3→2,不可以。
任何时候一个进程只能处于一种状态,它既然由运行态变为阻塞态,就不能再变为就绪态。
(C)4→1,可以。
某一阻塞态进程等到的事件出现了,而且此时就绪队列为空,该进程进入就绪队列后马上又被调度运行。
操作系统自测题二一.选择题1.并发执行的程序具有________特征。
A.顺序性B.封闭性C.可再现性D.间断性2.在操作系统中,要想读取文件中的数据,通过什么来实现?A.系统调用B.原语C.文件共享D.中断3.在进程状态转换图中,________是不可能的。
A.运行态→就绪态B.运行态→等待态C. 等待态→运行态D.等待态→就绪态4.操作系统对进程进行管理与控制的基本数据结构是________。
A.JCBB.PCBC.PMTD.DCT5.一个进程当前处于等待状态,则________。
A.它可以被调度而获得处理机B.当I/O完成后,它将变成就绪状态C.它永远不会被执行D.它可能变成就绪状态,也可能直接获得处理机6.进程和程序的本质区别是________。
A.动态或静态B.分时使用或独占计算机资源C.顺序或非顺序的执行其指令D.存储在内存和外存7.进程和线程的区别是________。
A.大小不同B.独立调度的单位C.是否拥有资源D.对应的分别是程序和过程8.建立进程就是________。
A.建立进程的目标程序B.为其建立进程控制块C.将进程挂起D.建立进程及其子孙的进程控制块9.对进程的管理和控制使用________。
A.指令B.原语C.信号量D.信箱通信10.下面对进程的描述,错误的是________。
A.进程是一个动态的概念B.进程的执行需要处理机C.进程是有生命期的D.进程是指令的集合11.多道程序环境中,操作系统分配资源是以________为单位。
A.程序B.指令C.进程D.作业12.并发程序失去了封闭性是指________。
A.多个相对独立的进程以各自的速度向前推进B.并发进程执行时,在不同时刻发生的错误C.并发进程执行结果与速度无关D.并发进程共享变量,其执行结果与速度有关13.下面关于进程的描述,________不正确。
A.进程是多道程序环境中的一个程序B.进程由程序、数据、栈和PCB组成C.线程是一种特殊的进程D.进程是程序在一个数据集合上的执行过程,它是系统进行资源分配的单位14.当一个进程处于________状态时,不属于等待状态。
第二章练习题
一、单项选择题
1.某进程在运行过程中需要等待从磁盘上读入数据,此时该进程的状态将( C )。
A. 从就绪变为运行; B.从运行变为就绪;
C.从运行变为阻塞; D.从阻塞变为就绪
2.进程控制块是描述进程状态和特性的数据结构,一个进程( D )。
A.可以有多个进程控制块;
B.可以和其他进程共用一个进程控制块;
C.可以没有进程控制块;
D.只能有惟一的进程控制块。
3.临界区是指并发进程中访问共享变量的(D)段。
A、管理信息
B、信息存储
C、数
据 D、程序
4. 当__ B__时,进程从执行状态转变为就绪状态。
A. 进程被调度程序选中
B. 时间片到
C. 等待某一事件
D. 等待的事件发生
5. 信箱通信是一种( B )通信方式。
A. 直接通信
B. 高级通信
C. 低级通信
D. 信号量
6. 原语是(B)。
A、一条机器指令
B、若干条机器指令组成
C、一条特定指令
D、中途能打断的指令
7. 进程和程序的一个本质区别是(A)。
A.前者为动态的,后者为静态的;
B.前者存储在内存,后者存储在外存;
C.前者在一个文件中,后者在多个文件中;
D.前者分时使用CPU,后者独占CPU。
8. 任何两个并发进程之间存在着(D)的关系。
A.各自完全独立B.拥有共享变量
C.必须互斥D.可能相互制约
9. 进程从运行态变为等待态可能由于(B )。
A.执行了V操作 B.执行了P操作
C.时间片用完 D.有高优先级进程就绪
10. 用PV操作管理互斥使用的资源时,信号量的初值应定义为(B)。
A.任意整数 B.1 C.0 D.-1
11. 现有n个具有相关临界区的并发进程,如果某进程调用P操作后变为等待状态,则调用P操作时信号量的值必定为(A)。
A.≤0 B.1 C.n-1 D.n
12. 用PV操作管理临界区时把信号量的初值定义为1,现已有一个进程在临界区,但有n个进程在等待进入临界区,这时信号量的值为(C)。
A.-1 B.1 C.-n D.n
13. 用V操作唤醒一个等待进程时,被唤醒进程的状态应变成(B)状态。
A.执行B.就绪 C.运行 D.收容
14. 有一共享文件可供n个并发进程使用,但限制最多m个进程(n≥m≥1)可同时读文件,用PV操作进行管理时其信号量的初值应该为(B)。
A.n B.m
C.n-m D.1
15. 当一个任务需要若干进程协同完成时,进程之间需要交换一定数量的信息,把这种信息交换称为(B)。
A.进程唤醒 B.进程通信
C.进程互斥 D.进程同步
二、判断题
1、程序在运行时需要很多系统资源,如内存、文件、
设备等,因此操作系统以程序为单位分配系统资源。
(错)
2、若无进程处于运行状态,则就绪队列和等待队列均
为空。
(错)
3、进程的互斥和同步总是因相互制约而同时引起。
(错)
4、P V操作不仅可用来实现进程的同步与互斥,而且可
以防止系统死锁。
(错)
5、并发进程的执行速度只取决于进程本身,不受外界
影响。
(错)
三、填空题
1.在现代操作系统中,资源的分配单位是进程 ,
而处理机的调度单位是线程 ,一个进程可以有多个线程。
2.进程调度完成进程状态从就绪态到运行态的转化。
3.并发进程中涉及到访问临界资源的程序段称为临界区。
4.进程的基本状态有就绪 , 运行 , 阻塞。
5. 用PV操作管理相关临界区时,任何一个进程要进入自己的临界区前应调用 P 操作,退出临界区时应调用 V 操作。
6. 系统中存在多个进程时,这些进程对共享资源的使用存在着不同的相互制约关系,制约关系可归结为两种,一种是直接制约关系,另一种是间接制约关系。
7. 用PV操作实现进程同步时,进程应调用 P 操作来检测自己等待的消息是否到达,调用 V 操作则可唤醒一个等待消息的进程。
8. 如果在一个取负值的信号量上调用P操作,则将使该进
程变为阻塞状态,而调用V操作将使一个等待资源的进程成为就绪状态。
9. 有一资源可供n个进程共享,但限制它们只能互斥使用,若采用PV操作来管理则信号量的初值应定义为 1 ,可能出现的信号量的最小值为 1-n 。
10. 若信号量S的初值定义为10,则在S上调用了18次P 操作和15次V操作后S的值应该为 7 。
11.若进程间利用信箱进行通信,则操作系统应该设计两个基本通信原语是 send 原语和 receive 原语。
四、问答题
1.一个单CPU的操作系统共有n个进程,不考虑进程
状态过渡时的情况,也不考虑空转进程。
给出运行进程的个数;给出就绪进程的个数;给出等待进程的个数。
2.解:运行进程的个数可能是 0,也可能是 1;
3.就绪的进程的个数可能是0,也可能是n-1
4.等待进程的个数可能是0,也可能是n
2. 说明下列活动是属于哪些制约关系
1)若干同学去图书馆借书进程互斥
2)两队进行篮球比赛进程互斥
3)流水线生产中的各道工序进程同步
4)商品生产和社会消费进程同步
3. 是否所有的共享资源都是临界资源,为什么?
答:不是,根据定义,一次只允许一个进程使用的进程才叫临界资源, 能同时被多个进程使用的资源不是临界资源
4. 某车站售票厅,任何时刻最多可容纳20名购票者进入,当售票厅中少于20名购票者时,则厅外的购票者可立即进入,否则需在外面等待。
若把一个购票者看作一个进程,请回答下列问题:
(1)用P、V操作管理这些并发进程时,应怎样定义信号量,写出信号量的初值以及信号量各种取值的含义。
(2)根据所定义的信号量,把应执行的P、V操作填入下述方框中,以保证进程能够正确地并发执行。
COBEGIN PROCESS PI(I=1,2,……)
begin ;
进入售票厅;
购票;
退出;
end;
COEND
(3)若欲购票者最多为n个人,写出信号量可能的变化范围(最大值和最小值)。
参考答案:
(1)定义一信号量S,初始值为20。
意义:
S>0 S的值表示可继续进入售票厅的人数
S=0 表示售票厅中已有20名顾客(购票者)
S<0 |S|的值为等待进入售票厅的人数
(2)上框为P(S)
下框为V(S)
(3)S的最大值为20
S的最小值为20-n
5. 四个进程A、B、C、D都要读一个共享文件F,系统允许多个进程同时读文件F。
但限制是进程A和进程C不能同时读文件F,进程B和进程D也不能同时读文件F。
为了使这四个进程并发执行时能按系统要求使用文件,现用PV 操作进行管理,请回答下面的问题:
(1)应定义的信号量及初
值:。
(2)在下列的程序中填上适当的P、V操作,以保证它们能正确并发工作:
A()B() C() D()
{ { { {
[1]; [3]; [5];[7];
read F; read F; read F; read F;
[2];[4]; [6]; [8];
} } } }
思考题解答:
(1)定义二个信号量S1、S2,初值均为1,即:S1=1,S2=1。
其中进程A和C使用信号量S1,进程B和D使用信号量S2。
(2)从[1]到[8]分别为:P(S1) V(S1) P(S2) V(S2) P(S1) V(S1) P(S2) V(S2)
6.设有一个发送者进程和接收者进程,其流程图如下图所示。
S是用于实现进程同步的信号量,mutex是用于实现进程互斥的信号量。
试问流程图中的A、B、C、D四框中应填写什么假定缓冲区有无限多个,S和mutex的初值应为多少
图发送者及接收者工作流程图
7. 在公共汽车上,司机和售票员的工作流程如下:
为保证乘客的安全,司机和售票员应密切配合协调工作。
假定初始状态为:车辆正在起点站停着车、开着门,等
待第一批乘客。
当发车时间到,售票员关好车门后司机可以启动车辆。
若用PV操作来实现司机与售票员之间的协调工作,请回答下列问题:
(1)司机与售票员之间的关系是同步还是互斥解释之。
(2)用PV操作来管理时应定义几个信号量初值为多少?
(3)请在司机与售票员的工作流程中填上适当的P操作和V操作,使他们能安全、协调地工作。
8. 进程之间的通信方式有几种在单机环境下,常用的
哪几种通信方式?
答:三种:共享内存,消息机制,以及管道通信
在单机环境下:常采用共享内存以及管道通信。
五、多选题
1.有关并发进程的下列叙述中,(C、D)是正确的。
A.任何时刻允许多个进程在同一CPU上运行
B.进程执行的速度完全由进程自己控制
C.并发进程在访问共享资源时可能出现与时间有关的
错误
D.同步是指并发进程中存在的一种制约关系
E.各自独立的并发进程在执行时不会相互影响
2. 一个正在运行的进程调用P(S)后,若S的值为(A D),则该进程可以继续运行。
A.S >0 B.S<0 C.S≠0 D.S≥0 E.S≤0。