
linux
上山打 老虎
纸上得来终觉浅,绝知此事要躬行
展开
-
进程间通信
原理 每个进程都是0-4G的虚拟内存空间,其中1G内核空间彼此互不干扰,因此进程彼此之间无法相互获取资源,这时通讯就依靠于内核缓冲区进行,以下介绍的管道,内存映射都是通过管道内存缓冲区进行。 通信方法 管道 信号 共享映射区 本地套接字 各自优缺点如下: 这里重点说一下管道和共享内存相比优缺点: 管道使用比共享内存简单的多,而且出错可能较低,但是是单向半双工通信,一段只能读或者写,且数据读完就不存在了,且普通管道只能在有血缘关系的进程下才可以通信。 共享内存使用内核内存映射到文件的方式进行通信,这种方式原创 2020-06-02 15:56:49 · 138 阅读 · 0 评论 -
linux系统编程小结
程序和进程的区别 程序是编好的二进制文件,在磁盘上不占用内存,cpu等系统资源 进程是程序运行一次的过程,占用cpu和内存等系统资源 一个程序可以有多个进程,但是一个进程只属于一个程序 并发和并行的区别 并发是在一个cpu上利用时钟中断,模拟多个程序同时进行的效果 并行是有多个核,每个核上有不同的线程在运行,是真正的同时运行 fork函数 头文件 <sys/types.h> <unistd.h> 函数原型 pid_t fork() 返回值: 等于0:返回的是子进程 大于0:返回原创 2020-06-01 16:53:10 · 171 阅读 · 0 评论