软件设计 -(四)操作系统

该博客围绕操作系统展开,介绍了进程、存储、设备、文件和作业管理等功能。阐述了进程状态切换、通信方式及调度算法,如先来先服务、时间片轮转等;讲解了分页、分段等存储管理方式;还提及设备管理技术、磁盘调度算法和作业调度算法等信息技术相关内容。

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

重点考点

  • 单位:

    • b(bit):比特(位),数据的基本单位,0或1。
    • B(Byte):字节。一个字节有8个位组成,计算机中数据的基本单位。
    • KB(K):千字节。1K = 1204 B = 2 10 2^{10} 210 B。
  • 计算

    • 位数(n):二级制的长度。
    • 地址长度:位数(n);地址大小: 2 n 2^n 2nB;1K(Kb) = 1024B,1M = 1024Kb。
  • 页面置换优先顺序
    未访问未修改的页(00)→ 未访问已修改的页(01)→ 已访问未修改页(10)→ 已访问已修改页(00)

  • 位示图(文件系统):文件大小 = 字长 × 物理块大小 × 字数。

  • 文件多级索引结构

    • 逻辑块号(逻辑地址)从 0 开始编址
    • 结构:直接索引 + 一级间接索引 + 二级间接索引 + 三级间接索引。(不指明索引地址长度下,一、二、三级间接索引默认占 1 个地址项)
    • 相关计算
      • 每个逻辑盘可存放盘块号(地址项)数量(n) = 盘块大小 ÷ 盘块号大小。单位 B(字节 )。

      • 直接索引 1 个地址项存放 1 一个逻辑盘块(物理块);一级间接索引可存放 n 个逻辑盘块;二级可存放 n ∗ n n * n nn;三级可存放 n ∗ n ∗ n n * n * n nnn

        例,文件三级索引结构中,索引结点有13个地址项。盘块大小为 1Kb,每个盘块号占4B,则访问第11264字节时,()。

        A:可直接寻址,B:需要一级间接寻址,C:需要二级间接寻址,D:需要三级间接寻址

        解析: 盘块(物理块)大小 1KB = 1024 B,第 11264 字节所在盘块号 = 11264 / 1024 = 11; 索引结点有 13 个地址项:1~10 为直接索引,11 为一级间接索引,12
        为二级,13为三级;直接索引每个地址项存放 1 个物理块,因此第 11 块物理块在一级间接索引。

  • 磁盘容量

    • 硬盘的寻址信息:硬盘驱动号、圆柱面号、磁头号(记录面号)、数据块号(扇区号)及交换量组成。
    • 磁盘非格式化容量 面数 × (磁道数 / 面) × 内圆周长 × 最大位密度 面数 \times (磁道数/面) \times 内圆周长 \times 最大位密度 面数×(磁道数/面)×内圆周长×最大位密度
    • 格式化容量 面数 × (磁道数 / 面) × (扇区数 / 道) × (字节数 / 扇区) 面数 \times (磁道数/面)\times (扇区数/道)\times (字节数/扇区) 面数×(磁道数/面)×(扇区数/道)×(字节数/扇区)

定义:能有效地组织和管理系统中的各种软件/硬件资源 ,合理地组织计算机系统工作流程,控制程序的执行,并向用户 提供一个良好的工作环境和有好的接口。

作用:1、通过资源管理提高计算机系统的效率;2、改善人机界面向用户提供有好的工作环境。

特征:并发性、共享性、虚拟性、不确定性。

功能:进程管理(处理机管理)、存储管理、设备管理、文件管理、作业管理。

分类

  • 批处理操作系统
    特点:多道、宏观上并行运行、微观上串行运行。

  • 分时操作系统
    一个计算机系统与多个终端设备连接。特点:多路性、独立性、交互性、及时性。

  • 实时操作系统
    计算机对外来信息能够以足够快的速度进行处理 ,并在被控对象允许的时间范围内做出快速反应。对交互能力要求不高,要求可靠性有保障

    • 实时控制系统。主要用于生产过程的自动控制,如数据自动采集,武器控制,火炮自动控制 ,自动驾驶等。
    • 实时信息处理系统 。主要用于实时信息处理,如订票系统,情报检索系统等。

    实时系统与分时系统区别

    • 设计目标不同。分时系统是设计成一个多用户的通用系统,交互能力强;实时系统大多是专用系统。
    • 交互性强弱不同。实时系统交互能力弱。
    • 响应时间的敏感度不同。分时系统是以用户能接收的等待时间为系统的设计依据;实时系统是以被测物体所能接受的延迟为系统设计依据,对响应时间的敏感度更强。
  • 网络操作系统
    使联网计算机能方便有效地共享网络资源,为网络用户提供各种服务的软件和有关协议的集合。可分为:集中模式、客户端/服务器模式、对等模式(Peer-to-Peer)。

  • 分布式操作系统
    分布式计算机系统是由多个分散的计算机经连接而成的计算机系统,系统中的计算机无主、次之分,任意两台计算机可以通过通信交换信息。分布式计算机系统配置的操作系统称为分布式操作系统。

    分布式操作系统是网络操作系统的更高级形式,它保持了 网络系统所拥有的全部功能,同时又有透明性、可靠性、高性能等特性

  • 微型计算机操作系统
    简称微机操作系统。个人计算机、手机等系统。

  • 嵌入式操作系统
    运行在嵌入式智能芯片环境中,对整个智能芯片以及它所操作、控制的各种不见装置等资源进行统一协调、处理、指挥和控制。

    特点:微型化、可定制、实时性、可靠性、易移植性。


