摘要: 一、概述 进程间通信(interprocess communication,简称 IPC)指两个进程之间的通信。系统中的每一个进程都有各自的地址空间,并且相互独立、隔离,每个进程都处于自己的地址空间中。所以同一个进程的不同模块譬如不同的函数)之间进行通信都是很简单的,譬如使用全局变量等。但是,两个不 阅读全文
posted @ 2023-01-08 10:31 [BORUTO] 阅读(187) 评论(0) 推荐(0)
摘要: 1. 什么是消息队列? 消息队列(Message Queue,简称MQ)是由内核管理的消息链接表,由消息队列标识符标识,标识符简称队列ID。消息队列提供了进程之间单向传送数据的方法,每个消息包含有一个正的长整型类型的数据段、一个非负的长度以及实际数据字节数(对应于长度),消息队列总字节数是有上限的, 阅读全文
posted @ 2023-01-08 10:30 [BORUTO] 阅读(299) 评论(0) 推荐(0)
摘要: 共享内存不同于内存映射区,它不属于任何进程,并且不受进程生命周期的影响。通过调用 Linux 提供的系统函数就可得到这块共享内存。使用之前需要让进程和共享内存进行关联,得到共享内存的起始地址之后就可以直接进行读写操作了,进程也可以和这块共享内存解除关联,解除关联之后就不能操作这块共享内存了。在所有进 阅读全文
posted @ 2023-01-08 10:29 [BORUTO] 阅读(311) 评论(0) 推荐(0)
摘要: 1. 信号概述 Linux 中的信号是一种消息处理机制,它本质上是一个整数,不同的信号对应不同的值,由于信号的结构简单所以天生不能携带很大的信息量,但是信号在系统中的优先级是非常高的。 在 Linux 中的很多常规操作中都会有相关的信号产生,先从我们最熟悉的场景说起: 通过键盘操作产生了信号:用户按 阅读全文
posted @ 2023-01-06 14:49 [BORUTO] 阅读(99) 评论(0) 推荐(0)
摘要: 1. 管道 管道的是进程间通信(IPC - InterProcess Communication)的一种方式,管道的本质其实就是内核中的一块内存 (或者叫内核缓冲区),这块缓冲区中的数据存储在一个环形队列中,因为管道在内核里边,因此我们不能直接对其进行任何操作。 因为管道数据是通过队列来维护的,我们 阅读全文
posted @ 2023-01-06 14:48 [BORUTO] 阅读(169) 评论(0) 推荐(0)
摘要: 1. 常见的通信方式 管道(pipe):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。 消息队列(MessageQueue):消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载 阅读全文
posted @ 2023-01-06 14:47 [BORUTO] 阅读(637) 评论(0) 推荐(1)
摘要: 1. 进程概述 从严格意义上来讲,程序和进程是两个不同的概念,他们的状态,占用的系统资源都是不同的。 程序:就是磁盘上的可执行文件文件,并且只占用磁盘上的空间,是一个静态的概念。 进程:被执行之后的程序叫做进程,不占用磁盘空间,需要消耗系统的内存,CPU资源,每个运行的进程的都对应一个属于自己的虚拟 阅读全文
posted @ 2023-01-06 11:50 [BORUTO] 阅读(108) 评论(0) 推荐(0)
摘要: 1. 概述 把硬盘数据搬到内存中去操作的方式被称为文件映射虚拟内存,由于内存访问的特殊性,数据到了内存后可提高访问和操作的速率。 2. 函数介绍 mmap()函数功能:将物理内存映射为虚拟内存,为了提高效率 void* mmap(void *start, size_t length, int pro 阅读全文
posted @ 2023-01-06 11:47 [BORUTO] 阅读(167) 评论(0) 推荐(0)
摘要: 1. 简述 记--Linux环境下C语言编程的文件操作。 两种操作文件的方式: 1、系统I/O:系统调用接口,open(), read(), write(), lseek(), close()。是操作系统直接提供的编程接口(API)。 系统I/O常用于硬件级别,可以设置读缓冲区,一般没有写缓冲区; 阅读全文
posted @ 2023-01-06 11:46 [BORUTO] 阅读(123) 评论(0) 推荐(0)
摘要: 1. make工具简介 make工具是一个根据makefile文件内容,针对目标(可执行文件)进行依赖性检测(要生成该可执行文件之前要有哪些中间文件)并执行相关动作(编译等)的工具 。而这个makefile文件类似一个脚本,其中内容包含make所要进行的处理动作以及依赖关系。 另外make的一个好处 阅读全文
posted @ 2023-01-06 11:45 [BORUTO] 阅读(45) 评论(0) 推荐(0)