请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于抢占/非抢占和调度算法

老师好,这两组概念
第一组 :抢占式 非抢占式
第二组 : 就是那四个调度算法
想请问老师的是,这两组概念的关系是怎么样的呢?
比如我的理解是,四种调度算法,只是从进程就绪队列中,选出某个即将调度的进程,与是否要去抢占/不抢占没关系;而抢占/非抢占策略是决定当前正在运行的进程是等它被执行完(或io阻塞)再切换,还是不用等它运行完,调度程序就可以去抢占cpu;
这是我的理解,有问题吗老师
然后就是我看之前老师您在其他问题上的回答,大概意思是说先来先服务调度算法、短进程优先调度算法、高优先权优先调度算法,这三种是非抢占式?然后说时间片轮转调度算法是抢占式,那这样就和我的理解有些冲突了呀,请老师执教~

正在回答 回答被采纳积分+3

1回答

咚咚呛 2020-11-22 01:23:14

理解有些错误,抢占和非抢占策略并非取决于IO阻塞被切换,而是看一个进程是否可以在另外一个进程还在执行的时候,允许进入CPU,对于时间片轮转调度算法,一个进程只要时间片用完了,不管是否执行完成,都会被别的进程抢占到CPU资源。这种就是典型的抢占。

而对于另外三种,先来先服务、短进程有限、高优先调度,在调度过程中,只是进程运行先后顺序的差别,当一个进程开始执行了,就会占用CPU资源直到完成,所以这三种是典型的非抢占式调度。

希望对你有所帮助。

1 回复 有任何疑惑可以回复我~
  • 提问者 Harrygod #1
    老师好
    "而是看一个进程是否可以在另外一个进程还在执行的时候,允许进入CPU",您这句话是针对多核cpu吗,因为我理解的是如果单核cpu,同一时刻只能有一个进程在cpu中运行,我这个理解对吗老师
    回复 有任何疑惑可以回复我~ 2020-11-22 09:48:54
  • 小王爱吃鱼面 回复 提问者 Harrygod #2
    这句话应该是这个意思“而是看一个进程A是否可以在另外一个进程B正在占用CPU且还未执行完毕的时候,被允许进入CPU(当A进入CPU时,B被调出CPU)”
    回复 有任何疑惑可以回复我~ 2022-03-06 16:50:58
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信