操作系统期末复习

文章详细阐述了计算机执行指令的过程,包括指令周期、中断处理(顺序与嵌套中断),以及三种重要的接口。接着讨论了多级批处理系统、进程的定义、状态及进程控制块。还涉及到了进程的五状态模型、用户模式与内核模式、进程切换与模式切换。此外,文章提到了内存管理的各个方面,如页和页框、虚拟内存、动态分区放置算法以及死锁的条件和处理方法。最后,简述了文件组织形式和磁盘调度算法。

指令的执行

单个指令所需要的处理称为一个指定周期

程序计数器保存下一次要取的指定地址,一般都是递增

处理器从存储器中依次读取一条指令,然后执行每条指令。程序执行是由不断重复的取指令和执行指令的过程组成的
image-20230619092953727image-20230619092953727


中断和指令周期

image-20230619093102802


中断处理

image-20230619093102802


顺序中断和嵌套中断

顺序中断,正在处理一个中断时禁止再发生中断,对任何新的中断信号不予理睬

嵌套中断 ,定义中断优先级,允许高优先级中断打断低优先级中断的运行


三种重要接口

指令系统体系结构 是计算机遵循的机器语言指令系统,是硬件与软件的分界线

应用程序二进制接口 定义的程序间二进制可移值性的标准

应用程序编程接口,允许应用程序访问系统的硬件资源和服务


串行、简单批、多道批

串行处理,程序员直接与计算机硬件打交道,而不是完整的操作系统

简单批处理系统,使用一个称为监控程序的软件,轮流执行

多道批处理系统,改善处理器经常处于空闲状态的问题,处理器可以在多个程序之间切换,并行执行

对多道程序设计最有帮助的硬件是支持I/O中断和直接内存访问的硬件


进程的定义

一个正在执行的程序,

一个正在计算机上执行的程序实例,

能分配给处理器,并由处理器执行的实体,

由一组执行的指令,一个当前状态,和一组相关的系统资源表征的活动单元


进程控制块

进程控制块由操作系统创建管理,可以中断进程的执行,并在后面恢复进程到原先的状态,由标识符,状态,优先级,程序计数器,内存指针,上下文数据等信息组成


五状态进程模型

运行态 : 进程正在执行

就绪态 : 进程做好了准备,只要有机会就开始执行

阻塞态 : 进程在完成某些 I/O操作前不能执行

新建态 : 刚刚创建,还未加载到内存中的新进程

退出态 : 操作系统,从可执行进程组中释放出的进程

image-20230619094029258

注意 就绪态不能变为阻塞态,阻塞态不能变为运行态


用户模式和内核模式

非特权模式通常称为用户模式,因为用户程序通常在该模式下运行

特权模式称为内核模式。内核模式指的是操作系统的内核,是操作系统中包含重要系统功能的部分


进程切换、模式切换

进程切换,操作系统中断一个正在运行的程序,将另外一个进程,置于运行状态,并将控制权交给后者,中断、陷阱或者系统调用都可以引起进程切换

模式切换是指系统调用用户态转化为核心态


与进程相关联的有

  • 容纳进程映像的虚拟地址空间

  • 对处理器,其他进程,文件和io资源的受保护访问


与线程关联的有

  • 一个线程执行状态

  • 未运行时保存的线程上下文

  • 一个执行栈

  • 每个线程用于局部变量的一些静态存储空间

  • 与进程内其他线程共享的内存和资源的访问


用户级线程与内核级线程

用户级线程由用户态程序自己控制内核切换,内核级线程切换由内核控制,操作系统内核可以感知内核级线程,而不可感知用户级线程

用户级线程的创建调度都不需要操作系统的支持,内核级线程反之,用户级线程执行系统调用指令时,其所属进程被中断,而内核级线程,只有该线程中断


信号量定义

用于进程间传递信号的一个整数值,初始化为非负数
P(semWait)操作使信号量减一 若值变为负数则阻塞该进程
v(semSignal)操作使信号量加1,若值小于等于0,则被p操作阻塞的进程解除阻塞


信号量的使用

P语义:减减为负就阻塞

V语义:加加不正就唤醒

信号量的使用

互斥:上P下V围堵,初值为1

同步:前V后P相接,初值为0


大题:生产者消费者问题

image-20230615134654046

image-20230615134917857

p操作 wait v操作 signal

image-20230617145621924

image-20230617150553225


联合进程图

一种记录进程共享资源的历史和分析死锁的工具。两个进程的联合进程图是一个二维网格

联合进程图中的死锁区域也称为敏感区域。

img

如上图,两个进程的联合进程图,展示了六条不同的路径(A、B是两个不同的资源):

  1. Q进程获得B,然后获得A,再释放B和A;当P进程恢复执行时,它可以获得全部的资源;

  2. Q进程获得B,然后获得A;P进程开始执行但阻塞在对A的请求上;Q进程释放B和A;当P进程恢复执行时它可以获得全部资源;

  3. Q进程获得B,然后P进程获得A;Q继续执行但阻塞在对A的请求上;P进行继续执行但阻塞在对B的请求上,构成死锁;

  4. P进程获得A,然后Q进程获得B;Q继续执行但阻塞在对A的请求上;P进程继续执行但阻塞在对B的请求上,构成死锁;

  5. P进程获得A,然后获得B;Q进程开始执行但阻塞在对B的请求上;P释放A和B;当Q进程恢复执行时可获得全部资源;

  6. P进程获得A,然后获得B,再释放A和B;当Q进程恢复执行时可以获得全部资源。


