zoukankan      html  css  js  c++  java
  • 操作系统期末考试一般题解

    一、 英文缩写词的英文或者中文全名

    DMA-Direct Memory Access-直接内存存取

    SMP-Symmetric Multi-Processor-对称多处理器

    OS-Operating System-操作系统

    PCB-进程控制块-Process Control Block

    TCB-线程控制块-Thread Control Block

    FCB-文件控制块-File Control Block

    PSW-Program Status Word-程序状态字

    ULT-User-Level Thread-用户级线程

    KLT-Kernel-Level Thread-内核级线程

    动态分区分配策略:

           FF-First Fit-首次适配

           NF-Next Fit-下次适配

           BF-Best Fit-最佳适配

           WF-Worst Fit-最差适配

           VM-Virtual Memory-虚拟内存

    MMU-Memory Management Unit-内存管理单元

    PF-Page Fault-缺页中断(页错误)

    TLB-Translation Lookaside Buffer-转换检测缓冲区(快表)

    页面置换算法:

           OPT-Optimal-最佳置换

      LRU-Least Recently Used-最近最少使用

      FIFO-First In First Out-先进先出

      Clock时钟

    进程调度算法:

      FCFS-First Come First Serve-先来先服务

      RR-Round Robin-轮转

      SPN-Shortest Process Next-最短进程优先

      SRT-Shortest Remaining Time-最短剩余时间优先

      HRRN-Highest Response Ratio Next-最高响应比优先

      MF-Multilevel Feedback-多级反馈

    磁盘调度:

      FIFO-First-In-First-Out-先进先出

      LIFO-后进先出

      SSTF-Shortest Service Time First-短服务时间优先算法

      SCAN-扫描算法(电梯算法)

      C-SCAN- 循环扫描算法

    RAID-Redundant Array of Independent Disk-独立磁盘冗余阵列

    FS-File System-文件系统

    VFS-Virtual File System虚拟文件系统

    FAT-File Allocation Table-文件分配表

     

     

    二、 进程状态

     

     

    三、 内存管理

    固定分区:

      -在系统初启时,内存已划分为若干个大小相等或 大小不等的分区,并将它们排成一个分区说明表。 分区建立后大小、边界、数量不再改变。

      -为进程分配一个满足长度要求的最小空闲分区。

      -分配回收容易,但限制了进程个数和最大长度, 易产生 (区内)内碎片,内存利用率低。

    动态分区:

      -从可用内存中划出进程所需容量的一块连续区域并分 配,其余部分作为一个新空闲区。

      -运行完后回收,若与其它空闲区相邻则合并。

      -易产生(区间)外碎片。

    分配策略:

      -首次适配(First Fit):

      链表结构:空闲区按起始地址递增顺序排列。

      分配时,从链首开始查找,从第一个满足要求的空闲区中划分出进程需要的大小并分配,其余部分作为一个新空闲区。

      低地址端遗留许多碎片;高地址端有大空闲区

            -下次适配(Next Fit):

              链表结构:空闲区按起始地址递增顺序排列。

         分配时,从上次扫描结束处继续查找,从第一个满足要求的空闲区中分配。

        平均查找时间缩短,空间利用比FF均衡。

            -最佳适配(Best Fit)

        链表结构:空闲区按分区大小递增顺序排列。

        分配时,从链首开始查找,第一个满足要求的空闲区就是满足要求的最小空闲区,划分之。

        链首部碎片多,查找费时。回收合并时复杂

           -最差适配(Worst Fit)

        链表结构:空闲区按分区大小递减顺序排列。

        分配时,从链首开始查找,第一个空闲区不能满足要求时分配失败,否则从第一个空闲区中切出需要的大小分配。

        小碎片较少,但最大的空闲区也不会很大。

    分页:

      -逻辑地址的位数=页号的位数(等于逻辑地址的页数)+页内偏移的位数(等于页长)

           -知逻辑地址,求物理地址

        逻辑地址 ÷ 页长 = 页号 …… 页内偏移

        根据页表和页号找到对应的页帧号

          物理地址 = 帧号 × 帧长(帧长默认等于页长) + 页内偏移

        页号不在页表内

          超出页表,越界

           -物理地址的页框位数 = 物理地址空间大小÷帧长 若= 2^m, 则有m位为页框位

           -页表

        页表项的数量等于逻辑地址的页数

        页表项的位数等于物理地址的页框位数

      -处理缺页中断:

        首先判断内存中是否有空闲帧?如果没有则按照置换算法选择一个内存页淘汰,如果该页被修改过还需先写回磁盘,这样得到一个空闲帧。

        然后按 照页表所指明的该页磁盘地址把此页调入空闲帧,修改页表,重新执行刚才那条指令。

    分段

       ……

     

    四、 磁盘调度

    FIFO(先进先出)

           按请求的接收顺序服务。

    LIFO(后进先出)

           先处理新提出的请求。

    SSTF(短服务时间优先算法)

           优先选择距当前磁头位置近的访问请求进行服务。

    SCAN(扫描算法或电梯算法)

      选择位于磁头移动方向前方且距磁头位置近的访问请求进行服务。 当前方没有访问请求时,立即改变磁头移动方向。

    C-SCAN(循环扫描算法)

      磁头从磁盘一端移到另一端,随着移动而不断处理请求。当磁头移到另一端时(到达请求队列的最大/小磁道即返回磁盘起始,无需移动到磁道最大/小边界),马上返回磁盘起始,返回时不处理请求。

     

    五、 死锁

    判断死锁:图中出现A占有a请求b、B占有b请求c、……、N占有n请求a的环

    死锁检测和死锁恢复(不试图阻止死锁,而是当检测到死锁发生时,采取措施进行恢复。)

      恢复方法:选择一个占有资源最少(或者优先级最低)的进程,判断终止该进程是否解除死锁(先不进行任何实际操作),否则选择占有资源第二少(或者优先级第二低)的进程判断……

      若仅仅终止一个进程无法解除死锁,则选择占有资源最少(或者优先级最低)的俩个进程进行终止……

    死锁预防(在程序运行之前预防)

           通过破坏死锁产生的4个必要条件来预防死锁,由于资源互斥是资源使用的固有特性是无法改变的。

    死锁避免(在程序运行时避免发生死锁)

           银行家算法:

        尝试将可用资源给予可用资源能满足其需求的一个进程,若不存在能被满足的进程,则系统处于不安全状态;

        否则,完成这个进程,并释放该进程原本占有的资源加入可用资源,尝试找到下一个能被新的可用资源满足的进程,若不存在能被满足的进程,则系统处于不安全状态;

        否则,继续上述循环。

        若所有的进程都能被满足,则这个进程执行的顺序为一个安全序列。

  • 相关阅读:
    【排序】题解_P1093奖学金
    简单了解连接服务器的要求
    centos7安装(纯文字版)
    JAVA虚拟机
    集合
    IO流
    反射
    多线程
    JAVA基础
    博客园皮肤文档
  • 原文地址:https://www.cnblogs.com/scau/p/13510029.html
Copyright © 2011-2022 走看看