Linux进程控制程序设计
一、进程控制理论基础
进程:是一个具有一定独立功能的程序的一次运行活动。程序是静态的,程序在运行的时候是进程。
1、进程的特点:
动态性:区别于程序的显著特性
并发性:多个进程可以同时执行
独立性:独立的
异步性:进程与进程之间可以进行异步操作
2、进程三态:
进程的ID(PID):标志进程的唯一数字。
父进程ID(PPID)
启动进程的用户ID(UID)
3、进程互斥
进程互斥是指当有若干进程都要使用某一共享资源时,任何时刻最多允许一个进程使用,其他要使用该资源的进程必须等待,直到占用该资源者释放了该资源为止。
临界资源:同一时刻,只允许一个进程访问的资源称为临界资源。
临界区:进程中访问临界资源的那段程序代码成为临界区。
为实现对临界资源的互斥访问,应保证各个程序有先后顺序地进入各自的临界区。
4、进程同步
一组并发进程按一定的顺序(固定顺序)执行的过程称为进程间的同步。
具有同步关系的一组并发进程称为合作进程。
合作进程间互相发送的信号成为消息或事件。
5、进程调度
按一定算法,从一组待运行的进程中选出一个来占有CPU运行。
调度方式:
1)抢占式:a b 进程,a正执行,b就绪了,但b的优先级高,则a暂停,b运行
2)非抢占式:a b 进程,a正执行,b就绪了,但b的优先级高,但还要等到a结束,b才运行。
调度算法
1)先来先服务
2)短进程优先(运行时间短优先)
3)高优先级优先
4)时间片轮转法:划分时间片,每个进程在时间片内,依次占用CPU。
6、死锁
多个进程因竞争资源而形成的一种僵局,若无外力作用,这些进程将永远不能再向前推进。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。