
Linux系统编程
文章平均质量分 54
1996XXXXXXX
biubiubiu
展开
-
Linux多线程开发--线程概念描述
线程基本概念:LWP : light weight process 轻量级进程,本质仍是线程(在linux环境下,因为本身linux进程管理就很完善了,与windows环境下,两者线程原理完全不一样)进程: 独立地址空间,拥有PCB线程:也有PCB,但没有独立的地址空间(共享)区别:在于是否共享地址空间。Linux下: 线程:最小的执行单位。 进程: 最小分配资源单位,可以看成只有一个线程的进程。如图所示简单的PCB构成:Linux内核线...原创 2021-01-05 22:16:00 · 185 阅读 · 0 评论 -
linux信号机制
大纲:信号概念基本属性信号四要素产生信号五种kill函数alarm函数setitimer函数 是alarm进化版 可以精确定时信号集操作函数信号屏蔽字未决信号集信号的捕捉注册信号捕捉函数sigaction函数(重点)信号的机制:信号原理类似时钟中断。A给B发送信号,当B收到信号之后,不管执行到什么位置,都要暂停去处理信号,处理完毕再去继续执行,与硬件中断类似,异步模式,但是信号是软件层面上的中断,早期常被叫做软中断,所有具有很强的..原创 2021-01-01 22:36:28 · 232 阅读 · 1 评论 -
Linux 无血缘关系进程通信
实质上mmap是内核借助文件帮我们创建了一个映射区,多个进程之间利用该映射区完成数据传递,由于内核空间多进程共享,因此无血缘关系的进程之间,也可以使用mmap来进行通信,只要设置相应的标记位flag即可。标记位使用MAP_SHARED.实例代码:写入进程代码:#include<sys/types.h>#include<fcntl.h>#include<unistd.h>#include<stdlib.h>#include<s.原创 2021-01-01 16:05:34 · 614 阅读 · 0 评论 -
Linux进程通信 mmap_父子进程间通信
三个硬链接 指向同一个inode,文件删除的 unlink的时候 实际上删除的是这三个目录项的其中一个,文件实际并没有删除,文件要删除只有等到,该机器所有占用该磁盘文件的进程结束才可以。MAP_PRIVATE:(私有映射) 父子进程各自独占映射区MAP_SHARED:(共享映射) 父子进程共享映射区①父子进程共享打开的文件 ②父子进程共享mmap建立得映射区,但必须使用MAP_SHARED...原创 2021-01-01 00:03:55 · 165 阅读 · 0 评论 -
Linux管道通信笔记
概述:管道 进程通信管道 使用最简单信号 开销最小共享映射区 无血缘关系本地套接字 最稳定 难度最强pipe 函数 未名管道管道一般读写行为fifo 有名管道用于非血缘关系进程通信共享内存mmap 函数的参数使用注意事项用于非血缘关系进程通信linux 文件类型- 文件d 目录l 符号链接s 套接字b 块设备c 字符设备p 管道前三种占用磁盘存储后四种 为 伪文件 实质是一个内核缓冲区由两个文件描述符引用,一个表示读端,一个表示写端规定数据..原创 2020-12-30 22:14:40 · 481 阅读 · 0 评论