From 421a225e106262e8309104a60083b7c5c8a0da6d Mon Sep 17 00:00:00 2001 From: albert <1431686413@qq.com> Date: Wed, 4 Feb 2026 02:23:34 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20os=E9=83=A8=E5=88=86=E4=B8=A4=E5=A4=84?= =?UTF-8?q?=E6=96=87=E5=AD=97=E9=94=99=E6=BC=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- os/2_os_structure/linux_vs_windows.md | 2 +- os/4_process/process_commu.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/os/2_os_structure/linux_vs_windows.md b/os/2_os_structure/linux_vs_windows.md index 2e415c39..0b591cf4 100644 --- a/os/2_os_structure/linux_vs_windows.md +++ b/os/2_os_structure/linux_vs_windows.md @@ -38,7 +38,7 @@ Windows 基本占领了电脑时代的市场,商业上取得了很大成就, - 内核空间,这个内存空间只有内核程序可以访问; - 用户空间,这个内存空间专门给应用程序使用; -用户空间的代码只能访问一个局部的内存空间,而内核空间的代码可以访问所有内存空间。因此,当程序使用用户空间时,我们常说该程序在**用户态**执行,而当程序使内核空间时,程序则在**内核态**执行。 +用户空间的代码只能访问一个局部的内存空间,而内核空间的代码可以访问所有内存空间。因此,当程序使用用户空间时,我们常说该程序在**用户态**执行,而当程序使用内核空间时,程序则在**内核态**执行。 应用程序如果需要进入内核空间,就需要通过系统调用,下面来看看系统调用的过程: diff --git a/os/4_process/process_commu.md b/os/4_process/process_commu.md index 18300d91..c2c18cda 100644 --- a/os/4_process/process_commu.md +++ b/os/4_process/process_commu.md @@ -100,7 +100,7 @@ int pipe(int fd[2]) 我们可以得知,**对于匿名管道,它的通信范围是存在父子关系的进程**。因为管道没有实体,也就是没有管道文件,只能通过 fork 来复制父进程 fd 文件描述符,来达到通信的目的。 -另外,**对于命名管道,它可以在不相关的进程间也能相互通信**。因为命令管道,提前创建了一个类型为管道的设备文件,在进程里只要使用这个设备文件,就可以相互通信。 +另外,**对于命名管道,它可以在不相关的进程间也能相互通信**。因为命名管道,提前创建了一个类型为管道的设备文件,在进程里只要使用这个设备文件,就可以相互通信。 不管是匿名管道还是命名管道,进程写入的数据都是缓存在内核中,另一个进程读取数据时候自然也是从内核中获取,同时通信数据都遵循**先进先出**原则,不支持 lseek 之类的文件定位操作。