进程的状态转换

  进程在运行中不断地改变其运行状态。通常,一个运行进程必须具有以下三种基本状态。

进程状态

  • 执行态run:进程正在使用CPU
  • 等待态wait:进程正在等待I/O完成,不在使用也不能使用CPU
  • 就绪态ready:进程不在使用CPU,但已经纯备好用使用CPU

  在特定的情况下,这三种状态可以相互转换。

状态转换

  就绪->执行, 当前运行进程阻塞,调度程序选一个优先权最高的进程占有处理机;

  执行->就绪, 当前运行进程时间片用完;

  执行->等待,当前运行进程等待键盘输入,进入了睡眠状态。

  等待->就绪,I/O操作完成,被中断处理程序唤醒。

  刚从其他状态进入就绪态的进程需要置入调度队列,该队列不一定按进入队列的时间先后顺序排列。

  从等待态中出来的进程通常不直接进入运行态,而要进入就绪态。如果需要直接进入运行态,这属于抢先式调度,通过抢先式中断完成。

  从执行态到就绪态的转换发生在抢先式终端处理中,例如I/O或分时下的时间片。分时是在多个用户同时以交互方式使用计算机时采用的一种技术。

  分时技术:每当时钟中断发生时且发现当前运行进程已连续在CPU上运行了一定的时间(称为时间片,一般为20ms~250ms)时,就强制地发生进程切换,使当前进程退出CPU,重新调度,选出另一个进程在CPU上运行。此时,退出的进程不能变为等待状态,因为它不是因为等待I/O而退出的,也不能变为终止,因为它尚未结束,因此,它需要转换为就绪态,等待属于它的时间片的到来。

  当正在建立一个新进程时,计算机上的当前运行进程是哪一个?

  该新进程的父进程。

CPU调度算法

  同时处于就绪态的进程经常有多个,因此需要一个CPU调度算法来君顶那一个就绪进程先运行。衡量CPU调度算法的标准有:CPU利用率、用户程序响应时间、系统吞吐量、公平合理性、设备利用率等。

  常见的调度算法有先来先服务FIFO、轮转调度法RR(时间片法)、优先级调度法、短作业优先SJF、最短剩余事件优先、最高相应比优先、多级反馈法、策略驱动法、最晚时间限调度、二级调度法。

定义  

  FIFO算法:一般应用于实时性系统中,最先进入就绪态的进程最先进入运行态。

  轮转调度法:根据系统给与的时间片,进行进程的轮询访问CPU,若时间片结束,该进程还在运行,就会被强制撤出。该方法通常和FIFO或优先级算法一起使用。

  优先级调度法:根据不同进程的重要程度和紧急程度,来赋予每个进程一个优先级,带有最高优先级的进程最先执行。优先级调度算法分为静态优先级和动态优先级两种。动态优先级可以防止优先级高的进程不停地执行。

  最短作业优先:最先执行占用CPU时间最短的进程。最短的进程第一个执行总是产生最小的平均相应事件。

  最短剩余时间优先:剩余运行事件最短的进程最先运行。

  最高相应比优先:最先执行相应比最高的进程。相应比的计算公式为1+等待时间/估计运行时间。

  多级反馈法:是目前最常用的算法!它结合了FIFO、RR、优先级算法和SJF算法。该算法有多个队列,同一队列中的进程优先级相同,不同队列中进程优先级不同,不同队列拥有不同的时间片。

  策略驱动法:基于对各个用户的承诺。

  最晚时间限调度:保证在每个进程必须完成的最晚时间限钱运行完该进程。

  二级调度算法:在系统负载很重时,不是所有的进程建立就立即进入就绪态,有些进程建立起来后,进入后备队列。操作系统采用一个二级调度程序来决定进程在后备队列和就绪队列之间的转换。其中一级调度是从后备队列中选择进程使其转换为就绪态;另一级调度则是在就绪队列中选择一个执行。

