进程管理及答案

合集下载

第二章进程管理答案

第二章进程管理答案

第二章进程管理一、单项选择题1、顺序程序和并发程序的执行相比,()。

A.基本相同B. 有点不同C.并发程序执行总体上执行时间快D.顺序程序执行总体上执行时间快2、在单一处理机上,将执行时间有重叠的几个程序称为()。

A.顺序程序B. 多道程序C.并发程序D. 并行程序3、进程和程序的本质区别是()。

A.存储在内存和外存B.顺序和非顺序执行机器指令C.分时使用和独占使用计算机资源D.动态和静态特征4、在下列特性中,不是进程的特性的是()。

A. 异步性B. 并发性C. 静态性D. 动态性5A6A.7A.8A.9A.10A.11A.12。

A.13A.14A.15A.16、在操作系统中,对信号量S的P原语操作定义中,使进程进入相应阻塞队列等待的条件是()。

A. S>0B. S=0C. S<0D. S≠017、信号量S的初值为8,在S上执行了10次P操作,6次V操作后,S的值为()。

A.10 B.8 C.6 D.418、在进程通信中,使用信箱方式交换信息的是()。

A.低级通信B.高级通信C.共享存储器通信D.管道通信19.( )必定会引起进程切换。

A.一个进程被创建后进入就绪态B.一个进程从运行态变成等待态c.一个进程从运行态变成就绪态 D.一个进程从等待态变成就绪态20、操作系统使用( )机制使计算机系统能实现进程并发执行,保证系统正常工作。

A.中断B.查询c.同步D互斥21.对于一个单处理器系统来说,允许若干进程同时执行,轮流占用处理器.称它们为()的。

A.顺序执行B.同时执行c.并行执行D.并发执行22.操作系统根据( )控制和管理进程,它是进程存在的标志。

A.程序状态字B.进程控制块 c.中断寄存器 D.中断装置23.若干个等待占有cPU并运行的进程按一定次序链接起来的队列为( )。

A.运行队列 B.后备队列 c.等待队列D.就绪队列24.进程的( )和并发性是两个很重要的属性。

A.动态性 B.静态性 c.易用性 D.顺序性25引入多道程序设计技术后,处理器的利用率( )。

全国自考操作系统(进程管理)模拟试卷1(题后含答案及解析)

全国自考操作系统(进程管理)模拟试卷1(题后含答案及解析)

全国自考操作系统(进程管理)模拟试卷1(题后含答案及解析) 题型有:1. 单项选择题 3. 填空题 4. 简答题 6. 判断题单项选择题1.下列作业调度算法中,作业平均周转时间最短的是_______。

A.先来先服务法B.短作业优先法C.优先数法D.时间片轮转法正确答案:B 涉及知识点:进程管理2.作业调度程序从处于_______态的队列中选取适当的作业调入主系统。

A.就绪B.提交C.后备D.等待正确答案:C 涉及知识点:进程管理3.一个进程_______必定会引起进程切换。

A.被创建后进入就绪态B.收到软中断信号后C.从运行态变为阻塞态D.从阻塞态变为就绪态正确答案:C 涉及知识点:进程管理4.一个运行的进程用完了分配给它的时间片后,它的状态转变为_______态。

A.阻塞B.睡眠C.就绪D.终止正确答案:C解析:一个运行的进程用完了分配给它的时间片,说明它本身逻辑上还能执行,且还需执行,它的状态转变为就绪状态。

知识模块:进程管理5.在UNIX系统中,下列proc结构的成员中与进程图像的调入有关的是_______。

A.p_sigB.p_timeC.p_cpuD.p_nice正确答案:B解析:进程图像的换入算法是找出在盘交换区的就绪进程,按它们在外存驻留时间p_time从长到短的次序逐个将它们换入内存,直至全部调入或内存无足够空闲区为止。

知识模块:进程管理6.CPU的执行状态分为系统态和用户态,从用户态转换到系统态的唯一途径是通过_______。

A.修改程序状态字B.中断屏蔽C.系统调用D.进程调度程序正确答案:C 涉及知识点:进程管理7.UNIX系统中,在下列的_______情况时,设置runrun标志。

