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


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


文章目录










第二章、进程管理

一、进程的描述

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


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


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

a.程序的顺序执行

操作系统概论【二】- - 进程管理_操作系统自考_02

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

缺点: 不能使输入机、处理器和打印机同时忙碌。

b.程序的并发执行

操作系统概论【二】- - 进程管理_操作系统自考_04

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

操作系统概论【二】- - 进程管理_操作系统自考_06

c.进程的概念

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

2. 进程的定义

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

3. 进程的特征

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

4. 进程与程序的比较

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

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

5.进程控制块


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

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

6. 进程的状态

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

7. 进程的组织

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

三种组织方式:
  • 链接方式:
    操作系统概论【二】- - 进程管理_操作系统概论_14
  • 索引方式:
    操作系统概论【二】- - 进程管理_操作系统之进程管理_15
  • 进程队列
    操作系统概论【二】- - 进程管理_操作系统自考_16

二、进程的控制

1. 创建

a.什么情况下需要创建新进程?
  • 用户登录
  • 作业调度
  • 提供服务
  • 应用请求

b.如何创建新进程? | 创建新进程的步骤?
  • 申请空白PCB
  • 为新进程分配资源
  • 初始化进程控制块
  • 将新进程插入到就绪队列

2. 阻塞

a.什么情况下会进行进程的阻塞呢?
  • 请求系统服务
  • 启动某种操作
  • 新数据尚未到达
  • 无新工作可做

b.完成进程阻塞的过程?
  • 将进程的状态改为阻塞态
  • 将进程插入阻塞队列

3. 唤醒

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

4. 终止

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

三、操作系统内核


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


1. 操作系统内核

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

a.支撑功能

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

b.资源管理功能

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

2. 中断

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

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

3. 时钟管理

a.时钟的重要性

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

b.计算机系统中的时钟

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

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

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

操作系统概论【二】- - 进程管理_操作系统自考_23

4. 系统调用

a.什么是系统调用?

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

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

操作系统概论【二】- - 进程管理_操作系统自考_25

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

四、进程同步

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

1. 进程同步的基本概念

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

操作系统概论【二】- - 进程管理_操作系统自考_28

避免并发导致的问题:

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

2. 应遵循的准则

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

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

操作系统概论【二】- - 进程管理_操作系统自考_32

3. 信号量机制

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

a.整型信号量机制

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


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


b.记录型信号量机制

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

c.and型信号量机制

五、进程通信

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

六、线程

1. 线程的概念

操作系统概论【二】- - 进程管理_操作系统自考_37

操作系统概论【二】- - 进程管理_操作系统自考_38操作系统概论【二】- - 进程管理_操作系统自考_39

2. 线程的分类

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

3. 线程的3种基本状态

操作系统概论【二】- - 进程管理_操作系统自考_41

4. 线程控制块

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

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

5. 线程和进程的关系

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

6. 线程控制

a.创建
b.阻塞
  1. 请求系统服务
  2. 启动某种操作
  3. 新数据尚未到达

c.唤醒
e.终止
  1. 正常结束
  2. 异常结束
  3. 外界干扰

f.调度
g.切换



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