一、进程管理

进程是资源分配和独立运行的基本单位。

程序与进程

  • 程序顺序执行的特征:顺序性、封闭性、可再现性。
  • 程序并发执行的特征:失去程序的封闭性和可再现性、程序和机器的执行程序的活动不再一一对应、并发程序间的相互制约。

进程:程序的一次执行。

进程通常由程序、数据、和进程控制块(PCB)组成:

  • PCB:进程存在的唯一标识。
  • 程序:描述了进程需要完成的功能。不可修改部分。
  • 数据:包括程序执行时所需的数据及工作区。该部分只能为一个进程所专用,是进程的可修改不分。

进程的状态及其状态间的切换

  • 三态模型:
    • 运行。当一个进程在处理机上运行时,称该进程处于运行状态。
    • 就绪。一个进程获得了处理机外的一切所需资源,一旦得到处理机即可运行。
    • 阻塞。也称等待或睡眠状态,一个进程正在等待某一事件发生(如请求I/O等待I/O完成等)而暂时停止工作,这时即使把处理机分配给进程也无法运行。
  • 五态模型:引入新建态和终止态
    x
  • 具有挂起状态的进程状态机其转换
    • 活跃就绪:指进程在主存并且可被调度的状态。
    • 静止就绪:指就绪进程被对换到辅存时的状态,是不能被直接调度的状态,只有当主存中没有活跃的就绪进程,或者挂起状态进程具有更高的优先级时,系统将把挂起就绪进程调会主存并转换为活跃就绪。
    • 活跃阻塞:指进程在主存,一旦等待的事件产生便进入活跃就绪状态。
    • 静止阻塞:指阻塞进程对换到辅存时的状态,一旦等待的事件产生便进入静止就绪状态。
      在这里插入图片描述

进程间的通信

  • 同步与互斥

    同步是合作进程间的直接制约问题,互斥是申请临界资源进程间的间接制约问题。

    • 进程间的同步:在计算机系统中,多个进程可以并发执行,但是需要在某些确定点上协调相互合作进程间的工作。如,进程 A 像缓冲区送数据,进程 B 从缓冲区取数据加工,当进程 B 要取数据加工时,必须是进程 A 完成了向缓冲区送数据的操作,否则 B 必须停下来等待 A 的操作结束。
    • 进程间的互斥:系统中多个进程因争用临界资源而互斥。有些资源一次只能供一个进程使用,称为临界资源。如打印机、共享变量和表格等。
    • 临界区管理的原则:有空即进、无空则等、有限等待、让权等待。
  • 信号量机制

    • 整型信号量与PV操作

      • 公用信号量:实现进程间的互斥,初值为 1 或资源的数目。
      • 私用信号量:实现进程间的同步,初值为 0 或某个正整数。

      PV 操作:P 操作表示申请一个资源,V 操作表示释放一个资源。

      信号量 S 的物理意义:S ≥ 0 表示某资源可用数,若 S < 0 则其绝对值表示阻塞队列中等待该资源的进程数。

      P 操作的定义S := S - 1,若 S ≥ 0,则执行 P 操作的进程继续执行;若 S < 0,则该进程为阻塞状态,并将其插入阻塞队列。

      V 操作的定义S := S + 1,若 S > 0,则执行 V 操作的进程继续执行,若 S ≤ 0,则从阻塞状态唤醒一个进程,并将其插入就绪队列,然后执行 V 操作的进程继续。

