软考——操作系统知识之进程管理

网友投稿 804 2022-05-29

导图总览

进程管理

概述

操作系统的作用:通过资源管理提高计算机系统的效率;改善人机界面向用户提供友好的工作环境

特征:并发性、共享性、虚拟性、不确定性

功能:进程管理、存储管理、文件管理、设备管理、作业管理

分类:批处理操作系统、分时操作系统(轮流使用CPU工作片)、实时操作系统(快速相应)、网络操作系统、分布式操作系统(物理分散的计算机互联系统)、微机操作系统(Windows)、嵌入式操作系统

计算机启动流程:BIOS->主引导记录->操作系统

进程的组成和状态

组成:进程控制块PCB(唯一标志)、程序(描述进程要做什么)、数据(存放进程执行时所需数据)

三态图:

前趋图:用来表示哪些任务可以并行执行,哪些任务之间有顺序关系

ABC可以并行执行,但是必须ABC都执行完成之后,才能执行D

进程资源图:用来表示进程和资源之间的分配和请求关系

阻塞节点:某进程所请求的资源已经全部分配完毕,无法获取所需资源,该进程被阻塞了无法继续(P2)

非阻塞节点:某进程所请求的资源还有剩余,可以分配给该进程继续运行。如P1、P3

当一个进程资源图中所有进程都是阻塞节点时,即陷入死锁状态

进程资源图化简顺序:从非阻塞节点开始化简,并且节点使用完资源后需要释放资源,按顺序查看下个节点的资源数是否符合

同步与互斥

互斥:某资源(临界资源)在同一时间内只能由一个任务单独使用,使用时需要加锁,使用完后解锁才能被其他任务使用:如打印机

同步:多个任务可以并发执行,只不过有速度上的差异,在一定情况下停下等待,不存在资源是否单独或共享问题;如自行车、汽车

临界资源:个进程间需要以互斥方式对其进行访问的资源

临界区:指进程中对临界资源实施操作的那段程序(本质是一段代码)

互斥信号量:对临界资源采用互斥访问,使用互斥信号量后其他进程无法访问,初值为1

同步信号量:对共享资源的访问控制,初值一般是共享资源的数量

信号量操作

P操作:申请资源,S=S-1,若S>=0,则执行P操作的进程继续执行;若S<0,则置该进程为阻塞状态(因为无可用资源),并将其插入阻塞队列

V操作:释放资源,S=S+1,若S>0,则执行V操作的进程继续执行;若S<=0,则从阻塞状态唤醒一个进程,并将其插入就绪队列(此时因为减少资源被P操作阻塞的进程可以继续执行),然后执行V操作的进程继续。

死锁

当一个进程在等待永远不可能发生的事件时,就会产生死锁,若系统中有多个进程处于死锁状态,就会造成系统死锁

软考——操作系统知识之进程管理

死锁产生的四个必要条件:

• 资源互斥

• 每个进程占有资源并等待其他资源

• 系统不能剥夺进程资源

• 进程资源图是一个环路

死锁避免:一般采用银行家算法,提前计算出一条不会发生死锁的资源分配方法,才分配资源,否则不分配资源

死锁检测:允许死锁发生,但系统定时运行一个检测死锁的程序,若检测到系统中发生死锁,则设法解除

死锁解除:即死锁发生后的解除方法,如强制剥夺资源、撤销进程

死锁计算:系统内有n个进程,每个进程都需要R个资源,那么其发生死锁的最大资源数为n*(R-1)。其不发生死锁的最小资源数为n*(R-1)+1

线程

传统的进程有两个属性:可拥有资源的独立单位;可独立调度和分配的基本单位

线程:是独立调度的最小单位,可以共享进程的公共数据、全局变量、代码、文件等资源,但不能共享线程拥有的资源

进程:是拥有资源的最小单位

Java 任务调度 软件开发

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:PHP开发APP接口实现--基本篇
下一篇:在Java中什么时候才要考虑线程安全
相关文章