死锁的必要条件

互斥:一次只有一个进程可以使用资源

占有且等待:当一个进程等待其他进程时,继续占有已分配资源

不可抢占:不能强行抢占进程已占有的资源

循环等待:存在一个闭合进程链,每一个进程至少占有此链中下一个进程所需的一个资源


处理死锁的方法

死锁预防:针对死锁产生的必要条件,设计一种系统排除发生死锁的可能性,如支持互斥,进程一次性请求所有需要的资源,占有某些资源的进程令其释放资源,或定义资源类型的线性顺序

死锁避免:是否允许当前资源分配请求是由该请求是否可能导致死锁来决定的,如果可能导致死锁,则不启动该进程或不分配资源

死锁检测:只要有可能就会给进程分配其所请求的资源,操作系统会周期性的执行算法来检测进程是否满足循环等待条件


大题:银行家算法

image-20230615142850357

image-20230615143058304

image-20230615143605294

image-20230615143605294

image-20230615143954737


内部碎片、外部碎片

内部碎片:由于装入的数据块小于分区大小,导致分区内部存在空间浪费

外部碎片:动态分区方法,导致内存中形成许多小空洞,随着时间内存中形成越来越多的碎片,利用率随之下降


动态分区放置算法

最佳适配:选择与要求大小最接近的块儿

首次适配:从头开始扫描内存选择大小足够的第1个可用块

下次适配:从上一次放置的位置开始扫描内存,选择下一个大小足够的可用块


逻辑地址、物理地址

逻辑地址:指与当前数据在内存中物理分配地址无关的访问地址,在执行对内存的访问之前,必须将其转化为物理地址

物理地址:数据在内存中的实际位置


页、页框、页表

页框:内存中固定长度的块

页:固定长度的数据块,数据页可以临时复制到内存的页框中

页表:操作系统为每个进程维护一个页表,页表给出该进程每页所对应页框的位置


页相关计算

逻辑地址(相对地址):包括页号和在该页的偏移量
物理地址:页框号、偏移量
相对地址=页号(左)+偏移量(右)
分页:页框号+偏移量
分段:物理地址=逻辑地址+起始物理地址

例:系统使用简单分页,内存大小为232字节,页大小为210字节,逻辑地址空间包含2^16页。

a.逻辑地址多少位:216*210=226比特
b.一个页框有多少字节:210字节
c.物理地址中的多少位是页框号:32-10=22位
d.页表中有多少表项:216项
e.假设每个页表项中含一位有效位,每个页表项有多少位:22+1=23位

例:在使用下列内存管理方案的情况下,分别写出逻辑地址0001010010111010转换为物理地址的过程

分页:页面大小为256-address,也表中的页框号是页号的1/4
256=28偏移量为8位,剩下八位为页号,页号为20,页框号5
物理地址:0000010110111010


虚拟内存的概念

在存储分配机制中,尽管备用内存是主存的一部分,但它也可被寻址。程序引用内存使用的地址与内存系统用于识别物理存储站点的地址是不同的,程序生成的地址会自动转换为及其地址。虚拟存储的大小受计算机系统寻址机制和可用的备用内存量的限制,而不受主存储位置实际数量的限制


局部性

局部性原理是虚拟存储系统的理论基础:时间局部性和空间局部性


页表项 控制位 存在位P 修改位M

页表项:包含有与内存中的页框相对应的页框号

存在位P:表示它所对应的页当前是否在内存中

修改位M:表示相应页的内容,从上次装入内存到现在是否已改变

控制位:在页一级控制保护或共享


TLB转换检测缓冲区

用于改善虚拟地址到物理地址转换速度的高速缓存


置换策略

image-20230616203715961
image-20230616203750639



长程调度、中程调度、短程调度

长程调度:决定加入待执行进程池

中程调度:决定加入部分或全部位于内存中的进程集合

短程调度:决定处理器执行哪个可运行进程


大题:进程调度算法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MJghrvJO-1687143832781)(../img/image-20230614222620507.png)]
image-20230614222713732

周转时间=完成时间-提交时间

平均周转时间=总周转时间/作业数

image-20230614230254043

image-20230614230157768

image-20230614230822596

image-20230614231106205

image-20230614231602585


单缓冲、双缓冲、循环缓冲

单缓冲:操作系统分配一个位于内存中的系统部分的缓冲区
双缓冲:为操作分配两个系统缓冲区
循环缓冲区:使用两个以上的缓冲区时,这组缓冲区本身会被当做循环缓冲区


寻道时间 旋转时间 传输时间

寻道时间:是将磁头臂移动到指定磁道所需要的时间
旋转延迟:是指将磁盘的待访问地址区域旋转到读写磁头可访问的位置所需要的时间
传输时间:向磁盘传送或从磁盘传送的时间


大题:磁盘调度算法

image-20230616202549179

image-20230616202801308

image-20230616203036285

image-20230616203236599


文件组织

文件组织指文件的逻辑结构

堆 ,索引文件,顺序文件,索引顺序文件,直接文件或散列文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值