进程调度算法模拟python_【操作系统】进程调度算法

本文深入探讨了操作系统的进程调度算法,包括概述、各种调度算法如FCFS、短作业优先、最短剩余时间、响应比优先、时间片轮转、优先权调度和多级反馈队列等,并阐述了每种算法的优缺点和适用场景。
摘要由CSDN通过智能技术生成

 摘要: 本文主要讲述操作系统关于进程调度算法方面的一些知识点。主要内容如下:

  • 概述

  • 进程调度算法

  • 结论

01

概述

当 CPU 空闲时,操作系统就选择内存中的某个"就绪状态"的进程,并给其分配 CPU。那么进程的状态有哪些呢?

进程的状态

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

  • 新建状态:进程由创建而产生。创建进程是一个非常复杂的过程,一般需要通过多个步骤才能完成:如首先由进程申请一个空白的进程控制块(PCB),并向PCB中填写用于控制和管理进程的信息;然后为该进程分配运行时所必须的资源;最后,把该进程转入就绪状态并插入到就绪队列中。

  • 就绪(Ready)状态:当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就就绪(Ready)状态。

  • 执行(Running)状态:当进程已获得处理机,其程序正在处理机上执行,此时的进程状态称为执行状态。

  • 阻塞(Blocked)状态:正在执行的进程,由于等待某个事件发生而无法执行时,便放弃处理机而处于阻塞状态。引起进程阻塞的事件可有多种,例如,等待I/O完成、申请缓冲区不能满足、等待信件(信号)等。

  • 终止状态:进程的终止也要通过两个步骤:首先,是等待操作系统进行善后处理,最后将其PCB清零,并将PCB空间返还给系统。当一个进程到达了自然结束点,或是出现了无法克服的错误,或是被操作系统所终结,或是被其他有终止权的进程所终结,它将进入终止状态。进入终止态的进程以后不能再执行,但是操作系统中仍然保留了一个记录,其中保存状态码和一些计时统计数据,供其他进程进行收集。一旦其他进程完成了对其信息的提取之后,操作系统将删除其进程,即将其PCB清零,并将该空白的PCB返回给系统。

进程状态间的转换

一个进程在运行期间,不断地从一种状态转换到另一种状态,它可以多次处于就绪状态和执行状态,也可以多次处于阻塞状态。下面描述了进程的基本状态及其转换。

  • 新建→就绪:当操作系统完成了进

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值