Linux进程间控制编程

来源:互联网 发布:c语言判断字母大小写 编辑:程序博客网 时间:2024/06/05 17:27

进程的定义

进程程序是一个具有一定独立功能的程序的一次运行活动,同时也是资源分配的最小单元

 

进程与程序

程序是放到磁盘的可执行文件

进程是指程序执行的实例

v 进程是动态的,程序是静态的:程序是有序代码的集合;进程是程序的执行。通常进程不可在计算机之间迁移;而程序通常对应着文件、静态和可以复制

v 进程是暂时的,程序是长久的:进程是一个状态变化的过程,程序可长久保存

v 进程与程序组成不同:进程的组成包括程序、数据和进程控制块(即进程状态信息)

v 进程与程序的对应关系:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。

 

进程的生命周期

创建:每个进程都是有其父进程创建进程,子进程又可以创建子进程的子进程

运行:多个进程可以同时存在  进程间可以通信

撤销:进程随时可以被撤销,从而结束一个进程的运行

 

进程的状态

执行状态:进程正在占用cpu

就绪状态:进程已具备一切条件,正在等待分配CPU处理时间片

等待状态:进程不能使用CPU,若等待时间发生则可将其唤醒

 

Linux系统是一个多进程系统, 进程之间,互不干扰。每一个进程都是一个独立的运行单位,拥有各自的权利和责任。各个进程运行在独立的虚拟地址空间,因此,一个进程发生异常,它也不会影响到系统中的其他进程。

Linux下进程地址空间

数据段全局变量,常数和动态数据分配的数据空间

代码段:程序代码

堆栈段:子程序的返回地址,子程序的参数,局部变量

 

 

进程ID

进程IDPID:标识进程的唯一数字

父进程(PPID)

启动进程的用户IDUID

 

进程互斥

进程互斥是指当有若干进程都要使用某一共享资源时,任何时刻最多允许一个进程使用,其他要使用该资源的进程必须等待,直到占用该资源者释放了该资源为止

 

临界资源

操作系统中将一次只允许一个进程访问的资源成为临界资源

进程中访问临界资源的那段程序代码称为临界区,为实现对临界资源的互斥访问,应保证诸进程互斥的进入各自的临界区。

 

进程同步

一组并发进程按一定的顺序执行的过程称为进程间的同步

具有同步关系一组并发进程称为合作进程,合作进程间互相发送的信号称为消息或事件

 

进程调度

按一定算法,从一组待运行的进程中选出一个来占有CPU运行

调度方式 抢占式   非抢占式

 

调度算法

先来先服务调度算法

短进程优先调度算法

高优先级优先调度算法

时间片轮转法

死锁

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

 

 

 

0 0
原创粉丝点击