@@ -18,7 +18,7 @@ I/O(**I**nput/**O**utpu) 即**输入/输出** 。
18
18
19
19
![ 冯诺依曼体系结构] ( https://img-blog.csdnimg.cn/20190624122126398.jpeg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9pcy1jbG91ZC5ibG9nLmNzZG4ubmV0,size_16,color_FFFFFF,t_70 )
20
20
21
- 输入设备(比如键盘)和输出设备(比如鼠标 )都属于外部设备。网卡、硬盘这种既可以属于输入设备,也可以属于输出设备。
21
+ 输入设备(比如键盘)和输出设备(比如显示器 )都属于外部设备。网卡、硬盘这种既可以属于输入设备,也可以属于输出设备。
22
22
23
23
输入设备向计算机输入数据,输出设备接收计算机输出的数据。
24
24
@@ -28,7 +28,7 @@ I/O(**I**nput/**O**utpu) 即**输入/输出** 。
28
28
29
29
根据大学里学到的操作系统相关的知识:为了保证操作系统的稳定性和安全性,一个进程的地址空间划分为 ** 用户空间(User space)** 和 ** 内核空间(Kernel space )** 。
30
30
31
- 像我们平常运行的应用程序都是运行在用户空间,只有内核空间才能进行系统态级别的资源有关的操作,比如如文件管理 、进程通信、内存管理等等。也就是说,我们想要进行 IO 操作,一定是要依赖内核空间的能力。
31
+ 像我们平常运行的应用程序都是运行在用户空间,只有内核空间才能进行系统态级别的资源有关的操作,比如文件管理 、进程通信、内存管理等等。也就是说,我们想要进行 IO 操作,一定是要依赖内核空间的能力。
32
32
33
33
并且,用户空间的程序不能直接访问内核空间。
34
34
@@ -57,7 +57,7 @@ UNIX 系统下, IO 模型一共有 5 种: **同步阻塞 I/O**、**同步非
57
57
58
58
** BIO 属于同步阻塞 IO 模型** 。
59
59
60
- 同步阻塞 IO 模型中,应用程序发起 read 调用后,会一直阻塞,直到在内核把数据拷贝到用户空间 。
60
+ 同步阻塞 IO 模型中,应用程序发起 read 调用后,会一直阻塞,直到内核把数据拷贝到用户空间 。
61
61
62
62
![ 图源:《深入拆解Tomcat & Jetty》] ( https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/6a9e704af49b4380bb686f0c96d33b81~tplv-k3u1fbpfcp-watermark.image )
63
63
0 commit comments