![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 81
Beginner_zero
新手希望大家批评指正。学习学习学习
展开
-
进程间通信之管道
什么是进程间通信?字面意思就是让俩个进程之间可以互相传递信息,本质就是让俩个毫不相干的进程看到同一份资源。进程间通信的目的: 数据传输:一个进程需要将它的数据发送给另一个进程。 资源共享:多个进程之间共享同样的资源。 通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)。 进程控制:有些进程希望完全控制另一个进程的执行(如Debug进程),此时...原创 2018-03-22 18:11:15 · 267 阅读 · 0 评论 -
进程间通信之消息队列和共享内存
消息队列之前我们解析了一下进程间通信的管道通信,今天我们来看一下另外俩种通信方式:消息队列和共享内存。那什么是消息队列呢?之前我们说管道在进程间通信的时候是基于字节流的,而消息队列在进程间通信的时候是基于数据块的,并且是有类型的数据块。消息队列提供了一个从一个进程向另外一个进程发送一个有不同类型值的数据块的方法。每个消息队列都有一个msqid_ds 结构与其相关联,在/usr/include/li...原创 2018-03-23 12:14:04 · 2302 阅读 · 0 评论 -
进程间通信之信号量
信号量前面我们解析了进程间通信的管道、消息队列以及共享内存,今天我们看看最后一种方式:信号量。为了获得共享资源,进程需要执行下列操作:(1)测试控制该资源的信号量;(2)若此信号量的值为正,则进程可以使用该资源。进程会将信号量值减1,表示它使用了一个资源单位。(3)若此信号量的值为0,则进程进入休眠状态,直至信号量值大于0。进程被唤醒后,它返回至步骤(1)。当进程不再使用由一个信号量控制的共享资源...原创 2018-03-23 20:09:18 · 328 阅读 · 1 评论 -
软链接与硬链接,动态库与静态库
首先我们了解一个概念 文件系统:我们使用ls -l的时候除了看到文件名,还看到了文件元数据:可以看到每行包含七列,分别为:模式,硬链接数,文件所有者,组,大小,最后修改时间,文件名。ls -l读取存储在磁盘上的文件信息,然后显示出来。还可以用stat命令查看某个文件的具体信息:上面结果中有一个inode很重要,我们分析一下它,先看文件系统:这就是文件系统的图示,其中超级块存放文件系统本身的结构信息...原创 2018-04-02 21:54:11 · 934 阅读 · 0 评论 -
Linux 文件描述符详解
要了解Linux下的文件IO,我们首先要清楚文件描述符的概念,那什么是文件描述符呢?接下来我们一起认识一下: 首先我们知道操作系统是一个“纯正”的搞管理的软件,它对硬件的管理方式是先描述起来,再组织起来;同样,当我们打开文件时,操作系统在内存中要创建相应的数据结构来描述目标文件,这个数据结构就是file结构体,保存了文件相关的信息,表示一个已经打开的文件对象。几种文件相关系统调用接口的详解在...原创 2018-03-29 17:31:37 · 5754 阅读 · 1 评论 -
信号
信号什么是信号?我们可以从实际生活中来解释信号,像红绿灯就是一个信号,我们可以通过它发出的哪个信号去做相对应的事情。比如我们可以写一个简单的死循环程序:运行时我们按下ctrl+c就可以中断这个死循环程序。我们可以将ctrl+c解释成一个SIGINT信号,可以说给这个进程发送了一个SIGINT信号使这个进程结束。我们可以用kill -l查看系统定义的信号列表:可以看到一共有62种信号,1-31 是普...原创 2018-04-06 19:55:58 · 293 阅读 · 0 评论 -
死锁
死锁的概念:指在多道系统中,一个进程组中的每一个进程均无限的等待被该进程组中另一个进程占有并且永远不会释放的资源,这种现象称为死锁。原创 2018-05-02 21:47:50 · 224 阅读 · 0 评论