1
0
mirror of https://github.com/Didnelpsun/CS408.git synced 2026-10-31 04:14:52 +08:00

Update 1-process-management.md

This commit is contained in:
Didnelpsun
2022-08-30 09:16:18 +08:00
parent d5c46f7358
commit b683d3c889

View File

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