操作系统速成版

网课笔记:操作系统三小时速成

操作系统引论

操作系统介绍

定义:操作系统是一组用于控制和管理计算机系统硬件和软件资源、合理地对各类作业进行调度,以及方便用户使用的程序集合

地位:操作系统是裸机之上的第一层软件,是建立其他所有软件的基础。它是整个系统的控制管理中心,既管硬件,又管软件,它为其他软件提供运行环境

基本特征

  • 并发:是指两个或多个活动在同一给定的时间间隔中进行
  • 共享:是指计算机系统中的资源被多个进程所共用
  • 异步:进程以不可预知的速度向前推进
  • 虚拟:把一个物理上的实体变为若干个逻辑上的对应物

最基本特征:并发、共享(两者互为存在条件)

主要功能

  • 处理机管理:主要功能包括进程控制、进程同步、进程通信、死锁处理、处理机调度等
  • 存储器管理:主要包括内存分配、地址映射、内存保护与共享和内存扩充等功能
  • 文件管理:包括文件存储空间的管理、目录管理及文件读写管理和保护
  • 设备管理:主要包括缓冲管理、设备分配、设备处理和虚拟设备等功能

发展

  • 手工操作阶段(此阶段无操作系统):人机速度矛盾
  • 批处理阶段(操作系统开始出现):单道批处理、多道批处理(操作系统正式诞生),提高系统资源的利用率
  • 分时操作系统(不可以插队,有了人机交互):提供人机交互,不能优先处理紧急事务
  • 实时操作系统(可以插队):能优先处理紧急任务
    • 硬实时系统:必须在被控制对象规定时间内完成
    • 软实时系统:可以松一些

从可靠性看实时操作系统更强,从交互性看分时操作系统更强

一些概念

两种指令

  • 特权指令:不允许用户使用,只允许操作系统使用。如IO指令、置中断指令
  • 非特权指令:普通的运算指令

两种程序

  • 内核程序:系统的管理者,可执行一切指令、运行在和心态
  • 应用程序:普通用户程序只能执行非特权指令,运行在用户态

处理及状态

  • 用户态(目态):CPU只能执行非特权指令
  • 核心态(管态、内核态):可以执行所有指令
  • 用户态到核心态:通过中断(硬件完成)
  • 核心态到用户态:特权指令psw的标志位0用户态1核心态

原语:处于操作系统的最低层,是最接近硬件的部分。这些程序的运行具有原子性,其操作只能一气呵成/这些程序的运行时间都比较短,而且调用频繁

中断和异常

  • 内中断:异常,信号来自内部
    • 自愿中断:指令中断
    • 强迫中断:硬件中断、软件中断
  • 外中断:中断,来自外部:外设请求、人工干预

系统调用:系统给程序员(应用程序)提供的唯一接口了,可获得OS服务。在用户态发生,核心态处理

体系结构:大内核、微内核

进程调度算法大题

Pv操作、银行家算法、几种典型的进程调度算法

进程管理

引入进程是为了更好的描述和控制程序并发执行,实现操作系统的并发性和共享性。进程是动态的,程序是静态的

定义:是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位(没有引入线程的前提下)

组成

  • PCB:保存进程运行期间相关的数据,是进程存在的唯一标志
  • 程序段:能被进程调度到CPU的代码
  • 数据段

进程的状态

  • 状态种类
    • 创建状态:进程正在被创建
    • 就绪态:进程已处于准备运行的状态,即进程获得了除处理机外的一切所需资源,一旦得到处理机即可运行(单核处理器中CPU只有一个,那就只能等CPU空闲)
    • 运行态:进程正在占用CPU
    • 结束状态:进程正在从系统消失
    • 阻塞态
  • 状态变化
    ![[Pasted image 20221010095811.png]]

线程:为了更好的使用多道程序并发执行,提高资源利用率和系统吞吐量。特点是程序执行的最小单位,基本不拥有任何系统资源(调度的基本单位)

处理及调度

概念:是对处理机进行分配,即从就绪队列中按照规定的算法(公平、高效)选择一个进程并将处理机分配给它运行,以实现进程并发地执行

分类

  • 高级调度(作业调度):只有一次调入调出,次数少
  • 中级调度(内存对换):次数中等
  • 低级调度(进程调度):次数多

调度方式

  • 剥夺式:优先级高的会剥夺优先级低的获得处理器的能力
  • 非剥夺式:优先级高没有用,仍需要等待前一级用完处理器

调度准则:CPU利用率、系统吞吐量、周转时间、等待时间、响应时间

算法

  • 先来先服务:前四个算法既可以剥夺式也可以是非剥夺式
  • 短作业优先
  • 优先级调度算法:注意是数字大还是小的优先级高
  • 高响应比优先调度算法:高响应比=(运行时间+等待时间)÷等待时间
  • 时间片轮转
  • 多级反馈队列调度算法

