OS总结!

多道程序设计 传送门

多道程序设计:允许多个程序(作业)同时进入一个计算机系统的内存并启动进行交替计算的方法,也就是,计算机中可以同时存放多道程序,从宏观上来看它们是并行的,多道程序都同时处于运行过程中,但都未运行结束,但是微观上是串行的,轮流占用CPU交替执行,引入多道程序设计技术的根本目的是提高CPU的利用率,充分发挥计算机系统部件的并行性。

利弊总结:

1.提高了CPU的利用率
2.提高了内存和I/O设备的利用率
3.改进了系统的吞吐率
4.充分发挥了系统的并行性
5.主要缺点是延长了作业周转时间

三种状态:

在多道程序设计系统里,如果系统仅配置一个物理处理器,那么,多个程序必须轮流占有处理器,这就涉及到处理器的调度,程序在执行中处于三种状态:一道程序在执行中总是处于运行、就绪、等待三种状态之一,一道程序在执行过程中,它的程序状态是变化的,从运行态到等待态的转换是在发生了某种事件时产生的,从等待态转换成就绪态是在等待的某个事件完成时产生的

处理器调度

不同级别的调度

1、高级调度:它用于确定把后备队列上的哪些作业调入内存,并为之建立进程,分配其所需的资源,然后将它挂在就绪队列上。
2、中级调度:引入中级调度的主要目的是为了提高内存的利用率和系统的吞吐量。内存中不能有太多的进程,把进程从内存移到外存,当内存有足够空间时,再将合适的进程换入内存,等待进程调度。中级调度实际上就是存储器管理中的对调功能。
3、低级调度
完成调度和分派的功能
调度:实现调度策略,决定哪个进程使用CPU
分派:确定如何时分复用CPU,处理上下文交换细节,完成进程/线程和CPU的绑定和放弃的实际工作。
在这里插入图片描述

进程调度算法: 传送门

1.先来先服务(FCFS)
2. 短作业优先(SJF)
3. 时间片轮转(RR)
4. 最高响应比优先(HHRP)
5. 多级反馈队列(MFFP)
在这里插入图片描述

存储器:传送门

1.寄存器
2.高速缓存与主存
3.ROM与闪存
4.磁盘

内存分配管理

在这里插入图片描述

动态分区分配

  • 首次适应算法:空闲分区以地址递增的次序链接。分配内存时顺序查找,找到大小能满足要求的第一个空闲分区;
  • 最佳适应算法:空闲分区按容量递增形成分区链,分配时找到第一个能满足要求的空闲分区;
  • 最坏适应算法:又称最大适应算法,空闲分区以容量递减的次序链接。找到第一个能满足要求的空闲分区,也就是挑选出最大的分区。
  • 邻近适应算法:又称循环首次适应算法,由首次适应算法演变而成。不同之处是分配内存时从上次查找结束的位置开始继续查找。

非连续分配

内存分配
内存分配管理
基本地址变换机构:
在这里插入图片描述
快表
在这里插入图片描述
基本分段存储管理方式
在这里插入图片描述
段页式管理方式:
在这里插入图片描述

磁盘调度算法

磁盘计算 调度算法
调度算法

一次磁盘读写操作的时间由寻找(寻道)时间、延迟时间和传输时间决定:

  1. 寻找时间Ts:活动头磁盘在读写信息前,将磁头移动到指定磁道所需要的时间。这个时间除跨越n条磁道的时间外,还包括启动磁臂的时间s,即:

式中,m是与磁盘驱动器速度有关的常数,约为0.2ms,磁臂的启动时间约为2ms。

  1. 延迟时间Tr:磁头定位到某一磁道的扇区(块号)所需要的时间,设磁盘的旋转速度为r,则:

对于硬盘,典型的旋转速度为5400r/m,相当于一周11.1ms,则Tr为5.55ms;对于软盘,其旋转速度在300600r/m之间,则Tr为50100ms。

  1. 传输时间Tt:从磁盘读出或向磁盘写入数据所经历的时间,这个时间取决于每次所读/写的字节数b和磁盘的旋转速度:

式中,r为磁盘每秒钟的转数;N为一个磁道上的字节数。

