操作系统:管道运行原理

采用状态机视角分析:

1.初始状态

(父进程 [ (写口->管道入口) (读口->管道出口) ] ; 管道 (入口,出口) )

2.执行fork命令,复制父进程后

(父进程 [ (写口->管道入口) (读口->管道出口) ] ; 管道 (入口,出口) ; 子进程 [ (写口->管道入口) (读口->管道出口) ] )

3.关闭子进程读口

(父进程 [ (写口->管道入口) (读口->管道出口) ] ; 管道 (入口,出口) ; 子进程 [ (写口->管道入口)  ] )

4.父进程关闭写口,

(父进程 [ (写口->管道入口) (读口->管道出口) ] ; 管道 (入口,出口) ; 子进程 [ (写口->管道入口)  ] )

5.子进程执行命令,并写入管道空间

(父进程 [ (读口->管道出口) ] ; 管道 (入口,出口) ; 子进程 [ (写口->管道入口) (执行命令)  ] )

6.父进程读取管道,并执行管道命令右边操作

(父进程 [(读口->管道出口) (执行命令) ] ; 管道 (入口,出口) ; 子进程 [ (写口->管道入口)  ] )

posted @ 2022-04-19 15:27  阿豆23  阅读(407)  评论(0)    收藏  举报