在32位的Windows系统中,采用的是抢先式多任务,这意味着程序对CPU的占用时间是由系统决定的。系统为每个程序分配一定的CPU时间,当程序的运行超过规定时间后,系统就会中断该程序并把CPU控制权转交给别的程序。
这明明是时间片轮转多任务嘛,抢先式多任务的各个任务是有优先级的,高优先级的任务要先执行
10 个解决方案
#1
winNT,我觉得:优先级+时间片
#2
时间片是肯定有的
呵呵
应该是以时间片为主,其他为付。
不可能是单一的算法
呵呵
应该是以时间片为主,其他为付。
不可能是单一的算法
#3
考虑一下cpu占用99%--100%的情况。
#4
应该是基于抢先式,多处理器的os
时间片轮转只是对算法的描述而已
个人意见
时间片轮转只是对算法的描述而已
个人意见
#5
Win2000下任务管理器好像优先级是16吧,最高,所有总是能够弹出(基本上)。由此看见应该是抢先式的。
你可以编写几个程序来Test一下。
你可以编写几个程序来Test一下。
#6
抢先式多任务的意思是时间片由系统分配,和应用程序无关。与之对立的叫“协同式多任务”,windows 16bit系统就采用这个。协同式多任务是指多任务能力需要应用程序自己协调,系统并不参与管理(事实上是参与极少的管理)。在抢先式多任务中,才可能实现多优先级。(实际上Window 95+的进程和线程都是有优先级的。)
抢先式 和 时间片轮转 好象不是对立面。
抢先式 和 时间片轮转 好象不是对立面。
#7
各个线程是可以设定优先极的,主程序本身就是一个线程。
BOOL SetThreadPriority(HANDLE hThread, int nPriority);
BOOL SetThreadPriority(HANDLE hThread, int nPriority);
#8
把CPU依时间分片..然后以抢先式来占有...根本不对立的吗...
#9
win2000/xp
系统共有32个等级(有的等级不让使用)
系统调度只是对线程而言,也就是说某个线程一定有一个等级,从1到32(16以上为实时的,以下为一般的)。
但是,系统又分了6、7(记不清了)个模块用于表示进程优先级(各个模块有5个等级,模块之间不互斥)。当程序启动,一个进程开始,系统会使用默认的模块给这个进程中的主线程分配等级(即5个等级居中的一个)。
当然在运行时,可以设置不同的优先级,等级高的先运行,这也就是抢占式。
而且每个线程可以设置自己喜爱的cpu,否则使用默认的。
系统共有32个等级(有的等级不让使用)
系统调度只是对线程而言,也就是说某个线程一定有一个等级,从1到32(16以上为实时的,以下为一般的)。
但是,系统又分了6、7(记不清了)个模块用于表示进程优先级(各个模块有5个等级,模块之间不互斥)。当程序启动,一个进程开始,系统会使用默认的模块给这个进程中的主线程分配等级(即5个等级居中的一个)。
当然在运行时,可以设置不同的优先级,等级高的先运行,这也就是抢占式。
而且每个线程可以设置自己喜爱的cpu,否则使用默认的。
#10
不好意思打扰啦 各位:
马上就要新的一年了,先祝大家在新的一年里开开心心,高高兴兴……
也希望大家不要把今年的帖子放到明年再揭帖,特别是2002年9月份以前的帖子,今年的事情今年办完,不要拖拖拉拉的放到明年去!
自己看一下自己还有没有没有揭帖的 或者没有人回复的,特别是2002年9月份以前的,9月份以后的如果没有得到答案的可以暂时不用急着揭帖,如果已经得到答案的,希望也马上去揭帖,还有一些没有人恢复的帖子,自己可以去删掉,否则斑竹删掉的话要扣信誉值,自己删掉没有人回复,或者只有自己回复的帖子不扣信誉值的
请大家看看自己的问题
DataBase版的请参照
http://expert.csdn.net/Expert/topic/1265/1265029.xml?temp=.1202509
谢谢大家的合作与支持,祝大家过个好年……
马上就要新的一年了,先祝大家在新的一年里开开心心,高高兴兴……
也希望大家不要把今年的帖子放到明年再揭帖,特别是2002年9月份以前的帖子,今年的事情今年办完,不要拖拖拉拉的放到明年去!
自己看一下自己还有没有没有揭帖的 或者没有人回复的,特别是2002年9月份以前的,9月份以后的如果没有得到答案的可以暂时不用急着揭帖,如果已经得到答案的,希望也马上去揭帖,还有一些没有人恢复的帖子,自己可以去删掉,否则斑竹删掉的话要扣信誉值,自己删掉没有人回复,或者只有自己回复的帖子不扣信誉值的
请大家看看自己的问题
DataBase版的请参照
http://expert.csdn.net/Expert/topic/1265/1265029.xml?temp=.1202509
谢谢大家的合作与支持,祝大家过个好年……
#1
winNT,我觉得:优先级+时间片
#2
时间片是肯定有的
呵呵
应该是以时间片为主,其他为付。
不可能是单一的算法
呵呵
应该是以时间片为主,其他为付。
不可能是单一的算法
#3
考虑一下cpu占用99%--100%的情况。
#4
应该是基于抢先式,多处理器的os
时间片轮转只是对算法的描述而已
个人意见
时间片轮转只是对算法的描述而已
个人意见
#5
Win2000下任务管理器好像优先级是16吧,最高,所有总是能够弹出(基本上)。由此看见应该是抢先式的。
你可以编写几个程序来Test一下。
你可以编写几个程序来Test一下。
#6
抢先式多任务的意思是时间片由系统分配,和应用程序无关。与之对立的叫“协同式多任务”,windows 16bit系统就采用这个。协同式多任务是指多任务能力需要应用程序自己协调,系统并不参与管理(事实上是参与极少的管理)。在抢先式多任务中,才可能实现多优先级。(实际上Window 95+的进程和线程都是有优先级的。)
抢先式 和 时间片轮转 好象不是对立面。
抢先式 和 时间片轮转 好象不是对立面。
#7
各个线程是可以设定优先极的,主程序本身就是一个线程。
BOOL SetThreadPriority(HANDLE hThread, int nPriority);
BOOL SetThreadPriority(HANDLE hThread, int nPriority);
#8
把CPU依时间分片..然后以抢先式来占有...根本不对立的吗...
#9
win2000/xp
系统共有32个等级(有的等级不让使用)
系统调度只是对线程而言,也就是说某个线程一定有一个等级,从1到32(16以上为实时的,以下为一般的)。
但是,系统又分了6、7(记不清了)个模块用于表示进程优先级(各个模块有5个等级,模块之间不互斥)。当程序启动,一个进程开始,系统会使用默认的模块给这个进程中的主线程分配等级(即5个等级居中的一个)。
当然在运行时,可以设置不同的优先级,等级高的先运行,这也就是抢占式。
而且每个线程可以设置自己喜爱的cpu,否则使用默认的。
系统共有32个等级(有的等级不让使用)
系统调度只是对线程而言,也就是说某个线程一定有一个等级,从1到32(16以上为实时的,以下为一般的)。
但是,系统又分了6、7(记不清了)个模块用于表示进程优先级(各个模块有5个等级,模块之间不互斥)。当程序启动,一个进程开始,系统会使用默认的模块给这个进程中的主线程分配等级(即5个等级居中的一个)。
当然在运行时,可以设置不同的优先级,等级高的先运行,这也就是抢占式。
而且每个线程可以设置自己喜爱的cpu,否则使用默认的。
#10
不好意思打扰啦 各位:
马上就要新的一年了,先祝大家在新的一年里开开心心,高高兴兴……
也希望大家不要把今年的帖子放到明年再揭帖,特别是2002年9月份以前的帖子,今年的事情今年办完,不要拖拖拉拉的放到明年去!
自己看一下自己还有没有没有揭帖的 或者没有人回复的,特别是2002年9月份以前的,9月份以后的如果没有得到答案的可以暂时不用急着揭帖,如果已经得到答案的,希望也马上去揭帖,还有一些没有人恢复的帖子,自己可以去删掉,否则斑竹删掉的话要扣信誉值,自己删掉没有人回复,或者只有自己回复的帖子不扣信誉值的
请大家看看自己的问题
DataBase版的请参照
http://expert.csdn.net/Expert/topic/1265/1265029.xml?temp=.1202509
谢谢大家的合作与支持,祝大家过个好年……
马上就要新的一年了,先祝大家在新的一年里开开心心,高高兴兴……
也希望大家不要把今年的帖子放到明年再揭帖,特别是2002年9月份以前的帖子,今年的事情今年办完,不要拖拖拉拉的放到明年去!
自己看一下自己还有没有没有揭帖的 或者没有人回复的,特别是2002年9月份以前的,9月份以后的如果没有得到答案的可以暂时不用急着揭帖,如果已经得到答案的,希望也马上去揭帖,还有一些没有人恢复的帖子,自己可以去删掉,否则斑竹删掉的话要扣信誉值,自己删掉没有人回复,或者只有自己回复的帖子不扣信誉值的
请大家看看自己的问题
DataBase版的请参照
http://expert.csdn.net/Expert/topic/1265/1265029.xml?temp=.1202509
谢谢大家的合作与支持,祝大家过个好年……