导图社区 操作系统基础
操作系统基础思维导图,知识内容有进程的基本概念、信号量与p、v操作、死锁、实存管理与虚存管理、设备与文件管理。
编辑于2022-03-13 17:59:01第 13 章 操作系统基础
(一)进程的基本概念
进程的定义 进程:程序关于某个数据集合的一次执行过程
1、进程的特征(与程序比较) (1) 结构特征 进程控制块(PCB) + 程序 + 数据 = 进程实体 (2) 动态性--最基本特征 进程:进程实体的一次执行过程,有生命周期。 程序:程序是一组有序指令的集合,是静态的概念。
2、进程的三种基本状态 (1)就绪状态(Ready) 进程已获得除CPU之外的所有必需的资源,一旦得到CPU控制权 ,立即可以运行。 (2)运行状态(Running) 进程已获得运行所必需的资源,它正在处理机上执行。 (3)阻塞状态(Blocked) 正在执行的进程由于发生某事件而暂时无法执行时,便放弃处 理机而处于暂停状态,称该进程处于阻塞状态或等待状态。
进程的三种基本状态以及各状态之间的转换
3、练习
[练习] 某一时刻单CPU系统中有n个进程, 处于运行态的进程最多为(1 ),最少为(0 ); 处于就绪队列的进程最多为(n-1),最少为(0); 处于阻塞队列的进程最多为(n),最少为(0 )
[练习] 在一个单CPU的计算机系统中,采用抢占式优先级的进程调度方 案,且所有任务可以并行使用I/O设备。现有三个任务T1、T2和T3, 其优先级分别为高、中、低,每个任务都需要先占用CPU 10ms, 然后再使用I/O设备13ms,最后还需再占用CPU 5ms。 如果操作系统的开销忽略不计,这三个任务从开始到全部结束的 总时间是多少ms?其中,CPU的空闲时间共有 13 ms?
(二)信号量与P、V操作
1.信号量机制 ●信号量是OS提供的管理公有资源的有效手段。 ●信号量是一个整数,当信号量大于等于零时,代表可供并发 进程使用的资源数量,当信号量小于零时,表示处于阻塞态 进程的个数
Wait 操作: ●申请资源,减量操作,S.value:=S.value-1 ●当S.value<0时,表示资源分配完,进行自我阻塞。 Signal操作: ●释放资源,增量操作,S.value:=S.value+1 ●当S.value≤=0,唤醒S.L链表中的等待进程。
例:假设系统有n个进程共享资源R,且资源R的可用数为3,其 中n≥3 。若采用PV操作,则信号量S的取值范围应为(C) 。 A.-1~n-1 B.-3~3 C.-(n-3)~3 D.-(n-1)~1
Var mutex: semaphore :=1; begin parbegin process 1: begin repeat wait(mutex); critical section signal(mutex); remainder section until false; end parend wait(mutex)和signal(mutex)必须成对出现
2.利用信号量实现前驱关系
Var a, b, c, d, e, f, g; semaphore :=0, 0, 0, 0, 0, 0, 0; begin parbegin begin S1; signal(a); signal(b); end; begin wait(a); S2; signal(c); signal(d); end; begin wait(b); S3; signal(e); end; begin wait(c); S4; signal(f); end; begin wait(d); S5; signal(g); end; begin wait(e); wait(f); wait(g); S6; end; parend end
进程P1、P2、P3、P4和P5 的前趋图如下, 若用PV操作控 制进程P1~P5并发执行的过程,则需要设置 6 个信号量 S1、S2、S3、S4、S5和S6,且信号量S1~S6的初值都等 于零。下图中 a和 b 处应分别填写 ( C ) ;c和d处应分别 填写 ( B ) ,e和f处应分别填写( C ) 。 signal操作 == V操作 // wait 操作==P操作
(23) A. P(S1) P(S2) 和P(S3) P(S4) B. P(S1) V(S2) 和P(S2) V(S1) C. V(S1) V(S2) 和V(S3) V(S4) D. P(S1) P(S2) 和V(S1) V(S2) (24) A. P(S1) P(S2) 和V(S3) V(S4) B. P(S1) P(S3) 和V(S5) V(S6) C. V(S1) V(S2) 和P(S3) P(S4) D. P(S1) V(S3) 和P(S2) V(S4) (25) A. P(S3) P(S4) 和V(S5) V(S6) B. V(S5) V(S6) 和P(S5) P(S6) C. P(S2) P(S5) 和P(S4) P(S6) D. P(S4) V(S5) 和P(S5) V(S6)
(三)死锁
死锁是指两个或两个以上的进程在执行过程中,因争夺资源 而造成的一种互相等待的现象,若无外力作用,它们都将无 法推进下去
a.可剥夺性资源:资源分配给进程后可以被高优先级的进 程剥夺。如CPU、主存
b.不可剥夺性资源:分配给进程后只能在进程用完后才释 放的资源。如磁带机、打印机等。
(1)死锁发生的必要条件 ●互斥条件:即一个资源每次只能被一个进程使用。 ●保持和等待条件:有一个进程获得了一些资源,但因正在请求 其他资源而被阻塞。 ●不剥夺条件:就是系统不是抢占式的,进程已获得的资源在未 使用完之前,不能剥夺,只能在使用完后由自己释放。 ●环路等待条件:若干个进程形成环型链, 每个都占用对方要申请的下一个资源。
(2)解决死锁的策略 ●死锁预防 ●死锁避免 ●死锁检测 ●死锁解除
1、死锁预防 ●摒弃“保持和等待条件”条件 ●摒弃“不剥夺”条件 ●摒弃“环路等待”条件
2、死锁避免 避免是指进程在每次申请资源时判断这些操作是否安全,典型避 免死锁的算法是银行家算法。
3、死锁检测 判断系统是否处于死锁状态,如果是,则执行死锁解除策略。
4、死锁解除 就是剥夺,即将资源强行分配给别的进程。
(四)实存管理与虚存管理
一、实存管理 存储管理的任务是存储空间的分配与回收。现代操作系统通常有: ●单一连续分配方法 ●固定分区分配方法 ●可变分区分配方法
在可变分区分配方式中,当新作业申请内存时,有4种分配算法: ●最佳适应法:选择等于或最接近作业大小的内存进行分配。可以减少碎片,但同时也可能带来更多小得无法再用的碎片。 ●最差适应法:选择整个主存中最大的内存自由区进行分配。 ●首次适应法:从内存低地址开始,寻找第一个可用(即大于等于作业需求的内存)的自由区。这种方法可实现快速分配,缩短查找时间。 ●循环首次适应算法:是首次适应法的变种,从上次分配的地址继续向下匹配。
二、虚存管理 由于内存的大小总是有限的,如果都采用“实存管理”,那么大 于总物理内存的作业就无法运行。为了解决这个问题,可行的方 法就是用外存来换取内存,这就是虚拟存储系统。它通过将运行 进程访问的地址(逻辑地址,虚拟地址)与主存的物理地址(实 地址)分开,使提供大于物理地址的逻辑地址空间成为可能。而 建立虚拟地址和实地址之间的对应关系、实现转换的工作就称为 “虚存管理
(1)虚存组织 常见的有分页技术、分段技术、段页式技术三种
(2)虚存管理 在虚存的管理中涉及载入(调入)、放置(放入分区)和交换 (swapping)等问题。 1、调入策略 即何时将一页或一段从外存调入内存。通常有两种: 请求调入法,即需要使用时才调入; 先行调入法,即将预计要使用的页/段先行调入主存。
例1:假设段页式存储管理系统中的地址结构如图所示,则(B)。 A.最多有256个段,每个段的大小均为2048个页,页的大小为8K B.最多有256个段,每个段最大允许有2048个页,页的大小为8K C.最多有512个段,每个段的大小均为1024个页,页的大小为4K D.最多有512个段,每个段最大允许有1024个页,页的大小为4K 段号 2^8 ;页号 2^11 ;页内地址 2^13;1k=1024
例2:某进程有4个页面,页号为0~3,页面变换表及状态位、访 问位和修改位的含义如下图所示。系统给该进程分配了3个存储 块,当采用第二次机会页面替换算法时,若访问的页面1不在内 存,这时应该淘汰的页号为(D) 。 A. 0 B. 1 C. 2 D.3
(五)设备与文件管理
文件存储空间管理
例:某字长为32位的计算机的文件管理系统采用位示图(bitmap) 记录磁盘的使用情况。若磁盘的容量为300GB,物理块的大小为 1MB,那么位示图的大小为( )个字。 A.1200 B.3200 C.6400 D.9600 300GB*1024MB/1MB/32位 = 9600