进程概述

来源:互联网 发布:ubuntu 开机执行脚本 编辑:程序博客网 时间:2024/05/29 05:55
进程:
程序的顺序执行:顺序性,封闭性(独占全机资源),确定性,可再现性;
并发执行:间断性,非封闭性,不可再现性(如对共享资源变量的使用)

多道程序技术中,CPU来回切换程序,描述困难
程序执行的每一个新状态称为进程;


进程与程序的区别:

1. 程序是静态的,是一种软件资源;进程动态的,为执行程序而生,是程序在某一数据集上的一次执行过程,具有生命周期;
2. 进程是独立运行的单位,作为资源申请与调度的单位;而程序不是(比如需要输入的文件的程序是无法自己执行的)
3. 二者无一一对应关系,一进程可以执行多个程序,一个程序可有多个进程共用;


进程的基本特征:

动态性,并发性,独立性,异步性,结构性(也有控制块)


状态模型:

两态:非运行,运行
基本的三态核心模型:运行,就绪,阻塞
五态模型:增加了创建与退出
创建过程,或有时受资源,就绪进程数所限,处于此态,创建进程表,分配进程组,调入就绪态时分配所有资源;
退出:程序正常或异常结束,收集资源,从其进程表中收集信息
七态模型:增加挂起状态(如就绪挂起,阻塞挂起,运行挂起);
挂起:受内存所限,用户调试,进程间断执行,系统安全,调节负载的需要,将一些内容由内存换至外存;
解挂:相反的过程


描述进程:
操作系统维护四种表:内存表,I/O表,文件表,进程表;(可以相互交叉引用)

进程表中每一进程都有该进程的进程映像空间,包含该进程具体的物理组成,是程序,数据,栈,和进程控制块的集合(进程上下文);


进程控制块(PCB)
包含四类信息:标识符信息,处理机状态信息,进程调度信息,进程控制信息;
将PCB组织起来进行管理:
1.线性(早期UNIX),
2.链表链接方式,划分多个队列(现代UNIX)
3.索引方式;


操作系统内核:

与硬件紧密相关的模块,常驻内存;如中断,I/O驱动,进程控制与调度;

重要功能:进程管理,内存管理。I/O管理,支持功能
有些功能由原语实现


原语(系统态)

原语是操作系统内核的一部分,必须在管态下执行

机器指令级原语(执行时不许中断)

功能级原语:原语程序段不允许并发执行
进程树,表明谱系结构(UNix),windows无


进程创建过程:
1. 新分配PID(唯一的进程标识号),得到一个PCB
2. 分配资源
3. 初始化PCB
4. 插入就绪队列
进程终止过程:
1. 根据标识号,找到PCB,终止运行
2. 回收空间,外部设备等资源
3. 终止子进程
4. PCB从管理队列移除,善后工作,完成后回收PCB
其他的比较简单,不累述


引起阻塞唤醒的事件类型:

1.I/O操作
2.请求系统资源
3.同步约束(比如协作进程间)
4.服务进程无服务(如数据发送)
原创粉丝点击