程序运行中的时钟

来源:百度知道 编辑:UC知道 时间:2024/05/29 17:37:39
在某实时任务到达后,如果该任务的优先级同于当前任务的优先级,这时并不立即抢占当前任务的处理机,而是等到 时钟中断 到来时,高度程序才剥夺当前任务的执行,将处理机分配给新到的高优先级任务。
程序中的时钟到底是怎么回事?

你说的CPU时间吧。
其实每一个进程都不是由CPU完整运行结束后CPU才结束控制获得下一个程序,
不然你的程序就只能一个一个运行了。
CPU运行机制中引入了CPU时间的方法,即为每一个程序(进程)分配一定的CPU时间,优先级高者分得的可能更多。当程序的CPU时间到来是,CPU便会处理这一个程序的数据,当下一个程序的时间到达是,CPU便会抛下这个程序(即使这个程序没有完成执行),既而转向下一个程序。
举个例子,A程序时间为1秒,B程序时间为2秒(这由加载者分配决定),当A程序运行1秒后没有结束,便会停滞,然后B程序运行2秒,既而又是A程序。当然实际CPU时间要小很多,1秒内可能包含N多个程序时间运行过。
这样可以避免单线程或者较大运算的程序导致电脑停滞,使得电脑及CPU使用效率更高(高很多呢..)。谢谢。