操作系统题目1-2章

文章描述:-2022年4月14日发(作者:石洛源)第一章操作系统概述1、操作系统是一种(A、通用软件)。C、应用软件D、软件包B、系统软件2、操作系统是对()进行管理的软件。A、软件B、硬件C、计算机资源D、应用程序3、下列选项中,()不是操作系统关心的问题。B、设计、提供用户程序与硬件系统的界面D、高级程序设计语言的编译器A、管理计算机裸机C、管理计算机系统资源4、操作系统的基本功能是()。A、提供功能强

-

操作系统题目1-2章
2022年4月14日发
(作者:石洛源)

第一章操作系统概述

1、操作系统是一种(

A、通用软件

)。

C、应用软件D、软件包B、系统软件

2、操作系统是对()进行管理的软件。

A、软件B、硬件C、计算机资源D、应用程序

3、下列选项中,()不是操作系统关心的问题。

B、设计、提供用户程序与硬件系统的界面

D、高级程序设计语言的编译器

A、管理计算机裸机

C、管理计算机系统资源

4、操作系统的基本功能是()。

A、提供功能强大的网络管理工具

C、提供方便的可视化编辑程序

B、提供用户界面方便用户使用

D、控制和管理系统内的各种资源

5、现代操作系统中最基本的两个特征是()。

A、并发和不确定

C、共享和虚拟

B、并发和共享

D、虚拟和不确定

6、用户可以通过(

A、命令接口和函数

)两种方式来使用计算机。

B、命令接口和系统调用

D、设备管理方式和系统调用)。

C、命令接口和文件管理

7、系统调用是由操作系统提供给用户的,它(

A、直接通过键盘交互方式用

C、是命令接口中的命令

8、系统调用的目的是(

A、请求系统服务

C、申请系统资源

)。

B、中止系统服务

D、释放系统资源

B、只能通过用户程序间接使用

D、与系统的命令一样

9、为了方便用户直接或间接地控制自己的作业,操作系统向用户提供了命令接口,该接口

又可进一步分为()。

B、程序接口和图形接口

D、脱机用户接口和图形接口)。D、缓存管理指令

A、联机用户接口和脱机用户接口

C、联机用户接口和程序接口

10、操作系统与用户通信接口通常不包括(

A、shellB、命令解释器C、广义指令

11、(2009年计算机联考真题)单处理机系统中,可并行的是(

Ⅰ、进程与进程Ⅱ、处理机与设备

A.Ⅰ、Ⅱ、Ⅲ

C.Ⅰ、Ⅲ、Ⅳ

Ⅲ、处理机与通道)。

Ⅳ、设备与设备

B.Ⅰ、Ⅱ、Ⅳ

D.Ⅱ、Ⅲ、Ⅳ

12、(2010年计算机联考真题)下列选项中,操作系统提供给应用程序的接口的是()。

A、系统调用B、中断C、库函数

)。D、原语

13、提高单机资源利用率的关键技术是(

A、脱机技术

C、交换技术

B、虚拟技术

D、多道程序设计技术

)。14、批处理系统的主要缺点是(

A、系统吞吐量小

C、资源利用率低

B、CPU利用率不高

D、无交互能力

15、实时操作系统必须在()内处理来自外部的事件。

A、一个机器周期

C、周转时间

B、被控制对象规定时间

D、时间片

)算法。16、实时系统的进程调度,通常采用(

A、先来先服务

B、时间片轮转

D、高响应比优先C、抢占式的优先级高者优先

17、()不是设计实时操作系统的主要追求目标。

A、安全可靠

C、及时响应

B、资源利用率

D、快速处理

)因素进行改进有利18、分时系统的一个重要性能是系统的响应时间,对操作系统(

于改善系统的响应时间。

A、加大时间片

)。

B、比较快速响应用户

D、充分利用内存)。

B、采用静态页式管理

D、代码可重入C、优先级+非抢占式调度算法

