合肥达内IT培训
美国上市IT培训机构

4001118989

合肥达内Java培训进程调度算法都有哪些类型


我们在前几期的文章中给大家简单介绍了进程间的通信等一些编程技术等内容,而本文我们就再来了解一下,进程调度算法都有哪些类型。

合肥达内Java培训进程调度算法都有哪些类型

调度算法的意义

程序运行时,通常会有多个进程或线程同时竞争CPU,但是如果只有一个CPU可用,那就必须选择下一个要运行的进程。在操作系统中完成选择工作的一部分叫做调度程序。

但是进程也有区分,

CPU密集型:大多时间在计算

IO密集型:大多时间在IO等待切换(由于现在CPU的性能提高,主要是IO密集型)

调度算法的目的就是为了保持系统所有部分尽可能忙碌。

主要有四个指标衡量调度算法的好坏,吞吐量、周转时间、CPU利用率、响应时间。

并且调度程序需要考虑到CPU利用率,因为进程的切换比较高,用户态必须切换到内核态,然后保存当前进程的状态,包括在进程表中存储寄存器值以便以后重新装载。

调度算法分类:批处理、交互式、实时

批处理系统的调度

先来先服务

First-comefirst-served,按照进程请求的顺序使用CPU。相当于有一个就绪进程的单一队列。

优点:易于理解便于在程序中运用。

缺点:如果某个进程过大,会导致后面进程饥饿。

短作业优先:

缺点:对长进程不友好。

短剩余时间优先

是短作业优先的抢占式版本,总是选择剩余运行时间短的那个进程运行,需要对整个事件同当前进程的剩余时间比较,如果右小于当前进程的,当前进程就会被挂起,运行新的进程。

交互式系统的调度

轮转调度

每个进程都会被分一个时间段,即时间片,允许该进程在该时间片内运行。调度程序需要维护一张可运行进程列表。:

缺点:时间片设置的过长会导致短的交互请求的响应时间变长,过短会导致过多进程切换降低CPU效率。

优先级调度

优先级可以是静态赋予也可以是动态赋予。比如将优先级设为该进程在上一时间片所占部分的倒数。

缺点:可能会导致低优先级进程产生饥饿现象。需要偶尔堆优先级进行调整。

【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。

预约申请免费试听课程

         

上一篇:合肥达内Java培训进程通信的类型与作用分析
下一篇:合肥达内计算机培训软件编程开发都有哪些开发原则

合肥达内Java培训班程序员如何打破职场瓶颈

合肥达内Java培训MySQL数据库优化需要关注哪些问题

合肥达内ui设计培训交互设计应用实践需要注意哪些问题

合肥达内Java培训软件开发线程安全基础知识分享

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

  • 搜索抖音号

    搜索抖音号:1821685962

    免费领取达内课程视频学习资料

Copyright © 2021 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
江西省

贵州省

广西省

海南省