3 处理机调度和死锁(上)

2024-02-17 04:52
文章标签 死锁 调度 处理机

本文主要是介绍3 处理机调度和死锁(上),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  1. 处理机调度的实质:资源分配

  2. 处理机调度的层次:

    1. 高级调度:长程调度/作业调度
    2. 低级调度:短程调度/进程调度
    3. 中级调度:内存调度
  3. 处理机调度算法的目标:

    1. 共同目标:资源利用率、公平性、平衡性、策略强制执行

    2. 批处理系统的目标:

      平均周转时间短(什么是周转时间?是指从作业被提交给系统开始到作业完成为止的这段时间间隔 区别平均带权周转时间)、

      系统吞吐量高(吞吐量是指在单位时间内系统所完成的作业数 尽量选择短作业运行)、处理机利用率高(选择计算量大的作业运行)

    3. 分时系统的目标:

      响应时间快、均衡性

    4. 实时系统的目标:

      截止时间的保证、可预测性

  4. 作业类别

    1. 批处理型作业:用于巨型机和大型服务器系统(脱机运行)
    2. 交互型作业:联机运行
    3. 实时型作业:响应时间有实时需求的作业 硬实时 软实时

    不同类别作业的管理、调度方式不同

  5. 批处理系统中的作业

    1. 作业控制块 JCB:保存了系统对作业进行管理和调度所需的全部信息

    2. 作业运行的三个阶段和三种状态:

      三个阶段:收容、运行、完成

      三种状态:后备、运行、完成

  6. 作业调度的主要任务:

    按照一定的调度算法,从外存的后备队列中选取某些作业调入内存,并为它们创建进程、分配必要的资源,排在就绪队列上等待调度

  7. 作业调度算法:

    1. 先来先服务调度算法 FCFS(人机无法实现交互)

    2. 最短作业优先调度算法 SJF (运行时间最短)

    3. 优先级调度算法 PSA (数字越小 越优先)

    4. 高响应比优先调度算法 HRRN (每次选择后备作业中优先级最高的作业)

      优先权/响应比 = (等待时间 + 运行时间)/ 运行时间 数字越大 优先权越高

  8. 几个计算:

    到达时间

    运行时间

    开始时间 = max(上一个作业的开始时间 + 上一个作业的运行时间, 该作业的到达时间)

    完成时间 = 开始时间 + 运行时间

    周转时间 = 完成时间 - 到达时间

    带权周转时间 = 周转时间 / 运行时间

    平均周转时间 = sum(周转时间) / 作业个数

    平均带权周转时间 = sum(带权周转时间) / 作业个数

    等待时间 = 开始时间 - 到达时间

  9. 优先级

    输入输出为主作业优先级最高,均衡型作业其次,计算为主作业优先级最低

  10. 进程调度:

    1. 从调度方式:

      1. 非抢占式调度

      2. 抢占式调度:

        原则:优先权原则、短进程优先原则、时间片原则

    2. 轮转调度算法 RR算法

      应用于分时系统

      时间片q大小的确定:

      进程数多 q小 反之 q大

      系统要求的响应时间苛刻 q小 反之 q大

    3. 优先级调度算法

      1. 非抢占式优先级调度算法
      2. 抢占式优先级调度算法
      3. 优先级类型:
        1. 静态优先级:创建进程时确定,运行期间保持不变
        2. 动态优先级:创建进程时赋予,运行期间可以改变(高响应比优先)
    4. 多队列调度算法

      不同队列优先级不同,采用的调度算法不同;同一队列进程优先级不同

    5. 多级反馈队列调度算法

      多个就绪队列优先级依次降低,时间片依次递增,每个队列RR方式运行,靠前队列可抢占式优先调用

    6. 基于公平原则的调度算法

      1. 保证调度算法
      2. 公平分享调度算法
    7. 实时调度

      采用抢占式调度机制,具有快速切换机制(对中断的快速响应能力、快速的任务分派能力)

      1. 分类:

        硬实时 软实时

        非抢占(非抢占式RR算法 非抢占式优先调度算法) 抢占(基于时钟中断的抢占式优先级调度算法 立即抢占的优先级调度算法)

      2. 最早截止时间优先调度算法 EDF

        1. 非抢占式调度方式用于非周期实时任务
        2. 抢占式调度方式用于周期实时任务
      3. 最低松弛度优先调度算法 LLF

        松弛度 = 必须完成时间 - 其本身运行时间 - 当前时间

      4. 优先级倒置

  11. 死锁
    剩余内容在3 处理机调度和死锁(下)