进程状态转换、CPU调度算法的更多相关文章

  1. 操作系统概念学习笔记三 cpu调度算法

    一 基本概念 1 队列中的记录通常是进程的进程控制块. 2 CPU调度决策可在如下四种环境下发生 a 当一个进程从运行状态切换到等待状态 例如,I/O请求或调用wait以等待一个子进程的终止 b 党一 ...

  2. 进程状态转换及其PCB的变化

    代码实现了模拟进程状态转换及其相应PCB内容.组织结构的变化. #include<iostream> using namespace std; typedef struct pcb{ in ...

  3. s5-2 Cpu调度算法

    调度程序采用什么算法选择一个进程(作业)? 如何评价调度算法的性能? 调度准则 CPU利用率 – 使CPU尽可能的忙碌 吞吐量 – 单位时间内运行完的进程数 周转时间 – 进程从提交到运行结束的全部时 ...

  4. CPU调度算法

    批处理系统中的调度算法: *需要考虑的因素: 1. 吞吐量 2. cpu利用率 3. 周转时间 4. 公平性* 1.先来先服务: FCFS: 优点:实现简单 缺点:可能造成周转时间长 2.最短作业优先 ...

  5. linux概念之cpu分析

    http://ilinuxkernel.com/?cat=4 Linux CPU占用率原理与精确度分析1  CPU占用率计算原理在Linux/Unix 下,CPU 利用率分为用户态.系统态和空闲态,分 ...

  6. 【转】CPU调度

    转自:http://blog.csdn.net/xiazdong/article/details/6280345 CPU调度   用于多道程序 以下先讨论对于单CPU的调度问题. 回顾多道程序,同时把 ...

  7. s5-1 CPU调度

    基本概念 通过多道程序设计得到 CPU 的最高利用率 (CPU-- I/O 脉冲周期 - - 进程的执行包括进程在 CPU 上执行和等待 I/O ) 进程的执行以 CPU 脉冲开始,其后跟着 I/O ...

  8. TASK_KILLABLE:Linux 中的新进程状态【转】

    转自:https://www.ibm.com/developerworks/cn/linux/l-task-killable/index.html 新的睡眠状态允许 TASK_UNINTERRUPTI ...

  9. 操作系统概念学习笔记 10 CPU调度

    操作系统概念学习笔记 10 CPU调度 多道程序操作系统的基础.通过在进程之间切换CPU.操作系统能够提高计算机的吞吐率. 对于单处理器系统.每次仅仅同意一个进程执行:不论什么其它进程必须等待,直到C ...

随机推荐

  1. dmesg

    在开机的时候你会发现有很多的讯息出现吧,例如 CPU 的形式.硬盘. 光盘型号及硬盘分割表等等,这 些信息的产生都是核心 (kernel) 在进行硬件的测试与驱动啦.要看这些讯息你可以用 dmesg  ...

  2. SQL常用代码收集

    1.存储过程中,使用in查询时的参数处理方式 使用情形描述:传入存储过程的参数为一个字符串@IDs,以固定分隔符连接 新建字符串分割函数,然后将分割结果传入存储过程: CREATE FUNCTION ...

  3. java.util.Date和java.sql.Date的区别和相互转化(转)

    java.util.Date是在除了SQL语句的情况下面使用的.java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分它们都有getTime方法返回毫秒数,自然就可以直接构建.  ...

  4. encache学习教程

    http://www.cnblogs.com/hoojo/archive/2012/07/12/2587556.html

  5. 解决方法:An error occurred on the server when processing the URL. Please contact the system administrator

    在WINDOWS7或SERVER2008上安装了IIS7.5,调试ASP程序时出现以下错误: An error occurred on the server when processing the U ...

  6. ibatis XML标签的含义

    selectKey: 有3个主要的属性:     1)resultClass:返回的主键的数据类型,跟sqlMap中的数据类型一致:     2)type:表示主键在insert之前或之后生成(取决于 ...

  7. nyoj 737 石子合并(一)。区间dp

    http://acm.nyist.net/JudgeOnline/problem.php?pid=737 数据很小,适合区间dp的入门 对于第[i, j]堆,无论你怎么合并,无论你先选哪两堆结合,当你 ...

  8. Windows 下, SetTimer 定时器的研究.

    一直很困惑一个问题: 我设置了一个10秒的定时器,可是被调用的函数要花费30秒, 那待调用的函数第二次是什么时候调用的呢? 20秒, 40秒, 还是50秒呢.... 所以我进行了实验. 我写了一个类  ...

  9. (转)C#中两个问号和一个问号 ??

    小问题难倒很多人.今天发现了这个问题,搜了很长时间才看到记录下. 实例:dt.Columns.Add(firstRow.GetCell(i).StringCellValue ?? string.For ...

  10. USB协议(1)

    今天开始学习USB协议,精挑细选,我决定使用<圈圈教你玩USB>这本书,并且参考网友翻译的<USB2.0中文协议>. 这两本书都可以在ishare.sina.com.cn 即新 ...