【面试八股总结】进程(二):进程调度与进程同步

本文详细介绍了进程调度算法(如FCFS,SJF,HRRN,时间片轮转,HPF,SRTN)及其目标,包括CPU利用率、系统吞吐量和周转时间。同时探讨了进程同步概念,如临界区、同步原则、信号量和管程的使用。

参考资料 :小林Coding、阿秀、代码随想录

一、进程调度

当⼀个进程的状态发⽣改变时,操作系统需要考虑是否要换⼀个进程执行,这就需要⽤到“进程调度算法”。

1. 调度目标

不同的调度算法具有不同的特性,因为使用以下标准比较处理机调度算法的性能:

  • CPU利⽤率:CPU是计算机系统中最重要和昂贵的资源之⼀,应该使CPU保持“忙碌”状态
  • 系统吞吐量:单位时间内CPU完成作业的数量。
  • 周转时间:作业从提交到完成所需要的时间,是作业等待、在就绪队列中排队、在处理机上运⾏及输⼊输出操作所花费时间的总和。

2. 进程调度方式

  • 非抢占调度方式:当⼀个进程正在处理中,即使有更为重要的进程进入到就绪队列中,仍然让正在执行的进程继续执行。
  • 抢占调度方式:当⼀个进程正在处理中,如果有更为重要的进程进入到就绪队列中,则允许调度程序根据某种原则去暂停正在执行的进程,将处理机分配给更为重要或紧迫的进程

3. 调度算法

3.1 先来先服务调度算法First Come First Severd, FCFS

        每次从就绪队列选择最先进入队列的进程,然后一直运行,直到进程退出或被阻塞,才会继续从队列中选择第一个进程接着运行。

        非抢占式的调度算法,按照请求的顺序进行调度。

        有利于长作业,但不利于短作业,因为短作业必须一直等待前面的长作业执行完毕才能执行,而长作业又需要执行很长时间,造成了短作业等待时间过长。适用于 CPU 繁忙型作业的系统,而不适用于 I/O 繁忙型作业的系统。

3.2 最短作业优先调度算法 (shortest job first, SJF)

        优先选择运行时间最短的进程来运行,这有助于提高系统的吞吐量。

   &

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值