
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 评论