计算机操作系统(二)进程管理

目录

进程与线程

概念和特征

程序的概念

进程的概念

进程的组成

进程的定义

进程的特征

进程的组织

进程的状态与转换

状态总览

三种基本状态

创建态和结束态

五状态转换

七状态转换

5种状态具体描述

进程的控制

进程控制的概念

进程的组织

详细过程

用原语实现进程的控制

控制进程的原语

知识点总结

进程通信

进程间通信概念

共享存储

管道通信

消息传递

总结

多线程模型

引入线程的背景

线程的概念

引入线程后的变化

线程的属性

实现方式

多线程模型

知识点总结

处理机调度

调度基本概念

高级调度

中级调度

低级调度

三层调度的区别与联系

知识点总结

调度的时机、切换与过程

调度的时机

进程调度的方式

进程的切换与过程

知识点总结

调度算法的评价标准

调度算法

进程同步

进程的同步与互斥

进程同步概念

进程互斥的概念

互斥访问逻辑上划分

访问遵循的原则

知识点总结

进程互斥的软件实现方法

单标志法

双标志先检查法

双标志后检查法

知识点总结

进程互斥的硬件实现方法

中断屏蔽方法

TestAndSet指令方法

Swap指令方法

知识点总结

信号量机制

信号量机制背景

信号量机制概念

整形信号量

记录型信号量

P/V概念总结

知识点总结

用信号量机制实现进程的互斥、同步、前驱关系

进程互斥

进程同步

前驱关系

知识点总结

进程同步与进程互斥问题举例

生产者消费者问题  

多生产者多消费者问题

吸烟者问题

读者-写者问题

哲学家进餐问题

管程

引入管程的背景

管程的定义和基本特征

解决的问题

引入管程的意义

Java中的实现

知识点总结

死锁

死锁的概念

死锁的定义

死锁、循环、死循环的区别

产生死锁的必要条件

什么时候会发生死锁

死锁的处理策略

知识点总结

死锁的处理策略

预防死锁

避免死锁

检测和解决死锁


进程与线程

概念和特征

程序的概念

进程的概念

进程的组成

为了使参与并发执行的程序(含数据)能独立地运行,必须为其配置一个专门的数据结构-----进程块(PCB)。PCB组成如下图

进程由程序段、数据段、PCB三部分组成。

注意:PC是进程存在的唯一标志

进程的定义

从不同的角度,进程可以有不同的定义,比较典型的定义有:

1)进程是程序的一次执行过程

2)进行是一个程序及其数据在处理机上顺序执行时所发生的活动

3)进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。

引入进程实体的概念后,可以把进程定义为:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。

进程的特征

进程的组织

在一个系统中,通常有数十、数百乃至数千个PCB,为了能对他们加以有效的管理,应该用适当的方式把这些PCB组织起来。

进程的状态与转换

状态总览

三种基本状态

创建态和结束态

五状态转换

七状态转换

5种状态具体描述

1)运行态。进程正在处理机上运行,在单核CPU环境下,每个时刻最多只有一个进行处理运行态

2)就绪态。进程或得了除处理机外的一切所需资源,一旦得到处理机,便可立即运行。系统中处于就绪状态的进行可能有多个,通常将他们排成一个队列,称为就绪队列

3)阻塞态。又称等待态。进程正在等待某一个时间而暂停运行,如等待某资源为可用(不包括CPU)或等待输入/输出完成。即使CPU空闲,该进程也不能运行。

4)创建态。进程正在被创建,尚未转到就绪态,创建进程通常需要多个步骤:首先申请一个空白的PCB,并向PCB中填写控制和管理进程的信息;然后由系统为该进程分配运行时所必须需的资源:最后把该进程转入就绪态。

5)结束态。进程正从系统中消失,可能是进程正常结束或其他原因中断退出运行,进程需要结束运行时,系统首先必须置该进程为结束态,然后再进一步处理资源释放和回收等工作。

 

进程的控制

进程控制的概念

进程的组织

详细过程

