计算机基础


1:操作系统原语

操作系统层面上的“原语”(比如 write 之类的系统调用)是不可中断的一组机器指令,对程序员来讲的确是不可分割的最小单位。

但是这写系统调用本身还是用好几句汇编语句组成的(对于 Linux 来说是 C 语言),因此定义“原语”的前提是观察者所处的位置。

比如就在操作系统的这层上,read,wirte,wait这些个系统调用自然就是最“原始”的词汇;


2:进程通信方式

2.1:为什么进程间需要通信? 
1).数据传输 
一个进程需要将它的数据发送给另一个进程; 
2).资源共享 
多个进程之间共享同样的资源; 
3).通知事件 
一个进程需要向另一个或一组进程发送消息,通知它们发生了某种事件; 
4).进程控制 
有些进程希望完全控制另一个进程的执行(如Debug进程),该控制进程希望能够拦截另一个进程的所有操作,并能够及时知道它的状态改变。 
基于以上几个原因,所以就有了进程间通信的概念。

2.2:进程间通信的原理 
每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信机制。 
主要的过程如下图所示: 

计算机基础_第1张图片


你可能感兴趣的:(Unity)