管道、管程、管态的区别

管道、管程、管态的区别

总结对比

用途性质
管程用于进程同步一个数据结构,用于我们方便管理一系列的信号量,同时封装信号量操作
管道pipe用于进程通讯pipe的通讯时基于文件系统的,那么pipe就是一个实际上的文件,我们通过这个文件的IO来间接的实现进程之间的通讯
管态控制进程的权限PCB之中的一个标识,用于确认目前进程的权限状态

借鉴一下别人的文章:

管程

(进程同步)将共享变量以及对于共享变量所能进行的所有操作集中在一个模块中,一个操作系统或并发程序与由若干个这样的模块所构成,由于一个模块通常较短,模块之间联系清晰,提高了可读性,便于维护和修改,正确性易于保证。

管道

(进程通信 还有socket、信箱、信号量、共享内存、消息队列等方式)
所谓管道,就是连接在两个进程之间的一个打开的共享文件,专用于进程之间进行数据通信。发送进程可以源源不断地从管道一端写入数据流,每次写入的长度是可变的;接收进程在需要时可以从管道的另一端读出数据,读出单位长度也是可变的。显然,管道通信的基础是文件系统。

管态

管态(系统态) V.S 目态(用户态)

CPU交替执行操作系统程序和用户程序。

CPU的状态属于程序状态字PSW的一位。大多数计算机系统将CPU执行状态分为管态和目态。
管态又叫特权态,系统态或核心态。CPU在管态下可以执行指令系统的全集。通常,操作系统在管态下运行。

目态又叫常态或用户态。机器处于目态时,程序只能执行非特权指令。用户程序只能在目态下运行,如果用户程序在目态下执行特权指令,硬件将发生中断,由操作系统获得控制,特权指令执行被禁止,这样可以防止用户程序有意或无意的破坏系统。

从目态转换为管态的唯一途径是中断。

从管态到目态可以通过修改程序状态字来实现,这将伴随这由操作系统程序到用户程序的转换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值