操作系统中的进程管理

本章节目录

1. 进程的概念

1.1 进程的定义

1.2 进程的特征

1.3 进程控制块

1.4 程序和进程的比较

1.4.1 程序的定义

1.4.2 进程的定义

1.4.3 程序的执行顺序

1.4.4 程序和进程的区别

1.4.5 程序和进程之间的联系

1.5 进程的状态

1.6 进程的组织

1.6.1 链接方式

1.6.2 索引方式

1.6.3 进程队列

2.进程的控制

2.1 进程的创建

2.1.1 何时需要创建新进程

2.1.2 创建新进程的步骤

2.2 进程的阻塞

2.2.1 进程阻塞的场景

2.2.2 进程阻塞的过程

2.3 进程的唤醒

2.3.1 进程唤醒的过程

2.4 进程的终止

2.4.1 进程被终止的情况

2.4.2 进程终止的过程

3.进程同步

3.1 进程同步的定义

3.2 多道程序环境下进程之间的关系

3.2.1 资源共享关系

3.2.2 相互合作关系

3.3 同步机制应遵循的原则

3.4 进程同步中的信号量机制

3.4.1 整形信号量机制

3.4.2 记录型信号量机制

3.4.3 AND型信号量机制

4.进程通信

4.1 进程通信机制

5.线程

5.1 线程的概念

5.2 线程和进程的位置关系

5.3 线程的分类

5.4 线程的三种基本状态

5.5 线程控制块

5.6 线程与进程的关系

6.操作系统内核

6.1 支撑功能

6.1.1 什么是中断处理

6.1.2 为什么需要中断处理

6.1.3 什么是时钟管理

6.1.4 计算机系统中的时钟

6.1.5 RTC时钟、OS时钟和应用程序之间的关系

6.1.6 操作系统中的时钟机制

6.1.7 系统调用

什么是系统调用

系统调用和一般函数调用的区别

6.2 资源管理功能


1. 进程的概念

1.1 进程的定义

1.允许并发执行的程序在某个数据集合上的运行过程

2.进程是由正文段、用户数据段和进程控制块共同组成的执行环境。

其中,正文段是指存放被执行的机器指令。用户数据段是指存放用户数据。进程控制块指存放进程的运行环境。

1.2 进程的特征

1.并发性。多个进程实体能在一段时间间隔内同时运行。并发性是进程和现代操作系统的重要特征。

2.动态性。进程是实体的执行过程,其过程是动态的(创建进程、获得CPU、执行指令、运行中止)

3.独立性。独立运行和资源调度的基本单位。

4.异步性。进程的执行时断时续,无法预知何时执行,何时停止。

5.结构特征。进程实体包括用户正文段、用户数据段、进程控制块。

1.3 进程控制块

定义:进程控制块是进程实体的一部分,是操作系统中最重要的数据结构。

进程控制块中记录了操作系统所需要的、用于描述进程及控制进程运行所需的全部信息。主要包含:进程标识符信息、处理机状态信息、进程调度信息、进程控制信息。

  • 进程标识符信息:用于唯一表示一个进程
  • 处理机状态信息:包含通用寄存器、指令计数器、程序状态字、用户栈指针
  • 进程调度信息:包括进程状态信息、进程优先级和进程调度所需的其他信息
  • 进程控制信息:包括程序和数据的地址、进程同步和通信机制、资源清单、链接指针

1.4 程序和进程的比较

1.4.1 程序的定义

具有独立功能的一组指令的集合

1.4.2 进程的定义

允许并发执行的程序在某个数据集合上的运行过程

1.4.3 程序的执行顺序

1.顺序执行。先进入内存的程序先运行,后面的程序依次排队等候。

    顺序执行的特点:顺序性、封闭性、可再现性

2.并发执行。在同一时间间隔内运行多个程序。一个程序执行结束前,可以同时执行其他程序。

    并发执行又分为宏观并行和微观串行:

  • 宏观并行:用户可以看到多个程序在同时运行
  • 微观串行:任意时刻一个CPU上只有一个程序在被执行

   并发执行的特点有:

  • 间断性:程序在CPU上执行时,是时断时续的
  • 失去封闭性:系统的状态不再是只对正在执行的程序可见
  • 不可再现性:同一个程序在输入相同的情况下多次运行,可能出现不同的结果

1.4.4 程序和进程的区别

1.程序是静态的、永久的、程序是一组指令的集合

2.进程是动态的、暂时的,进程则是包含了正文段、用户数据段和进程控制块的实体

1.4.5 程序和进程之间的联系

1.进程是程序的一次执行

2.一个程序可以对应多个进程

3.同一个程序可以在不同的数据集合上运行,构成不同的进程

1.5 进程的状态

分为就绪态、执行态、阻塞态三种状态。下面用一个概念图来展示一下进程状态间的联系。

根据进程的调度策略,某一进程会被选中或者落选。被选中的从就绪状态进入到执行状态。

等待某一事件,可能是在申请资源时出现了故障,进而从执行态进入到了阻塞态。

等待事件发生,顺利申请到资源后,进程状态由阻塞态进入到就绪态。

1.6 进程的组织

1.6.1 链接方式

把系统中具有相同状态的进程控制块PCB用其中的链接字连接成一个队列。

例如

执行指针:PCB1(正在执行中的进程)

就绪队列指针:PCB2、PCB3、PCB4

阻塞队列指针:PCB5、PCB6、PCB7

1.6.2 索引方式

系统根据所有进程的状态,建立索引表,索引表中的每个表项指向一个PCB物理块

1.6.3 进程队列

把具有相同状态的进程控制块用队列组织起来。

2.进程的控制

进程的控制分为:创建、阻塞、唤醒、终止

2.1 进程的创建

2.1.1 何时需要创建新进程

用户登录、作业调度、提供服务、应用请求

2.1.2 创建新进程的步骤

1.申请空白PCB

2.为新进程分配资源

3.初始化进程控制块

4.将新进程置入到就绪队列

2.2 进程的阻塞

2.2.1 进程阻塞的场景

1.请求系统服务

2.启动某种操作

3.新数据尚未到达

4.无新工作可做

2.2.2 进程阻塞的过程

1.将进程的状态改为阻塞状态

2.将进程置入到相应的阻塞队列

3.转到进程调度程序,从就绪队列中选择进程为其分配CPU

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是一名程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值