(十八)、进程

IPC(Inter-Process Communication,进程间通信),即进程间传输数据(交换信息),实现方法有:管道、消息队列、共享内存、信号量、信号、Socket。

进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。
锁变量:为避免两个进程间同时要求访问同一共享资源而引起访问和操作的混乱,在进程对共享资源进行访问前必须对其进行锁定,该进程访问完后再释放。这是UNX为共享资源提供的互斥性保障,会出现等待。
Peterson.算法是实现互斥锁的并发程序设计算法,可以控制两个线程访问一个共享的单用户资源而不发生访问冲突。
TSL指令:是用硬件实现的,执行的过程不允许被中断,把“上锁”和“检查”操作用硬件的方式变成原子操作。缺是不满足“让权等待”原则,暂时无法进入临界区的进程会占用CPU并循环执行TSL指令,从而导致"忙等”
信号量:不是用于交换大量数据,而用于多进程之间的同步(协调对共享存储段的存取),不需要忙等。