大家好,我最近在看 《一个操作系统的实现》
,看到第六章 进程
的时候,感觉有点吃力,有一个问题始终不理解,所以想大家请教,希望各路大神帮帮我!!!感激不尽!
我的问题时, 《一个操作系统的实现》
这本书的进程的实现中, TestA()
是这样的:
void TestA()
{
int i = 0;
while(1){
disp_str( "A" );
disp_int( i++ );
disp_str( "." );
delay(1);
}
}
我的问题就是,既然进程 TestA
是一个死循环,那么中断与进程是如何切换的?
中断是幕后的,你可以这么理解,你在一个人不知道的情况下把它打晕,然后他醒了继续做之前的事情。死循环和不死循环的程序没有区别。
你把一个人打晕了,然后把现场设为另一个人晕之前的现场,然后叫醒后者,后者以为自己一直在做事。