19、分时系统追求的目标是(

A、充分利用I/O设备

C、提高系统吞吐率

20、下列关于操作系统的说法中,错误的是(

Ⅰ、在通用操作系统管理下的计算机上运行程序,需要向操作系统预订运行时间

Ⅱ、在通用操作系统管理下的计算机上运行程序,需要确定起始地址,并从这个地址开始

执行

Ⅲ、操作系统需要提供高级程序设计语言的编译器

Ⅳ、管理计算机系统资源是操作系统关心的主要问题

A、Ⅰ、Ⅲ

B、Ⅱ、Ⅲ

D、以上答案都正确

)。

C、Ⅰ、Ⅱ、Ⅲ、Ⅳ

21、下列说法正确的是(

Ⅰ、批处理的主要缺点是需要大量内存

Ⅱ、当计算机提供了核心态和用户态时,输入/输出指令必须在核心态下执行

Ⅲ、操作系统中采用多道程序设计技术的最主要原因是为了提高CPU和外部设备的可靠性

Ⅳ、操作系统中,通道技术是一种硬件技术

A、Ⅰ、Ⅱ

C、Ⅱ、Ⅳ

B、Ⅰ、Ⅲ

D、Ⅱ、Ⅲ、Ⅳ

)。22、下列关于系统调用的说法正确的是(

Ⅰ、用户程序设计时,使用系统调用命令,该命令经过编译后,形成若干参数和陷入

(trap)指令

Ⅱ、用户程序设计时,使用系统调用命令,该命令经过编译后,形成若干参数和屏蔽中断

指令

Ⅲ、系统调用功能是操作系统向用户程序提供的接口

Ⅳ、用户及其应用程序和应用系统是通过系统调用提供的支持和服务来使用系统资源完成

其操作的

A、Ⅰ、Ⅲ

B、Ⅱ、Ⅳ

D、Ⅱ、Ⅲ、ⅣC、Ⅰ、Ⅲ、Ⅳ

23、()是操作系统必须提供的功能。

A、图形用户界面

C、中断处理

B、为进程提供系统调用命令

D、编译源程序

24、处理器执行的指令被分为两类,其中有一类称为特权指令,它只允许

()使用。B、联机用户C、目标程序D、操作系统A、操作员

25、当计算机区分了核心态和用户态指令之后,从核心态到用户态的转换是由操作系统程

序执行后完成的,而用户态到核心态的转换则是由(

A、硬件B、核心态程序

)使用。

B、仅在核心态下

D、在调度时间内

)完成的。D、中断处理程序C、用户程序

26、“访管”指令(

A、仅在用户态下

C、在规定时间内

27、在操作系统中,只能在核心态下执行的指令是(

A、读时钟

C、广义指令

B、取数

D、寄存器清“0”

)。

)。

28、当CPU处于核心态时,它可以执行的指令是(

A、只有特权指令

B、只有非特权指令

C、只有“访管”指令D、除“访管”指令的全部指令

29、相对于传统操作系统结构,采用微内核结构设计和实现操作系统具有诸多好处,下列

哪些是微内核结构的特点(

Ⅰ、使系统更高效

Ⅱ、添加系统服务时,不必修改内核

Ⅲ、微内核结构没有单一内核稳定

Ⅳ、使系统更可靠

A、Ⅰ、Ⅲ、Ⅳ

C、Ⅱ、Ⅳ

B、Ⅰ、Ⅱ、Ⅳ

D、Ⅰ、Ⅳ

)。

)。

30、(2011年计算机联考真题)下列选项中,在用户态执行的是(

A、命令解释程序

C、进程调度程序

B、缺页处理程序

D、时钟中断处理程序

31、(2012年计算机联考真题)下列各选项中,不可能在用户态发生的事件是(

A、系统调用B、外部中断C、进程切换D、缺页)。

32、(2012年计算机联考真题)中断处理和子程序调用都需要压栈以保护现场,中断处理

一定会保存而子程序调用不需要保存其内容的是(

A、程序计数器

)。

B、程序状态字寄存器

D、通用地址寄存器)。

C、通用数据寄存器

33、(2013年计算机联考真题)计算机开机后,操作系统最终被加载到(

A、BIOSB、ROMC、EPROMD、RAM

34、(2013年计算机联考真题)下列选项中,会导致用户进程从用户态切换到内核态的操

作是()。

Ⅱ、sin()函数调用

B、仅Ⅰ、Ⅲ

D、仅Ⅰ、Ⅱ和ⅢⅢ、read系统调用Ⅰ、整数除以零

A、仅Ⅰ、Ⅱ

C、仅Ⅱ、Ⅲ

35、(2014年计算机联考真题)下列指令中,不能在用户态执行的是()。

A、trap指令B、跳转指令C、压栈指令D、关中断指令

36、(2015年计算机联考真题)内部异常(内中断)可分为故障(fault)、陷阱(trap)

和终止(abort)三类。下列有关内部异常的叙述中,错误的是()。

A、内部异常的产生与当前执行指令相关

B、内部异常的检测由CPU内部逻辑实现

C、内部异常的响应发生在指令执行过程中

D、内部异常处理后返回到发生异常的指令继续执行

37、(2015年计算机联考真题)处理外部中断时,应该由操作系统保存的是()。

A、程序计数器(PC)的内容

C、块表(TLB)中的内容

B、通用寄存器的内容

D、Cache中的内容

38、(2015年计算机联考真题)假定下列指令已装入指令寄存器,则执行时不可能导致CPU

从用户态变为内核态(系统态)的是(

A、DIVR0,R1

B、ITn

(R0)/(R1)→R0

产生软中断

寄存器R0的内容取非

把地址addr处的内存数据放入寄存器R0中

)。

C、OTR0

D、MOVR0,addr

39、(2016年计算机联考真题)下列关于批处理系统的叙述中,正确的是()。

Ⅰ、批处理系统允许多个用户与计算机直接交互

Ⅱ、批处理系统分为单道批处理系统和多道批处理系统

Ⅲ、中断技术使得多道批处理系统和I/O设备可与CPU并行工作

A、仅Ⅱ、Ⅲ

C、仅Ⅰ、Ⅱ

B、仅Ⅱ

D、仅Ⅰ、Ⅲ

40、(2016年计算机联考真题)异常是指令执行过程中在处理器内部发生的特殊事件,中

断是来自处理器外部的请求事件。下列关于中断或异常情况的叙述中,错误的是()。

A、“访存时缺页”属于中断

C、“DMA传送结束”属于中断

B、“整数除以0”属于异常

D、“存储保护错”属于异常

41、(2017年计算机联考真题)与单道程序系统相比,多道程序系统的优点是()。

Ⅰ、CPU利用率高

Ⅲ、系统吞吐量大

A、仅Ⅰ、Ⅲ

C、仅Ⅱ、Ⅲ

Ⅱ、系统开销小

Ⅳ、I/O设备利用率高

B、仅Ⅰ、Ⅳ

D、仅Ⅰ、Ⅲ、Ⅳ

42、(2017年计算机联考真题)执行系统调用的过程包括如下主要操作:

①返回用户态

)。

B、②→④→③→①

D、③→④→②→①

②执行陷入(trap)指令

④执行响应的服务程序③传递系统调用参数

正确的执行顺序是(

A、②→③→①→④

C、③→②→④→①

第二章进程的描述与控制

1、下列关于线程的叙述中,正确的是()。

A、线程包含CPU现场,可以独立执行程序

B、每个线程有自己独立的地址空间

C、进程只能包含一个线程

D、线程之间的通信必须使用系统调用函数

2、进程之间交换数据不能通过()途径进行。

A、共享文件

B、消息传递

D、访问共享存储区C、访问进程地址空间

3、若某一进程拥有100个线程,这些线程都属于用户级线程,则在系统调度执行时间上占

用的时间片是(

A、1

)。C、1/100D、0B、100

4、在单处理机系统中,如果同时存在10个进程,则处于就绪队列中的进程最多有()

个。

A、1B、8C、9

)。D、10

5、并发进程失去封闭性,是指(

A、多个相对独立的进程以各自的速度向前推进

B、并发进程的执行结果与速度无关

C、并发进程执行时,在不同时刻发生的错误

D、并发进程共享变量,其执行结果与速度有关

6、一个计算机系统中,进程的最大数目主要受到()限制。

A、内存大小

B、用户数目

D、外部设备数量C、打开的文件数

7、在一个多道系统中,若就绪队列不空,就绪的进程数目越多,处理器的效率()。

A、越高B、越低C、不变D、不确定

8、在进程转换时,下列(

A、就绪状态→运行状态

C、运行状态→阻塞状态

)转换是不可能发生的。

B、运行状态→就绪状态

D、阻塞状态→运行状态

)。9、一个进程被唤醒,意味着(

A、该进程可以重新竞争CPU

C、PCB移动到就绪队列之首

10、下列说法不正确的是(

B、优先级变大

D、进程变为运行状态

)。

A、一个进程可以创建一个或多个线程

B、一个线程可以创建一个或多个线程

C、一个线程可以创建一个或多个进程

D、一个进程可以创建一个或多个进程

11、(2010年计算机联考真题)下列选项中,导致创建新进程的操作是()

Ⅰ、用户登录成功

A、仅Ⅰ和Ⅱ

C、仅Ⅰ和ⅢⅡ、设备分配Ⅲ、启动程序执行

B、仅Ⅱ和Ⅲ

D、Ⅰ、Ⅱ、Ⅲ

12、(2010年计算机联考真题)下列选项中,降低进程优先级的合理时机是()。

A、进程时间片用完

B、进程刚完成I/O操作,进入就绪队列

C、进程长期处于就绪队列

D、进程从就绪状态转为运行状态

13、(2012年计算机联考真题)下列关于进程和线程的叙述中,正确的是()。

A、不管系统是否支持线程,进程都是资源分配的基本单位

B、线程是资源分配的基本单位,进程是调度的基本单位

C、系统级线程和用户级线程的切换都需要内核的支持

D、同一进程中的各个线程拥有各自不同的地址空间

进程同步的相关练习

14、不需要信号量就能实现的功能是()。

A、进程同步

B、进程互斥

D、进程的并发执行C、执行的前驱关系

15、若一个信号量的初值为3,进过多次PV操作以后当前值为-1,此表示等待进去临界区

的进程数是(

A、1

)。

B、2C、3D、4

16、一个正在访问临界资源的进程由于申请等待I/O操作而被中断时,它是()。

A、可以允许其他进程进入与该进程相关的临界区

B、不允许其他进程进入任何临界区

C、可以允许其他进程抢占处理器,但不得进入该进程的临界区

D、不允许任何进程抢占处理器

17、在操作系统中,要对并发进程进行同步的原因是(

A、进程必须在有限的时间内完成

C、并发进程是异步的)。

B、进程具有动态性

D、进程具有结构性

18、进程A和进程B通过共享缓冲区协作完成数据处理,进程A负责产生数据并放入缓冲

区,进程B从缓冲区读数据并输出。进程A和进程B之间的制约关系是()。

A、互斥关系

B、同步关系

D、无制约关系

)。

C、互斥和同步关系

19、在操作系统中,P、V操作是一种(

A、机器指令

)。

B、系统调用命令

D、低级进程通信原语C、作业控制命令

20、P操作可能导致(

A、进程就绪

21、原语是(

)。

B、进程结束C、进程阻塞D、新进程创建

A、运行在用户态的过程

C、可中断的指令序列

B、操作系统的内核

D、不可分割的指令序列

)。22、在用信号量机制实现互斥时,互斥信号量的初值为(

A、0B、1C、2D、3

23、用P、V操作实现进程同步,信号量的初值为()。

A、-1B、0C、1D、由用户确定

24、可以被多个进程在任意时刻共享的代码必须是()。

A、顺序代码

B、机器语言代码

D、无转移指令代码

)过程组成的。

C、不允许任何修改的代码

25、用来实现进程同步与互斥的PV操作实际上是由(

A、一个可被中断的

C、两个可被中断的

B、一个不可被中断的

D、两个不可被中断的

26、有三个进程共享同一程序段,而每次只允许两个进程进入该程序段,若用PV操作同步

机制,则信号量S的取值范围是()。

A、2,1,0,-1

B、3,2,1,0

D、1,0,-1,-2C、2,1,0,-1,-2

27、当一个进程因在互斥信号量mutex上执行V(mutex)操作而导致唤醒另一个进程时,

则执行V操作后mutex的值为(

A、大于0

)。

B、小于0

D、小于等于0C、大于等于0

28、若一个系统中共有5个并发进程涉及某个相同的变量A,则变量A的相关临界区是由

()个临界区构成的。

A、1B、3C、5D、6

29、对信号量S执行P操作后,使该进程进入资源等待队列的条件是()。

A、<0

C、>0

B、<=0

D、>=0

30、如果系统有n个进程,则就绪队列中进程的个数最多有(①)个;阻塞队列中进程

的个数最多有(②)个。

①A、n+1

②A、n+1

B、n

B、n

C、n-1

C、n-1

D、1

D、1

)。31、下列关于PV操作的说法正确的是(

Ⅰ、PV操作是一种系统调用命令

Ⅱ、PV操作是一种低级进程通信原语

Ⅲ、PV操作是由一个不可被中断的过程组成

Ⅳ、PV操作是由两个不可被中断的过程组成

A、Ⅰ、Ⅲ

B、Ⅱ、Ⅳ

D、Ⅰ、ⅣC、Ⅰ、Ⅱ、Ⅳ

32、有一个计数信号量S:

1)假如若干个进程队S进行了28次P操作和18次V操作之后,信号量S的值为0。

2)假如若干个进程对信号量S进行了15次P操作和2次V操作,请问此时有()个进

