计算机操作系统读书笔记___进程的引入

前言:单道程序和多道程序进程和线程的区别

目录

一、进程的定义

1.1 定义

1.2 基本状态

1.3 扩展状态

二、PCB

2.1 内容


一、进程的定义

在多道程序环境下,程序的执行属于并发执行,此时它们将失去封闭性,并具有间断性不可再现性的特征。这决定了通常的程序是不能参与并发执行的。因为程序的结果是不可再现的。这样程序的运行也就失去了意义。为使程序能并发执行,并且为了对并发执行的程序加以描述和控制,就此引入了“进程”的概念。

1.1 定义

进程是进程实体运行过程,是系统进行资源分配和调度的一个独立单位。进程实体(进程映像)由程序段、相关的数据段和PCB三部分构成。由创建而产生,由调度而执行,由撤销而消亡。

1.2 基本状态

就绪(Ready)、执行阻塞。从执行→阻塞的典型事件有:请求I/O,申请缓存空间,请求访问某临界资源等。而事件是指进程由执行状态转变为阻塞状态所等待发生的时间,即阻塞原因

1.3 扩展状态

最重要的是,挂起。原因有:终端用户的请求、父进程的请求、负荷调节的需要、操作系统的需要。操作系统有时需要挂起某些进程,以便检查运行中的资源使用情况。 

Readya/Readys、Blocka/Blocks。活动就绪和静止就绪、活动阻塞和静止阻塞相互转化。

创建, 分两步:首先为进程创建PCB填写必要的管理信息;其次,把该进程转入就绪状态并插入就绪队列之中。引入创建状态是为了保证进程的调度必须在创建工作完成后进行,以确保对进程控制块操作的完整性。根据系统性能或主存容量的限制推迟创建进程的提交。

终止,分两步:1等待操作系统进行善后处理,然后将其PCB清零,并将PCB空间返还系统。

二、PCB

2.1 内容

PCB记录了操作系统所需的、用于描述进程当前情况以及控制进程运行的全部信息。使得一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。

OS要调度某进程执行时,要从该进程PCB中查出其现行状态及优先级;在调度到某进程后,要根据PCB中所保存的处理机状态信息,设置该进程恢复运行的现场,并根据其PCB中的程序和数据的内存地址,找到其程序和数据; 执行时,当需要完成进程间同步、通信或访问文件,也需要访问PCB;阻塞时,又必须将其断点的处理机环境保存在PCB中。可见,在进程的整个生命周期中,系统总是通过PCB对进程进行控制的。PCB是进程存在的唯一标志。

进程被创建时,系统为其分配PCB;进程结束时又回收PCB,进程于是也随之消亡(僵死进程)。PCB可以被操作系统中的多个模块读或修改,如被调度程序、资源分配程序、中断处理程序以及监督和分析程序等读或修改。因为PCB经常被系统访问,尤其是被运行效率很高的进程及分派程序访问,故PCB应该常驻内存。常驻内存的原因也是在此了。在Linux中使用task_struct来描述每个进程的进程控制块。思路和实现是允许有差别的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值