处理机调度和死锁
计算机操作系统学习笔记(三)-处理机调度和死锁
处理机调度和死锁
1、阐述动态分区分配的分区回收机制?
如果回收分区与插入点的前一个空闲分区f1相邻接,将两个空闲分区合并成一个大的空闲分区,新分区的首址为f1的首址,大小为两者之和。
如果回收分区与插入点的后一个空闲分区f2相邻接,将两个空闲分区合并成一个大的空闲分区,新分区的首址为回收分区的首址,大小为两者之和。
如果回收分区同时与插入点的前后两个分区邻接,将三个空闲分区合并成一个大的空闲分区,新分区的首址为f1的首址,大小为三者之和。
如果回收分区既不与前一个分区邻接,也不与后一个分区邻接,为回收分区单独建立一个新表项,新分区的首址为回收分区的首址,大小为回收分区大小,将表项插入到空闲分区链表合适位置中。
2、死锁的定义是什么,其必要条件有那些?
操作系统中一组进程的每一个进程都在等待由且仅有该组进程的其他进程才能引发的事件,则该组进程死锁
死锁的产生需要满足以下 4 个条件:
互斥条件:指运进程对所分配到的资源具有排它性,也就是说在一段时间内某个锁资源只能被一个进程所占用。
请求和保持条件:指进程已经保持至少一个资源,但又提出了新的资源请求,而该资源已被其它进程占有,此时请求进程阻塞,但又对自己已获得的其它资源保持不放。
不可剥夺条件:指进程已获得的资源,在未使用完之前,不能被剥夺。
循环等待条件:指在发生死锁时,必然存在运算单元和资源的环形链,即进程正在等待另一个进程占用的资源,而对方又在等待自己占用的资源,从而造成环路等待的情况。
3、什么是高级、中级、低级调度?优先级倒置概念是什么?
高级调度(作业调度)按某种算法从外存上处于后备队列的作业中挑选一个(或多个)作业调度进入内存。
中级调度(内存调度)为了使内存中的进程过多,将一些暂时不能运行的进程从内存中对换到外存中等待。
低级调度(进程调度)主要任务是按照某种方法和策略从就绪队列中选取一个进程,将处理机分配给它。进程调度是操作系统中最基本的一种调度,在一般的操作系统中都必须配置进程调度。进程调度的频率很高,一般几十毫秒一次。
优先级倒置是高优先级的进程(线程)被一个低优先级进程(线程)延迟或堵塞。