- 欢迎访问起航教学!
Linux进程+进程间通信IPC
12-14 18:35:46 分类:电脑技巧 浏览次数: 260次
标签:电脑技巧大全,http://www.qihang56.com
Linux进程+进程间通信IPC,
一 Linux进程
1) 进程的内存映像
2)解释
BSS段:在采用段式内存管理的架构中,BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。
数据段:在采用段式内存管理的架构中,数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。
代码段:在采用段式内存管理的架构中,代码段(code segment / text segment)通常是指用来存放程序执行代码的一块内存区域。这部分区域的大小在程序运行前就已经确定,并且内存区域通常属于只读, 某些架构也允许代码段为可写,即允许自修改程序。 在代码段中,也有可能包含一些只读的常数变量,例如字符串常量等。
栈(stack)在计算机科学中,是一种特殊的链表形式的数据结构,它的特殊之处在于只能允许在链表的一端(称为栈顶,英文为top)进行添加和删除操作。另外堆栈数据结构的实现也可以通过数组来完成。栈Stack是存放程序中局部变量的内存区,另外栈stack用来保存函数调用的现场。栈stack由系统自动分配,用户不需要关心其分配和释放。
堆是指Heap,程序运行时供程序员来支配的一段内存。 用于进程运行时动态分配内存。堆的大小不固定,可根据程序运行动态变化。由程序中的new/delete等控制。
二 Linux的进程间通信IPC(Inter-process communication)
1)Linux的IPC
2)解释
管道: 管道可以分为普通管道和命名管道。普通管道用于具有亲缘关系的进程(父子进程)间的通信。命名管道则在普通管道提供的功能的基础上,通过给管道命名的电脑小技巧,使管道变成文件系统中的管道文件, 从而允许无亲缘关系的进程间通过访问管道文件进行通信。
信号:信号类似windows下的消息,用于通知进程有某种事件发生。只要知道进程的进程号,就可以向进程发送信号。而进程可以自行定义对信号的处理方法。
消息队列:消息队列是消息的链表。进程可以向消息队列中发送某种类型的消息,也可以从消息队列中读取某种类型的消息。消息内存则可以根据需要自行定义,从而使消息队列克服了信号承载信息量过少的缺点,在实际编程中应用较广。
共享内存:共享内存是在系统内核分配的一块缓冲区,多个进程都可以访问该缓冲区。由于进程可以直接读写内存,避免了在内核空间与用户空间的切换,所以共享内存读写效率很高。共享内存类似与windows环境编程中的内存映像文件。在Linux系统中,多用于存储应用程序的配置信息。
信号量:也成为信号灯,主要用于进程间的同步。
套接口: 也成为套接字,可以用于跨越主机边界的通信。套接口最初是在BSD版本的UNIX系统上实现的,由于其功能强大,接口友好,现在已经在大多数操作系统中实现,成为事实上的网络编程接口。
本文来自 http://www.qihang56.com 谢谢支持
一 Linux进程
1) 进程的内存映像
2)解释
BSS段:在采用段式内存管理的架构中,BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。
数据段:在采用段式内存管理的架构中,数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。
代码段:在采用段式内存管理的架构中,代码段(code segment / text segment)通常是指用来存放程序执行代码的一块内存区域。这部分区域的大小在程序运行前就已经确定,并且内存区域通常属于只读, 某些架构也允许代码段为可写,即允许自修改程序。 在代码段中,也有可能包含一些只读的常数变量,例如字符串常量等。
栈(stack)在计算机科学中,是一种特殊的链表形式的数据结构,它的特殊之处在于只能允许在链表的一端(称为栈顶,英文为top)进行添加和删除操作。另外堆栈数据结构的实现也可以通过数组来完成。栈Stack是存放程序中局部变量的内存区,另外栈stack用来保存函数调用的现场。栈stack由系统自动分配,用户不需要关心其分配和释放。
堆是指Heap,程序运行时供程序员来支配的一段内存。 用于进程运行时动态分配内存。堆的大小不固定,可根据程序运行动态变化。由程序中的new/delete等控制。
二 Linux的进程间通信IPC(Inter-process communication)
1)Linux的IPC
2)解释
管道: 管道可以分为普通管道和命名管道。普通管道用于具有亲缘关系的进程(父子进程)间的通信。命名管道则在普通管道提供的功能的基础上,通过给管道命名的电脑小技巧,使管道变成文件系统中的管道文件, 从而允许无亲缘关系的进程间通过访问管道文件进行通信。
信号:信号类似windows下的消息,用于通知进程有某种事件发生。只要知道进程的进程号,就可以向进程发送信号。而进程可以自行定义对信号的处理方法。
消息队列:消息队列是消息的链表。进程可以向消息队列中发送某种类型的消息,也可以从消息队列中读取某种类型的消息。消息内存则可以根据需要自行定义,从而使消息队列克服了信号承载信息量过少的缺点,在实际编程中应用较广。
共享内存:共享内存是在系统内核分配的一块缓冲区,多个进程都可以访问该缓冲区。由于进程可以直接读写内存,避免了在内核空间与用户空间的切换,所以共享内存读写效率很高。共享内存类似与windows环境编程中的内存映像文件。在Linux系统中,多用于存储应用程序的配置信息。
信号量:也成为信号灯,主要用于进程间的同步。
套接口: 也成为套接字,可以用于跨越主机边界的通信。套接口最初是在BSD版本的UNIX系统上实现的,由于其功能强大,接口友好,现在已经在大多数操作系统中实现,成为事实上的网络编程接口。
本文来自 http://www.qihang56.com 谢谢支持
相关热词搜索:
- ·上一篇:主板故障事例_电容故障
- ·下一篇:什么是DDR内存(详细解说)
分享到:
收藏
评论排行
电脑技巧 热门排行
- · windows server 2017远程桌面
- · 解决windows蓝屏显示“Stop 0x000
- · Windows 2017系统优化小技巧
- · 在Windows XP/2017中自定义文件缩
- · stop:c00020171a unknown hard error
- · NTFS下Win2017密码丢失怎么办
- · win2017启动正常,而winxp无法启动
- · 安装Office2017双击却无法直接打怎么办
- · 为何你的迅雷下载速度越来越慢
- · 简单提高迅雷下载速度的方法
- · Alt键的12个使用秘诀
- · 笔记本GPRS上网图解教程
- · 我就不关机 拒绝别人关闭计算机
- · 在机房远程关机
- · Windows 7家庭网络共享设置图解
- · 严禁迅雷偷偷上传!
- · 限制迅雷上传速度
- · 轻松解救无法启动的系统组策略
- · 无法升级安装win7 sp1的解决办法
- · 蠕虫和木马常改的系统文件及注册表
- · 教你如何20秒神速进入win XP操作系统
- · 最早黑客:揭秘世界第一批女性电脑高手
- · 在Windows7中新建磁盘分区的方法
- · Vista系统中如何用U盘制作密码重设盘