Linux进程间控制编程

本文深入解析了进程的概念、状态及生命周期,并介绍了进程间的互斥与同步机制,还探讨了进程调度算法及其在Linux系统中的应用。

进程的定义

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

 

进程与程序

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

进程是指程序执行的实例

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

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

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

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

 

进程的生命周期

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

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

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

 

进程的状态

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

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

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

 

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

Linux下进程地址空间

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

代码段:程序代码

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

 

 

进程ID

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

父进程(PPID)

启动进程的用户IDUID

 

进程互斥

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

 

临界资源

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

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

 

进程同步

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

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

 

进程调度

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

调度方式 抢占式   非抢占式

 

调度算法

先来先服务调度算法

短进程优先调度算法

高优先级优先调度算法

时间片轮转法

死锁

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

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值