程等待在信号量S的队列中。

A、2B、3C、5D、7

33、有两个并发进程P1、P2,其程序代码如下:

P1(){

x=1;//A1

y=2;

z=x+y;

printz;//A2

}

P2(){x=-3;//B1c=x*x;printc;//B2

}

可能打印出z的值和可能打印出的c值为()。

(其中x为P1、P2的共享变量)。

A、z=1,-3;c=-1,9

C、z=-1,3,1;c=9

B、z=-1,3;c=1,9

D、z=3;c=1,9

34、在9个生产者、6个消费者共享容量为8的缓冲器的生产者—消费者问题中,互斥使

用缓冲器的信号量初始值为()。

A、1B、6C、8D、9

35、有两个优先级相同的并发程序P1和P2,它们的执行过程如下所示。假设,当前信号

量s1=0,s2=0.当前的z=2,进程运行结束后,x、y和z的值分别是()。

进程P1

y:=1;

y:=y+2;

z:=y+1

V(s1);

P(s2);

y:z+y;

A、5,9,9

C、5,12,9

进程P2

x:=1;

x:=x+1;

P(s1);

x:=x+y;

z:=x+z;

V(s2);

B、5,9,4

D、5,12,4

36、(2010年计算机联考真题)设与某资源关联的信号量(K)初值为3,当前值1。若M

