操作系统习题-全部
下面关于线程的叙述中,正确的是()。
A.不论是系统支持线程还是用户级线程,其切换都需要内核的支持。
B.线程是资源的分配单位,进程是调度和分配的单位。
C.不管系统中是否有线程,进程都是拥有资源的独立单位。
D.在引入线程的系统中,进程仍是资源分配和调度分派的基本单位。
()在进程状态的转换中,从就绪态转换到阻塞态是不可能实现.
()进程之间的互斥,主要源于进程之间的资源竞争,从而实现多个相关进程在执行次序上的协调。
()进程从运行状态变为阻塞状态的原因是输入或输出事件发生。
()进程A和进程B都要使用系统中同一台打印机,为了保证打印结果的正确性,两个进程要先后分别使用打印机,这属于进程的同步关系。
处于运行状态的操作系统程序应放在( )
A.寄存器中 B.高速缓冲存储器中 C.主存储器中 D.辅助存储器中
引入进程的原因是( )
A.提高资源的利用率和控制程序的执行
B.提高资源的利用率和正确描述程序的执行情况
C.提高程序的执行速度和控制程序的执行
D.提高程序的执行速度和正确描述程序的执行情况
进程的优先级调度中经常考虑哪些因素?它们与优先级的关系是什么?
答:进程优先级调度中需要考虑如何确定优先级。
静态优先级与进程类型、进程对资源的请求、用户要求三者相关,系统进程比用户进程拥有更高的优先级,对资源需求少的进程具有更高的优先级,用户付费高的具有高优先级。
动态优先级的高低与等待时间和需要服务的时间有关,等待时间越长、要求服务时间越短,优先级越高;反之越低。
假设有三个进程R、W0、W1共享一个缓冲区B,而B中一次只能存放一个数据。进程R从输入设备上读数据送缓冲区B,若存放的数是偶数,则允许W0将其取出并打印;若存放的数是奇数,则允许W1将其取出并打印。试利用信号量和wait、signal操作写出实现这三个进程能同步工作的程序。(要求说明所设信号量的作用及初值)
解:
Var empty , full1 , full2 := semaphore := 1 , 0 , 0 ;
// empty表示B是否为空,full1表示B中是否有奇数,full2表示B中是否有偶数
begin
parbegin
R: begin
从设备上读数据;
wait ( empty );
将数据送入B中;
if ( 奇数 ) signal ( full1 );
else signal ( full2 );