一、进程控制
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