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、死锁

多个进程因竞争资源而形成的一种僵局,若无外力作用,这些进程将永远不能再向前推进。

 

Linux进程控制程序设计,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。