4操作系统知识

操作系统(6分):23-28题

  • 地位

    在这里插入图片描述

    • 从图中可见,操作系统是裸机上的第一层软件,是对硬件系统功能的首次扩充。它在计算机系统中占据重要而特殊的地位,所有其他软件,如编辑程序、汇编程序、编译程序、数据库管理系统等系统软件,以及大量的应用软件都是建立在操作系统基础上的,并得到它的支持和取得它的服务。从用户角度看,当计算机配置了操作系统后,用户不再直接使用计算机系统硬件,而是利用操作系统所提供的命令和服务去操纵计算机,操作系统已成为现代计算机系统中必不可少的最重要的系统软件,因此把操作系统看作是用户与计算机之间的接口。
  • 程序顺序执行

    • 特征

      • 顺序性
      • 封闭性
      • 可再现性
    • 过程

      • 输入
      • 计算
      • 输出
    • 前趋图

      • P1到P2

        • P1执行后

          • V(S)
        • P2执行前

          • P(S)
        • 先V后P

  • 程序并发执行

    • 特征

      • (1)失去了程序的封闭性。
      • (2)程序和机器的执行程序的活动不再一一对应。
      • (3)并发程序间的相互制约性。
    • 前驱图

    • 问题

  • 进程的三态模型

    • 三态

      • 运行

        • 当一个进程在处理机上运行时,则称该进程处于运行状态。显然,对于单处理机系统,处于运行状态的进程只有一个。
      • 就绪

        • 一个进程获得了除处理机外的一切所需资源,一旦得到处理机即可运行,则称此进程处于就绪状态。
      • 阻塞

        • 阻塞也称等待或睡眠状态,一个进程正在等待某一事件发生(例如请求I/O等待I/O完成等)而暂时停止运行,这时即使把处理机分配给进程也无法运行,故称该进程处于阻塞状态。
    • 图解

      在这里插入图片描述

  • 进程的五态模型

    • 概念

      • 其中,新建态对应于进程刚刚被创建时没有被提交的状态,并等待系统完成创建进程的所有必要信息。因为创建进程时分为两个阶段,第一个阶段为一·个新进程创建必要的管理信息,第二个阶段让该进程进入就绪状态。山于有了新建念操作系统,往往可以根据系统的性能和主存容量的限制推迟新建态进程的提交。
      • 类似地,进程的终止也可分为两个阶段,第一个阶段等待操作系统进行善后处理,第二个阶段释放主存。
    • 图解

      在这里插入图片描述

  • 同步与互斥概念

    • 1)进程间的同步

      • 在计算机系统中,多个进程可以并发执行,每个进程都以各自独立的、不可预知的逃度向前推进,但是需要在某些确定点上协调相互合作进程间的工作。例,进程A向缓冲区送数据,进程B从缓冲区取数据加工,当进程B要取数据加工时,必须是进程A完成了向缓冲区送数据的操作,否则进程B必须停下来等待进程A的操作结束。
      • 可见,所谓进程间的同步是指在系统中·些需要相互合作,协同工作的进程,这样的相互联系称为进程的同步。
    • 2)进程间的互斥

      • 进程的互斥是指系统中多个进程因争用临界资源而互斥执行。在多道程序系统环境中,各进程可以共享各类资源,但有些资源一次只能供一个进程使用,称为临界资源(Critical Resource,CR),如打印机、共享变量和表格等。
  • 临界区

    • 临界区(Critical Section,CS)是进程中对临界资源实施操作的那段程序。对互斥临界区管理的4条原则如下。

      • (1)有空即进。当无进程处于临界区时,允许进程进入临界区,并且只能在临界区运行有限的时间。
      • (2)无空则等。当有一个进程在临界区时,其他欲进入临界区的进程必须等待,以保证进程互斥地访问临界资源。
      • (3)有限等待。对于要求访问临界资源的进程,应保证进程能在有限的时间进入临界区,以免陷入“饥饿”状态。
      • (4)让权等待。当进程不能进入自己的临界区时,应立即释放处理机,以免进程陷入忙等状态。
  • 信号量机制

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

    • 整型变量

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

    • P操作

      • S = S - 1

        • 申请一个资源

          • P操作的定义:S:=S-1,若S>0,则执行P操作的进程继续执行;若S<0,则置该进程为阻塞状态(因为无可用资源),并将其插入阻塞队列。
            在这里插入图片描述
    • V操作

      • S = S + 1

        • 释放一个资源

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

      • 进程互斥

        • 令信号量mutx的初值为1,当进入临界区时执行P操作,退出临界区时执行V操作。

          在这里插入图片描述

      • 进程同步

        • 单缓冲区

          在这里插入图片描述

        • n个缓冲区

          在这里插入图片描述

      • 前趋关系

        • P1到P2

          • P1执行后

            • V(S)
          • P2执行前

            • P(S)
  • 死锁

    • 同类资源分配不当引起死锁。

      • 若系统中有m个资源被n个进程共享,当每个进程都要求k个资源,而m<n*k时,即资源数小于进程所要求的总数时,可能会引起死锁。例如,m=5,n=3,k=-3,若系统采用的分配策略是轮流地为每个进程分配,则第一轮系统先为每个进程分配一台,还剩下两台:第二轮系统再为两个进程各分配一台,此时,系统中已无可供分配的资源,使得各个进程都处于等待状态导致系统发生死锁。

        • 解决办法

          • 使得m>=n*(k-1)+1

          • 每个进程都有k-1个资源时

            • 随便给1个进程1个资源就能完成,不会死锁
  • 进程资源图

    • 结构

      • P进程

        • 申请资源

          • P到R
      • R资源

        • 分配资源

          • R到P
    • 策略

      • 先申请再分配

      • 先分配再申请

      • 边分配边申请

        • 不可以!!!
  • 死锁避免

    • 鸵鸟策略(不理睬策略)

    • 预防策略

      • (1)预先静态分配法。破坏了“不可判夺条件”,预先分配所需资源,保证不等待资源。该方法的问题是降低了对资源的利用率,降低进程的并发程度:有时可能无法预先知道所需资源。
      • (2)资源有序分配法。破坏了“环路条件”,把资源分类按顺序排列,保证不形成环路。该方法存在的问题是限制进程对资源的请求:由于资源的排序占用系统开销。
    • 避免策略

      • 死锁预防是设法破坏产生死锁的4个必要条件之一,严格防止死锁的产生。死锁避免则不那么严格地限制产生死锁的必要条件。最著名的死锁避免算法是Dijkstra提出的银行家算法,死锁避免算法需要很大的系统开销。

        • 银行家算法对于进程发出的每·个系统可以满足的资源请求命令加以检测,如果发现分配资源后系统进入不安全状态,则不予分配:若分配资源后系统仍处于安全状态,则实施分配。与死锁预防策略相比,它提高了资源的利用率,但检测分配资源后系统是否安全增加了系统开销。
        • 所谓安全状态,是指系统能按某种顺序如<P1,P2,…,Pn>来为每个进程分配其所需资源,直到最大需求,使每个进程都可顺序完成。通常称<P1,P2,…,Pn>序列为安全序列。若系统不存在这样一个安全序列,则称系统处于不安全状态。
    • 检测与接触死锁

  • 进程

    • 分类

      • 系统
      • 用户
    • 独立分配资源的单位

  • 线程

    • 分类

      • 系统

        • 依赖于内核
      • 用户

        • 不依赖于内核
    • 调度和分配的基本单位

    • 同一进程的线程的所有资源都可以共享

  • 局部性原理

    • 早在1968年P.Denning就指出,程序在执行时将呈现出局部性规律,即在一段时间内,程序的执行仅局限于某个部分。相应地,它所访问的存储空间也局限于某个区域内。程序的局限性表现在时间局限性和空间局限性两个方面。

      • (1)时间局限性是指如果程序中的某条指令一且执行,则不久的将来该指令可能再次被执行:如果某个存储单元被访问,则不久以后该存储单元可能再次被访问。产生时间局限性的典型原因是在程序中存在着大量的循环操作。

        • 状态位
        • 访问位
        • 修改位
      • (2)空间局限性是指一且程序访间了某个存储单元,则在不久的将来,附近的存储单元也最有可能被访问。即程序在一段时间内所访问的地址可能集中在一定的范围内,其典型原因为程序是顺序执行的。

  • 分页存储管理

    • 逻辑地址

      • 4位页号+12位页内地址
    • 逻辑地址变物理地址

      • 页号变物理块号
      • 加上页内地址
  • 段页式存储管理

    • 8位段号+12位页号+12位页内地址
  • 单缓冲区

    在这里插入图片描述
    在这里插入图片描述

      - (T+M)*n+C
    
  • 双缓冲区

    • 在这里插入图片描述

      • T*n+M+C

        • 前提是T>M+C
  • 磁盘调度算法

    • 先来先服务FCFS

      • 按请求访问者的先后次序启动磁盘驱动器,而不考虑它们要访间的物理位置。

        • 在这里插入图片描述
    • 最短寻道时间优先SSTF

      • 让离当前磁道最近的请求访问者启动磁盘驱动器,即让查找时间最短的那个作业先执行,而不考虑请求访问者到来的先后次序,这样就克服了先来先服务调度算法中磁头移动过大的问题。

        • 在这里插入图片描述
    • 扫描算法(SCAN)或电梯调度算法

      • 总是从磁头当前位置开始,沿磁头的移动方向去选择离当前做头最近的那个柱面的请求。如果沿磁头的方向无请求访问时,就改变磁头的移动方向。在这种调度方法下磁头的移动类似于电梯的调度,所以它也称为电梯调度算法。

        • 在这里插入图片描述
    • 循环扫描算法(CSCAN)单向扫描算法

      • 循环扫描调度算法是在扫描算法的基础上改进的。为了减少延迟,规定磁头单向移动,例如,只是自里向外移动,从当前位置开始沿磁头的移动方向去选择离当前磁头最近的那个柱面访问,如果沿磁头的方向无请求访问时,磁头立即返回到最里面的欲访间的柱而,再亦即将最小柱而号紧接着最大柱面号构成循环,进行循环扫描。

        • 在这里插入图片描述
  • 旋转调度算法

    • 普通

      • 磁道个数*平均移动时间+旋转延迟+传输延迟
    • 特殊

      • 旋转速度x ms/周
      • 每个记录处理时间y ms
      • 处理n个记录最长时间
      • 存储优化后处理所有n个记录最短时间
  • 多级索引结构

    • 直接地址索引

      • 直接指向磁盘中的地址块
    • 一级间接地址索引

      • 指向磁盘索引块
    • 二级间接地址索引

  • 文件目录

    • 为了实现“按名存取”,系统必须为每个文件设置用于描述和控制文件的数据结构,它至少要包括文件名和存放文件的物理地址,这个数据结构称为文件控制块(FCB),文件控制块的有序集合称为文件目录。换句话说,文件目录是由文件控制块组成的,专门用于文件的检索。文件控制块也称为文件的说明或文件目录项(简称目录项)。

    • 1.文件控制块

      • (1)基本信息类。

        • 例如文件名、文件的物理地址、文件长度和文件块数等。
      • (2)存取控制信息类。

        • 文件的存取权限,像UNIX用户分成文件主、同组用户和一般用户三类,这三类用户的读/写执行RWX权限。
      • (3)使用信息类。

        • 文件建立日期、最后一次修改日期、最后一次访问的日期、当前使用的信息(如打开文件的进程数、在文件上的等待队列)等。
  • 目录结构

    • 文件目录结构的组织方式直接影响到文件的存取速度,关系到文件的共享性和安全性,因此组织好文件的目录是设计文件系统的重要环节。常见的目录结构有3种:一级目录结构、二级目录结构和多级目录结构。

      • (1)一级目录结构。

        • 一级目录的整个目录组织是一个线性结构,在整个系统中只需建立一张目录表,系统为每个文件分配一个目录项。一级目录结构简单,缺点是查找速度慢,不允许重名和不便于实现文件共亨等,因此它主要用在单用户环境中。
      • (2)二级目录结构。

        • 为了克服一级目录结构存在的缺点引入了二级目录结构,二级目求结构是由主文件目录(Master File Directory,MFD)和用户目录(User File Directory,UFD)组成的。在主文件目录中,每个用户文件目录都占有一个目录项,其目录项中包括用户名和指向该用户目录文件的指针。用户目录是由用户所有文件的目录项组成的。
        • 二级目录结构基本上克服了单级目录的缺点,其优点是提高了检索目录的速度,较好地解决了重名间题。采用二级目录结构也存在一些问题。该结构虽然能有效地将多个用户隔离开(这种隔离在各个用户之间完全无关时是一个优点),但当多个用户之间要相互合作去共同完成一个大任务,且一个用户又需要去访问其他用户的文件时,这种隔离便成为一个缺点,因为这种隔离使诸用户之间不便于共享文件。
      • (3)多级目录结构。

        • 为了解决以上问题,在多道程序设计系统中常采用多级目录结构,这种目录结构像一棵倒置的有根树,所以也称为树型目录结构。从树根向下,每一个结点是一个

        • 目录,叶结点是文件。MS-DOS和UNIX等操作系统均采用多级目录结构。

          • MS-DOS

            • \
          • UNIX

            • /
  • 位示图

    • 用二进制的一位来表示一个物理块的使用情况

      • 0表示空闲
      • 1表示占用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值