用户空间和内核空间
为安全,将用户应用和系统应用分隔开,产生用户空间和内核空间
32位操作系统,内存大小为2^32(4G)
IO
用户空间和内核空间各有一个缓冲区
- 写数据:数据->用户缓冲区->内核缓冲区->写入设备
- 读数据:设备->内核缓冲区->用户缓冲区->读出数据
读数据时,首先要等待数据到达内核缓冲区,其次从内核缓冲区拷贝数据到用户缓冲区
五种IO模型
阻塞IO
进程阻塞,等待数据到达内核缓冲区(数据就绪)
非阻塞IO
多次查询数据是否就绪,立即返回结果,不阻塞线程。
多次查询并未提高进程性能,反而使得cpu使用率增加
IO多路复用
利用单个线程同时监听多个文件描述符FD,在某个文件就绪时得