linux系统编程
微微啦啦
这个作者很懒,什么都没留下…
展开
-
进程间的通讯-----管道
进程间的通讯:两个以上的进程相互传递数据管道就是进程通讯方式的一种。管道分为有名管道和无名管道管道:在进程之间建立数据传输的桥梁, 已完成数据的流通。注意: 管道是一种半双工通讯<一>有名管道概念:有名管道在磁盘上会占据一个 inode 节点, 但是不开辟 block。 有名管道会有一个文件名。有名管道的操作:创建有名管道文件: 1、 m...原创 2018-07-23 14:02:02 · 190 阅读 · 0 评论 -
进程间的通讯---------信号
信号是一种进程间消息通知机制,传递指定能够的信号值,接收信号的进程需要提前注册信号的相应方式(默认 忽略 自定义)《一》发送信号:int kill(pid_t pid ,int sigtype); Pid:指定信号发送的对象 Sigtype:信号类型 发送的是哪个信号《二》修改信号的响应方式:sa_handle signal(int sigtype, sa_handle ...原创 2018-07-26 10:04:32 · 162 阅读 · 0 评论 -
进程间的通讯---------共享内存
《一》共享内存的实现原理:共享内存区域是多个进程共享的一部分物理内存,如果多个进程都把该内存区域映射到自己的虚拟内存地址空间,则这些进程就都可以直接访问这篇共享内存区域,从而可以通过该区域进行进程间的通讯 ,一个进程向共享内存中写入了数据,共享这个内存区域的所有进程都可以立刻获取到其中的数据,这块共享虚拟内存的页面出现在每一个共享该页面的进程的页表中,但是它不需要再所有进程的虚拟内存中都有相同...原创 2018-07-26 10:12:06 · 227 阅读 · 0 评论 -
进程间的通讯---------消息队列
《一》概念:消息队列是消息的链接表,存放在内核中,一个消息队列由一个标识符(队列ID)来标识《二》特点:消息队列是面向记录的,其中消息具有特定的格式以及特定的优先级,消息队列独立于发送与接收的进程,进程终止时消息队列及其内容并不会被删除。消息队列可以实现消息的随机查询,消息不一定一先进先出的次序读取,也可以按消息的类型读取(同类型的消息是按先进先出的次序读取)《三》消息队列的操作:创建...原创 2018-07-26 10:20:38 · 383 阅读 · 0 评论 -
进程间的通讯-----------信号量
《一》概念:访问临界资源的一个计数器。 当信号量的值 > 0代表临界资源的剩余个数。 当信号量的值 < 0, 代表等待使用临界资源的进程个数 临界资源: 同一时刻只允许一个进程使用的资源。 临界区: 访问临界资源的代码区域 原子操作: 不可再分的, 不可被打...原创 2018-07-26 10:29:27 · 130 阅读 · 0 评论 -
fork()详解
<一>: fork()函数用来创建新的进程,它的特点是调用一次返回两次( 在原来的进程中返回新进程的 PID(新进程的 PID 肯定不等于 0), 在新进程中返回为 0.)函数原型:pid_t fork(void);pid_t getpid(); 获取当前进程的 pid 值。pid_t getppid(); 获取当前进程的父进程 pid 值。 图一如图一所...原创 2018-07-22 23:56:34 · 14960 阅读 · 0 评论 -
进程和线程的区别
《一》概念进程:进程是资源分配的最小单位,进程是运行中的程序 系统通过进程控制块(PCB)来管理进程,操作系统通过双向循环链表来管理所有的PCB变量线程:线程是进程内部的一条执行序列, 一个进程至少有一个线程: 主函数的执行序列, 将其称之为主线程。 可以通过线程库创建其他的线程, 创建的线程称之为函数线程。线程是 CPU 调度的最小单位。线程依赖于进程而存在: 如果进程结束, 进程内部...原创 2018-08-06 15:44:24 · 128 阅读 · 0 评论