3进程与并发程序设计
- 格式:ppt
- 大小:5.79 MB
- 文档页数:59


河北科技大学理工学院软件工程专业大二2017-2018学年操作系统试题1、操作系统是对()进行管理的软件。
[单选题] *A、软件B、硬件C、计算机资源(正确答案)D、应用程序2、下面关于操作系统说法错误的是()。
[单选题] *A、操作系统是最核心的软件B、操作系统间接控制硬件(正确答案)C、操作系统控制其他软件D、操作系统可以提高系统的效率3、关于操作系统和支撑软件的说法错误的是() [单选题] *A、操作系统在支撑软件的基础之上才能运行(正确答案)B、操作系统控制支撑软件C、支撑软件通过操作系统来使用硬件D、操作系统可以决定支撑软件的运行与否4、在单机系统中通过()方式使得CPU为多个进程所共享。
[单选题] *A、空分复用B、时分复用(正确答案)C、联合复用D、同时复用5、在内存上存储多个用户的程序与数据的方式称为()。
[单选题] *A、时分复用B、联合复用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、在操作系统中,并发性是指若干事件()发生。
2.什么是多道程序设计?多道程序系统的特点是什么?P73.操作系统中为什么要引入进程的概念?为了实现并发进程之间的合作和协调,以及保证系统的安全,操作系统在进程管理方面要做哪些工作?P374.什么是进程控制块(PCB)?它的作用是什么?P415.进程的三种基本状态是什么?给出三状态的转换模型(图)及转换的原因。
P386.什么是死锁?产生死锁的原因和必要条件是什么?P1037.在选择调度方式和调度算法时,应遵循的原则是什么?P908.虚拟存储器基于程序的局部性原理,简述程序局部性原理。
P1429.分页存储管理和分段存储管理有何区别?P13810.SPOOLing的含义是什么?试述SPOOLing系统的原理和功能。
P19011.设备管理广泛采用缓冲技术,引入缓冲技术的原因是什么?P17112.什么是设备独立性?引入设备独立性之后有哪些好处?P18413.文件系统有哪些功能?其中最重要的功能是什么?P20614.对目录管理的主要要求是什么?P22415.操作系统用户接口中包括哪几种接口?它们分别适用于哪种情况?P248答:所谓并发是指两个或多个事件在同一时间间隔内发生。
即在内存中放多道作业,在一个时间段上来看,每一道作业都能不同程度地向前推进。
但在任何一个时间点上只能有一道占用CPU。
并行:指两个或多个事件在同一时刻发生。
存在于有多个CPU的环境中,在内存中放多道作业,在任一时间点上都可能有多道作业在不同的CUP上同时执行。
并行是一种物理的、或微观的同时性概念;并发是一种逻辑的、或宏观的同时性概念;2.什么是多道程序设计?多道程序系统的特点是什么?P7答:Ⅰ、在内存中放多道程序,使它们在管理程序的控制下相互穿插地运行。
Ⅱ、特点:①资源利用率高;②系统吞吐量大;③平均周转时间长;④无交互能力(1)多道,即计算机内存中同时放多道相互独立的程序。
2)宏观上并行,是指共识进入系统的多道程序都处于运行过程。
3)微观上串行,是指在单道处理机环境下,内存中的多道程序轮流地占有CPU,交替执行。
“操作系统概论”习题解答之并发进程第7章习题解答1.什么叫并发进程?答:在多道程序设计系统中,作为单个作业可以同时执行,而每一个作业又需要有多个进程的协作来完成。
因此,系统会同时存在着许多进程,在单处理器的情况下,这些进程轮流的占用处理器,即一个进程的工作没有全部完成之前,另一个进程就开始工作,我们说这些可同时执行的进程具有并发性,并且把可同时执行的进程称为“并发进程”。
2.临界区是怎样定义?对临界区的管理应符合哪些要求?答:并发进程中与共享变量有关的程序段称为“临界区”。
对若干个并发进程共享某一变量的相关临界区得管理有三点要求:①一次至多一个进程能够进入临界区,当有进程在临界区执行时,其他想进入临界区执行的进程必须等待。
②不能让一个进程无限制的在临界区执行,即任何一个进入临界区的进程必须有限的时间内退出临界区。
③不能强迫一个进程无限期等待键入它的临界区,即有进程退出临界区时应让一个等待进入临界区的进程进入它的临界区执行。
3.采用PV操作作为同步机构时,假定与某共享变量相关的信号量S的值可在[-1,l]之间,问S的初值是哪个值?当S=-1,S=0,S=l时它们各自的物理含义是什么?答:S的初值是 1.S=-l,表示有一个进程在等待进入临界区执行。
S=0,表示已有一个进程在临界区执行,这时若有进程想进入临界区则必须等待。
S=l,表示无进程在临界区执行,若有进程想进入临界区则可以立即进入。
4.A、B两个火车站之间是单轨连接的,现有许多列车同时到A站,须经A再到达B站,列车出B站后又可分路行驶(如图7-2)为保证行车安全,请你当调度时,你将如何调度列车?请你用PV操作为工具设计一个能实现你的调度方案的自动调度系统。
答:当A、B两站之间无列车停驶时,可让到达A站的一列车进人A、B站之间行驶。
当A石站之间有列车在行驶时,则到达A站者必须在站外等待。
当有列车到达B站后,让等在A站外的一列车进入。
用一个信号量S来控制到达A站的列车能否进入单轨道行驶,S的初始值为l.列车到达A站后,先执行P(S),若无列车在A、B站之间行驶,则执行P(S)后立即进人单轨道行驶,到达B站后,执行V(S),可释放一个等待进入的列车进入行驶。
并发程序设计1:多进程并发在并发程序设计中,主要有三种并发⽅式:多进程并发,基于IO复⽤并发,多线程并发。
本节主要介绍多进程并发。
以多客户端ehco程序为例。
1. 进程进程是具有独⽴功能的程序关于某个数据集合的⼀次运⾏活动,是OS为正在运⾏的程序建⽴的管理实体,是系统资源管理与分配的基本单位。
⼀个进程有五部分:操作系统管理该进程的数据结构(PCB),内存代码,内存数据,程序状态字PSW,通⽤寄存器信息。
⼀个进程在OS中有四个基本状态。
如图1.1所⽰。
图1.1 进程四态挂起:挂起是OS收回进程的所有资源,将其移出内存。
创建进程时,实际上OS为其建⽴⼀个进程控制块,⽤于保存该进程的信息。
多个进程同时运⾏时,其在内存中的状态如图1.2所⽰。
图1.2 多进程的内核状态2. 多进程并发进程是程序运⾏的基本单位,对于多内核的计算机,多个进程可以在多内核上同时运⾏,提⾼程序的并发性。
如对于C/S类型的模型,客户端每发起⼀次通信,服务器开辟⼀个进程于其连接。
这样实现服务器同时服务多个客户端。
以经典的回声服务器,客户端为例,讲解多进程并发(注:Windows系统不⽀持,相关代码均以Linux系统为例)。
Linux系统的每个进程都有⼀个标志号,称为进程ID,其值⼤于2(1要分配给系统启动后的⾸个进程,⽤于协助操作系统)。
在Linux系统中,创建⼀个进程采⽤fork函数#include <unistd.h>pid_t fork(void); //pid_t为返回的ID号调⽤fork函数之后,⼦进程创建,⼦进程会复制⽗进程的所有信息,然后从fork调⽤之后开始执⾏。
那么怎么让⽗⼦进程执⾏不同的程序路径呢?这是通过主程序判断实现的,⽗进程调⽤fork函数,返回的是⼦进程的ID;⽽⼦进程的fork函数返回0,通过此返回值区别⽗⼦进程,从⽽控制fork函数之后的执⾏流。
2.1 僵⼫进程 ⽗进程fork⼦进程后,两个进程按各⾃的程序执⾏。