调度---------操作系统

本文详细介绍了操作系统中的调度算法,包括批处理系统和交互式系统的调度策略,如先来先服务、最短作业优先、轮转调度、优先级调度、多级队列等,并探讨了调度的目标和实时系统的需求。
摘要由CSDN通过智能技术生成

调度是指在多道程序设计系统中,也就是说有多个进程处于就绪态而(或线程)同时竞争cpu(只有一个)时,必须选择一个进程运行。怎么选择?用调度算法去选。

一、基本概念
1.1进程切换的代价: 用户态转到内核态 保存当前进程状态。内存映像保存,运行调度算法选择新进程,将新进程的内存映射重装入MMU,最后新进程开始运行。注意:进程切换使内存高速缓存失效,强迫内存动态装入两次(进入内核一次,离开内核一次。这里我不太明白。)
这一切都说明并不是单位时间内进程切换越多越好,反而很差。

1.2进程行为: 几乎所有进程都是I/O请求与计算交替执行,什么是I/O操作:当一个进程由于等待外部设备工作完而阻塞。

计算密集型:一进程花费大多时间在计算上
I/O密集型:一进城在等待I/O上花费大多时间
随着cpu的速度在不停变快,现在进程更多是I/O密集型,那么,调度程序要尽可能的让I/O密集型进程运行,以便让I/O请求发出让磁盘始终忙碌。

1.3何时调度:

  • 父进程创建子进程时,两进程都处于就绪态,需要选择运行哪一个
  • 一个进程退出时,挑选一个。若没有,则运行系统提供的空闲进程
  • 一进程zuse在I/O操作和信号量上或因其他原因阻塞
  • I/O中断发生时,做出决策,I/O设备发出中断完成工作,是让阻塞等待盖I/O的进程执行还是其他,调度算法决定

调度算法分类:硬件始终以某一频率发生周期性中断,每个时钟中断或者每k个时钟中断做出调度决策,可把调度算法分为抢占式与非抢占式。
非抢占式:挑选一个进程,直到运行至被阻塞,或者其自动释放cpu。即使运行了很长很长时间,也不会被强迫挂起,在时钟中断发生时也不调度。
抢占式:挑选一个进程运行某个固定时段的最大值。若时间段结束,还在运行,他被挂起,挑选一个进程运行。进行抢占式算法,必须在时间段末端发生时钟中断,以便把cpu让给调度程序。抢占式依赖好

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值