随笔分类 -  Linux

摘要:共享内存允许多个进程共享一个给定的内存空间,进程可以直接读写内存,因此是IPC中速度最快的。 Linux中,内核专门留出了一块内存区作为共享内存区,用于多个进程交换信息。需要通信的进程将共享内存区映射到自己的私有地址空间,从而使读写进程地址空间就相当于读写内存区。使用共享内存的头文件是#includ 阅读全文
posted @ 2018-04-18 16:01 IvanB.G.Liu 阅读(1373) 评论(0) 推荐(0)
摘要:信号量是一个计数器,通常在内核中实现,用于多个进程对共享数据对象的同步访问。使用信号量的头文件是#include <sys/sem.h> 信号量的使用规则: 若信号量为正,则进程可使用该资源。 若信号量为0,则进程阻塞等待,并将进程插入等待队列,直到该信号量的值大于0从等待队列中执行进程请求。 加锁 阅读全文
posted @ 2018-04-17 21:04 IvanB.G.Liu 阅读(2257) 评论(0) 推荐(0)
摘要:转载自http://www.cnblogs.com/Anker/p/3265058.html select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,po 阅读全文
posted @ 2018-02-24 10:46 IvanB.G.Liu 阅读(170) 评论(0) 推荐(0)
摘要:IPC: IPC,即Inter-Process Communication,进程间通信。是进程间通信的对象,包括管道、消息队列、信号量、套接字等。关于IPC结构,首先IPC结构是内核维护的,不属于某个特定进程。IPC结构由两个东西标识:标识符(ID)和键(key)。其中,ID是IPC的内部名字,只在 阅读全文
posted @ 2018-02-23 23:11 IvanB.G.Liu 阅读(247) 评论(0) 推荐(0)
摘要:1. Linux中进程空间的分配情况如下: 从上图可以看出,进程的空间分配:与进程相关的数据结构(页表、内核栈、task) > 物理内存 > 内核代码和数据 > 用户栈 > 共享库的内存映射区 > 运行时堆 >未初始化数据段.bss > 已初始化数据段.data > 代码段.text 2. 进程的堆 阅读全文
posted @ 2018-02-15 12:32 IvanB.G.Liu 阅读(21093) 评论(0) 推荐(3)
摘要:sudo passwd :设置root下的密码 mkdir:创建文件夹 clear:清除终端的屏幕 cd . : 当前目录 cd .. :上级目录 rm:删除文件(rmdir:删除目录) touch:创建文件(lg:touch a.txt) cp:复制文件(lg:cp a.txt b.txt) mv 阅读全文
posted @ 2018-02-10 19:03 IvanB.G.Liu 阅读(200) 评论(0) 推荐(0)
摘要:多线程程序常考虑三种性质:原子性、可见性、有序性。定义如下: 1. 原子性: 一个或多个操作的执行,只有两种情况:(1)全部执行并且执行过程中不会被打断;(2)不执行 2. 可见性: 当多个线程访问同一个共享变量时,一个线程修改了变量的值,其他线程能够立即看到被修改的新值。 例如: //线程1执行的 阅读全文
posted @ 2018-01-09 20:29 IvanB.G.Liu 阅读(315) 评论(0) 推荐(0)