表示该资源的可用个数,表示等待该资源的进程数,则M、分别是()。

A.0、1B.1、0C.1、2D.2、0

37、(2010年计算机联考真题)进程P0和进程P1的共享变量定义及其初值为:booleanflag[2];

intturn=0;

flag[0]=false;

flag[1]=false;

若进程P0和进程P1访问临界资源的类C代码实现如下:

voidP0(){//进程P0

while(true){

flag[0]=true;

turn=1;

while(flag[1]&&(turn==1));

临界区;

flag[0]=false;

}

}

voidP1(){//进程P1

while(true){

flag[1]=true;

turn=0;

while(flag[0]&&(turn==0));

临界区;

flag[1]=false;

}

}

则并发执行进程P0和进程P1时产生的情况是()。

A、不能保证进程互斥进入临界区,会出现“饥饿”现象

B、不能保证进程互斥进入临界区,不会出现“饥饿”现象

C、能保证进程互斥进入临界区,会出现“饥饿”现象

D、能保证进程互斥进入临界区,不会出现“饥饿”现象

38、(2011年计算机联考真题)有两个并发执行的进程P1和进程P2,共享初值为1的变量

x。P1对x加1,P2对x减1。加1和减1操作的指令序列分别如下:

两个操作完成后,x的值()

//加1操作