A.进程因等待某一事件进入了高低优先权睡眠状态B.进程将盘交换区的SRUN状态进程调入内存C.在唤醒睡眠进程时,发现该进程优先数比curpri小D.进程完成了预定任务,进入了SZOMB状态正确答案:C 涉及知识点:进程管理8.在UNIX系统中,当0号进程在sched函数中找不到合适的换出进程时,就将全局标志变量_______置位。

操作系统(进程管理)习题与答案1

操作系统(进程管理)习题与答案1

一、单选题1、关于进程控制块的描述,如下存在问题的选项是()。

A.操作系统控制和管理并发执行进程的依据B.进程存在的惟一标志,离散存放于内存空间或对应程序的文件目录项中C.进程实体的一部分,是拥有描述进程情况及控制进程运行所需的全部信息的记录性数据结构D.使一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程正确答案:B2、进程标识符和进程控制块的分配可能发生在进程的()阶段。

A.阻塞B.挂起C.创建D.终止正确答案:C3、当一个进程被()时,可能会发生处理器的调度。

①终止;②挂起;③唤醒;④阻塞A.①②④B.①③④C.①②③④D.①④正确答案:C4、对于系统服务进程而言,如果当前没有任务,便会引发自身的()事件。

A.进程阻塞B.进程唤醒C.进程终止D.进程挂起正确答案:A5、引起进程重新调度的原因不包括()。

A.进程放弃处理器B.进程从核心态返回用户态C.进程执行系统调用和陷入内核态D.时钟中断正确答案:C6、关于进程同步机制基本准则:当无进程处于某临界资源所对应的临界区时,可允许一个请求进入(该临界资源所对应的)临界区的进程立即进入自己的临界区,这称之为()。

A.忙则等待B.有限等待C.空闲让进D.让权等待正确答案:C7、关于进程同步机制基本准则:当已有进程进入自己的对应于某临界资源的临界区时,所有企图进入该临界资源所对应临界区的进程必须等待,这称之为()。

A.循环等待B.忙则等待C.有限等待D.让权等待正确答案:B8、关于进程同步机制基本准则:对要求访问临界资源的进程,应保证该进程能在有限时间内进入自己的临界区,这称之为()。

A.忙则等待B.循环等待C.有限等待D.让权等待正确答案:C9、进程同步机制应遵循让权等待准则,故而当一个进程不能进入自己的临界区时,其应当释放()。

A.处理器B.I/O设备C.内存空间D.外存空间正确答案:A10、利用硬件指令能有效地实现进程互斥,但它却不能满足()的准则,造成了处理器时间的浪费,而且也很难将它用于解决较复杂的进程同步问题。

进程管理实验报告答案

进程管理实验报告答案

一、实验目的1. 理解进程的概念,明确进程与程序的区别。

2. 掌握进程的创建、调度、同步、互斥和通信等基本操作。

3. 熟悉Linux操作系统下进程管理的常用命令和工具。

