当前位置: 技术问答>linux和unix
再发一贴,懂Linux进程通信来看看吧
来源: 互联网 发布时间:2016-11-04
本文导语: 前两天发了一帖,未果,今天再说的清楚一些,希望大家可以一起讨论 主要的问题是Linux的内核进程是怎样与用户进程进行通信的? 以Windows为例,当我们的网线掉了的时候,会有一个小窗口弹出来说网络连接失败...
前两天发了一帖,未果,今天再说的清楚一些,希望大家可以一起讨论
主要的问题是Linux的内核进程是怎样与用户进程进行通信的?
以Windows为例,当我们的网线掉了的时候,会有一个小窗口弹出来说网络连接失败,这个进程因该是属于用户进程吧?首先是一个硬件上的中断(我也不知道是不是中断的形式)告诉驱动程序链接已经断开了,这个属于内核进程的;之后再将信息告诉应用进程,才能出现窗口上的提示。
再举一例:我们插入U盘的时候,360杀毒会进行自动的扫描。这里也是一个硬件上的信息,再到内核,最后到了应用进程(360杀毒)。
这里,硬件----内核空间(驱动)---应用进程,采用的是什么机制?
是文件共享?netlink?还是别的,有没有哪位高手知道,指点一下我?十分谢谢。。。
主要的问题是Linux的内核进程是怎样与用户进程进行通信的?
以Windows为例,当我们的网线掉了的时候,会有一个小窗口弹出来说网络连接失败,这个进程因该是属于用户进程吧?首先是一个硬件上的中断(我也不知道是不是中断的形式)告诉驱动程序链接已经断开了,这个属于内核进程的;之后再将信息告诉应用进程,才能出现窗口上的提示。
再举一例:我们插入U盘的时候,360杀毒会进行自动的扫描。这里也是一个硬件上的信息,再到内核,最后到了应用进程(360杀毒)。
这里,硬件----内核空间(驱动)---应用进程,采用的是什么机制?
是文件共享?netlink?还是别的,有没有哪位高手知道,指点一下我?十分谢谢。。。
|
LINUX是在UNIX基础上开发的。UNIX传统的进程间通信的方式,LINUX都支持。简单的管道、内存映射、消息队列、共享内存、信号量、SOCKET都是可以的。用那种方式,完全取决于对你的线程来说,那种最适用。