1 直观理解
IO是Input、Output的简称,即输入输出。鼠标键盘是向计算机输入信息,显示器是输出设备,接收计算机的输出并显示。
2 从计算机的组织架构理解
计算机的核心(CPU和内存),与其它设备之间数据转移的过程就是IO。比如数据从磁盘读入到内存,或内存的数据写回到磁盘,都是IO操作。在计算机的世界里,这就是IO的本质。
3 从编程的角度理解
应用程序的IO操作有两种:IO调用和IO执行。IO调用是进程发起的,IO执行是操作系统的工作,因此,这里说的IO是应用程序对操作系统IO功能的触发。
因此,应用程序里IO调用的目的是将进程的内部数据输出到外部,或将外部数据输入到进程内部。这里的外部指的是非进程空间数据。
举例,一个进程的IO输入操作流程如下:
a)进程向操作系统请求外部数据
b)操作系统将数据从外部磁盘拷贝到内存缓冲区
c)操作系统将数据从内存缓冲区拷贝到进程缓冲区
d)进程读取数据进行操作