进程的调度

  • 三级调度

    • 高级调度(长调度、作业调度、接纳调度)。它决定处于输入池中的哪个后备作业可以调入主系统做好运行的准备,成为一个或一组就绪进程
    • 中级调度(中程调度、对换调度)。它决定处于交换区中的哪个就绪进程可以调入内存,以便直接参与对CPU的竞争。
    • 低级调度(短程调度、进程调度)。它决定处于内存中的哪个就绪进程可以占用CPU。
  • 调度算法

    • 先来先服务(FCFS)

      按照作业提交或进程成为就绪状态的先后次序分配 CPU。特点,比较有利于长作业,而不利于短作业;有利于 CPU 繁忙的作业,而不利于 I/O 繁忙的作业。主要用于宏观调度。

    • 时间片轮转

      主要用于微观调度;通过时间片轮转提高进程并发性和响应时间特性,从而提高资源利用率。

      • 固定时间片:分配给每个进程相等的时间片。
      • 可变时间片:根据进程不同的要求对时间片的大小实时修改,可更好地提高效率。
    • 优先级调度

      让每个进程都拥有一个优先数,数值大的表示优先级高,系统在调度时总选择优先数大的占用CPU。

      • 静态优先级:进程的优先级在创建时确定,且不会改变。
      • 动态优先级:在创建进程时赋予一个优先级,在进程运行过程中还可以改变,以便获得更好的调度性能。
    • 多级反馈调度

      是时间片轮转算法和优先级算法的综合与发展。

死锁

  • 产生死锁的 4 个必要条件:互斥条件、请求保持条件、不可剥夺条件、环路条件。
  • 死锁处理策略:鸵鸟策略(即不予理睬),预防策略(破坏产生死锁的 4 个必要条件之一),死锁避免,死锁检测,死锁解除(资源剥夺法、撤销进程法)
  • 进程资源有向图
    • 化简步骤:先孤立非阻塞进程(即执行非阻塞进程,并释放资源),再检测是否有非阻塞进程。
      进程资源有向图
      上图表明:
    • R1 内有 2 个资源,已向 P1、P3 各分配一个 R1 资源,剩余 0 个资源;
    • P2 执行需 向 R1 申请一个资源,但 R1 中已没有可用资源,所以 P2 阻塞;
    • R2 有 3 个资源,已向 P2、P3 各分配一个资源,剩余 1 个资源;
    • 进程 P1、P3 执行都需要向 R2 申请一个资源,R2 内还剩余 1 个可用资源,满足P1 或 P3的执行,所以 P1、P3非阻塞。
    • P1 或 P3 执行完成后释放资源,P2 就可以申请所需资源,完成执行,所以是可简化、非死锁的。

二、存储管理

  • 虚拟地址:也称相对地址、程序地址、逻辑地址。它不是主存中的真实地址。从 0 号开始顺序编址。
  • 地址空间:逻辑地址空间简称地址空间,是逻辑地址的集合。
  • 存储空间:物理地址空间(或绝对地址空间)简称存储空间,是物理地址的集合。

分页存储管理

将一个进程的地址空间划分成若干个大小相等的区域,称为。相应地,将主存空间划分成与页相同大小的若干物理块,称为或页框。

  • 地址结构
    分页系统的地址结构有两部分组成:前一部分为页号(p),后一部分为偏移量(w),即页内地址。都使用二进制表示。

    逻辑地址 = 逻辑页号 + 页内地址
    物理地址 = 物理页号 + 页内地址

    下图中的地址长度为 32 位,其中,0~11 位为页内地址( 2 12 2^{12} 212,每页的大小为 4Kb),12 ~ 31 位为页号 ,所以允许地址空间的大小最多为 1Mb( 2 20 2^{20} 220) 个页。
    分页地址结构

  • 页表
    页表的作用是实现从页号到物理块号的地址映射。 在这里插入图片描述

    • 快表:用来保存当前访问频率较高的少数活动页的页号及相关信息。
    • 两级页表
      为减少页表所占用的连续的主存空间,将页表进行分页,每个页面的大小与主存物理块的大小相同,并为它们进行编号,可以离散地将各个页面分别存放在不同的物理块中。为此需建立一张页表,称为外层页表(页表目录)。
      第一级是页目录表,存放某个页表的物理地址;第二级是页表,存放页的物理块号

分段存储管理

作业的地址被划分为若干个段,每个段都是从 0 开始编址的一段连续的地址空间,各段的长度不相等。

  • 地址结构:段号(s) + 段内地址(d)
  • 地址变换:与页式存储管理的地址映射相似;不同在于页表的偏移量(页内地址)大小相同,段式存储段内地址大小不一。

段页式存储管理

分页过程由操作系统完成,对用户透明;缺点不易实现共享。

段页式系统的基本原理:先将整个主存划分成大小相等的存储块(页框),将用户程序按程序的逻辑关系分若干个段,再将每个段划分成若干页,以页框为单位离散分配。

  • 地址结构:段号(s) + 段内页号(p)+ 页内地址(w)
  • 地址变换:
    1. 根据段号 S 查段表,得到页表的起始地址;
    2. 根据页号 P 查页表,得到物理块号 b;
    3. 将物理块号 b 拼接页内地址 W 得到物理地址。

虚拟存储管理

前面讲的存储管理方案中,必须为每个作业分配足够的空间,以便装入全部信息。当主存空间不能满足作业要求时,作业无法装入主存执行。

