应用开发六:进程控制与进程通信

来源:互联网 发布:java swing 怎么安装 编辑:程序博客网 时间:2024/05/15 00:11

一、进程控制

1、进程与程序:

2、进程的特性:动态性、并发性、独立性、异步性

3、进程的状态:阻塞、就绪、运行

4、进程互斥、临界资源、临界区

5、进程调度

6、死锁

7、进程创建函数fork()

      fork()被调用一次,却返回两次:在父进程中,fork返回新创建的子进程的PID;在子进程中,fork返回0。fork()产生的子进程的数据区、堆栈区都是父进程的一个拷贝,而不是共享。

     vfork与fork的区别;

     wait(),指导某个子进程退出,返回值为退出的子进程。

二、进程通信

1、无名管道(pipe)和有名管道(fifo)

     管道:单向的、先进先出,读进程从头部读出数据,写进程从尾部写入数据

     无名管道:父子进程的通信

     有名管道:任意进程间的通信,本质上是文件,先运行读进程后运行写进程。

2、消息队列:不受进程同步的影响

3、共享内存:

4、信号通信(软件中断)

     信号的处理:

     (1)忽略该信号、(2)使用用户定义的处理函数signal(signal, func)、(3)使用系统默认的方式

5、信号量:描述共享资源  或者 用于进程同步

6、socket

0 0