博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
操作系之进程调度及算法详解
阅读量:6987 次
发布时间:2019-06-27

本文共 543 字,大约阅读时间需要 1 分钟。

hot3.png

1. 引言

    在多进程环境下,虽然从概念上看,有多个进程在同时执行,但在单个cpu下,实际上任何时刻只能有一个进程处于执行状态。而其它进程处于非执行状态。那么就有一个需要解决的问题:我们是如何确定在任意时刻到底由哪个进程执行,哪些进程不执行呢?或者说我们是如何进程调度的呢?

    1.1 进程调度定义

        进程调度就是操作系统管理进程管理的一个重要组成部分。其任务是选择下一个要执行的进程。那么如何进行选择呢?要探明这一点,首先需要确定操作系统进程调度的目标是什么。有了目标,我们就知道选择什么样的进程调度算法最合适了。

        通常情况下,程序使用cpu的模式有3种:

  • CPU密集型:大部分时间在cpu上执行较长时间,接着进行短暂的输入,然后在cpu上进行较长时间间的运算。
  • I/O密集型:程序大部分时间在进行输入输出,每次io后进行短暂的cpu执行。
  • 平衡型/混合型:程序介于前两种模式之间           

    1.2 进程调度目标

 

2. 进程调度算法

    2.1 先来先服务调度算法

 

    2.2 时间片轮转调度算法

 

    2.3 短任务优先调度算法

 

    2.4 优先级调度算法

 

    2.5 混合调度算法

 

    2.6 其它调度算法

 

    2.7 实时调度算法

 

    

 

 

转载于:https://my.oschina.net/jimilee/blog/774698

你可能感兴趣的文章
ptmalloc2源码解析初探
查看>>
用为知笔记发博客
查看>>
[转] WINCC教学视频
查看>>
POJ题目(转)
查看>>
maven 依赖范围
查看>>
HDU - 1520 Anniversary party [树形dp]
查看>>
nginx搭建多个站点
查看>>
字符串运算符
查看>>
linux大全
查看>>
jq 鼠标旋转控制也能3d旋转
查看>>
Spring+Mybatis多数据库的配置
查看>>
线性表----单链表
查看>>
mysql 启动报错
查看>>
Git 与 GitHub
查看>>
Spring Cloud:多环境配置、eureka 安全认证、容器宿主机IP注册
查看>>
【leetcode】667. Beautiful Arrangement II
查看>>
【leetcode】955. Delete Columns to Make Sorted II
查看>>
JDK源码阅读-Integer
查看>>
Java修行之路
查看>>
接口(工厂模式&代理模式)
查看>>