如果一个作业只部分装入主存便可启动运行,其余部分暂时留在磁盘上,在需要时再装入主存 ,这样可以有效地利用主存空间。这样的存储器称为虚拟存储器。虚拟存储器是为了扩大主存容量而采用的一种设计方法,其容量是有计算机的地址结构决定的。

虚拟存储器的实现主要有:

  • 请求分页系统

    在分页系统的基础上,增加了请求调页和页面置换功能。

    它只允许装入若干页的用户程序和数据(非全部)就可以启动运行,然后通过调页功能和页面置换功能,把将要使用的页面调入主存,同时把 暂不运行的页面置换到外存上,置换以页为单位。

    缺页中断:指在指令执行期间产生和处理中断信号。发生缺页中断时,返回到被中断指令的开始重新执行该指令。

  • 请求分段系统

  • 请求段页式系统

三、设备管理

  • I/O 设备管理软件一般分为四层(由上至下):
    • 用户进程、
    • 与设备无关软件、
    • 设备驱动软件、
    • 中断处理程序。

设备管理采用的相关技术

  • 通道技术
    目的是使数据的传输独立于 CPU,使 CPU 从繁琐的 I/O 工作中解脱出来。

  • DMA 技术
    直接主存存取(Direct Memory Access,DMA),指数据在主存与 I/O 设备之间直接成块传送,不需要 CPU 的任何干涉,只需要 CPU 在过程开始启动(即向设备发出“传送一块数据”的命令)与过程结束时(CPU 通过轮询或中断 得知过程是否结束和下次操作是否准备就绪)的处理,实际操作由 DMA 硬件直接完成。

  • 缓存技术

    • 缓和 CPU 与 I/O 设备间速度不匹配的矛盾
    • 减少对 CPU 的中断频率,放宽对中断响应时间的限制
    • 提高 CPU 和 I/O 设备之间的并行性。
  • Spooling 技术
    外围设备联机操作的简称。使独立占用的设备变成多台虚拟设备的一种技术,也是一种速度匹配技术。

磁盘调度

磁盘调度分为移臂调度和旋转调度,并且是先进行移臂调度,再进行旋转调度。访问磁盘最耗时的是寻道时间,因此,磁盘调度的目标是使磁盘的平均寻道时间最少。

常用磁盘(移臂)调度算法

  • 先来先服务(First-Come First-Served,FCFS)
    根据进程请求访问磁盘的先后次序进行调度。
  • 最短寻道时间优先(SSTF)
    要求访问的磁道与当前磁头所在的磁道距离最近,使得每次的寻道时间最短。
  • 扫描算法(SCAN)
    又称电梯调度算法。不仅考虑要访问的磁道与当前磁道的距离,更优先考虑的是磁头的当前移动方向。
  • 单向扫描调度法(CSCAN)
    算法规定磁盘只做单向移动。

旋转调度算法
旋转调度考虑的问题:当移动臂定位后,有多个进程等待访问该柱面时,应当如何决定这些进程的访问顺序。

旋转调度应考虑如下情况:

  1. 进程请求访问的是同一磁道不同编号的扇区。
  2. 进程请求访问的是不同磁道上不同编号的扇区。
  3. 进程请求访问的是不同磁道上相同编号的扇区。

对 1,2 两种情况,旋转调度 总是让首先到达读/写磁头位置下的扇区先进行传送操作;对于 3,可任选一读/写磁头下的扇区进行传送操作

四、文件管理

  • 目录结构:绝对路径从根目录开始;相对路径从当前工作目录下开始(前面不加分隔符“/”)。
  • 位示图
    位示图中每一位对应文件存储器上的一个物理块。假如计算机字长为 32 位,则位示图中每个字对应文件存储器上的 32 个物理块。

五、作业管理

作业是系统为完成一个用户的计算任务(或一次事物处理)所做的工作总和。

作业调度算法

  • 先来先服务:按作业到达的先后进行调度,即启动等待时间最长的作业。

  • 短作业优先:以要求运行时间的长短进行调度,即启动要求运行时间最短的作业。

  • 响应比高优先:响应比高的作业优先启动。
    响应比定义: R p = 作业响应时间 作业执行时间 R_p = \frac{作业响应时间}{作业执行时间} Rp=作业执行时间作业响应时间
    其中: 作业相应时间 = 作业等候时间 + 作业执行时间 作业相应时间 = 作业等候时间 + 作业执行时间 作业相应时间=作业等候时间+作业执行时间
    R p = 1 + 作业等待时间 作业执行时间 R_p = 1 + \frac{作业等待时间}{作业执行时间} Rp=1+作业执行时间作业等待时间

  • 优先级调度算:可由用户指定作业优先级,优先级高的作业先启动。

  • 均衡调度算法

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值