操作系统笔记-进度调度算法篇

进程调度的时机

定义:操作系统按照某种算法从就绪队列中选择1个进程为其分配CPU
进程调度和切换的情况:
一、进程主动放弃:

  1. 进程正常终止
  2. 进程运行过程中发生异常
  3. 进程主动进入阻塞状态(等待I/O)

二、进程被动放弃

  1. 操作系统分给进程的时间片用完
  2. 有更高优先级的进程进入就绪队列
  3. CPU有更紧急的事情需要处理(中断处理)

我们理解的进程调度:包含了从就绪队列中选择一个进程来使用当前的CPU,同时需要进行进程切换:即一个进程让出CPU,让另一个进程来使用。
进程切换的过程包含了以下两个步骤:

  1. 对原来进程各自数据的保存(将数据保存在PCB控制块中)
  2. 对新的进程各自数据的恢复(将PCB中的数据重新恢复到相对应的寄存器中。)

进程调度的方式:

  1. 非抢占式调度:只允许进程主动放弃CPU,即使有更紧急的任务到达,当前进程依旧会使用CPU,直到该进程终止或者主动进入阻塞状态。
  2. 抢占式调度:当一个进程被分配给CPU之后,如果时间片用完,或者有更重要紧急的进程需要使用CPU,那么当前进程会被终止,CPU资源会被分配给更重要紧急的进程。

以上两者方式,后者的灵活性更高,适用于分时操作系统和实时操作系统,前者使用于早期的批处理系统。

进程不能调度的情况

  1. 在处理中断的过程中,是不能发生进程的切换和调度的。
  2. 进程处于操作系统内核程序的临界区中。
    临界区的定义:一段时间只允许一个进程访问该区域的资源,所以进程之间需要互斥的访问临界资源。
    临界资源:访问临界资源的那段代码
    内核程序临界区:访问内核的数据结构的,比如进程的就绪队列。
  3. 在原子操作的过程中,它是不可中断,一气呵成的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值