操作系统概论【二】- - 进程管理

感谢内容提供者:金牛区吴迪软件开发工作室

接上一篇:操作系统概论【一】 - - 操作系统概述

第二章、进程管理

一、进程的描述

1. 为什么要引入进程的概念?

顺序程序的特点:具有封闭性和可再现性。但是,程序的顺序执行是低效的。
程序的并发执行和资源共享。多道程序设计出现后,实现了程序的并发执行和资源共享,提高了系统的效率和系统的资源利用率,但却带来了新的问题。
程序的并发执行的特点:破坏了程序的封闭性和可再现性,程序和机器执行程序的活动不再一一对应,并发程序之间有可能存在相互制约关系。
并发程序的这些特性:独立性、并发性、动态性和相互制约性,反映了并发程序的本质,程序的概念已不能反映程序并发找执行的实质,因此,人们引进了进程的概念。

在这里插入图片描述

a.程序的顺序执行

在这里插入图片描述
在这里插入图片描述
缺点: 不能使输入机、处理器和打印机同时忙碌。

b.程序的并发执行

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

c.进程的概念

在这里插入图片描述

2. 进程的定义

在这里插入图片描述

3. 进程的特征

在这里插入图片描述

4. 进程与程序的比较

在这里插入图片描述
在这里插入图片描述

5.进程控制块

定义:
进程控制块是 进程实体的一部分 ,是操作系统中 最重要的数据结构
进程控制块中记录了操作系统所需要的、用于描述进程及控制进程运行所需的全部信息。

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

6. 进程的状态

在这里插入图片描述

7. 进程的组织

在这里插入图片描述

三种组织方式:
  • 链接方式:
    在这里插入图片描述
  • 索引方式:
    在这里插入图片描述
  • 进程队列
    在这里插入图片描述

二、进程的控制

1. 创建

a.什么情况下需要创建新进程?
  • 用户登录
  • 作业调度
  • 提供服务
  • 应用请求
b.如何创建新进程? | 创建新进程的步骤?
  • 申请空白PCB
  • 为新进程分配资源
  • 初始化进程控制块
  • 将新进程插入到就绪队列

2. 阻塞

a.什么情况下会进行进程的阻塞呢?
  • 请求系统服务
  • 启动某种操作
  • 新数据尚未到达
  • 无新工作可做
b.完成进程阻塞的过程?
  • 将进程的状态改为阻塞态
  • 将进程插入阻塞队列

3. 唤醒

a.进程唤醒的过程
  • 将进程从阻塞队列中移出
  • 将进程状态由阻塞态改为就绪态
  • 将进程插入就绪队列

4. 终止

a.完成终止的过程
  • 从进程PCB中读进程状态
  • 若进程正在执行,则终止进程的执行
  • 释放资源
  • 将终止进程的PCB移出

三、操作系统内核

操作系统管理计算机系统资源,提供方便的接口,扩充硬件的功能等

1. 操作系统内核

操作系统内核是计算机硬件的第一次扩充与硬件关系密切。

a.支撑功能

中断处理、时钟管理、原语操作

b.资源管理功能

进程管理、存储管理、设备管理

2. 中断

在这里插入图片描述
在这里插入图片描述

3. 时钟管理

a.时钟的重要性

在这里插入图片描述

b.计算机系统中的时钟

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. 系统调用

a.什么是系统调用?

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

四、进程同步

在这里插入图片描述

1. 进程同步的基本概念

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

在这里插入图片描述

避免并发导致的问题:

在这里插入图片描述

2. 应遵循的准则

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3. 信号量机制

在这里插入图片描述

a.整型信号量机制

在这里插入图片描述

原子操作包含wait和signal
wait用于申请资源
signal用于释放资源

b.记录型信号量机制

在这里插入图片描述

c.and型信号量机制

五、进程通信

在这里插入图片描述

六、线程

1. 线程的概念

在这里插入图片描述

在这里插入图片描述在这里插入图片描述

2. 线程的分类

在这里插入图片描述

3. 线程的3种基本状态

在这里插入图片描述

4. 线程控制块

每一个线程都由一个数据结构表示,包括它的基本状态等,这个数据结构就是线程控制块TCB

TCB记录了操作系统需要的、用于描述线程情况及控制线程运行所需的全部信息。

5. 线程和进程的关系

在这里插入图片描述

6. 线程控制

a.创建
b.阻塞
  1. 请求系统服务
  2. 启动某种操作
  3. 新数据尚未到达
c.唤醒
e.终止
  1. 正常结束
  2. 异常结束
  3. 外界干扰
f.调度
g.切换



下一篇:操作系统概论【三】- - 进程调度与死锁

吴迪软件开发 小程序 ECMAScript 6 React.js
金牛区吴迪软件开发工作室博客