二、实验环境1. 操作系统:Linux2. 编程语言:C3. 开发工具:gcc三、实验内容1. 进程的创建与调度(1)使用fork()函数创建子进程```c#include <stdio.h>#include <unistd.h>int main() {pid_t pid = fork();if (pid < 0) {perror("fork failed");return 1;} else if (pid == 0) {// 子进程printf("This is child process.\n");return 0;} else {// 父进程printf("This is parent process.\n"); return 0;}}```(2)使用exec()函数替换子进程内容```c#include <stdio.h>#include <unistd.h>int main() {pid_t pid = fork();if (pid < 0) {perror("fork failed");return 1;} else if (pid == 0) {// 子进程execlp("ls", "ls", "-l", (char )NULL); perror("execlp failed");return 1;} else {// 父进程printf("This is parent process.\n");return 0;}}```2. 进程同步与互斥(1)使用信号量实现进程同步```c#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <pthread.h>int shared_resource = 0;void producer(void arg) {for (int i = 0; i < 5; i++) {pthread_mutex_lock(&mutex);shared_resource++;printf("Producer: %d\n", shared_resource); pthread_mutex_unlock(&mutex);sleep(1);}return NULL;}void consumer(void arg) {for (int i = 0; i < 5; i++) {pthread_mutex_lock(&mutex);shared_resource--;printf("Consumer: %d\n", shared_resource); pthread_mutex_unlock(&mutex);sleep(1);}return NULL;}int main() {pthread_mutex_t mutex;pthread_t prod, cons;pthread_mutex_init(&mutex, NULL);pthread_create(&prod, NULL, producer, NULL); pthread_create(&cons, NULL, consumer, NULL); pthread_join(prod, NULL);pthread_join(cons, NULL);pthread_mutex_destroy(&mutex);return 0;}```(2)使用互斥锁实现进程互斥#include <stdio.h>#include <stdlib.h>#include <pthread.h>int shared_resource = 0;pthread_mutex_t lock;void producer(void arg) {for (int i = 0; i < 5; i++) {pthread_mutex_lock(&lock);shared_resource++;printf("Producer: %d\n", shared_resource); pthread_mutex_unlock(&lock);sleep(1);}return NULL;}void consumer(void arg) {for (int i = 0; i < 5; i++) {pthread_mutex_lock(&lock);shared_resource--;printf("Consumer: %d\n", shared_resource); pthread_mutex_unlock(&lock);sleep(1);return NULL;}int main() {pthread_t prod, cons;pthread_mutex_init(&lock, NULL);pthread_create(&prod, NULL, producer, NULL); pthread_create(&cons, NULL, consumer, NULL); pthread_join(prod, NULL);pthread_join(cons, NULL);pthread_mutex_destroy(&lock);return 0;}```3. 进程通信(1)使用管道实现进程通信```c#include <stdio.h>#include <stdlib.h>#include <unistd.h>int main() {int pipefd[2];pid_t cpid;if (pipe(pipefd) == -1) {perror("pipe");exit(EXIT_FAILURE);}cpid = fork();if (cpid == -1) {perror("fork");exit(EXIT_FAILURE);}if (cpid == 0) { // 子进程close(pipefd[1]); // 关闭写端dup2(pipefd[0], STDIN_FILENO); // 将读端复制到标准输入 char args[] = {"./consumer", NULL};execvp(args[0], args);perror("execvp");exit(EXIT_FAILURE);} else { // 父进程close(pipefd[0]); // 关闭读端char buffer[1024];write(pipefd[1], "Hello, consumer!\n", 18);read(pipefd[0], buffer, 1024);printf("Parent: %s", buffer);close(pipefd[1]);wait(NULL);}return 0;}```(2)使用共享内存实现进程通信```c#include <stdio.h>#include <stdlib.h>#include <sys/ipc.h>#include <sys/shm.h>#include <sys/types.h>#include <unistd.h>#define SHM_SIZE 1024int main() {key_t key = 1234;int shmid;char shm, s;shmid = shmget(key, SHM_SIZE, 0644 | IPC_CREAT); if (shmid == -1) {perror("shmget");exit(EXIT_FAILURE);}shm = shmat(shmid, (void )0, 0);if (shm == (char )(-1)) {perror("shmat");exit(EXIT_FAILURE);}s = shm;while (s != '\0') {putchar(s);s++;}putchar('\n');shmdt(shm);shmctl(shmid, IPC_RMID, NULL);return 0;}```四、实验总结通过本次实验,我们深入了解了Linux操作系统下进程管理的基本操作,包括进程的创建、调度、同步、互斥和通信等。

第二章 操作系统进程(练习题答案)

第二章 操作系统进程(练习题答案)

第二章进程管理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。

实验6 进程管理(答案)

实验6 进程管理(答案)

实验四进程管理1.目的和要求(1)练习Linux进程管理命令(2)了解如何监视系统运行状态(3)掌握查看、删除进程的正确方法(4)掌握命令在后台运行的用法(5)掌握进程手工、调度启动的方法2.实验环境硬件:PC机软件:ubuntu操作系统、虚拟机3.实验步骤1)进入系统,用top命令察看当前系统的状态,并识别各进程的有关说明信息,给出相应截图和解释说明2)用ps命令察看系统当前的进程,并把系统当前的进程保存到文件process中。

ps aux>process 或者ps -ef3)查看当前进程树ps axf4)查看系统当前有没有init进程?用ps –aux|grep init查看5)找出bash进程的父进程是哪个进程。

