自学内容网 自学内容网

第三章 进程的描述与控制深入解析

进程是操作系统中最重要的概念之一,是程序的执行过程,也是系统进行资源分配和调度的基本单位。


一、程序执行方式

程序执行分为顺序执行和并发执行两种方式。顺序执行时,程序按顺序依次执行;并发执行时,多个程序同时进入内存,实现程序的并发执行。

1.1 程序顺序执行

  • 特征:顺序性、封闭性、可再现性。
    在这里插入图片描述

1.2 程序并发执行

  • 特征:间断性、失去封闭性和可再现性、程序与程序执行不再一一对应。
    在这里插入图片描述

二、进程描述

  • 进程描述涉及进程的定义、特性、与程序的区别及进程控制块。

2.1 进程定义

  • 进程是具有一定独立功能的程序关于某个数据集合的一次运行活动。

2.2 进程特性

包括动态性、并发性、独立性、异步性和结构性。

2.3 进程与程序的区别

  • 进程是动态的,程序是静态的。
  • 进程是暂时的,程序是永久的。
  • 进程具有结构性,程序由指令和数据构成。

2.4 进程控制块 (PCB)

  • PCB 用于记录进程的相关信息,是操作系统对进程进行控制和管理的基础。

代码示例:

// 概念性展示,非具体操作系统代码
struct PCB {
    int pid; // 进程标识符
    char state; // 进程状态
    // 其他控制信息
};

三、进程状态

  • 进程在其生命周期中会经历不同的状态,包括就绪态、执行态和阻塞态。

3.1 进程基本状态

  • 就绪态:已分配除CPU外的资源,等待分配CPU。
  • 执行态:正在运行的状态。
  • 阻塞态:等待某个事件的发生,暂时停止执行。
    在这里插入图片描述

3.2 进程状态转换

  • 描述了进程状态之间的转换关系,包括就绪→执行、执行→就绪、执行→阻塞等。

3.3 进程的挂起

  • 挂起是指使进程暂停活动的过程,包括挂起的原因和状态转换。
    在这里插入图片描述

四、进程控制

  • 进程控制涉及进程控制的主要任务、内核的角色、原语操作和进程控制原语。
    在这里插入图片描述

4.1 微内核

  • 微内核技术是现代操作系统设计中突出的思想,将操作系统中更多的代码放到用户层中。

4.2 原语操作

  • 原语操作是内核执行的具有特定功能的程序段,具有原子性。

4.3 进程控制原语

  • 包括创建原语、撤销原语、阻塞原语、唤醒原语、挂起原语、激活原语等。

代码示例(概念性描述):

// 创建进程
void create_process(PCB* new_process) {
    // 分配资源,初始化PCB
}

// 撤销进程
void terminate_process(PCB* process) {
    // 释放资源,删除PCB
}

五、线程

线程作为进程内的一个执行单元,是操作系统中一个重要的技术。

5.1 线程引入

  • 线程的引入是为了提高系统的并发度,减少并发执行时的时空开销。

5.2 线程定义

  • 线程是进程内一个相对独立、可调度的执行单位。

5.3 线程的状态

  • 包括就绪状态、运行状态、阻塞状态及状态转换。
    在这里插入图片描述

5.4 线程和进程的比较

  • 线程与进程在地址空间资源、并发性、通信关系、切换速度方面的区别。

5.5 线程分类

  • 包括内核支持线程、用户级线程。

5.6 线程实现的模型

  • 包括多对一模型、一对一模型、多对多模型。

原文地址:https://blog.csdn.net/weixin_49345320/article/details/142437851

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!