loadR1,x

//取x到寄存器R1中

incR1

storex,R1

//将R1的内容存入x中

A、可能为-1或3

//减1操作

loadR2,x

//取x到寄存器R2中

decR2

storex,R2

//将R2的内容存入x中

B、只能为1

D、可能为-1、0、1或2

)的关系。

C、可能为0、1或2

39、对于一个可执行程序文件,该程序与执行它的进程是(

A、一对一B、一对多C、多对一

)。

D、多对多

40、在单CPU系统中实现并发技术后(

A、进程在一个时间段内并行执行,CPU与外设并行工作。

B、进程在一个时刻并行执行,CPU与外设并行工作。

C、进程在一个时间段内并行执行,CPU与外设串行工作。

D、进程在一个时刻并行执行,CPU与外设串行工作。

41、若记录型信号量S的初值为2,当前值为-1,则表示有()等待进程。

A、0个

42、当(B、1个C、2个D、3个)时,进程从执行状态转变为就绪状态。

A、进程被调度程序选中

C、等待某一事件

B、有高优先级进程到来

D、等待的事件发生)转换是不可能发生的。

B、执行态→就绪态

D、阻塞态→执行态

43、在进程转换时,下列(

A、就绪态→执行态

C、执行态→阻塞态

44、下列各项工作步骤中,()不是创建进程所必须的步骤。

A、建立一个PCB

B.阻塞进程

D.将PCB连接入进程就绪队列

)。