6)杀死bash进程,发生了什么事?7)输入“cat <回车>”按<Ctrl>-z 键,出现什么情况?输入fg命令出现什么情况?按<Ctrl>-c 键,出现什么情况?按<Ctrl>-z 键转入后台运行,fg把后台命令移回前台按<Ctrl>-c 键终止命令8)输入“find / -name ls*>temp &”,该命令的功能是什么?再次查看该进程,有什么结果?接着输入killall find命令后,再查看该进程,有什么结果?查找所有硬盘中ls开头的文件,并把文件名定向到temp中9)在前台运行2个睡眠进程后,均挂起;列出所有正在运行的作业:jobs在前台运行睡眠进程sleep 100000使用Ctrl-z 挂起进程在前台运行睡眠进程sleep 200000使用Ctrl-z 挂起进程10)在前台运行1个vi进程后,挂起;ViCtrl-z11)在后台运行1个睡眠进程。

sleep 300000 &12)列出所有正在运行的作业,并查看进程PIDjobs -l13)将第二默认作业在后台继续运行。

查看当前作业情况。

进程管理练习及参考答案

进程管理练习及参考答案

OS概述、进程管理练习答案一、单项选择题(OS概述部分)1、UNIX O.S. 属于一种( A )操作系统。

A.分时B.批处理C.实时D.分布式2、计算机软件中,最靠近硬件层次的一类软件是(C )。

A.应用软件B.支撑软件C.系统软件D.编译软件3、下列四个操作系统中,是分时系统的为(C )。

A.CP/MB.MS-DOSC.UNIXD.WINDOWS NT4、在操作系统中,设计者往往编制了许多完成不同功能的子程序供用户程序中使用,这些子程序被称为(B )。

A.作业控制语言B.系统调用C.操作控制命令D.访管命令5、个人计算机操作系统也被称为( B )。

A.多用户操作系统B.单用户操作系统C.实时操作系统D.批处理操作系统6、批处理系统的主要缺点是( B )。

A.CPU的利用率不高B.失去了交互性C.不具备并行性D.以上都不是7、DOS操作系统主要的功能是(A )。

A.文件管理功能B.中断处理功能C.作业管理功能D.打印管理功能8、第一个在计算机上实现的操作系统是(C )。

A.分时操作系统B.实时操作系统C.单道批处理系统D.单用户操作系统9、操作系统的功能是进行处理器管理、作业管理、( B )管理、设备管理和文件管理。

A.进程B.存储器C.硬件D.软件10、设计实时操作系统时,首先应该考虑系统的(B )。

A.可靠性和灵活性B.实时性和可靠性C.灵活性和可靠性D.优良性和分配性11、操作系统是计算机系统的(B )。

A.应用软件B.系统软件C.硬件D.固件12、从工作的角度看操作系统,可以分为:单用户操作系统、批处理系统、(B )和实时系统。

A.单机操作系统B.分时操作系统C.面向过程的操作系统D.网络操作系统13、下列系统中,( B )是实时系统。

A.计算机激光照排系统B.航空定票系统C.办公自动化系统D.计算机辅助设计系统14、工业过程控制系统中运行的操作系统最好是( B )。

A.分时系统B. 实时系统C.分布式操作系统D.网络操作系统15、计算机发展到第三代,操作系统已成为软件的一个重要分支,最早的操作系统是(D )。

操作系统(进程管理)习题与答案

操作系统(进程管理)习题与答案

1、程序在独占处理器的情况下运行时:只要程序执行时的环境和初始条件相同,程序重复执行的结果相同,这称之为()。

A.顺序性B.封闭性C.开放性D.可再现性正确答案:D2、程序在独占处理器的情况下运行时,将会体现出顺序性的执行特征,这是指()。

A.程序在封闭环境下运行并独占计算机的所有资源B.程序严格按照源码编辑、源程序编译、目标程序链接和可执行程序运行的过程来执行处理C.处理机的操作,严格按照规定顺序执行D.程序的执行严格按照其代码排列先后次序而顺序执行正确答案:C3、程序在独占处理器的情况下运行时将会体现出封闭性的特征。

关于这里的封闭性的理解或描述,下列不正确的选项是()。

A.程序在封闭环境下运行并独占计算机的所有资源B.程序的执行结果不受外界因素的影响C.程序的执行相对封闭,但受到并发协作进程的制约D.只有当前运行的程序才能改变计算机系统资源的状态正确答案:C4、如果没有进程控制块和进程的概念以及相应的操作系统支撑机制,程序在并发执行的情况下,将会体现出如下除选项()之外的各项特征。

