![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux应用程序开发
文章平均质量分 92
浮云流响
代码强国。
展开
-
Linux进程间通信 —— (三) 信号量
Linux进程间通信 —— (三) 信号量一、概述在多任务操作系统中,多个进程/线程会同时运行。多个任务可能会为了完成某个目标而相互协作,这样就形成了任务之间的同步关系。同样,不同任务之间为了争夺有限的系统资源(硬件/软件资源)会进入竞争状态,这就是任务之间的互斥关系。任务之间的互斥与同步关系存在的根源在于临界资源。下面先来看两个概念:临界资源和临界区。临界资源是指在同一个时刻只允许有限个(通常只有一个)任务访问(读)或修改(写)的资源。临界资源包括:硬件资源(处理器、内存、存储器、以及其外外围原创 2022-01-12 17:05:39 · 815 阅读 · 0 评论 -
Linux进程间通信 - (二) 信号
Linux进程间通信 - (二) 信号1. 概述信号是在软件层面上对中断机制的一种模拟。在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说在某种程度上是一样的。信号是异步的:一个进程不必通过任何操作来等待信号的到达。事实上,进程也不知道信号什么时候会到达。信号可以直接进行用户空间进程和内核进程之间的交互,内核进程也可以利用它来通知用户进程发生了那些系统事件。信号可以在任何时候发给某一进程,而无需知道该进程的状态。如果该进程当前并未处于执行态,则该信号就由内核保存起来,直到原创 2021-12-29 17:16:50 · 841 阅读 · 0 评论 -
Linux进程间通信 - (一) 管道
Linux进程间通信 - (一) 管道一、概述管道是Linux进程间通信的一种方式,它把一个程序的输出直接连接到另一程序的输入。Linux的管道主要包括两种:无名管道和有名管道。无名管道只能用于具有亲缘关系的进程之间的通信(如父子进程或者兄弟进程之间)。是一个单工的通信模式,具有固定的读端和写端。管道也可以看成一种特殊的文件,对于它的读写也可以使用普通的read()、write()等函数。但是它不属于任何文件系统,并且只存在于内存中。有名管道它可以使互不相关的两个进程实现彼此通信。原创 2021-12-27 09:57:08 · 947 阅读 · 0 评论 -
Linux进程间通信
Linux进程间通信一、概述我们知道,每个进程创建时有自己独立的4GB空间,有自己的代码段、数据段、堆栈等资源。很多时候,不同的进程间需要交换数据,即相互通信。那么又该通过哪些机子来进行进程间的通信呢?下面我们来一起来看看进程间通信的一些机制。Linux平台的进程间通信是从Unix平台继承而来,同时也继承了不同流派的一些进程间通信的优点,这样就形成了Linux自己的进程间通信的方式。如下图所示:二、进程间通信方式现在Linux中应用比较广泛的进程间通信方式主要有一下几种无名管道(pipe)及原创 2021-12-26 23:55:50 · 610 阅读 · 0 评论 -
Linux文件操作 --- (二)文件I/O
文件操作 - 文件I/O文章目录文件操作 - 文件I/O文件I/O一、基本概念1. 文件2. 虚拟文件系统(VFS)3. 文件描述符二、编程接口文件的打开和关闭文件的打开 open()文件的关闭close()文件读写文件读read()文件写write()文件的定位文件定位lseek()文件锁文件I/O在上一篇文章Linux文件操作之标准I/O简单讲了文件操作标准I/O的一些基本知识,这里我们继续来看LInux下文件操作的又一利器:文件I/O一、基本概念1. 文件上一小节,我们讲到了Linux是基原创 2021-12-08 16:57:39 · 1177 阅读 · 0 评论 -
Linux文件操作 ---(一)标准I/O
Linux文件操作一、基础概念1. 文件的概念文件:一组相关数据的有序结合。文件名:这组数据集合的名称。文件分类:ASCALL码文件二进制文件目录字符设备块设备套接口符号链接…Linux的哲学是“Linux下一切皆文件”。从上面我们也可看出,除了常规的ASCALL码和二进制文件,其他的如字符设备,套接字等在Linux下都被看作文件。因此学习Linux文件操作不可为不重要。这样来看的话,学习Linux下的文件操作就显得很重要和必须了。2. 系统调用除此之外,还需要补充一点原创 2021-11-27 22:08:28 · 1624 阅读 · 0 评论