操作系统期末复习

操作系统是用户与硬件之间的接口,负责资源管理和调度。进程与线程是操作系统中的基本概念,进程是动态的,线程是进程内的执行实体。处理机调度包括不同调度算法,如FCFS、SJF等,用于决定哪个进程获得CPU。存储器管理涉及内存分配、地址映射,防止内存碎片。死锁是多进程操作时可能出现的问题,可通过预防或避免策略解决。虚拟内存技术扩展了可用内存。文件系统管理文件,提供按名存取和文件共享等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、操作系统概述

操作系统的作用

  • OS是用户与硬件系统之间的接口(命令方式、系统调用方式和图形、窗口方式)
  • OS是计算机系统资源的管理者(处理器、存储器、I/O设备、文件)
  • OS是扩充机/虚拟机(覆盖了软件的机器称为扩充机或虚机器)

基本的操作系统

  • 批处理操作系统(目标:资源利用率、系统吞吐量,多道:多个作业并发运行)
  • 实时操作系统(目标:快速响应)
  • 分时操作系统(多路性:一主机多终端,独占性:一用户一终端,及时性:及时响应,交互性)
操作系统的基本特征(OS最基本特性:并发和共享)
  • 程序的并发执行(若干事件在同一时间间隔内发生,串行:一CPU处理多作业,并行:多CPU处理多作业)
  • 资源共享(多进程共享系统资源,资源分为互斥共享(独占资源)、同时访问)
  • 虚拟
  • 操作的异步性

操作系统的功能

  • 处理机管理(进程控制、进程同步、进程通信、调度)
  • 存储器管理(内存分配、地址映射、存储保护、存储扩充)
  • 设备管理(缓冲管理、设备分配、设备驱动)
  • 文件系统管理(存储空间管理、目录管理、读写管理)
  • 用户接口
  • 现代OS的新功能

操作系统结构

  • 无结构OS
  • 分层式结构OS
    基本原则:每一层都仅使用其底层所提供的功能和服务
  • 模块化结构OS
  • 微内核OS结构(以客户 / 服务器(C / S)为基础,面向对象程序设计(OOP))

二、进程管理

进程

  • 程序是静态的,进程是动态的(本质区别)
    程序是永久的,进程是暂时的

  • 组成部分:程序、数据、进程控制块PCB

  • 特征:
    动态性、并发性(最基本特征)
    独立性:进程是独立获得资源和调度的基本单位
    异步性

  • 基本状态
    就绪
    运行
    等待/ 阻塞
    状态转换
    在这里插入图片描述

  • PCB

  1. 作用
    PCB是OS感知进程存在的唯一标志
    将程序变为能独立运行的基本单位,可与其他进程并发执行;
    进程与PCB是一一对应的;
    PCB随进程创建而建立,随进程结束而回收;
  2. PCB表(组织所有PCB)
    PCB表的大小决定了系统中最多可同时存在的进程个数(系统并发度)

线程

线程是进程中的一个实体,线程是系统调度的基本单位
进程使多个程序并发执行提高系统效率
线程减少并发执行时空开销

进程与线程比较

传统OS中拥有资源、独立调度基本单位是进程、进程
引入线程系统中拥有资源、独立调度基本单位是进程、线程

管程

  • 定义:包含一个数据结构(能为并发执行进程所执行的一组操作)。
  • 组成:
    (1)局部于管程的共享变量说明
    (2)对该数据结构进行操作的一组过程
    (3)对局部于管程的数据设置初始值的语句

进程通信

  • 共享存储系统(SharedMemory)
  • 管道通信系统(pipe、FIFO)
  • 消息传递系统(MessageQueue)
  • 客户机-服务器系统(套接字Socket)

进程同步

  • 生产者——消费者问题
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 读者 / 写者问题
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

  • 哲学家就餐问题
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

三、处理机调度与死锁

处理机调度

  1. 作业调度(高级调度)
  • 决定接纳哪个作业,即哪个进程进入系统中处理(为其创建进程,使其就绪)
  • 批处理系统有作业调度
  • 控制了并发的度
  1. 进程调度(低级调度)
  • 决定哪个进程获得处理机
  • 任何OS均有进程调度
  1. 中级调度
  • 提高内存利用率

响应时间:首次运行时间 — 提交时间
周转时间:完成时间 — 提交时间
带权周转时间:周转时间 / 运行时间
平均周转时间:所有周转时间的和 / 作业数量
平均带权周转时间:所有带权周转时间的和 / 作业数量

