NIO
IO 模型详解
· ☕ 14 min read · ✍️ dotleo

系统调用

当系统运行时,第一个启动的程序就是 kernel ,它的作用就是各个硬件工作的调度器。为了保证硬件操作规范及 kernel 的稳定性等原因,Linux 将分为了内核空间和用户空间,普通的应用程序是运行在用户空间,无法访问内核空间中的指令等,当然也就无法直接操作硬件。当进程需要访问硬件设备(比如读取磁盘文件、接受网络数据等)时,必须由用户空间(或者叫用户态、用户模式)切换到内核空间,这是通过 系统调用 实现。strace 可以跟踪到一个进程产生的系统调用,包括参数、返回值及执行消耗时间等。