IO 多路复用

Linux 操作系统中断

举个简单的场景,比如你正在家里打单机游戏,突然你饿了,然后你就打电话,叫了一份外卖,你此时叫完外卖,没有必要一直在这里等着,你可以回头继续打游戏,等你游戏打到大 boss 的时候,这个时候,外卖小哥过来敲门了,那么此时你肯定不能退出游戏,因为退出了游戏,再进就得从头开始打,所以你此时应该把游戏存档,然后去拿外卖,然后吃外卖,吃完以后,就可以读取存档,继续打游戏了。

那么在上面的过程中,外卖小哥过来敲门,其实就是一个 中断指令 ,而游戏存档,就是 CPU现场保护,也就是存在进程的 PCB 里面。

系统中断,硬中断,软中断

硬中断

硬中断就是硬件发起的中断,可以发生在任意时间。一般情况下,这种引起中断的请求,和 CPU 当前运行的程序,基本上没有关系。

软中断

软中断是CPU发起的中断。软中断一般是 80中断

IO 多路复用

多线程的问题

IO 多路复用

比如上面的情况,一个服务器有多个 连接请求,那么这种情况下,如果来回的切换线程,就会比较麻烦,所以这个时候,就要考虑单线程

BIO底层通信原理

IO 多路复用

比如上边的这个问题,如果我们要设置一个服务器,这个服务器要接受 一万个请求,那么难道要开一万个线程吗?显然这是不行的。

IO 多路复用

Linux的 select函数详解

IO 多路复用

上一篇:Helm-测试


下一篇:LeetCode-225-用队列实现栈