文章目录
- 一、进程概念
- 二、进程操作
- 三、进程通信
一、进程概念
- 进程,顾名思义,执行中的程序。进程是能描述程序的执行过程而且可以作为共享资源的基本单位。
- 进程包括:代码与当前活动(程序计数器PC,堆栈,数据,堆)
-
进程和程序之间的联系:
进程是程序的一个实例,是程序的一次执行。
一个程序可对应一个或多个进程。
一个进程可对应一个或多个程序。
程序是进程的代码部分。
进程是活动实体,程序是静止实体。
进程在内存,程序在外存。
-
进程状态:
新建:在创建进程
运行:指令在执行
等待:进程等待某些事情发生
就绪:进程等待分配处理器
终止:进程执行完毕
-
进程控制块(PCB)
进程状态
程序计数器
CPU寄存器
CPU调度信息
内存管理信息
记账信息
I/O状态信息
PCB是进程的唯一标志,放在内存中,在其中记录了进程的全部信息,它是一种记录型的数据结构,相当于进程的档案。
二、进程操作
-
进程创建
进程在其执行过程中,通过创建进程(父进程),系统调用创建多个新进程(子进程),每个新进程又创建多个子进程,如此循环,构成一颗进程树。
父进程与子进程之间有三种资源共享模式:
父进程子进程共享所有资源
子进程共享父进程资源的子集
父进程和子进程无资源共享
父进程与子进程之间有两种执行方式:
父进程与子进程并发执行
父进程等待,直到子进程终止
新进程的地址空间有两种可能:
子进程复制父进程的空间
子进程装入另一个新程序
- 进程终止
三、进程通信
操作系统中可以并发执行的进程有两种:
独立进程:不会影响另外一个进程的执行或被另一个进程执行影响
协同进程:可能影响另外一个进程的执行或被另一个进程执行影响
协同进程的优点:信息共享、加速运算、模块化、方便
协同进程需要一种通信机制,进程间通信(IPC),来允许进程相互交换数据与信息,而IPC有两种基本模式:共享内存(快)与消息传递(少量数据,耗时多)