LINUX进程间通信
Linux 进程间通信学习
1.Linux 间进程通信的分类
1. 管道通信(pipe)和命名管道(FIFO)
2. 信号(软件中断)
3. 消息队列
4. 共享内存
5. 信号量
6. SOCKET
1.1管道通信
管道通信主要分普通管道和命名管道。
他们之间的差别就在于普通管道适合同一个祖先的两个进程之间的通信,而命名管道则不受该限制。
管道相关函数有:
Int pipe(int filedes[2]);
Pipe 函数用于在内核中开辟一块缓冲区用于通信,filedes是传递给用户的两个文件描述符。Filedes[0]用于读,filedes[1]用于写。
调用成功返回0,否则返回-1.
#include <unistd.h>
#include <sys/types.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
int pipe_fd[2];
pid_t pid;
char buf_r[100];
char* p_wbuf;
int r_num;
memset(buf_r,0,sizeof(buf_r));
if(pipe(pipe_fd)<0)
{
printf("pipe create error\n");
return -1;
}
if((pid=fork())==0)
{
printf("\n");
&nbs
相关文档:
----------------------------------------------------------------------------------------------------------------------------------------
/**/
/*
********************************************************************************************************
* @Description:s3c2410的rtc驱动的实 ......
1.2.2 LAPIC
收到来自IOAPIC的中断消息后,LAPIC会将该中断交由CPU处理。和IOAPIC比较,LAPIC具有更多的寄存器以及更复杂的机制。但对于处理来自IOAPIC的中断消息,最重要的寄存器还是IRR、ISR以及EOI。
图1-4显示了x86平台上,IRR和ISR的格式:
图1-4 IRR、ISR构成
与PIC中的IRR、ISR不同的是,LAPIC的ISR、 ......
在Linux下使用Gtk+实现最简单的GUI窗口,源代码如下:
//SimpleGui.c
#include <gtk/gtk.h>
int main(int argc,char *argv[])
{
//定义一个widget(Gtk+构件),这里定义的是一个窗口构件
GtkWidget *wnd;
//Gtk+2.0的初始化命令行参数,每一个Gtk+程序都要有这句话
gtk_init(& ......
package: download from:
软件集成开发环境(代码编辑、浏览、编译、调试)
Emacs http://www.gnu.org/software/emacs/
Source-Navigator 5.2b2 http://sourceforge.net/projects/sourcenav
Anjuta http://anjuta.sourceforge.net(可用yum安装)
代码索引工具
Cscope http://cscope.sourceforge.net/
KScope http:/ ......