共享内存
共享内存可以被描述成内存一个区域(段)的映射,这个区域可以被更多的进程所共享。1
该方式应该是 SysV IPC 中最快速度形式,减少了不必要的复制拷贝操作,但是 Linux 对共享内存不提供同步操作,一般需要其他方式进行辅助,如信号量。
共享内存可以被描述成内存一个区域(段)的映射,这个区域可以被更多的进程所共享。1
该方式应该是 SysV IPC 中最快速度形式,减少了不必要的复制拷贝操作,但是 Linux 对共享内存不提供同步操作,一般需要其他方式进行辅助,如信号量。
信号量及信号量上的操作是 E.W.Dijkstra 在 1965 年提出的一种解决同步、互斥问题的较通用的方法,并在很多操作系统中得以实现,Linux 改进并实现了这种机制。1
为了提供与其他系统的兼容性,Linux 也支持 3 种 system V 的进程间通信机制:消息、信号量(semaphores)和共享内存,Linux 对这些机制的实施大同小异。我们把信号量、消息和共享内存统称 System V IPC 的对象,每一个对象都具有同样类型的接口,即系统调用。就像每个文件都有一个打开文件号一样,每个对象也都有唯一的识别号,进程可以通过系统调用传递的识别号来存取这些对象,与文件的存取一样,对这些对象的存取也要验证存取权限,System V IPC 可以通过系统调用对对象的创建者设置这些对象的存取权限。1
一个或多个进程可向消息队列写入消息,而一个或多个进程可从消息队列中读取消息,这种进程间通信机制通常使用在客户/服务器模型中,客户向服务器发送请求消息,服务器读取消息并执行相应请求。在许多微内核结构的操作系统中,内核和各组件之间的基本通信方式就是消息队列。2
注:
IPC: Inter-Process Communication(进程间通信)
本博客就是使用 Hexo 生成的,但是我平常使用的都是 Windows 系统,使用 Hexo 需要安装不少软件。
而我又不想安装很多软件,所以研究着怎么用虚拟机和 Windows 配合使用 Hexo。
下面就是具体的方法。
之前一直用 Notepad++ ,后来发现了 Sublime Text 被界面和风格吸引了,而且支持各种 markdown 插件,来试试好不好用,如果上手了就可以抛弃 Notepad 了。
以下是网上各种资料的整理以便快速搭建顺手的环境。
前些日子整理文档,需要补充程序结构流程图,一直没有想到怎么样能够清晰直观描述清楚现在的解决方法,直到我知道了 UML 语言。最早对于 UML 的了解也只是停留在一本书上,他们开发使用 UML 分解任务,做成任务卡片,好分析开发时间。
现在才发现原来 UML 很强大。
StarUML 是个开源软件,画基本的 UML 图是基本够用了,而且可以保存工程以便后续修改,还可以自动导入现有工程进行分析,感觉用来辅助编写文档再合适不过了。