在磁盘存取时间的计算中,寻道时间与磁盘调度算法相关,下面将会介绍分析几种算法,而延迟时间和传输时间都与磁盘旋转速度相关,且为线性相关,所以在硬件上,转速是磁盘性能的一个非常重要的参数。

总平均存取时间Ta可以表示为:
在这里插入图片描述
1.先来先服务FCFS
2.最短寻道时间优先SSTF
3.扫描算法/电梯调度算法SCAN
4.循环扫描(C-SCAN)
在这里插入图片描述

并发与并行 传送门

并发:当有多个线程在操作时,如果系统只有一个CPU,则它根本不可能真正同时进行一个以上的线程,它只能把CPU运行时间划分成若干个时间段,再将时间 段分配给各个线程执行,在一个时间段的线程代码运行时,其它线程处于挂起状。.这种方式我们称之为并发(Concurrent)。
并行:当系统有一个以上CPU时,则线程的操作有可能非并发。当一个CPU执行一个线程时,另一个CPU可以执行另一个线程,两个线程互不抢占CPU资源,可以同时进行,这种方式我们称之为并行(Parallel)。

同步和异步

传送门

同步方法:调用一旦开始,调用者必须等到方法调用返回后,才能继续后续的行为。(也就是必须一件一件事做,等前一件做完了才能做下一件事)
异步方法:调用更像一个消息传递,一旦开始,方法调用就会立即返回,调用者就可以继续后续的操作。而,异步方法通常会在另外一个线程中,“真实”地执行着。整个过程,不会阻碍调用者的工作。

位示图

传送门

在这里插入图片描述

文件的结构

传送门

文件的逻辑结构: 流式结构 -------------------------------记录式结构
在这里插入图片描述在这里插入图片描述
文件的物理结构:顺序结构,链接结构,索引结构


进程与程序的区别和联系:

传送门

进程的特征:

并发性: 多个进程实体能在一段时间间隔内同时运行。并发性是进程和现代操作系统的重要特征。
动态性: 进程是进程实体的执行过程。进程的动态性表现在因执行程序而创建进程、因获得CPU而执行进程的指令、因运行终止而被撤销的动态变化过程。此外,进程在创建后还有进程状态的变化。
独立性: 在没有引入线程概念的操作系统中,进程是独立运行和资源调度的基本单位。
异步性: 是指进程的执行时断时续,进程什么时候执行、什么时候暂停都无法预知,呈现一种随机的特性。
结构特征: 进程实体包括用户正文段、用户数据段和进程控制块。

两者区别

两者联系:进程是程序的一次执行,而进程总是对应至少一个特定的程序。一个程序可以对应多个进程,也就是进程和程序并不是一 一对应的。

进程状态转换

传送门

在这里插入图片描述
阻塞 → 阻塞/挂起:OS通常将阻塞进程换出,以腾出内存空间
阻塞/挂起→ 就绪/挂起:当阻塞/挂起进程等待的事件发生时,可以将其转换为就绪/挂起。
就绪/挂起→ 就绪:OS需要调入一个进程执行。
就绪 → 就绪/挂起:一般,OS挂起阻塞进程。但是有时也会挂起就绪进程,释放足够的内存空间。
新 → 就绪/挂起(新→ 就绪):新进程创建后,可以插入到就绪队列或就绪,挂起队列,若无足够的内存分配给新进程,则需要新→ 就绪/挂起。

虚拟内存

虚拟内存总结

虚拟内存的三个重要功能:
第一,它在主存中自动缓存最近使用的存放磁盘上的虚拟地址空间的内容。
第二,虚拟内存简化了内存管理,进而又简化了连接、在进程间共享数据、进程的内存分配以及程序加载。
最后,虚拟内存通过在每条页表条目中加入保护位,从而简化了内存保护。 ----《深入理解计算机系统》
在这里插入图片描述
在这里插入图片描述
竟然介绍了虚拟内存,再介绍介绍

虚拟内存实现机制,页面置换算法

TLB(转移检测缓冲区)

