• 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html
  • 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html

计算机操作系统题库之进程与线程(九)

极客题库 Geekerstar 11个月前 (06-07) 562次浏览 已收录 0个评论 扫描二维码
文章目录[隐藏]

为什么说多级反馈队列能较好的满足各种用户的需要?

(1)终端用户的作业一般比较短小精悍,大多数在进入多级队列的第一级队列后运行一个时间片就可以完成。对于稍长一些的作业,只需在第二或第三队列上各执行一个时间片就可完成,因而感到满意。

对于长作业来说,它将依次在第1,2,…,n个队列上运行,不会因作业太长而长期得不到处理。8.大多用户分时系统时间片长度的选择上,既要保证交互性,又要保证系统的效率。

应考虑:

(1)系统对响应时间T的要求(一般应小于等于2s~3s)。

(2)就绪队列中的进程数目N(N与终端上的用户数目有关)。

(3)系统的处理能力,一个时间片的长度q应能保证用户的大部分常用命令可处理完。

(4)进程的转换时间q。

(5)三者的关系可表示为:T=N(q+p)。

未实现实时调度,对实时系统提出了哪些要求?

(1)任务要提供必要的调度信息。开工的最后期限或完工的最后期限、处理时间长度、优先级、就绪时间以及资源需求等。

(2)采用适当的调度方式。如果实时任务的运行长度较长且时间要求严格,那么实时系统应采用抢占式调度;如果所有的实时任务都比较小,且预知任务的开工最后期限,也可以采用非剥夺式调度。

(3)能够快速响应外部中断。这要求,硬件上要有较高的中断机制,软件 上要使封锁中断时间间隔尽量短,以免贻误电动机。

(4)快速的任务分派能力。尽量减少任务切换时间开销,使得一个任务完成后可以较快地切换到下一个任务去。

目前常用的调度方式和算法,能否都应用到实时系统中?

抢占方式和非抢占方式都可以用于实时系统。

能够使用的算法有:轮转算法(RR)和优先级调度算法(HPF);

不可以使用的算法有:先进先出算法(FIFO)和短进程优先算法(SPF)。

在多处理机系统中,比较有代表性的线程调度方式有哪几种?

(1)自调度方式。诸多CPU可以共享同一就绪队列,从中获取就绪线程运行。

(2)成组调度方式。由系统将若干相关的线程同时分配到多台CPU上运行。线程与CPU一一对应。

(3)专用处理机分配方式。将若干同属于一个应用程序的线程分配到一组专用CPU上运行。

试比较自调度和成组调度?

(1)自调度方式中,就绪队列与单机的相同,调度算法也与之相同。系统没有集中调度机制,任何CPU都可调用系统的调度例程去选择一个线程。只要就绪队列不空,就不会有空闲的CPU。问题是多个CPU共享一个就绪队列将产生瓶颈;各线程在其生命周期中可能要换好几台CPU,每次更换都要将CPU中的高速缓存(Cache)重新拷入现场数据,造成效率低下;由于合作的一级线程很难同时获得CPU,一些运行的线程只好阻塞等待未获得CPU的线程,所以线程切换频繁。

(2)成组调度中,合作的各线程可以同时获得CPU,减少因同步造成的阻塞,减少了切换次数。同时,也可减少调度的频率。

在OS/2中采用哪种调度方式和调度算法?

采用多优先级的抢占式调度方式,调度的基本单位是线程。

优先级分为三类:每一类共细分为32级,以31级为最高。

其中:时间紧迫类为最高类,对应的是实时线程及通信管理等;

常规类为中档优先类,对应的是一般线程;

空闲时间类为较低类,对应的是紧迫度低的线程。

调度算法:在同一类的同一优先级中采用轮转算法。

每当运行完一个时间片就检查是否有更高优先级线程到来,若有便抢占CPU。

进程的三个基本状态是什么?


进程的三个基本状态是就绪态、执行态、阻塞态。

试比较说明进程和程序的区别有哪些?

进程和程序是紧密相关而又完全不同的两个概念:

1、每个进程实体中包含了程序段和数据段这两个部分,因此说进程是与程序是紧密相关的。但从结构上看,进程实体中除了程序段和数据段外,还必须包含一个数据结构,即进程控制块PCB。

2、进程是程序的一次执行过程,因此是动态的;动态性还表现在进程由创建而产生、由调度而执行、由撤消而消亡,即它具有一定的生命周期。而程序则只是一组指令的有序集合,并和永久地存放在某种介质上,其本身不具有运动的含义,因此是静态的。

3、多个进程实体可同时存放在内存中并发地执行,其实着正是引入进程的目的。而程序(在没有为它创建进程时)的并发执行具有不可再现性,因此程序不能正确地并发执行。

4、进程是一个能够独立运行、独立分配资源和独立接受调度的基本单位。而因程序不具有PCB,所以它是不可能在多道程序环境下独立运行的。

5、程与程序不一一对应。同一个程序的多次运行,将形成多个不同的进程;同一个程序的一次执行也可以产生多个进程;而一个进程也可以执行多个程序。

对相关临界区的管理有哪些要求?

为了使并发进程能正确地执行,对若干进程共享某一变量(资源)的相关临界区应满足以下三个要求:

