管道、管程、管态的区别

管道、管程、管态的区别,第1张

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

借鉴一下别人的文章:

管程

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

管道

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

管态

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

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

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

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

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

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

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/726559.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-26
下一篇2022-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存