用原语实现进程的控制

控制进程的原语

(1)创建原语

(2)唤醒和阻塞原语

(3)切换原语

(4)终止原语

知识点总结

 

进程通信

进程间通信概念

共享存储

管道通信

消息传递

总结

多线程模型

引入线程的背景

线程的概念

引入线程后的变化

线程的属性

实现方式

(1)用户级线程

(2)内核级线程

(3)组合方式

多线程模型

(1)多对一模型

(2)多对一模型


(3)多对多模型

知识点总结

处理机调度

调度基本概念

高级调度

中级调度

低级调度

三层调度的区别与联系

知识点总结

调度的时机、切换与过程

调度的时机

(1)需要进行调用及不能调度的情况

(2)内核临界区与普通临界区的调度

进程调度的方式

进程的切换与过程

知识点总结

调度算法的评价标准

CPU利用率

系统吞吐量

周转时间

等待时间

响应时间

知识点总结

调度算法

先来先服务

最短作业优先

最高响应比优先

时间片轮转

优先级调度

多级反馈队列

几种算法对比

进程同步

进程的同步与互斥

进程同步概念

在多道程序环境下,进程是并发执行的,不同进程之间存在着不同的相互制约关系,为了协调进程之间的相互制约关系,引入了进程同步的概念。例如,让系统计算1+2X3,假设系统产生两个进程:一个加法进程,一个乘法进程,要让计算结果是正确的,一定要让加法进程发生在乘法进程之后,实际上操作系统具有异步性,在不加限制的情况下,加法进程发生在乘法进程之前是绝对可能的,因此需要引入进程同步的概念加以制约。

进程互斥的概念

互斥也成称间接制约关系,当一个进程进入临界区使用临界资源时,另一个进程必须等待,当占用临界资源的进程退出临界区后,另一个进程才允许去访问此临界资源。

我们把一个时间段内只允许一个进程层使用的资源称为临界资源,许多物理设备(摄像头、打印机)都属于临界资源,此外还有许多变量、数据、内存缓冲区等都属于临界资源。

互斥访问逻辑上划分

访问遵循的原则

 

知识点总结

进程互斥的软件实现方法

单标志法

双标志先检查法

双标志后检查法

Peterson算法

知识点总结

进程互斥的硬件实现方法

中断屏蔽方法

TestAndSet指令方法

Swap指令方法

知识点总结

信号量机制

信号量机制背景

信号量机制概念

整形信号量

记录型信号量

P/V概念总结

知识点总结

用信号量机制实现进程的互斥、同步、前驱关系

进程互斥

进程同步

前驱关系

知识点总结

 

进程同步与进程互斥问题举例

生产者消费者问题  

问题描述

问题分析

问题解决

总结

多生产者多消费者问题

问题描述

 

问题分析

问题解决

总结

吸烟者问题

问题描述

问题分析

问题解决

总结

读者-写者问题

问题描述

问题分析

问题解决

总结

哲学家进餐问题

问题描述

问题分析

问题解决

总结

管程

引入管程的背景

管程的定义和基本特征

解决的问题

引入管程的意义

Java中的实现

知识点总结

死锁

死锁的概念

死锁的定义

在多道程序系统中,由于多个进程的并发执行,改善了系统资源的利用率并提高了系统的处理能力。然而,多个进程的并发执执行也带来了新的问题-死锁。所谓死锁,就是指多个进程因竞争资源而造成的一种僵局(互相等待)。若无外力作用,这些进程都将无法向前推进。

死锁、循环、死循环的区别

产生死锁的必要条件

什么时候会发生死锁

死锁的处理策略

知识点总结

死锁的处理策略

预防死锁

(1)破坏互斥条件

(2)破坏不剥夺条件

(3)破坏请求和保持条件

(4)破坏循环等待条件

知识点总结

避免死锁

安全序列

银行家算法

 

 

检测和解决死锁

死锁的检测

检测算法

死锁的解除

 

知识点总结

 

参考资料:《王道考研》

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值