这篇关于3 处理机调度和死锁(上)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/716730

相关文章

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

一种改进的red5集群方案的应用、基于Red5服务器集群负载均衡调度算法研究

转自: 一种改进的red5集群方案的应用: http://wenku.baidu.com/link?url=jYQ1wNwHVBqJ-5XCYq0PRligp6Y5q6BYXyISUsF56My8DP8dc9CZ4pZvpPz1abxJn8fojMrL0IyfmMHStpvkotqC1RWlRMGnzVL1X4IPOa_  基于Red5服务器集群负载均衡调度算法研究 http://ww

Golang进程权限调度包runtime

关于 runtime 包几个方法: Gosched:让当前线程让出 cpu 以让其它线程运行,它不会挂起当前线程,因此当前线程未来会继续执行GOMAXPROCS:设置最大的可同时使用的 CPU 核数Goexit:退出当前 goroutine(但是defer语句会照常执行)NumGoroutine:返回正在执行和排队的任务总数GOOS:目标操作系统NumCPU:返回当前系统的 CPU 核数量 p

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《考虑燃料电池和电解槽虚拟惯量支撑的电力系统优化调度方法》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python

【Linux】探索进程优先级的奥秘,解锁进程的调度与切换

目录 进程优先级: 是什么? 为什么存在进程优先级的概念呢? Linux为什么调整优先级是要受限制的? PRI vs NICE Linux的调度与切换 概念准备: 那我们到底怎样完成进程的调度和切换呢? 区分:寄存器VS寄存器的内容 Linux实现进程调度的算法,需要考虑优先级,考虑进程饥饿问题,考虑效率问题。 解决优先级问题: 解决进程饥饿问题: 解决效率的问题:

【Linux修行路】线程安全和死锁

目录 ⛳️推荐 一、线程安全 1.1 常见的线程不安全情况 1.2 常见的线程安全情况 1.3 常见的不可重入情况 1.4 常见可重入的情况 1.5 可重入与线程安全的联系 1.6 可重入与线程安全的区别 二、死锁 2.1 死锁的四个必要条件 2.2 如何避免产生死锁? ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大

k8s调度(pod亲和、反亲和、污点、容忍度)

pod亲和性 针对对象为Pod,目的是实现,新建Pod和目标Pod调度到一起,在同一个Node上。 示例: apiVersion: v1kind: Podmetadata:name: testpod01labels:app: myapp01env: test1spec:containers:- name: testpod01image: nginx:1.23.2---apiVersio

黑马程序员---银行业务调度系统

模拟实现银行业务调度系统逻辑 需求分析: 银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。 有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费、电话费之类业务的客户)。 异步随机生成各种类型的客户,生成各类型用户的概率比例为:         VIP客户 :普通客户 :快速客户 =  1:6:3。 客户办理业务所

RMS调度详解

1.RMS调度简介 任务按单调速率优先级分配(RMPA)的调度算法,称为单调速率调度(RMS)。RMPA是指任务的优先级按任务周期T来分配。它根据任务的执行周期的长短来决定调度优先级,那些具有小的执行周期的任务具有较高的优先级,周期长的任务优先级低。 2.RMS调度实现介绍 SylixOS目前关于RMS调度分为创建、删除、调度三个部分组成。创建和删除就不予介绍。重点关注下调度算法的实现。调度

Kubernetes Scheduler:Pod调度的双步骤—预选(Predicates)和优选(Priorities)

Kubernetes Scheduler:Pod调度的双步骤—预选(Predicates)和优选(Priorities) 1、预选(Predicates)2、优选(Priorities) 💖The Begin💖点点关注,收藏不迷路💖 在Kubernetes中,Pod的调度是由Scheduler负责的。Scheduler通过两个关键步骤——预选(Predicat