进程同步引入是为了协调进程之间的相互制约关系

进程同步

制约关系

  • 同步:直接制约关系,指为完成某种任务而建立的两个或多个进程,这些进程因为需要在某些位置上协调他们的工作次序而等待、传递信息所产生的制约关系
  • 互斥:间接制约关系,当一个进程进入临界区使用临界资源时,另一个进程必须等待,当占用临界资源的进程退出临界区后,另一个进程才允许去访问此临界资源

临界资源:一次仅允许一个进程使用的资源(打印机、共享缓冲区、共享变量、公用队列)

临界区:在每个进程中访问临界资源的那段程序

临界区互斥

  • 原则
    • 空闲让进:如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入
    • 忙则等待:任何时候处于临界区的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待
    • 有限等待:进入临界区的进程要在有限时间退出,以便其它进程能及时进入自己的临界区
    • 让权等待:如果进程不能进入自己的临界区,则应让出CPU,避免进程出现”忙等“现象
  • 基本方法:信号量,利用PV操作实现互斥

死锁

产生的原因:非剥夺资源的竞争、进程的不恰当推进顺序(与饥饿的区别,饥饿是有资源就能解决)

定义:多个进程因资源竞争而造成的一种僵局,如果没有外力,这些进程将无法推进

解决方法

  • 预防死锁:破坏互斥条件、破坏不剥夺条件、破坏请求和保持条件、破坏循环等待条件
  • 避免死锁:安全状态、银行家算法
  • 检测死锁:利用死锁定理
  • 解除死锁:资源剥夺法、撤销进程法、进程回退法

内存管理

页/面地址计算、非连续分配管理方式、页面置换算法

引入目的:更好的支持多道程序的并发执行,提高系统性能

主要功能

内存空间的分配与回收:内存分配给进程

存储的保护和共享:保证各道作业在各自的存储空间内运行,互不干扰

地址转换:在多道程序环境下,程序中的逻辑地址与内存中的物理地址不可能一致,因此存储管理必须提供地址变换功能,把逻辑地址转换程相应的物理地址

内存扩充:利用虚拟存储技术或自动覆盖技术,从逻辑上扩充内存

用户程序的主要处理阶段

1.编辑阶段:创建原文件

2.编译阶段:由编译程序将用户源代码编译成若干目标模块,生成目标文件

3.链接阶段:由链接程序将编译后形成的一组目标模块及所需的库函数链接在一起,形成一个完整的装入模块。生成可执行文件(形成逻辑地址)

4.装入阶段:由装入程序将装入模块装入内存运行

5.运行阶段:得到结果

相关概念

程序装入

  • 绝对装入:逻辑地址必须和实际内存地址完全一样
  • 静态重定位:地址变换在装入时一次完成
  • 动态重定位:地址变换在执行程序的时候再完成

程序的链接:静态链接、装入时链接、运行时链接

地址空间

  • 逻辑地址空间:地址空间从0开始
  • 物理地址空间:内存中物理单元的集合

管理方式

连续分配管理方式

  • 单一连续分配:分配到内存固定的区域,有内存碎片(由部分内存没用上)
  • 固定分区分配:分配到内存不同的固定区域,分区可以相等可以不等(将上面再细分),有内存碎片
  • 动态分区分配
    • 可变分区存储管理:按照程序的需要进行动态的划分
    • 动态分区的分配策略算法
      • 首次适应(最好):空闲分区以地址递增的次序链接。分配内存时顺序查找,找到大小能满足要求的第一个空闲分区(增大查找开销)
      • 最佳适应:空闲分区按容量递增的方式形成分区链,找到第一个能满足要求的空闲分区(外部碎片过多)
      • 最坏适应:空闲分区以容量递减的次序链接,找到第一个能满足要求的空闲分区,即调处最大的分区(对大进程不利)
      • 邻近适应:由首次适应算法演变而来,不同是分配内存时从上次查找结束的位置开始继续查找

非连续分配管理方式

  • 基本分页式存储管理
  • 基本分段式存储管理
  • 段页式

内存扩充

覆盖(同一程序或进程中)

交换(不同进程/作业之间)

虚拟内存

  • 引入是为了在逻辑上扩充内存
  • 组成:页表机制、中断机制、地址变换机制、内存与外村
  • 页面淘汰(置换)算法
    • 先进先出页面淘汰算法(FIFO)
    • 最近最久未用页面淘汰算法(LRU)
    • 最近最少用页面淘汰算法(clock)
    • 最优页面淘汰算法(OPT):把以后不再使用的或最长时间内不会用到的页面淘汰出去(理论上,不会实现)
  • 抖动:页面频繁的换进换出,原因是分配给进程的进程块不足