A.间断性(即“执行—暂停执行—执行”的执行活动规律)B.顺序性(指处理机的操作,严格按照规定顺序执行)C.非封闭性(程序运行受到其它并发程序的影响)D.程序并发执行计算结果的不可再现性正确答案:B5、进程是对并发程序的描述机制,是程序的运行过程,由()所组成。

A.程序段和数据段B.程序段、数据段和进程控制块C.进程控制块、本进程区表、系统区表、文件描述符表和文件打开表D.程序上下文和寄存器上下文正确答案:B6、现代操作系统中,()是系统实施内存资源分配和管理的一个独立实体。

A.管程B.程序C.进程D.线程正确答案:C7、与程序相比,进程是一个动态的概念,具有一定的生命周期,并支持多道程序的并发执行。

关于并发的最准确的说法是()。

A.多道程序同时进入内存,并在宏观上(即一段时间内)同时运行B.多道程序同时存放在外存储器上,并形成了作业后备队列C.多道程序同时进入内存,并在微观观上(即一个时刻点上)同时运行D.多道程序共享内存,并分别在多个处理器上同时运行正确答案:A8、()存放了进程标识符、进程运行的当前状态、程序和数据的地址以及关于该程序运行时的CPU环境信息。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、单项选择题:1、在多进程的系统中,为了保证公共变量的完整性,各进程应互斥进入临界区。

所谓临界区是指()。

a. 一个缓冲区b. 一段数据区c. 同步机制d. 一段程序2、一个进程是()。

a. 由协处理机执行的一个程序b. 一个独立的程序+数据集c. PCB结构与程序和数据的组合d. 一个独立的程序3、在操作系统中,信号量表示资源实体,是一个与队列有关的()变量,其值仅能用P、V 操作来改变。

a. 实型b. 整型c. 布尔型d. 记录型4、设有5个进程共享一个互斥段,如果最多允许有3个进程同时进入互斥段,则所采用的互斥信号量的初值应是()。

a. 5b. 3c. 1d. 05、并发进程之间()。

a. 彼此无关b. 必须同步c. 必须互斥d. 可能需要同步或互斥6、实现进程之间同步与互斥的通信工具为()。

a. P、V操作b. 信箱通信c. 消息缓冲d. 高级通信7、n个进程共享某一临界资源,则互斥信号量的取值范围为()。

a. 0~1b. –1~0c. 1~-(n-1)d. 0~-(n-1)二、多项选择题:1、进程的属性包括( )。

A.进程就是程序,或者说进程是程序的另一种说法。

B.一个被创建的进程,在它消灭之前,在任何时刻总是处于三种状态之一。

C.多个不同的进程可以包含相同的程序。

D.一个处于等待队列中的进程,既使进入其他状态,仍然放在等待队列之中。

E.两个进程可以同时处于运行状态。

2、进程具有的特性有()。

A.动态性B.共享性C.并发性D.静态性E.独立性F.不确定性3、若系统有同类资源5个,被3个进程所共享,每个进程最多可申请()个该类资源时,可使系统不会产生死锁。

A.1 B.2 C.4 D.3 E.54、一个进程从阻塞状态变为就绪状态的原因可能是()。

A.进程调度程序的调度B.现运行进程的时间片的用完C.被阻塞进程的I/O操作完成D.现运行进程执行了P操作E.现运行进程执行了V操作5、单道程序执行的特征有()。

A.顺序性B.确定性C.可再现性D.独占性E.封闭性6、解决死锁的对策有()A.预防死锁B.避免死锁C.条件对策D.检测对策E.解除死锁7、进程的三种基本状态是()。

A.就绪B.运行C.阻塞D.提交E.撤销8、死锁的预防措施有()。

A.静态资源分配法B.动态资源分配法C.资源顺序分配法D.非剥夺控制法E.剥夺控制法9、进程从运行态进入就绪态的原因可能是()。

A.出现了I/O请求B.某I/O请求已完成C.时间片到D.现运行进程执行了P操作E.在剥夺式进程调度下有更高优先级的就绪进程出现10、预防死锁的的常用方法有()。

A.破坏请求和保持条件B.破坏非剥夺条件C.破坏互斥使用条件D.破坏环路等待条件E.破坏同步条件三、填空题:1.()调度是处理机的高级调度,()调度是处理机的低级调度。

