美文网首页
操作系统(二)

操作系统(二)

作者: ZuJung | 来源:发表于2017-12-31 13:22 被阅读0次

进程调度

进程

进程是程序在计算机中的一个执行过程。程序是静态的,而进程是动态的。

每个进程都有一个进程控制块,操作系统用来存放进程有关的信息。

进程的创建

四种主要事件会导致进程的创建:

  • 系统初始化
  • 正在运行的程序执行了创建进程的系统调用
  • 用户请求创建一个新的进程
  • 一个批处理作业的初始化

进程的终止

进程的终止通常由以下四种主要事件导致:

  • 正常退出(自愿)
  • 出错推出(自愿)
  • 严重错误(非自愿)
  • 被其他进程杀死(非自愿)

进程的状态

进程状态转换.jpg

基本状态:执行、就绪、阻塞
其他状态:挂起、僵死、等待

挂起:

  • 将暂不执行的进程换出到外村,节省内存空间
进程五状态.jpg linux进程状态图.jpg

进程调度的时机

  • 新进程的创建
  • 当前进程的退出
  • 正在执行的进程阻塞
  • I/O中断发生

调度算法

分类

  • CPU的分配方式
    • 非剥夺式(非抢占式)
    • 剥夺式(抢占式)
  • 系统的分时方式
    • 批处理系统
    • 交互系统
    • 实时系统

调度目标

  • 公平(让每个用户满意)
  • 平衡(系统效率最高)

批处理系统

调度目标

  • 吞吐量:系统每小时完成的作业数
  • 周转时间: 一个作业从提交到完成时的统计平均时间
  • CPU利用率

批处理系统中的调度算法

先来先服务

  • 按照请求CPU的顺序使用CPU
    • 就绪队列时间先后的顺序
    • 队首取,队尾加
  • 易于理解、便于实现
  • 对短作业不公平

最短作业优先

  • 提高平均周转时间
  • 预知作业运行时间
  • 最短剩余时间优先
    • 最短作业优先的强占版
    • 新作业比正在执行的作业剩余时间短
  • 长作业无限期等待
    • 有失公平性

最高响应比优先算法

  • 响应比
    • 作业等待时间/作业所需运行时间
  • 优先考虑短作业
  • 防止长作业无限等待

交互系统

调度目标

  • 响应时间
    • 快速响应交互请求

交互系统中的调度算法

轮转法

  • 使用时间片进行调度的算法,时间片段用完后会排到队尾,考虑到CPU效率与用户等待时间一般设置为20ms-50ms
    • 未用完时间片就I/O阻塞的,当I/O就绪后到就绪队尾重新排队。可以为其单设队列,优先考虑I/O后就绪进程直至其用完时间片。
  • 优先级
    • 优先级高的进程先运行,同优先级的进程轮转(同一队列中轮转)
    • 每个进程设立优先级,高优先级的队列中没有进程,调度下一级队列
      • 静态设定
      • 动态设定:在优先级高的进程运行一个时间片后降低其优先级(防止高优先级进程独占CPU饿死低优先级的进程)

彩票法

  • 向进程提供各种系统资源的彩票
  • 调度时随机抽取彩票,拥有该彩票的资源得到资源
    • 可给重要的今晨更多的彩票
    • 协作进程可以交换彩票

公平分享法

  • 为每个用户分配一定比例的CPU时间
    • 假设用户1开了四个进程ABCD,用户2开设一个进程E,则CPU调度有可能为AEBECEDEAEBE...
  • 按照比例个用户之间挑选进程

实时系统

调度目标

  • 满足截止时间
    • 正确的但是迟到的应答比没有更糟糕
  • 硬实时
    • 必须满足的绝对的截止时间
  • 软实时
    • 可以容忍偶尔的错失截止时间

基本条件

  • 提供必要的信息
  • 系统处理能力强
  • 采用抢占式调度机制
  • 具有快速切换机制

调度算法

最早截止时间优先算法

先把截止时间早的任务给完成,否则这个任务如果在截止时间后才完成就没有意义了。

进程切换开销

  • 时间和空间上的系统开销
  • 保存和恢复进程的上下文

Linux的进程调度

这里朱凯豪师兄总结的特别好,这里附上链接

相关文章

  • 一、Linux入门介绍

    一、操作系统发展 二、常见的操作系统

  • 操作系统(二)

    进程调度 进程 进程是程序在计算机中的一个执行过程。程序是静态的,而进程是动态的。 每个进程都有一个进程控制块,操...

  • 信息产业三大难题

    一、CPU二、操作系统三、编译器

  • 3.软件概念

    一、软件分类 系统软件(操作系统) 应用软件 二、操作系统 操作系统是用于连接用户与硬件之间传递信息的工具或程序。...

  • 300-10 《终生受用的阅读操作系统》笔记

    李笑来老师的第二堂课,《终生受用的阅读操作系统》笔记整理如下。 先说一下什么是操作系统。电脑的操作系统,主要包括以...

  • 2019-09-16: 二:Flutter 环境搭建?

    二:Flutter 环境搭建? 1: 操作系统的选择? 很多人会问,学习Flutter到底使用什么操作系统呢?学习...

  • 操作系统要点(二)

    进程同步和互斥进程同步:为完成某种任务而建立的两个或多个进程,需要在某些位置上协调它们的工作次序而等待、传递信息所...

  • 操作系统初探(二)

    截止本文发稿之时,BTC成功收复$8000关口,4月12日单日爆拉$1000多,成交量大幅上涨,自己大概持仓6...

  • 二.操作系统历史

    2.1第一阶段:状态机操作系统(1940年以前) 一切动作都是人操控。 2.1第二阶段:单一操作员,单一控制端操作...

  • 操作系统接口二

    前有操作系统接口一,本该有这篇文章的,但是毕竟关心细节的人很少。 要理解我觉得最好还是去读代码,或者把书多看几遍,...

网友评论

      本文标题:操作系统(二)

      本文链接:https://www.haomeiwen.com/subject/nlaogxtx.html