操作系统之处理机调度和死锁

本文详细探讨了操作系统中的处理机调度,包括调度的层次和目标,如资源利用率、公平性和策略强制执行性,并讲解了各种调度算法如FCFS、SJF和轮转调度。接着,文章深入讲解了死锁的概念、产生条件、处理和预防策略,如银行家算法,并介绍了不同类型的锁。最后,文中给出了与调度和死锁相关的面试问题。
摘要由CSDN通过智能技术生成

1.处理机调度的层次和目标

1.1 处理机调度的层次

1.2 处理机调度的目标

1.2.1 处理机调度算法的共同目标

  • 资源利用率:应该使得系统中的处理机和其它资源都尽可能保持忙碌状态。CPU的利用率=CPU有效工作时间/(CPU有效工作时间+CPU空闲等待时间);
  • 公平性:每个进程获得合理的CPU时间。
  • 平衡性:系统中可能具有多种类型的进程,有的属于计算型作业,有的属于I/O型。
  • 策略强制执行性:对所制定的策略其中包含安全策略,只要需要就必须予以准确地执行,即使会造成某些工作的延迟也要执行。

1.2.3 批处理系统的目标

  • 平均周转时间短:周转时间是指从作业被提交给系统开始,到作业完成为止的这段时间间隔。
  • 系统吞吐量高:吞吐量是指在单位时间内系统所完成的作业数,因此它与批处理作业的长度有关。
  • 处理机利用率高

1.2.4 分时系统的目标

  • 响应时间快
  • 均衡性:系统响应时间的快慢应与用户所请求服务的复杂性相适应。

1.2.5 实时系统的目标

  • 截止时间的保证:所谓的截止时间,是指进程认为必须开始执行的最晚时间,或者完成的最晚时间。
  • 可预测性:例如在多媒体系统中,无论是电影还是电视剧都应该连续播放的,这就提供了请求的可预测性。

1.3 调度算法的评价目标

2.作业和进程调度算法

2.1 背景知识

  • 调度:操作系统管理的系统资源有限,当有多个进程要使用这些资源时,必须按照一定的原则选择进程来占用资源,也就是说调度的实质是资源分配
  • 调度算法:根据系统的资源分配策略所规定的资源分配算法。
  • 作业调度:根据JCB中的信息,检查系统中的资源是否能满足作业对资源的需求,以及按照一定的调度算法,从外存的后备队列中选取某些作业调入内存,并为他们创建进程和分配必要的资源,然后再将新创建的进程排在就绪队列上等待调度。
  • 进程调度:当计算机系统处于就绪状态的用户进程数多于CPU数时,就会产生多个进程或线程同时竞争CPU的结果。假设现在只有一个CPU可用,那么操作系统就必须选择一个进程运行,并把处理机分配给该进程。
  • 非抢占式算法:在采用这种调度方式时,一旦把处理机分配给某进程时,就让它一直运行下去,绝不会因为时钟中断或者任何原因去抢占当前正在运行的处理机,直至该进程完成,或者因为发生某件事被阻塞时,才把处理机分配给别的进程。
  • 抢占式算法:这种调度方式允许调度程序根据某种规则,去暂停某个正在执行的进程,将已经分配给该进程的处理机重新分配给另一进程(抢占是有一定原则的:a.优先权原则;b.短进程优先原则;c.时间片原则)。

2.2 先来先服务调度算法(FCFS)

2.3 短作业优先调度算法(SJF)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值