2.脱机作业控制方式有()方式和()方式。

3.一个作业运行时间假定为1小时,它在系统中等待了2小时,则该作业的响应比是()。

4.如果系统中所有作业是同时到达的,则使作业平均周转时间最短的作业调度算法是()。

5.确定作业调度算法时应注意系统资源的均衡使用,使()作业和()作业搭配运行。

6.每个作业步都是一个()的执行,前一个作业步的结果信息往往作为后一个作业步的()。

7.在多道批处理系统中,通常采用以下两种调度算法:1.();2.()。

8.一个理想的作业调度算法应该是既能(),又能使进入系统的作业()得到计算结果。

9.响应比高者优先算法综合考虑了作业的()和()。

10.若一个作业的运行时间为2小时,它在系统中等待了3小时,则该作业的响应比是()。

11.作业调度又称(),其主要功能是(),并为作业做好运行前的准备工作和作业完成后的善后处理工作。

12.交互式作业的特点是采用()的方式工作。

四、综合题:1、什么是线程?试说明线程与进程的关系。

2、操作系统中为什么要引入进程的概念?为了实现并发进程间的合作和协调工作,以及保证系统的安全,操作系统在进程管理方面应做哪些工作?3、消息队列通信机制应有哪几方面的功能?4、要使一个系统不发生死锁,一般可采用哪些方法?简述它们的实现原理.5、简述进程和程序的区别。

6、设系统中只有一台打印机,有三个用户的程序在执行过程中都要使用打印机输出计算结果。

设每个用户程序对应一个进程。

问:这三个进程间有什么样的制约关系?试用P、V操作写出这些进程使用打印机的算法。

7、判断下面的同步问题的算法是否正确?若有错,请指出错误原因并予以改正。

(1)设A、B两进程共用一个缓冲区Q,A向Q写入信息,B则从Q读出信息,算法框图如图所示。

注:信号量S的初值为0(2)设A、B为两个并发进程,它们共享一临界资源。

其运行临界区的算法框图如图所示。

注:信号量S1、S2的初值均为08、设有一台计算机,有两条I/O通道,分别接一台卡片输入机和一台打印机。

卡片机把一叠卡片逐一输入到缓冲区B1中,加工处理后在搬到缓冲区B2中,并在打印机上印出,问:①系统要设几个进程来完成这个任务?各自的工作是什么?②这些进程间有什么样的相互制约关系?③用P、V操作写出这些进程的同步算法。

9、试以某航空公司为两旅行社a和b的顾客预订飞机票为例,说明互斥的含义。

10、试以生产者--消费者问题为例,用PV操作说明进程同步问题的实质。

11、在UNIX 系统中,其进程调度方式是什么?引起进程调度的时机有那些?12、某一系统进程的资源分配“瞬间状态”为已分配资源矩阵最多资源矩阵可用资源向量P0 0 0 1 2 0 0 1 2 1 5 2 0P1 1 0 0 0 1 7 5 0P2 1 3 5 4 2 3 5 6P3 0 6 3 2 0 6 5 2P4 0 0 1 4 0 6 5 6使用银行家算法回答:系统是否安全?如果进程P1要求(0,4,2,0),系统能否立即满足进程的要求?13、用信号量和P,V操作描述读者-写者问题:即允许多个读者同时读一个共享对象,但绝不允许一个写者和其它进程同时访问共享对象。

14、什么为核心态、用户态、特权指令?下列哪些指令为特权指令?(1)改变存储器管理寄存器(2)写程序计数器(3)读日历钟(4)设置日历钟(5)改变处理器优先级(6)写指令寄存器15、一个多级反馈队列的系统中,一个使用CPU较多的进程需要执行50秒。

如果第一个队列时间片为5,并且较低一级的时间片是上一级的时间片的2倍,那么这个作业会被中断多少次?当他终止的时候,处于那一级队列?16、什么是死锁?死锁预防的措施有哪些?为什么?17、假设某系统有同类资源12个,有三个进程P1,P2,P3来共享,已知P1、P2、P3所需要资源总数分别为8,6,9,它们申请资源的次序和数量如表所示,系统采用银行家算法为它们分配资源。

