20.1 说说IO的交互流程
难度:★
重点:★
白话解析
这道题主要是用来帮助理解后面题目的,IO交互主要分为两种:本地IO和网络IO。
1、本地IO:数据在磁盘上,通过系统调用read()方法读取数据到内核空间的缓冲区,然后再读取到 用户空间的缓冲区,这就是IO的交互过程。
2、网络IO:数据不是从磁盘读取,而是从IO设备网卡中读取数据。
本地IO是从本地的文件中读取数据,而网络IO从网卡中读取网络中的数据,那么,网络也要借用这个文件的概 念,接收网卡中的数据,所以在java中定义了一个Socket接口,用来进行网络之间的数据传输。
3、用户空间:指操作系统分配给应用程序的内存区域,用于运行用户编写的应用程序代码