易截截图软件、单文件、免安装、纯绿色、仅160KB

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


相关文档:

Interrupt in Linux(硬件篇)—— APIC2


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 @ VMWare 下修改MAC地址的方法(亲自实践)

今天拷贝了虚拟机在另外一台电脑上使用,发现MAC地址冲突,于是去网上找修改方法。可按照所说的,我并没有很顺利修改成功。
下面我将过程写出来,里面有些地方需要注意一下。
下面是我从网上搜索到大部分的做法如下,红色部分是我注释的,需要注意的地方:
VMware虚拟机中修改Linux MAC地址的方法:
1、修改虚拟机的*.v ......

Linux设备驱动之I2C架构分析

一:前言
I2c是philips提出的外设总线.I2C只有两条线,一条串行数据线:SDA,一条是时钟线SCL.正因为这样,它方便了工程人员
的布线.另外,I2C是一种多主机控制总线.它和USB总线不同,USB是基于master-slave机制,任何设备的通信必须由主机发起才可以.而
I2C 是基于multi master机制.一同总线上可允许多个master.关于I2C协议的知 ......

linux下system()详解 (转)

linux操作系统下system () 函数详解
  (执行shell 命令)
  相关函数
  fork,execve,waitpid,popen
  表头文件
  #include<stdlib.h>
  定义函数
  int system(const char * string);
  函数说明
  system()会调用fork()产生子进程,由子进程来调用/bin/sh-c string来执行参数string ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号