TLB访问的过程:
1.给定一个虚拟地址,内存首先检查TLB,如果TLB命中(TLB hit),则获得页框号并形成物理地址。
2.如果TLB未命中(TLB miss),则可能存在两种情况,一种是页表项在页表中但不在TLB中,一种是页表项不在页表中。
3.如果页表项在页表中但不在TLB中,处理器检索页表获得页表项,并从页表项中获得页框号形成物理地址。同时,处理器还要更新TLB。
4.如果页表项不在页表中,则发生一次缺页(page fault)中断。这时将离开硬件作用范围,将由操作系统负责将缺失的页从磁盘加载到物理内存并更新页表。
5.如果物理内存已满,需要先进行页面置换,再更新页表
在这里插入图片描述

页表项直接查找和关联查找

在这里插入图片描述

虚拟内存的置换算法

某个进程的执行需要访问 5 个不同的页,运行该程序需要的页地址的顺序为:
2 3 2 1 5 2 4 5 3 2 5 2
1.OPT(最佳策略算法)
在这里插入图片描述
2.LRU(最近最少使用)
在这里插入图片描述

3.FIFO(先进先出算法):
在这里插入图片描述
4.时钟算法
在这里插入图片描述

信号量

信号量

强、弱信号量
不论是二元信号量还是级数信号量,都需要一个队列来保存当前正在等待的进程,那么就产生一个问题,进程按照什么顺序从队列中移除?
最公平的策略是先进先出:被阻塞时间最久的先从队列中移除。采用这一种策略的称为强信号量,而没有规定进程从队列中移除顺序的信号量称为弱信号量。强信号量保证不会饥饿,而弱信号量则无法保证。

死锁

死锁必要条件

死锁原因

死锁形成的四个必要条件:
1.互斥条件
2.不可剥夺条件
3.请求和保持条件(占有且等待)
4.循环等待条件

填空题:

系统出现死锁一定同时具有 ( 四 ) 个条件,在死锁的所有条件中,( 互斥 ) 条件一般是不能禁止的。
操作系统提供互斥功能最常见的两种技术是( 信号量 ),( 消息机制)。
I/O缓冲区类型分为( 程序I/O)、 ( 中断I/O ) 、( DMA ) 。

简答题

1.试说明什么是操作系统,它具有什么特征?其最基本特征是什么?
操作系统是由一组管理和与控制计算机软硬件资源并对各项任务进行合理化调度,且附加便于用户操作的软件层面。
操作系统具有的特征:并发,共享,虚拟,异步。
最基本的特征是:并发。
2.什么是内部碎片和外部碎片?固定分区分配、可变分区分配、分段存储管理和分页存储管理可能产生何种碎片?
内部碎片:在一个分区或页的内部出现的碎片。
外部碎片:在所有分区之外新增的碎片称做外部碎片。
固定分区分配,分页存储管理 产生内部碎片
可变分区分配 和 分段存储管理 产生外部碎片。
3.计算机系统中的三种重要接口
1.指令系统体系结构:定义了机器语言指令系统。
2.应用程序编程接口:应用程序访问系统硬件资源和系统服务的接口。
3.应用程序二进制接口:定义了程序间二进制可移植的标准。

4.文件的三种分配方式
1.连续分配:创建文件时,就为文件分配一组连续的块
2.链式分配:基于单个块组成的链表,每个块包含指向下一个块的指针
3.索引分配: 每个文件在文件分配表中有一个一级索引,分配给该文件的每个部分中都有页表项

5.三种类型的处理器调度
1.长程调度:决定假如待执行的进程。
2.中程调度:决定假如部分或全部位于内存的集合。
3.短程调度:决定处理器执行哪个可运行的进程。

6.说明信号量原语semSignal(即P操作)和semWait(即V操作)的含义
1.V操作使信号量增加1,如果小于或等于0,则一个被p操作阻塞的进程被解除阻塞。
2.P操作使信号量减1,如果为负数,则阻塞执行p的进程,否则进程继续运行。

7.进程控制块 传送门
1.进程标识符:
2.处理机的状态:通用寄存器,指令计数器,程序状态字,用户栈指针
3.进程调度信息:进程优先级
4.进程控制信息:程序和数据的地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

axtices

谢谢您的打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值