关于中断与进程的切换问题

发布于 2022-08-29 22:24:40 字数 481 浏览 48 评论 0

大家好,我最近在看 《一个操作系统的实现》 ,看到第六章 进程 的时候,感觉有点吃力,有一个问题始终不理解,所以想大家请教,希望各路大神帮帮我!!!感激不尽!

我的问题时, 《一个操作系统的实现》这本书的进程的实现中, TestA() 是这样的:

void TestA()
{
        int i = 0;
        while(1){
                disp_str( "A" );
                disp_int( i++ );
                disp_str( "." );
                delay(1);
    }
}

我的问题就是,既然进程 TestA 是一个死循环,那么中断与进程是如何切换的

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

执妄 2022-09-05 22:24:40

中断是幕后的,你可以这么理解,你在一个人不知道的情况下把它打晕,然后他醒了继续做之前的事情。死循环和不死循环的程序没有区别。

你把一个人打晕了,然后把现场设为另一个人晕之前的现场,然后叫醒后者,后者以为自己一直在做事。

凉城已无爱 2022-09-05 22:24:40

不了解。但是感觉你说的程序上的死循环和进程的中断切换没有任何关系。建议你了解一下进程,信号相关的知识。

一人独醉 2022-09-05 22:24:40

你可以这么理解,进程是操作系统来调度的。就好想操作系统是老板,进程是员工,而中断就是优先级很高而且很紧急的任务,当老板收到这个任务的时候,就中断对应员工的工作,叫员工处理这个任务。所以不管这个员工在干什么,都会被打断。

听,心雨的声音 2022-09-05 22:24:40

操作系统内部在每条指令执行完之后都会检测中断,若有中断则进入中断处理。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文