调度算法

  1. 先来先服务调度算法(FCFS)
  • 利于长作业/ 进程,不利于短作业/ 进程
  1. 短专业优先调度算法(SJF)
  • 利于短作业/ 进程,不利于长作业/ 进程
  1. 最高响应比优先调度算法(HRRN)
  • 响应比:1+(作业等待时间 / 作业处理时间)
  1. 举个栗子
    在这里插入图片描述

死锁产生的原因

  • 竞争资源引起进程死锁
  • 进程推进顺序不当引起死锁

产生死锁的必要条件

  • 互斥使用:资源非共享
  • 不可剥夺:不能强行剥夺进程拥有的资源
  • 请求和保持:等待新资源时继续占有已有资源
  • 环路等待(死锁一定有环,有环不一定死锁)

预防死锁

破坏四个必要条件之一

  • 破坏请求和保持:一次性分配策略
  • 破坏不可剥夺:剥夺资源法
  • 破环环路:资源有序分配

避免死锁

  • 银行家算法
  • 举个栗子
    在这里插入图片描述

四、存储器管理

内存碎片 / 内存零头

  • 内零头:进程在向操作系统请求内存分配时,系统满足了进程所需要的内存需求后,还额外还多分了一些内存给该进程,也就是说额外多出来的这部分内存归该进程所有,其他进程是无法访问的。
  • 内零头:内存中存在着一些空闲的内存区域,这些内存区域虽然不归任何进程所有,但是因为内存区域太小,无法满足其他进程所申请的内存大小而形成的内存零头。

存储器管理的功能

  • 地址映射
  • 主存分配与回收
  • 存储保护
  • 主存扩充(虚拟内存)

地址映射(地址重定位)

  • 物理地址,也称绝对地址、内存地址

  • 逻辑地址,也称相对地址、程序地址、虚地址

  • 程序装入内存,逻辑地址到物理地址的修改为地址映射,也即地址重定位

  • 举个栗子
    在这里插入图片描述
    在这里插入图片描述

  • 据程序地址字分离出页号P和页内地址(偏移量)W
    在这里插入图片描述
    在这里插入图片描述

主存分配

1.连续分配方式

  • 单一连续分配(分为系统区,用户区,程序使用全部用户区)
  • 固定分区分配(内存划为个数固定、大小不一的分区,每个分区放一道作业)
  • 动态分区分配(系统运行时建立分区,使分区大小与作业大小相等)
    (1)首次适应法(FF)
    (2)循环首次适应法(下次匹配法)(NF):按分区的先后次序,从上次分配的分区起查找,到最后分区时再回到开头
    (3)最佳适应法(BF)
    (4)最坏适应法(WF)
    空闲分区表的组成方式分别为首址递增(1)和(2),空闲区大小递增(3),空闲区大小递减(4)
  • 可重定位分区分配(在动态分区分配基础上,增加紧凑功能,即合并小的空闲分区)
  • 举个栗子
    在这里插入图片描述

2.非连续分配方式(离散分配)

  • 分页存储管理方式(页表)
  • 分段存储管理方式(段表)
  • 段页式存储管理
    (1)引入原因:
    分页系统能有效提高内存的利
    用率,而分段则能更好地满足用户的需要,因此可以将两者结合成一种新
    的存储管理方式系统称为“段页式系统”。
    (2)原理
    先将用户程序分成若干段并分别赋予段名,再将这些段分为若干页
    地址结构:由段号、段内页号和页内地址三项共同构成地址
  • 快表(联想存储器 / TLB)
    为减少逻辑地址到物理地址的转换时间,分页和分段管理用快表加速;
    页表放在快速存储器中(Cache)为快表,放在内存中为慢表;
    未引入快表,分页、分段、段页式访问内存次数依次为2、2、3。
    使用快表只访问 1 次内存。
  • 分页管理与分段管理的区别:
    (1)页是信息的物理单位,分页是为实现离散分配方式,以消减内存的零头,提高内存的利用率,分页是由于系统管理的需要不是用户的需要;段是信息的逻辑单位,它含有一组其意义相对完整的信息,分段的目的是为了能更好的满足用户的需要
    (2)页的大小固定且由系统决定,由系统把逻辑地址分为页号和页内地址两部分,是由机器硬件实现的,因而在系统中只能有一种大小的页面;段的长度不固定,决定于用户所编写的程序,通常由编译程序在对流程序进行编译时,根据信息的性质来划分。
    (3)分页的作业地址空间是一维的,各个模块在链接时必须组织成同一个地址空间;分段的作业地址空间是二维的,各个模块在链接时可以每个段组织成一个地址空间。
    (4)段比页大,因而段表比页表短,可以缩短查找时间,提高访问速度
    (5)段的共享比页的共享更容易
  • 举个栗子
    在这里插入图片描述