C、为进程分配内存等必要资源

45、在操作系统中,死锁出现指的是(

A、计算机发生了重大故障

B、资源数远远少于进程数

C、若干进程因竞争资源而无限等待其他进程释放已占有的资源

D、进程同时申请的资源数超过资源总数

46、下列关于进程的描述中,正确的是(

A、进程获得CPU而运行是通过调度得到的。

B、优先级是进行进程调度的重要依据,一旦确定不能改变。

C、在单CPU系统中,任一时刻都有1个进程处于运行状态。

D、进程申请CPU得不到满足时,其状态变为等待状态。

47、消息缓冲队列通信中的临界资源是(

A.队列中的某个消息缓冲区

C.信箱

)。

)。

B.整个消息缓冲队列

D.管道

48、处于执行状态中的进程若同时发生了下列两种情况:

(a)对某信号量执行P操作后,其结果为负;

(b)时间片到了中断发生。

则该进程将由执行状态变迁为(

A.阻塞B.就绪

)状态。D.不定C.阻塞或就绪

填空题

49、从静态角度上看,进程是由PCB、程序段、数据段三部分组成。

50

、正在执行的进程由于用完其时间片而被暂停执行,此时进程应从执行状态变成为就绪

状态。

51

、引入进程,可带来资源利用率的提高和系统吞吐量的增加的好处,但却增加了系统的

时间和空间的开销。

52、临界区是指进程中用于访问临界资源的那段代码。

53、(①C)是一种只能由P和V操作所改变的整型变量,(①)可用于实现进程的(②D)

和(③A),(②)是指排他性地访问临界资源。

①:A、控制变量

B、锁

B、通信

C、整型信号量

C、调度

D、记录型信号量

D、互斥②,③:A、同步

54、设有6个进程共享同一互斥段,若最多允许有3个进程进入互斥段,则所采用的互斥

信号量的初值为3。

55、有3个进程共享同一程序段,而每次最多允许两个进程进入该程序段,若用P、V操作

作同步机制,则记录型信号量S的取值范围为2、1、0、-1。

56、为实现消息缓冲通信,在PCB

中应增加消息队列首指针、消息队列互斥信号量和消息

队列资源信号量三个数据项。

57、在直接通信方式中,系统通常提供的两条通信原语如下,请选择适当的参数填入。

Send(receiver,message);

Receive(sender,message);

58、下列原语中,能进行进程通信的原语是P、V操作和锁/开锁。

应用题

59、设有无穷多个缓冲区和无穷多个信息,A进程把信息逐个的写入每个缓冲区,B进程则

逐个地从缓冲区中取出信息。试问:

(1)两个进程之间的制约关系;

(2)用P、V操作写出两进程的同步算法,并给出信号量的初值;

(3)指出信号量的值的变化范围和其值的含义。

60、(购物问题)某超级市场,可容纳100个人同时购物,入口处备有篮子,每个购物者可

持一个篮子入内购物。出口处结账,并归还篮子(出、入口仅容纳一人通过)。请用P、V

操作完成购物同步算法。

61、(独木桥问题)某条河上只有一座独木桥,以便行人过河。现在河的两边都有人要过

桥,按照下面的规则过桥。为了保证过桥安全,请用P、V操作分别实现正确的管理。

过桥的规则是:同一方向的可连续过桥,某方向有人过桥时另一方向的人要等待。

62、(拣棋子问题)生产围棋的工人不小心把相等数量的黑棋子和白棋混装在一个箱子里,

先要用自动分拣系统把黑棋子和白棋子分开,该系统由两个并发执行的进程组成,系统功

能如下:

(1)进程A专门拣黑子,进程B专门拣白子;

(2)每个进程每次只拣一个子,当一个进程在拣子时不允许另一进程去拣子;

(3)当一个进程拣了一个子(黑或白)以后,必让另一个进程拣一个子(黑或白)。

请用P、V操作管理两个并发进程,使其能正确实现上述功能。

63、(和尚问题)某寺庙有小、老和尚若干,有一水缸,由小和尚提水入缸供老和尚饮用。

水缸可以容纳10桶水,水取自同一井水。水井狭窄,每次只能容一个桶取水。水桶总数为

3个。每次入、出水缸仅一桶,且不可同时进行。试给出有关取水、入水的算法描述。

第一章习题答案

1—10:BCDDB

11—20:DADDB

21—30:CCCDA

31—42:CBDBD

第二章习题答案

1—10:ACACDACDAC

BBAAD

CBCBA

ACDCA

DBCAADC

3、由于用户线程对操作系统内核透明(即操作系统无法感知用户级线程),所以这100个

线程共享操作系统分配给该进程的一个时间片。

11—20:CAADACCCDC

13、在引入线程后,进程依然是资源分配的基本单位,线程是调度的基本单位,同一进程

中的各个线程共享进程的地址空间。在用户级线程中,有关线程管理的所有工作都由应用

程序完成,无需内核的干预,内核意识不到线程的存在。

21—30:DBDCD

31—40:BBBAC

ADCACB

BDCBA

32、对S进行了28次P操作和18次V操作,即S-28+18=0,得信号量的初值为10;然

后,对信号量S进行了15次P操作和2次V操作,即S-15+2=10-15+2=-3,S信号量的负

值绝对值表示等待队列中的进程数,所以有3个进程等待在信号量S的队列中。

33、将P1中4条语句依次编号为1、2、3、4,P2中3条语句依次编号为5、6、7

(1)依次执行1、2、3、4、5、6、7得z=3,c=9

(2)依次执行1、2、5、6、7、3、4得结果z=-1,c=9

(3)依次执行5、1、2、3、4、6、7得结果z=3,c=1

(4)c=-1、z=1不可能得出

34、所谓互斥使用的某临界资源,是指在同一时间段只允许一个进程使用此资源,所以互

斥信号量的初值都为1。

35、由于进程并发,所以进程的执行具有不确定性,在P1、P2执行到第一个P、V操作

前,应该是相互无关的。

现在考虑第一个对S1的P、V操作,由于进程P2是P(S1)操作,所以它必须等待P1执行

完V(S1)操作以后才可继续运行,此时的x、y、z值分别是3、3、4,当进程P1执行完

V(s1)以后便在P(s2)上阻塞,此时P2可以运行直到V(s2),此时的x、y、z值分别是5、

3、9,进程P1继续运行到结束,最终的x、y、z值分别为5、12、9。

36、信号量表示相关资源的当前可以数量。

当信号量K>0时,表示还有K个相关资源可用,所以该资源的可用个数是1。

当信号量K<0时,表示有|K|个进程在等待该资源。由于资源有剩余,可见没有其他进程等

待使用该资源,故进程数为0。

37、这是皮特森算法的实际实现,保证进入临界区的进程合理安全。

该算法为了防止两个进程为进入临界区而无限期等待,设置变量turn,表示不允许进入临

界区的编号,每个进程在先设置自己标志后再设置turn标志,这样可以保证当两个进程同

时要求进入临界区时只允许一个进程进入临界区。保存的是较晚的一次赋值,则较晚的进

程等待,较早的进程进入。先到先入,后到等待,从而完成临界区访问的要求。

(其实这里可以想象为两个人进门,每个人进门前都会和对方客套一句“你先走”。如果进门时没有人,

就当和空气说句废话,然后大步登门入室;如果两个人同时进门,就互相请先,但各自只客套一次,所以

先客套的人请完对方,就等着对方请自己,然后光明正大进门。)

38、将P1中3条语句依次编号为1、2、3;将P2中3条语句依次编号为4、5、6。

(1)依次执行1、2、3、4、5、6得结果1

(2)依次执行1、2、4、5、6、3得结果2

(3)执行4、5、1、2、3、6得结果0

(4)结果-1不可能得出

41—48:BBDBCABA

59、答:(1)B进程不能超前A进程,但A进程不受B进程的约束。

(2)

VarS:semaphore:=0;

begin

parbegin

processA:

begin

i:=0;

L:i:=i+1;

写入第i个缓冲区;

V(S);

gotoL;

end

parend;

end

processB:

begin

j:=0;

M:j:=j+1;

P(S);

读出第j个缓冲区信息;

gotoM;

end

(3)信号量S的值域为[-1,∞]中的整数,当S=-1时,表示缓冲区从未写入或B读空,

且B要求进一步读出,也即B超前A欲读取信息。

60、答:

VarS,mutex1,mutex2:semaphore;

S:=100;

mutex1:=1;

mutex2:=1;

processPi:

begin

P(S);

P(mutex1);

进入口处,取一只篮子;

V(mutex1);

选购商品;

P(mutex2);

结账,并归还篮子;

V(mutex2);

V(S);

end

61、答:

方法一:

VarS,S1,S2:semaphore;

rc1,rc2:integer;

S,S1,S2:=1;

rc1,rc2:=0;

process(E-W)i:

begin

P(S1);

rc1:=rc1+1;

ifrc1=1thenP(S);

V(S1);

过桥;

P(S1);

rc1:=rc1-1;

ifrc1=0thenV(S);

V(S1);

end

process(W-E)j:

begin

P(S2);

rc2:=rc2+1;

ifrc2=1thenP(S);

V(S2);

过桥;

P(S2);

rc2:=rc2-1;

ifrc2=0thenV(S);

V(S2);

end

方法二:

Varmutex:semaphore;

process(E-W)i:

begin

P(mutex);

过桥;

V(mutex);

end

62、答:

VarS1,S2:semaphore:=1,0;

processA:

begin

repeat

P(S1);

拣黑子;

V(S2);

untilfalse;

end;

63、答:

Varmutex1,mutex2,empty,full,count:semaphore;

mutex1:=1;mutex2:=1;

empty:=10;full:=0;count:=3;

process小和尚:process老和尚:

beginbegin

repeatrepeat

P(empty);P(full);

P(count);P(count);

P(mutex1);P(mutex2);

从井中取水;从缸中取水;

V(mutex1);V(mutex2);

P(mutex2);V(empty);

送水入水缸;V(count);

V(mutex2);untilfalse;

V(count);end

V(full);

untilfalse;

end

processB:

begin

repeat

P(S2);

拣白子;

V(S1);

untilfalse;

end;

process(W-E)j:

begin

P(mutex);

过桥;

V(mutex);

end

-

操作系统题目1-2章

发布时间:2022-04-14 10:33:38
文章版权声明:除非注明,否则均为IT技术网-学习WEB前端开发等IT技术的网络平台原创文章,转载或复制请以超链接形式并注明出处。

发表评论

评论列表 (有 9 条评论,865人围观)

最近发表

随便看看

热门文章

标签列表