页面淘汰由缺页中断引起,但缺页中断不一定引起页面淘汰

页面分配的策略

  • 固定分区局部置换:物理块不变
  • 可变分配全局置换:动态增加物理块
  • 可变分配全局置换:只允许从该进程的内存页面中挑选一页

文件系统

磁盘调度算法、位示图、成组链表法

文件、文件系统

文件系统:操作系统中负责操纵和管理文件的一整套设施,它实现文件的共享和保护,方便用户“按名存取(基本目标),提高文件的存取速度(最重要目标)”

功能:文件管理、目录管理、文件空间管理、文件共享和保护、提供方便的接口

文件的逻辑结构

无结构文件(流式文件):输入无结果

有结构文件(记录式文件)

  • 顺序文件:顺序存储、链式存储,磁带上一定是顺序文件
  • 索引文件:索引表
  • 索引顺序文件:二者结合

目录和目录结构

文件控制块:在文件系统内部给每个文件唯一的设置一个文件控制块,它用于描述和控制文件的数据结构,与文件一一对应

目录结构

  • 单级目录:不允许重名
  • 二级目录:解决了重名问题。主文件目录、用户文件目录
  • 树形目录:方便但不便共享。绝对路径、相对路径
  • 图形目录:实现共享

文件实现

文件分配方式

  • 连续分配:有外部碎片
  • 链接分配:解决了外部碎片,但是不支持直接访问,数据易丢失
  • 索引分配:加入FAT表可直接访问,减少了访问磁盘的次数

文件存储空间管理

  • 空闲表法
  • 空闲链表法
  • 位示图法

磁盘管理

磁盘地址结构:柱面号、盘面号、扇面号

磁盘调度算法

  • 先到先服务算法(FCFS)
  • 最短查找时间优先算法(SSTF)
  • 扫描算法和LOOK算法
  • 循环扫描算法和循环LOOK算法

设备管理

设备管理的目标:使用方便、与设备无关、效率高、管理统一

I/O设备

分类

  • 存储设备或输入输出设备
  • 块设备或字符设备:块设备以数据块作为单位,可以寻址。字符设备是无结果类型,传输速率低不能寻址
  • 低速中速高速设备:键盘-低速,打印机-中速,光刻机-高速

I/O控制方式

  • 程序直接控制方式(查询方式):CPU不断取查询设备控制器是否将数据放入数据存储器中,或者从数据存储器存到设备中,当完成IO时CPU才去干别的事。CPU与I/O设备串行工作
  • 中断方式:当CPU发出指令后就可以去干别的事情,当设备控制器把数据存在数据存储器后向CPU发出中断请求,然后CPU再来处理这部分数据。CPU与I/O设备并行工作。中断虽然提高了CPU利用率,但是数据寄存器有限,中断是以字节为单位进行中断,也就是说读取或存储一个字节后就需要中断,CPU利用率仍然低
  • DMA方式:DMA控制器直接将设备中的数据以数据块为单位直接传输到内存中,当传输结束后才向CPU发起中断。但是DMA只能传输一个连续的数据块。介于IO设备与主存之间
  • IO通道控制:可以传输不同的数据块,减少CPU的干预,CPU通过对IO通道发出指令让IO通道自己工作,等数据传输完后才向CPU发起中断。IO通道控制与CPU共享内存,介于内存与外设之间

引入缓冲的目的和缓冲区的设置方式

目的:缓和CPU与外设间速度不匹配的矛盾,提高CPU与外设之间的并行性,减少对CPU的中断次数

缓冲区设置方式

  • 单缓冲:数据到达率与离去率相差很大时采用
  • 双缓冲:信息输入和输出率相差不大时采用,实现两者的并行
  • 多缓冲:对于阵发性输入、输出,以解决速度不匹配问题
  • 循环缓冲区:空缓冲队列、输入队列、输出队列

缓冲区:收容输入的工作缓冲区、提取数据的工作缓冲区、收容输出的工作缓冲区、提取输出数据的工作缓冲区

缓冲区空时不能放,不满不能取

常用设备分配技术

根据设备的使用性质分为:

  • 独占设备:设备只允许一个进程独占,如打印机
  • 共享设备:多个进程同时共享设备,如磁盘机
  • 虚拟设备:把独占设备改造程可由多个进程共享的设备

分配技术

  • 独占分配技术
  • 共享分配技术
  • 虚拟分配技术:一个共享技术:SPOOLing技术(假脱机技术)

分配中的四大因素:固有性质、IO设备的分配算法、IO设备分配的安全性、IO设备的独立性

设备的独立性:应用程序独立于具体使用的物理设备。比如有空闲的打印机就可以使用,不用管是哪个打印机

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值