① 一次最我让一个进程在临界区中执行,当有进程在临界区中时,其他想进入临界区执行的进程必须等待;

② 任何一个进入临界区执行的进程必须在有限的时间内退出临界区,即任何一个进程都不应该无限逗留在自己的临界区中;

③ 不能强迫一个进程无限地等待进入它的临界区,即有进程退出临界区时应让下一个等待进入临界区的进程进入它的临界区。

选择进程调度算法的准则是什么?

由于各种调度算法都有自己的特性,因此,很难评价哪种算法是最好的。一般说来,选择算法时可以考虑如下一些原则:

① 处理器利用率;

② 吞吐量;

③ 等待时间;

④ 响应时间。

在选择调度算法前,应考虑好采用的准则,当确定准则后,通过对各种算法的评估,从中选择出最合适的算法。

常用的作业调度算法有哪些?

① 先来先服务算法

② 计算时间短的作业优先算法

③ 响应比最高者优先算法

④ 优先数调度算法

⑤ 均衡调度算法

什么是线程?多线程技术具有哪些优越性?

线程是进程中可独立执行的子任务,一个进程可以有一个或多个线程,每个线程都有一个惟一的标识符。

线程与进程有许多相似之处,往往把线程又称为”轻型进程”,线程与进程的根本区别是把进程作为资源分配单位,而线程是调度和执行单位。

多线程技术具有多个方面的优越性:

① 创建速度快、系统开销小:创建线程不需要另行分配资源;

② 通信简洁、信息传送速度快:线程间的通信在统一地址空间进程,不需要额外的通信机制;

③ 并行性高:线程能独立执行,能充分利用和发挥处理器与外围设备并行工作的能力。

UNIX系统中的优先权和优先数有什么关系?如何确定进程的优先权和优先数?

UNIX中每个进程都有一个优先数,就绪进程能否占用处理器的优先权取决于进程的优先数,优先数越小则优先权越高。

UNIX以动态方式确定优先权,如核心的进程优先权高于进入用户态的进程;

降低用完一个时间片的进程的优先权;对进入睡眠的进程,其等待事件越急优先数越高;

降低使用处理器时间较长的进程的优先权。

UNIX中确定进程优先数的方法有两种:设置方法和计算方法。

前者对要进入睡眠状态的进程设置优先数,若等待的事件急迫,则设置较小的优先数;

后者用户进程正在或即将转入用户状态运行时确定优先数。

简述信号量S的物理含义。

S>0时,S表示可使用的资源数;或表示可使用资源的进程数;

S=0时,表示无资源可供使用;或表示不允许进程再进入临界区;

S<0时,-S表示等待使用资源的进程个数;或表示等待进入临界区的进程个数;

当S>0时,调用P(S)的进程不会等待;调用V(S)后使可用资源数加1或使可用资源的进程数加1;

当S<0时,调用P(S)的进程必须等待;调用V(S)后将释放一个等待使用资源者或释放一个等待进入临界区者。

一个具有分时兼批处理功能的操作系统应怎样调度和管理作业?

① 优先接纳终端作业,仅当终端作业数小于系统可以允许同时工作的作业数时,可以调度批处理作业;

② 允许终端作业的批处理作业混合同时执行;

③ 把终端作业的就绪进程排成一个就绪队列,把批处理作业的就绪进程排入另外的就绪队列中;

④ 有终端作业进程就绪时,优先让其按”时间片轮转”法先运行。没有终端作业时再按确定算法选批处理作业就绪进程运行。

试比较进程调度与作业调度的不同点。

① 作业调度是宏观调度,它决定了哪一个作业能进入主存。进程调度是微观调度,它决定各作业中的哪一个进程占有中央处理器。

② 作业调度是选符合条件的收容态作业装入主存。进程调度是从就绪态进程中选一个占用处理器。

进程调度中”可抢占”和”非抢占”两种方式,哪一种系统的开销更大?为什么?

可抢占式会引起系统的开销更大。

可抢占式调度是严格保证任何时刻,让具有最高优先数(权)的进程占有处理机运行,因此增加了处理机调度的时机,引起为退出处理机的进程保留现场,为占有处理机的进程恢复现场等时间(和空间)开销增大。

作业调度算法是按照什么样的原则来选取作业并投入运行,调试算法的合理性直接影响系统的效率,作业调度算法有哪些?对算法的选择要考虑哪些问题?

作业调度算法:

1、先来先服务算法;

2、短作业优先算法;

3、最高响应比作业优先算法;

4、资源搭配算法;

5、多队列循环算法

对算法的选择要考虑三个目标:

1、尽量提高系统的作业吞吐量,即每天处理尽可能多的作业;

2、尽量使CPU和外部设备保持忙碌状态,以提高资源利用率;

3、对各种作业公平合理,使用有用户都满意。


丨极客文库, 版权所有丨如未注明 , 均为原创丨
本网站采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行授权
转载请注明原文链接:计算机操作系统题库之进程与线程(九)
喜欢 (0)
[247507792@qq.com]
分享 (0)
Geekerstar
关于作者:
本站技术支持

您必须 登录 才能发表评论!

  • 精品技术教程
  • 编程资源分享
  • 问答交流社区
  • 极客文库知识库

客服QQ


QQ:2248886839


工作时间:09:00-23:00