电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

进程的描述和控制:进程调度与切换


发布日期:2019/5/7
 

进程调度与切换

引起进程调度的原因

首先由于UNIX系统是分时系统因而其时钟中断处理程序须每隔一定时间便对要求进程调度程序进行调度的标志runrun予以置位以引起调度程序重新调度其次当进程执行了waitexit及sleep等系统调用后要放弃处理机时也会引起调度程序重新进行调度此外当进程执行完系统调用功能而从核心态返回到用户态时如果系统中又出现了更高优先级的进程在等待处理机时内核应抢占当前进程的处理机这也会引起调度

调度算法

进程调度在此是采用动态优先数轮转调度算法调度程序在进行调度时首先从处于内存就绪被抢占状态的进程中选择一个其优先数最小(优先级最高)的进程若此时系统中(同时)有多个进程都具有相同的最高优先级则内核将选择其中处于就绪状态或被抢占状态最久的进程将它从其所在队列中移出并进行进程上下文的切换恢复其运行

进程优先级的分类

UNIX系统把进程的优先级分成两类第一类是核心优先级又可进一步把它分为可中断和不可中断两种当一个软中断信号到达时若有进程正在可中断优先级上睡眠该进程将立即被唤醒若有进程处于不可中断优先级上则该进程继续睡眠对诸如对换等待磁盘I/O等待缓沖区等几个优先级都属于不可中断优先级等待输入等待终端输出等待子进程退出的几个优先级都是可中断优先级另一类是用户优先级它又被分成n+其中第级为最高优先级第n级的优先级最低

进程优先数的计算

其中基本用户优先数即proc结构中的偏移值nice可由用户将它设置成~中的任一个数一旦设定后用户仅能使其值增加特权用户才有权减小nice的值而最近使用CPU的时间则是指当前占有处理机的进程本次使用CPU的时间内核每隔 ms便对该时间做加操作这样占有CPU的进程其优先数将会随着它占有CPU时间的增加而加大相应地其优先级便随之降低

进程切换

在OS中凡要进行中断处理和执行系统调用时都将涉及到进程上下文的保存和恢复问题此时系统所保存或恢复的上下文都是属于同一个进程的而在进程调度之后内核所应执行的是进程上下文的切换即内核是把当前进程的上下文保存起来而所恢复的则是进程调度程序所选中的进程的上下文以使该进程能恢复执行

——返回教材目录

了解更多计算机相关基础课程视频

上一篇:1.1.4 操作系统的功能

下一篇:操作系统概论笔记