LINUX进程控制程序设计——进程控制理论基础
进程——一个具有一定独立功能的程序的一次运行活动
进程与程序的区别:
程序是一个普通文件,是机器代码指令和数据的集合,这些指令和数据存储在磁盘上的一个可执行映像(Executable Image)中。
进程代表程序的执行过程, 它是一个动态的实体,随着程序中指令的执行而不断地变化,在某个时刻进程的内容被称为进程映像(Process Image)
进程特点
动态性 并发性 独立性 异步性
进程状态
就绪态,执行态,阻塞态
进程ID
进程ID(PID):标识进程的唯一数字
父进程的ID(PPID)
启动进程的用户(UID)
进程互斥
进程互斥是指当有若干进程都要使用某一共享资源时,任何时刻最多允许一个进程使用,其他要使用该资源的进程必须等待,直到占用该资源者释放了该资源为止。
临界资源
操作系统中将一次只允许一个进程访问的资源称为临界资源
临界区
进程中访问临界资源的那端程序代码称为临界区,为实现对临界资源的互斥访问,应保证诸进程互斥地进入各自的临界区。
进程同步
一组并发进程按一定的顺序执行的过程称为进程间的同步,具有同步关系的一组并发进程称为合作进程,合作进程间互相发送的信号称为消息或事件。
进程调度
概念:按一定算法,从一组待运行的进程中选出一个来占有CPU运行。
调度方式:抢占式 非抢占式
调度算法
先来先服务调度算法
短进程优先调度算法
高优先级优先调度算法
时间片轮转法
死锁
多个进程因竞争资源而形成一种僵局,若无外力作用,这些进程都将永远不能再向前推进。