页面置换算法

  • 最佳页面算法(OPT)
    转换将来最晚访问或不会访问的页面,置换性能最好,但无法实现
    在这里插入图片描述

  • 先进先出页面置换算法(FIFO)
    置换最早装入内存的页面,性能较差,会产生belady现象(分配物理页数增多,缺页次数增加)
    在这里插入图片描述

  • 最近最久未使用页面置换算法(LRU)
    置换最近最久未访问的页面,为OPT较好近似
    在这里插入图片描述

  • 轮转算法(clock)
    即最近未使用算法

  • 最不经常使用(LFU)
    置换访问最少的页面

  • 举个栗子
    在这里插入图片描述

主存扩充(虚拟内存)

  • 常规存储管理特征:
    一次性(作业必须一次全部装入内存后才能运行)
    驻留性(作业装入内存后,一直驻留在内存中)
  • 虚拟存储器特征:
    离散性(内存分配时采用离散分配的方式)
    多次性(一个作业被分成多次调入内存运行)
    对换性(允许在作业运行过程中换进换出)
    虚拟性(逻辑上扩充内存容量)
  • 虚拟存储器原理:
    (1)进程运行前:全部装入外存,部分装入内存
    (2)进程运行时:
    牺牲外存空间和CPU时间换取内存空间。
    (访问页不在内存,发生缺页中断,中断处理程序:
    找到访问页在外存的地址;
    在内存找一空闲页面;
    如没有,按淘汰算法淘汰一个;
    读入所需页面(切换进程);
    重新启动中断指令。)

五、IO设备管理

  • 定义:设备是指计算机系统中除CPU、内存和系统控制台以外的所有设备。

  • 设备分类:
    (1)低速设备:键盘、鼠标
    (2)中速设备:打印机
    (3)高速设备:磁盘、光盘
    (4)字符设备:打印机、终端、modem
    (5)块设备:磁盘、磁带、光盘

  • I/O系统基本功能
    (1)隐藏物理设备细节
    (2)设备独立/无关性:编程时,用逻辑设备名,由系统将其转换为物理设备
    (3)提高处理机与I/O设备利用率
    (4)对I/O进行控制

  • I/O系统模型
    在这里插入图片描述

  • 设备管理功能:
    (1)监视系统中所有设备的状态
    (2)设备的分配
    (3)I/O控制

  • I/O控制方式
    (1)循环测试I/O方式(程序查询)
    CPU不断使用指令检测方法来获取外设工作状态,不能处理其他业务,只能一直等待,到外设完成数据准备工作,CPU才能开始进行信息交换。
    硬件结构也比较简单,CPU的运行效率极低。
    (2)I/O中断方式
    遇到突发事件(I/O设备发出中断请求)而中断正在执行的程序,转而对突发事件进行处理,待处理完后继续原程序的执行。
    每执行一条指令,处理机都要测定是否有中断信号。
    节省了CPU时间,硬件结构相对复杂。
    (3)DMA方式
    直接存储器存取方式,是一种完全由硬件执行I/O交换的工作方式。
    需要更多的硬件,适用于主存和高速外围设备之间大批量数据交换的场合。
    (4)通道方式
    即I/O处理机,实现内存与外设的数据批量交换。
    道的出现则进一步提高了CPU的效率,这种效率的提高是以增加更多的硬件为代价的。

六、磁盘管理

  • 磁盘调度算法
    (1)FCFS:先来先服务
    举个栗子
    在这里插入图片描述
    在这里插入图片描述
    (2)SSTF:最短寻道时间优先
    在这里插入图片描述
    (3)Scan:扫描算法(电梯算法)
    磁头按一个方向移动,如果该方向还有访问请求则继续扫描,否则改变移动方向
    在这里插入图片描述
    (4)C-Scan:单向扫描算法(循环扫描算法)
    同扫描算法(电梯算法),区别是朝一个方向一直扫描(磁盘是环状)。
    在这里插入图片描述
  • 磁盘的访问过程
    (1)寻道:磁头移动定位到指定磁道
    (2)旋转延迟:待扇区旋转到磁头
    (3)数据传输:数据由磁盘传至内存

七、文件管理

  • 文件形式:
    (1)由字节组成,无结构文件,即流式文件。(UNIX、MS-DOS采用)
    (2)由记录组成。
  • 文件物理结构:
    (1)连续结构:
    顺序存取、随机存取。
    如磁带(顺序存取)。
    (2)链接结构
    顺序存取
    (3)索引结构
    顺序存取、随机存取
  • 目录结构作用:
    (1)实现按名存取
    (2)实现文件重名
    (3)提高检索文件速度
    (4)文件共享
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值