操作系统课程复习
操作系统课程的期末复习

进程的描述与控制
选择题
-
进程的三个基本状态是 就绪、执行、阻塞,由就绪到执行是由进程调度所引起的;由执行到阻塞时正在执行的进程发生了某事件,使之无法继续执行而引起的。
-
进程所要求的一次打印输出结束,该进程被唤醒,其进程的状态将从阻塞到就绪。
-
绝不可能发生的状态转换是 就绪 -> 阻塞 ,一般不会发生的状态转换是 阻塞 -> 执行 。
-
时间片完进程 执行 -> 活动就绪。处于静止阻塞的进程在进程等待的事件出现以后应变为静止就绪。进程处于执行状态,因终端的请求而暂停下来此时进程应转变为静止就绪状态。
-
为使进程从静止就绪到活动就绪应使用active语句。从阻塞状态到就绪状态应利用wakeup语句。
-
不属于CPU现场信息的是 进程的就绪、阻塞、执行等基本状态 和 保存在堆栈中的函数参数、函数返回地址。
他们俩的信息不是保存在寄存器里,至于指令计数器、堆栈的栈顶指针、段表控制寄存器都是保存在寄存器中。
-
从用户态切换到系统状态是通过 访管指令或中断 。
-
导致进程创建的典型事件是 用户登录 。由系统专门为运行中的应用进程创建新的进程的事件是 提供服务。
-
进程A和B共享同一临界资源,并且进程A正处于对应的临界区内执行。则进程A的执行能被中断,而且只要B进程就绪,就可以将CPU调度给B进程。
-
整型信号量是一种只能由 wait 和 signal 操作所改变的整型变量,整型信号量可用于实现进程的 互斥 和 同步。
-
对于记录型信号量,在执行一次 wait 操作时,信号量的值应当 -1 ,其值为小于0时,进程应阻塞。在执行signal操作时,信号量的值应当 +1,当其值为 小于等于0时,应唤醒阻塞队列中的进程。
-
设10个进程共享一个互斥段,如果最多允许有一个进程进入互斥段,则所采用的互斥信号量初值应设置为 1,而该信号量的取值范围为 1~-9;如果最多允许有3个进程同时进入互斥段,则所采用的互斥信号量初值应设置为 3。
-
在直接通信方式中,系统通常提供的两条通信原语如下,send(receiver,message);receive(sender,message);
-
使用mail命令的信箱通信属于非实时通信,因为信息时被发送到接收方的信箱中。使用write命令,实现的是实时通信,因为信息是被送到收方的屏幕。使用共享文件进行通信的方式属于管道通信。
-
- 信号量的初值不能为负数
- 线程是CPU调度的基本单位,但是不是资源分配的基本单位。
- 管程每次只允许一个进程进入。
- wait,signal可以解决一切排斥问题。
-
资源分配和调度的基本单位是进程。CPU调度和分派的基本单位是线程。
填空题
- 单用户单任务:封闭性、可再现性。
- 并发进程之间的相互制约是由于它们共享资源和相互合作,导致程序存在不可再现性。
- 并发执行的特征不可再现性,失去封闭性,间断性。
- 引入进程的目的提高系统资源利用率和系统吞吐量。引入线程的目的减少并发执行的开销、提高并发程度。
- 进程特性 :并发性,动态性,独立性,异步性。
- 进程:提高资源利用率和系统吞吐量。
- 若系统在核心态最多有n个用户进程处于就绪状态,n个用户进程处于阻塞状态。
- 同步机制遵循的准则是 空闲让进,忙则等待,有限等待,让权等待。
- 在记录型信号量机制中,value>0的值表示 可用临界资源的数量。每次wait操作意味着 申请一个临界资源,value +1。当value < 0 时,此时应等待。signal操作意味着 释放一个临界资源,value -1。当value <= 0时,表示仍有请求该资源的进程被阻塞,此时 应唤醒阻塞队列的首进程。
- 利用共享的文件进行进程通信的方式被称作 管道通信 ,除此之外,进程通信的类型还有共享存储器,消息系统,客户机-服务器系统。
- 客户机-服务器系统通信机制的实现办法是套接字、远程过程调用、远程方法调用。
- 为实现消息缓冲队列通信,应在PCB中增加 消息队列首指针,消息队列互斥信号量,消息队列资源信号量。
- 在采用用户级线程的系统中,OS进行CPU调度的对象是 进程。在采用内核支持的线程的系统中,OS进行CPU调度的对象是 线程。
- 线程之所以能减少并发执行的开销是因为 线程基本不拥有资源。
处理机调度与死锁
选择题
- 分时系统中除了进程调度外,通常还设置了中级调度。
- 平均周转时间短是批处理系统中选择作业调度算法的重要准则。
- FCFS算法只能采用非抢占调度方式,时间片轮转法只能采用抢占调度方式。
-
- 照顾短作业的用户,应采取短作业优先。
- 为了照顾紧急作业用户,应采用基于优先权的剥夺调度算法。
- 为了实现人机交互作用应采用时间片轮转法。
- 为兼顾短作业和长时间等待作业应采用高响应比优先。
- 为了使长作业短作业及交互作业用户都比较满意应采用多级反馈队列调度算法。
- 为了使作业的平均周转时间最短,应采用短作业优先算法。
- 最容易引起进程长期等待的是抢占式静态优先权优先算法。
- 降低进程优先级最合理的时机是进程时间片用完。
- 在动态优先权时,随着进程执行时间的增加,其优先权降低。
- EDF算法选择截止时间最早的进程。LLF算法则优先选择松弛度最低的进程为下一个执行的进程。
- 系统死锁是指若干进程等待被其他进程所占用而又不可能被释放的资源。产生死锁的基本原因是系统资源不足和进程推进顺序不当。产生死锁的四个必要条件是互斥条件、请求和保持条件、不剥夺条件、环路条件。
- 在多道程序的环境中,不会因可被抢占的资源而产生死锁。
- 死锁预防的策略是资源有序分配法。死锁避免的策略是银行家算法。
- 死锁的四个必要条件中无法破坏的是互斥条件。
- 一次性分配策略破坏了请求与保持条件。资源有序分配破坏了循环等待条件。
- 安全状态是没有死锁的状态。非安全状态是可能有死锁的状态。
填空题
- 高级调度又称作作业调度,其主要功能是从后背队列中选若干作业进入内存,并创建进程。低级调度又称作进程调度,其主要功能是从就绪队列中选一个进程投入运行。
- 作业调度必须做接纳多少作业和接纳那些作业决定。
- 进程调度的主要任务是保存CPU现场、选择就绪进程、分配新进程,进程调度的方式主要为抢占式和非抢占式。
- 抢占的原则主要有时间片原则、短作业优先原则、优先权原则。
- 在设计进程调度程序时,应考虑引起调度的因素、调度算法的选择、就绪队列的组织三个问题。
- 为了使平均周转时间最短应该选择短作业优先调度算法。为了使当前执行的进程总是优先权最高的进程,则应该选择立即抢占式的高优先权优先调度算法。而分时系统则常采用时间片轮转算法。
- 分时系统中,时间片选的太小会造成系统开销大。因此时间片的大小一般选择为略大于一次典型交互所需要的时间。
-
- 在采用动态优先权时,为了避免一个低优先权的进程处于饥饿状态,可以随着进程等待时间的增加而提高其优先权。
- 为了避免一个高优先权的进程长期独占CPU资源,可以随着进程进行时间的增加而降低其优先权。
- 高响应比优先调度算法综合考虑了作业的运行时间和等待时间。
- 死锁产生的必要条件是互斥条件、请求和保持条件、不剥夺条件、环路条件。
- 死锁的四个必要条件中互斥条件一般是不允许破坏的,一次性分配所有资源破坏的是请求和保持条件,资源的有序分配破坏的是其中的环路条件。
- 系统在进行分配时应先计算资源分配的安全性。若此次分配不会导致系统进入不安全状态,便将资源分配给他,否则便让进程进入等待。
- 一次性分配所有的资源采用的是预防死锁,银行家算法采用的是避免死锁。
- 一个状态为死锁状态的充分条件是当且仅当该状态的资源分配图是不可完全简化时。
- 撤销进程和剥夺资源是解除死锁的两种常用方法。