个性化阅读
专注于IT技术分析

系统CPU调度

本文概述

在像MS DOS这样的单编程系统中, 当进程等待任何I / O操作完成时, CPU仍然是偶像。这是开销, 因为它浪费时间并导致饥饿问题。但是, 在多程序系统中, CPU在进程的等待时间内不会保持空闲状态, 而是开始执行其他进程。操作系统必须定义将给CPU的进程。

在多程序系统中, 操作系统将CPU上的进程调度为具有最大利用率, 此进程称为CPU调度。操作系统使用各种调度算法来调度进程。

短期调度程序的任务是为CPU调度作业池中存在的进程数。每当正在运行的进程请求某些IO操作时, 短期调度程序都会保存该进程的当前上下文(也称为PCB), 并将其状态从运行更改为等待。在此期间, 进程处于等待状态;短期调度程序从就绪队列中选择另一个进程, 并将CPU分配给该进程。此进程称为上下文切换。

在进程控制块中保存了什么?

在进程的生存期内, 操作系统会维护进程控制块。当进程终止或终止时, 将删除进程控制块。以下信息保存在进程控制块中, 并随进程状态而变化。

os CPU调度进程控制块

为什么我们需要计划?

在Multiprogramming中, 如果长期调度程序选择了更多的I / O绑定进程, 那么大多数时候CPU仍然是偶像。操作系统的任务是优化资源利用。

如果大多数正在运行的进程将它们的状态从运行更改为等待, 那么系统中总会出现死锁的可能性。因此, 为了减少这种开销, OS需要调度作业以获取CPU的最佳利用率并避免死锁的可能性。

赞(0)
未经允许不得转载:srcmini » 系统CPU调度

评论 抢沙发

评论前必须登录!