进程的描述和控制

进程的描述和控制

Wed Jul 31 2024
BigWind
6 minutes

计算机操作系统学习笔记(二)-进程的描述和控制#

进程的描述和控制#

1)程序顺序执行、并发执行的特征是什么,同步、异步的概念是什么?#

顺序执行:

  1. 顺序性:程序严格按照顺序执行,前一个程序结束后一个程序才能执行。

  2. 封闭性:程序在封闭环境下运行,程序运行时独占资源,各种资源的状态(除初始状态)仅由本程序·才能改变,程序一旦开始运行,其结果不受外界因素影响。

  3. 可再现性:程序重复执行时,只要程序执行的环境和初始条件相同,无论执行方式是连续还是间断,程序结果相同。

并发执行:

  1. 间断性:程序因并发执行共享资源,以及为完成某一任务相互合作,使这些并发执行的程序之间存在相互制约的关系。

  2. 失去封闭性:当系统中存在多个并发执行的程序,因其共享资源,致使这些资源被改变时,其任一程序受其影响。

  3. 不可再现性:因失去封闭性,重复执行的程序不一定有相同的执行结果。

同步:同步是指一个进程在执行某个请求的时候,如果该请求需要一段时间才能返回信息,那么这个进程会一直等待下去,直到收到返回信息才继续执行下去。

异步:异步是指进程不需要一直等待下去,而是继续执行下面的操作,不管其他进程的状态,当有信息返回的时候会通知进程进行处理

2)进程同步控制应遵循那些原则?#

  1. 空闲让进:当无进程处于临界区时,表明临界资源处于空闲状态,应允许一个请求进入临界区的进程立即进入自己的临界区,以有效地利用临界资源。

  2. 忙则等待:当已有进程进入临界区时,表明临界资源正在被访问,因而其它试图进入临界区的进程必须等待,以保证对临界资源的互斥访问。

  3. 有限等待:对要求访问临界资源的进程,应保证在有限时间内能进入自己的临界区,避免陷入 “死等” 状态。

  4. 让权等待:当进程不能进入自己的临界区时,应立即释放处理机,避免进程陷入 “忙等” 状态。

3)进程的概念,进程实体由什么构成#

进程是进程实体的运行过程,是系统进行资源和调度的一个独立单位。

进程实体由程序段、数据段和进程控制块(PCB)三部分组成。其中,程序段是指进程所执行的程序代码,数据段是指进程所使用的数据及堆栈等,PCB是进程控制块的缩写,是操作系统用来管理进程的数据结构,包含了进程的各种信息,如进程状态、进程优先级、进程ID等。

4)管程的定义和组成是什么?#

管程是由代表共享资源的一组数据以及对该共享数据结构实施一组过程所组成的资源管理程序共同构成的一个操作系统的资源管理模块。#

管程由以下四部分组成:#

  1. 管程的名称

  2. 局部于管程的共享数据结构说明

  3. 对该数据结构进行操作的一组过程

  4. 对局部于管程的共享数据设置初始值的语句

5)进程的三种基本状态是什么?#

  1. 就绪 (Ready) 状态:当进程已分配到除 CPU 以外的所有必要的资源,只要获得 CPU 便可立即执行,这时的进程状态称为就绪状态。

  2. 执行(Running)状态:当进程已获得 CPU,其程序正在 CPU 上执行,此时的进程状态称为执行状态。

  3. 阻塞(Blocked)状态:当进程由于某些原因无法执行时,如等待某个事件的发生或等待某个资源的释放,此时的进程状态称为阻塞状态。

6)进程的五种状态是什么?为什么要引入挂起?#

进程的五种状态:

  1. 新建(New)状态:进程被创建但尚未进入就绪队列。

  2. 就绪(Ready)状态:进程已分配到除 CPU 以外的所有必要的资源,只要获得 CPU 便可立即执行。

  3. 运行(Running)状态:进程已获得 CPU,其程序正在 CPU 上执行。

  4. 阻塞(Blocked)状态:进程由于某些原因无法执行,如等待某个事件的发生或等待某个资源的释放。

  5. 终止(Exit)状态:进程已完成任务或出现无法克服的错误而异常终止。

引入挂起状态是因为五种不同的需要:

  1. 终端用户需要

  2. 父进程请求

  3. 负荷调节需要

  4. 操作系统需要

  5. 对换需要

7)解释PCB,TCB#

PCB是进程控制块(Process Control Block)的缩写,是操作系统用来管理进程的数据结构,包含了进程的各种信息,如进程状态、进程优先级、进程ID等。

TCB是线程控制块(Thread Control Block)的缩写,是系统为每个线程配置的一个线程控制块,用于控制和管理线程的信息,如线程标识符、线程运行状态、优先级等。

8)线程的概念是什么?与进程比较各自的特点#

线程是操作系统调度和分配的基本单位

比较特点

  1. 均有并发性

  2. 进程拥有更多的系统资源

  3. 线程独立性小

  4. 线程切换比进程切换系统开销小

  5. 均支持多处理机