![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 69
工匠重生
这个作者很懒,什么都没留下…
展开
-
进程的通信方式
进程的通信方式 (1)管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许一个进程和另一个与它有共同祖先的进程之间进行通信。 (2)命名管道(named pipe):命名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。命名管道在文件系统中有对应的文件名。命名管道通过命令mkfifo或系统调用mkfifo来创建。 (3)信号(转载 2013-08-18 20:25:00 · 422 阅读 · 0 评论 -
对Linux内核中进程上下文和中断上下文的理解
内核空间和用户空间是操作系统理论的基础之一,即内核功能模块运行在内核空间,而应用程序运行在用户空间。现代的CPU都具有不同的操作模式,代表不同的级别,不同的级别具有不同的功能,在较低的级别中将禁止某些操作。 Linux系统设计时利用了这种硬件特性,使用了两个级别,最高级别和最低级别,内核运行在最高级别(内核态),这个级别可以进行所有操作,而应用程序运行在较低级别(用户态),在这个级别,处转载 2013-08-22 09:53:27 · 516 阅读 · 0 评论 -
Generic Netlink详解
netlink socket是一种用于用户态进程和内核态进程之间的通信机制。它通过为内核模块提供一组特殊的API,并为用户程序提供了一组标准的socket接口的方式,实现了全双工的通讯连接。Netlink的特点:双向传输,异步通信用户空间中使用标准socket API内核空间中使用专门的API支持多播可由内核端发起通信支持32种协议类型netlink仅支持32种协议类型转载 2013-08-23 14:17:13 · 3574 阅读 · 0 评论 -
Linux 用户态与内核态的交互 ——netlink 篇
作者:Kendo2006-9-3这是一篇学习笔记,主要是对《Linux 系统内核空间与用户空间通信的实现与分析》中的源码imp2的分析。其中的源码,可以到以下URL下载:http://www-128.ibm.com/developerworks/cn/linux/l-netlink/imp2.tar.gz参考文档《Linux 系统内核空间与用户空间通信的实现与分析》转载 2013-08-16 09:31:18 · 866 阅读 · 0 评论 -
用户空间栈 & 系统空间栈
以下简称用户栈、内核栈1、用户栈和内核栈的区别 内核在创建进程的时候,在创建task_struct的同时,会为进程创建相应的堆栈。每个进程会有两个栈,一个用户栈,存在于用户空间,一个内核栈,存在于内核空间。记住,进程对应的用户栈和内核栈都是进程私有的。当进程在用户空间运行时,cpu堆栈指针寄存器里面的内容是用户堆栈地址,使用用户栈;当进程在内核空间时,c原创 2013-08-16 09:27:10 · 460 阅读 · 0 评论 -
本地socket unix domain socket
socket API原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIXDomain Socket。虽然网络socket也可用于同一台主机的进程间通讯(通过loopback地址127.0.0.1),但是UNIX Domain Socket用于IPC更有效率:不需要经过网络协议栈,不需要打包拆包、计算校验和、维护序号和应答等,只是将应用层数据从一个进程拷贝到另一个进转载 2013-08-17 10:35:46 · 381 阅读 · 0 评论 -
使用socket的Linux上的C语言helloworld多线程服务器和客户端测试程序
///////////////////////////////////////////////////////////////////////////////////服务器端程序的编译gcc -o multi_thread_server multi_thread_server -lpthread客户端程序的编译gcc -o multi_thread_client multi_thr转载 2013-08-18 11:06:17 · 560 阅读 · 0 评论