diff --git a/Operate-System/1-process-management.md b/Operate-System/1-process-management.md index ad08488..ee51c95 100644 --- a/Operate-System/1-process-management.md +++ b/Operate-System/1-process-management.md @@ -199,7 +199,10 @@ + 数据以字符流的形式写入管道,当满时,写进程的$write()$系统调用将被阻塞,等待读进程将数据取走。当读进程将数据全部取走后,管道变空,此时读进程的$read()$系统调用将被阻塞。 + 如果没有**写满**则不允许读,如果没有**读空**则不允许写。所以读写都可能被堵塞。 + 数据一旦被读出就被管道抛弃,所以读进程只能**至多**有一个,否则可能会读错。 -+ 共享文件:利用操作系统提供的文件共享功能实现进程之间的通信。也需要信号量来解决文件共享操作中的同步和互斥问题。 ++ 共享文件(文件系统):利用操作系统提供的文件共享功能实现进程之间的通信。 ++ 信号量:也需要信号量来解决文件共享操作中的同步和互斥问题。 + +由于不同进程拥有不同代码段和数据段,全局变量是针对同一个进程而言,所以全局变量不能用来交换数据。 ### 线程