(1)哪次申请分配会使系统进入不安全状态?(2)执行完序号为6的申请后,各进程的状态和各进程已占用的资源数?序号进程申请量1 P1 42 P2 43 P3 24 P1 15 P3 26 P2 2………………18、三个进程A、B、C,共享两个缓冲区B1和B2。

缓冲区B1中可存放n件产品,缓冲区B2中可存放m件产品。

进程A每次生产一件产品并将其存入缓冲区B1中;进程B每次从缓冲区B1中取出一件产品后再把它送到缓冲区B2中;进程C每次从缓冲区B2中取出一件产品去消费。

为防止把产品存入已满的缓冲区,或从空的缓冲区取产品、或重复取产品,试用PV操作实现它们之间的制约。

答案一、单项选择题:1.d 2. c 3. b 4. b 5. d 6. a 7. c二、多项选择题:1.BC 2.ACE 3.AB 4.CE 5.ABCDE6.ABDE 7.ABC 8.ACE 9.CE 10. ABD三、填空题:1.作业进程2.作业控制卡作业说明书3.3 4.短作业优先5.I/O繁忙CPU繁忙6.相应程序输入信息7.优先级调度算法均衡调度算法8.提高系统效率及时9.等待时间计算时间10. 2.5 11. 高级调度按照目某种原则从后备队列中选取作业12. 人机对话四、综合题:1、答:(1)线程是为了减少程序并发执行时的开销而引入的。

线程的特点有:结构性、能动性、并发性、动态性。

(2)联系及区别:进程是任务调度的单位,也是系统资源的分配单位,而线程可以看作是进程中的一条执行路径。

当系统支持多线程处理时,线程是任务调度的基本单位,但不是资源的分配单位,而进程恰好相反;每个进程至少有一个执行线程;当系统支持多线程处理时,线程的切换频繁,每次切换的开销较小,因此被称为“轻量级的进程”。

而进程的切换开销较大。

2、答:程序并发执行可以充分利用系统资源、提高系统的处理能力。

若不加以管制,这种资源共享和竞争就会呈现无序状态,程序执行就会失去封闭性和可再现性,使结果失真。

操作系统对进程管理应做如下工作:进程控制、进程调度、进程同步、进程通信3、答:在这种通信机制中,应当设有:消息缓冲区、消息发送原语、消息接收原语,在接收者的PCB中,设有消息队列指针及实现同步与互斥机制的信号量。

4、答:(1)死锁检测:当系统为进程分配资源时,若未采用任何限制性措施,则必须保存有关资源的请求和分配信息,并采用某种算法根据这些信息来检测系统是否已进入死锁状态。

(2)死锁解除:当死锁出现后常采用撤销某些进程或剥夺某些进程资源的方法来解除死锁。

(3)死锁避免:该方法把系统的状态分为安全和不安全两种,并保证系统始终处于安全状态,从而避免死锁的发生。

(4)死锁预防:通过破坏死锁的4个必要条件中的2-4个条件之一来预防死锁的出现,即:①破坏“请求和保持”条件②破坏“不剥夺”条件③破坏“环路等待”条件5、答:进程和程序是既有联系又有区别的两个概念,他们的区别如下:(1)程序是指令的有序集合,其本身没有任何运行的含义,它是一个静态的概念。

而进程是程序在处理机上的一次执行过程,它是一个动态概念。

(2)程序的存在是永久的,而进程则是有生命的,它因创建而产生,因调度而执行,因得不到资源而暂停,因撤销而消亡。

(3)程序仅是指令的有序集合。

而进程则是由程序、数据和进程控制块组成。

(4)进程与程序之间不是一一对应的,即同一程序运行于若干不同的数据集合上,它将属于若干个不同的进程;而一个进程可以执行多个程序。

6、答:因为打印机是一种临界资源,所以这三个进程只能互斥使用这台打印机,即一个用户的计算结果打印完之后,另一个用户再打印。

设三个进程分别为A、B和C。

设一个互斥信号量mutex,其初值为1。

A进程 B进程 C进程P(mutex) P(mutex) P(mutex)使用打印机使用打印机使用打印机V(mutex) V(mutex) V(mutex)7、答:①这个算法不对。

因为A、B两进程共用一个缓冲区Q,如果A先运行,且信息数量足够多,那么缓冲区Q中的信息就会发生后面的冲掉前面的,造成信息丢失,B就不能从Q中读出完整的信息。

相关文档
最新文档