
linux学习
haideshiyan35
这个作者很懒,什么都没留下…
-
原创 linux进程间通信之无名管道通信学习笔记
进程间管道通信包括有名管道和无名管道两种;首先我们介绍无名管道,无名管道特点:1、只能用于具有亲缘关系的进程间进行通信。2、通讯的两个进程之间是单工模式,即具有固定的读端和写端。3、管道也可以看成是一种特殊的文件,对于管道的读写可以用普通的read()、write()函数,无名管道存在于内核的内存当中。管道的创建方式:#include int pipe(int fd[]2016-05-28 13:25:35276
0
-
原创 静态库与动态库
库本质上是一种可执行的二进制代码,可以被操作系统载入(Linux和windows的库是不兼容的)。库可以分为静态块和动态库,二者的不同点在于代码被载入的时刻不同。静态库:在程序编译时会被连接到目标代码中,程序运行时不再需要改静态库,体积较大,一般应用与移植过程中在宿主机上编译的代码。静态库文件名的命名规范是以lib为前缀,紧接着跟静态库名,扩展名为.a。创建静态库,ar crs li...2019-03-12 21:29:3026
0
-
原创 Linux 自旋锁
自旋锁的核心思想:设置一个在多处理器之间共享的全局变量锁L,并定义当L=1时为上锁状态,L=0位解锁状态。如果处理器A上的代码要进入临界区,它要先读取L的值,判断其是否为0,如果L!=0表明有其他处理器上的代码正在对共享数据进行访问,此时处理器A进入忙等待即自旋状态,如果L=0表明当前没有其他处理器上的代码进入临界区,此时处理器A可以访问该资源,它先把L置1,然后进入临界区,访问完毕离开临界区2017-03-25 14:52:23149
0