计算机操作系统复习记录(总结 —— 快速入门和快速复习)

操作系统基础概念详解
操作系统是管理计算机硬件和软件资源的程序,包括并发、共享、虚拟和异步四大特性。它管理进程、线程和内存,如进程有创建、就绪、运行、阻塞等状态;线程是轻量级进程,提高并发度。内存管理涉及连续分配和非连续分配,如分页、分段和段页式。进程间通信有管道、共享内存、信号量等方式。文章还讨论了死锁的预防、检测和解除策略。

1. 操作系统

  1. 概念:是控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其它软件接口和环境,它是计算机系统中最基本的系统软件。
    在这里插入图片描述

  2. 功能和目标
    (1)资源的管理者:处理机管理、存储器管理、文件管理、设备管理
    (2)向用户提供服务:命令接口、程序接口(由一组系统调用组成)、GUI用户图形界面
    (3)对硬件机器的扩展:扩展机器

  3. 特征
    (1)并发:多个事件之间微观上交替执行,宏观上同时执行 。 需要注意:并行:多个事件宏观上微观上同时执行
    (2)共享:互斥共享 和 同时共享。互斥共享举例:同一时间段摄像头只能分配给其中一个进程。同时共享举例:一个进程发送文件A和发送文件B,微观上交替访问系统资源,宏观同时发送
    (3)虚拟:把一个物理上的实体变为若干个逻辑上的对应物。在这里插入图片描述
    (4)异步:多个进程并发执行,但由于系统资源有限,各进程以不可预知速度的向前推进(因为某个进程可能受系统资源有限的影响)

  4. 发展与分类未复习

  5. 操作系统的内核
    (1)不同操作系统的内核划分不同(操作系统的体系结构):分为 微内核(只包含图中下层部分) 和 大内核(包含图中上下层部分)。
    在这里插入图片描述
    (2)操作系统的运行机制:包括以下几个部分:
        两种指令:特权指令非特权指令
        两种处理机状态:核心态用户态
        两种程序:内核程序应用程序
    (3)思路:
       1. 实现操作系统内核功能的那些程序就是内核程序
       2. 需要执行进程管理、存储器管理等功能(需要执行特权指令),即处理机需要从用户态切换为核心态,这也引出了 大内核的优点 是它包括了操作系统的主要功能,运行在核心态,无需切换(缺点:内核代码庞大,难以维护)。微内核的缺点 是需要频繁地切换在核心态和用户态之间切换,性能低(优点:内核功能少,方便维护)。

  6. 中断和异常
    (1)中断:分为 内中断外中断。如下:
       内中断:进程当遇到 需要系统资源 或者 需要其它进程配合 或者 该进程时间片已到 等时候,会发生内中断,处理机收到计时部件发出的中断信号切换为核心态,此时需要操作系统介入把处理机使用权限给操作系统,操作系统内核开始对中断信号进行处理,管理工作完成之后,把处理机使用权限还给用户进程。
       外中断:当外部I/O设备任务完成之后,设备向处理机发出中断信号,处理机收到后,切换为核心态,此时需要操作系统介入,把处理机使用权限给操作系统,操作系统内核开始对中断信号进行处理,管理工作完成之后,把处理机使用权限还给用户进程。
    (2)系统调用在这里插入图片描述
       库函数: 库函数可以看作是对系统调用的封装和扩展,提供更加方便和高级的编程接口。

2. 进程

  1. 单核和多核:单核只允许同一时刻一个进程被处理机服务。多核允许多个处理机服务多个进程

  2. 进程概念:进程就是一个程序在计算机中的执行过程,它可以独立运行,也可以与其他进程进行通信和协作,同时需要访问和操作数据集合。它是系统进行资源分配和调度的一个独立单位。(强调 动态

  3. 进程实体概念:PCB(管理进程所需信息)、数据段(变量等)、程序段(程序代码)。一般情况下,进程实体简称为进程。(强调 静态

  4. 进程的特征在这里插入图片描述

  5. 进程的状态与转换
    (1)状态
      运行态:占有CPU,并在CPU上运行
      就绪态:具备资源等所有运行条件,等待CPU调度
      阻塞态:因等待某一事件(如打印机系统资源)暂时不能运行
      创建态:未进入就绪态,操作系统为它分配所需内存等系统资源,并为其创建PCB
      终止态:数组越界等报错,该进程终止,操作系统撤销系统资源和PCB等工作
    (2)状态转换在这里插入图片描述

  6. 进程控制
    (1)概念实现进程状态转换,使转换过程操作具有原子性
    (2)实现原语(关中断指令 和 开中断指令),处理机需要切换到核心态
    在这里插入图片描述
    (3)进程控制(状态转换),怎么做在这里插入图片描述

  7. 进程通信
    概念:进程通信就是指进程之间的信息交换。进程是分配系统资源的单位,因此各进程拥有的内存地址空间相互独立,为了保证安全,一个进程不能直接访问另一个进程的地址空间。
    通信方式
     (1)共享存储:分为
          1. 基于数据结构的共享(限制多,低级通信
          2. 基于存储区的共享 (数据形式、存放位置由进程控制而不是操作系统。高级通信
    注意:两个进程对共享空间的访问必须是互斥的,互斥工具由操作系统提供。
     (2)管道通信
          1. 管道只能采用半双工通信,某一时间段内只能实现单向的传输。
          2. 各进程要互斥地访问管道
          3. 当管道写满时,写进程的write()系统调用将被阻塞;当管道为空时,读进程的read()系统调用将被阻塞
     (3)消息传递:分为直接通信 和 间接通信。一个进程通过发送原语发送给另一个进程,另一个进程通过接受原语接受。二者区别:有无中间者。例如 “电子邮件系统”

  8. 线程
    (1)概念:线程是一个进程内部的一个控制序列,或者说是执行流(轻量级的进程)。(一个进程中,多个线程并发执行,例如qq可以聊天和发文件)
    (2)引入线程之后
        1. 线程是一个基本的CPU调度单位,进程内的各线程之间并发,进一步提高并发度
        2. 进程只作为出CPU资源之外的系统资源的分配单位
        3. 并发带来的系统开销减小。进程间并发需要切换进程的运行环境,同一进程间的线程并发,不需要切换进程环境,开销减小。
    (3)线程的实现方式:多线程模型,未复习

  9. 处理机调度的层次
    (1)高级调度(作业调度):按照一定的原则从外存上处于后备队列的作业中挑选一个或者多个作业,给它们分配内存等必要资源,并建立相应的进程(PCB),使它们等待被处理机调度。
    (2)中级调度:由于内存有限,将暂时不能运行的进程调至外存等待(进程状态变为挂起状态),等它重新具备了运行条件且内存稍有空闲时,再重新调入内存。注意:PCB不会调到外存,它常驻内存,操作系统通过内存中的PCB保持对进程管理。被挂起的进程对应PCB会被放到挂起队列中。
    七状态模型在这里插入图片描述
    (3)低级调度(进程调度):按照某种方法和策略(调度算法)从就绪队列中选取一个进程,将处理机分配给它。是最基本的一种调度。
    (4)对比在这里插入图片描述

  10. 处理机调度的时机
    (1)当前运行进程主动放弃:
       1. 进程正常终止
       2. 发生异常终止
       3. 主动请求阻塞(如 I/O等待)
    (2)当前运行进程被动放弃:
       1. 时间片用完
       2. 有更紧急的事情要处理(如 I/O中断)
       3. 有更高优先级进程进入就绪队列
    注意:不能进行进程调度与切换的情况:
       1. 在处理中断的过程中
       2. 进程在操作系统内核程序临界区
       3. 原语
    临界区:访问临界资源的那段代码。
    临界资源:一个时间段内只允许一个进程使用的资源。
    当一个进程处于操作系统内核程序临界区,并且这个临界区要访问就绪队列,并且访问时候,会给就绪队列上锁,如果进程还没有退出内核程序临界区,则就绪队列不会解锁,处理机调度就不能从就绪队列中挑选进程。

  11. 处理机调度算法
    (1)先来先服务非抢占式
        对象:用于进程或者作业调度
        规则:按照进程或者作业到达时间从小到大进行服务。
        造成饥饿:不会。
        优点:公平、实现简单
        缺点:对排在长作业后面的短作业需要等待很长时间。
    (2)短作业(进程)优先抢占式和非抢占式
        对象:用于进程或者作业调度
        规则:最短的作业或者进程优先得到服务
        造成饥饿:会。(源源不断的短作业或者短进程到来)
        抢占式版本:最短剩余时间优先算法
        优点:平均等待时间、平均周转时间短
        缺点:不公平。对短作业有利,对长作业不利。运行时间不真实。
    (3)高响应比优先非抢占式
        对象:用于进程或者作业调度
        规则:每次调度时候计算各个作业或者进程的响应比,优先服务响应比高的
        造成饥饿:不会。
        优点:综合考虑了等待时间和运行时间
        响应比:(等待时间+要求服务时间)/ 要求服务时间
    (4)时间片轮转
        对象:用于进程调度
        规则:按照就绪队列中进程的先后到达顺序,轮流让各进程执行一个时间片
        抢占式:当一个时间片过了,进程还未执行完,会剥夺处理机使用权
        优点:公平;响应快,适用于分时操作系统
        缺点:进程切换频率高,系统开销大;不区分任务的紧急程度
    (5)优先级调度算法
        对象:用于进程或者作业调度
        规则:每个作业或者进程有各自的优先级,调度时选优先级高的
        是否可抢占:都有。当就绪队列改变时候,优先级较高的会抢占当前运行的进程的处理机使用权
        优点:用优先级区分紧急程度,适用于实时操作系统。
        缺点:若远远不断有高优先级进程到来,可能出现饥饿
        饥饿:会
    (6)多级反馈队列
    在这里插入图片描述

  12. 进程同步和进程互斥
    (1)进程同步:并发性带来了异步性,需要进程同步解决异步问题。有的进程之间需要相互配合地完成工作,各进程的工作推进需要遵循一定的先后顺序
    (2)进程互斥:对临界资源的访问,需要互斥的进行,即同一时间段只能允许一个进程访问该资源。
         进程互斥是什么?
         四个部分:进入区、临界区、退出区、剩余区
         四个原则:空闲让进、忙则等待、有限等待、让权等待
         如图:在这里插入图片描述

  13. 死锁
    (1)概念:各进程互相等待对方手里的资源,导致各进程阻塞,无法向前推进的现象。
    (2)产生死锁满足四个条件
        1. 互斥条件:只有对必须互斥使用的资源的争抢才会导致死锁
        2. 不剥夺条件进程所获得的资源在未使用完之前,不能由其它进程强行夺走,只能主动释放
        3. 循环等待条件:存在一种进程资源的循环等待链,链中的每一个进程已获得的资源同时被下一个进程所请求。
        4. 请求和保持条件:进程已经获得了至少一个资源,但又提出新的资源请求,而该资源又被其它请求占有,此时请求进程被阻塞,同时对自己所持资源保持不放
        注意:发生死锁时必有循环等待,循环等待未必死锁。
    (2)预防死锁破坏一个或多个死锁产生的四个必要条件具体方案先略过
        1. 破坏互斥条件
        2. 破坏不剥夺条件
        3. 破坏请求和保持条件
        4. 破坏循环等待条件
    (4)避免死锁
        1. 什么是安全序列?指如果系统按照这种序列分配资源,则每个进程都能顺利完成。只要找出一个安全序列,系统就是安全状态。(安全序列可能有多个),如果系统找不到任何一个安全序列,则系统进入不安全状态。此后,若有进程提前归还了资源,系统也有可能进入安全状态。所以如果系统处于安全状态,就一定不会发生死锁,否则就可能发生死锁。
        2. 银行家算法
          核心思想在进程提出资源申请时候,先预判此次分配是否会导致系统进入不安全状态。如果进入不安全状态,就暂时不答应这次请求,让该进程先阻塞等待。
          步骤
            1. 检查此次申请是否超过了之前声明的最大需求数。
            2. 检查此时系统剩余的资源是否能满足此次请求。
            3. 试探着分配,更改数据(例如修改剩余各资源数量),并用安全性算法检查此次分配是否会导致系统进入不安全状态。
            安全性算法的步骤:检查当前的剩余可用资源是否能满足某个进程的最大需求,如果可以,就把该进程加入安全序列,并把该进程持有的资源全部回收。
          优点:避免 死锁和资源浪费
          缺点需要预先知道每种资源的总量和当前可用的数量,可能会导致一些限制。此外,安全性算法会增加系统的开销
    (5)死锁的检测和解除
        1. 死锁的检测:用某种数据结构(资源分配图)来保存资源的请求和分配信息。提供一种算法(消除边),判断系统是否已进入死锁状态。
    如果按照系统中剩余资源可以满足进程需求,那么该进程可以执行下去,等该进程结束后,归还资源使某些阻塞进程得到资源也能够执行,如此循环下去,若能够消除资源分配图的所有边此时系统就一定没有发生死锁如果最终不能消除所有边,那么此时就是发生了死锁,最终还连着边的是处于死锁中的进程
        2. 死锁的解除
          1. 资源剥夺法:挂起某些死锁进程,并抢占它的资源,将这些资源分配给其它的进程。
          2. 撤销进程法:强制撤销部分、深圳全部死锁进程,并剥夺这些进程的资源。(这种方式实现简单,付出代价可能会很大,例如一个运行了很久的进程将要运行完但是被撤销了,这就造成了很大的资源浪费)
          3. 进程回退法:让一个或多个进程回退到足以避免死锁的地步。
          对谁(进程)下手呢?
            进程优先级。(优先级低的)
            已执行多长时间。(执行时间少的)
            还要多久能完成。(还要很久完成的)
            进程已经使用了多少资源。(占有资源多的)
            进程是交互式还是批处理式。(用户体验,批处理式的)

3. 内存管理

  1. 内存介绍
    程序执行前需要先放到内存中才能被CPU处理在这里插入图片描述
  2. 连续分配管理
    (1)连续分配的概念:为用户进程分配的必须是一个连续的内存空间
    (2)单一连续分配
    (3)固定分区分配****产生大量的内部碎片
    在这里插入图片描述

(4)动态分区分配 产生大量外部碎片,“紧凑”技术时间代价高 在这里插入图片描述

以下为非连续分配的管理方式(基本分页,基本分段,段页式)

  1. 基本分页存储管理将进程内存分页放入不连续的分区
    (1)引出:连续分配方式有产生(内部、外部)碎片的缺点,并且解决其会花费代价高。
    (2)基本分页存储概念:每个分区是一个页框。页框的编号为页框号。 进程内存的分区,每个分区为一个。页的编号为页号
    在这里插入图片描述

  2. 基本分段存储管理(进程的地址空间会按照程序的自身逻辑关系划分为若干个,每段从0开始编址
    (1)分段:进程的地址空间会按照程序的自身逻辑关系划分为若干个,每**段从0开始编址
    在这里插入图片描述
    (2)内存分配规则以段为单位进行分配每个段在内存中占连续空间但各段之间可以不相邻
    在这里插入图片描述
    (3) 段表
      概念:从物理内存中找到各个逻辑段的存放位置(段号可省略)在这里插入图片描述
    注意:1. 每个段对应段表中的一个项,其中记录了该段在内存中的起始位置和段的长度。
       2. 各个段表项的长度是相同的,因此段号可以隐含。

  3. 段页式管理
    (1)引出:结合分页管理和分段管理。在这里插入图片描述
    (2)概念将进程按自身逻辑分段,再将各段分页,再将内存空间分为大小相同的内存块。在这里插入图片描述
    (3)段表和页表在其中作用在这里插入图片描述
    (4)段页式地址变换中要得到物理地址须经过三次内存访问
        1. 第一次访问段表,得到页表起始地址;
        2. 第二次访问页表,得到物理页号;
        3. 第三次将物理页号与页内位移组合,得到物理地址。

  4. 虚拟内存(两张图片就可理解)

第一张
在这里插入图片描述

第二张
在这里插入图片描述
7.栈和堆的区别

  1. 分别由谁分配和释放?
    栈:由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
    堆:一般由程序员分配释放
  2. 怎么申请栈和堆空间?
    栈:只要栈的剩余空间大于所申请空间,系统将为程序提供内存,否则将报异常提示栈溢出。
    堆:操作系统有一个记录空闲内存地址的链表,当系统收到程序的申请时,会 遍历该链表,寻找第一个空间大于所申请空间的堆结点,然后将该结点从空闲结点链表中删除,并将该结点的空间分配给程序
  3. 申请栈和堆空间谁大?
    栈:一块连续的内存的区域(栈顶的地址和栈的最大容量是系统预先规定好的),从栈获得的空间较小。
    堆:系统是用链表来存储的空闲内存地址的,自然是不连续的。堆获得的空间比较灵活,也比较大。

操作系统八股:

  1. 操作系统的四个特性?
    并发:同一段时间内多个程序执行(与并行区分,并行指的是同一时刻有多个事件,多处理器系统可以使程序并行执行)
    共享:系统中的资源可以被内存中多个并发执行的进线程共同使用
    虚拟:通过分时复用(如分时系统)以及空分复用(如虚拟内存)技术把一个物理实体虚拟为多个
    异步:系统进程用一种走走停停的方式执行,(并不是一下子走完),进程什么时候以怎样的速度向前推进是不可预知的
  2. 什么是操作系统?请简要概述一下
    操作系统是管理计算机硬件和软件资源的计算机程序,提供一个计算机用户与计算机硬件系统之间的接口。
    向上对用户程序提供接口,向下接管硬件资源。
    操作系统本质上也是一个软件,作为最接近硬件的系统软件,负责处理器管理、存储器管理、设备管理、文件管理和提供用户接口。
  3. 操作系统有哪些分类?
    操作系统常规可分为批处理操作系统、分时操作系统、实时操作系统。
    若一个操作系统兼顾批操作和分时的功能,则称该系统为通用操作系统。
    常见的通用操作系统有:Windows、Linux、MacOS等。
  4. 什么是内核态和用户态?
    内核态是操作系统管理程序执行时所处的状态,能够执行包含特权指令在内的一切指令,能够访问系统内所有的存储空间。
    用户态是用户程序执行时处理器所处的状态,不能执行特权指令,只能访问用户地址空间。
    用户程序运行在用户态,操作系统内核运行在内核态。
  5. 并发和并行的区别
    并发 :指宏观上看起来两个程序在同时运行,比如说在单核cpu上的多任务。但是从微观上看两个程序的指令是交织着运行的,指令之间交错执行,在单个周期内只运行了一个指令。这种并发并不能提高计算机的性能,只能提高效率(如降低某个进程的相应时间)。
    并行 :指严格物理意义上的同时运行,比如多核cpu,两个程序分别运行在两个核上,两者之间互不影响,单个周期内每个程序都运行了自己的指令,也就是运行了两条指令。这样说来并行的确提高了计算机的效率。所以现在的cpu都是往多核方面发展。
  6. 什么是进程?
    进程一般由以下的部分组成:
    (1)进程控制块PCB,是进程存在的唯一标志,包含进程标识符PID,进程当前状态,程序和数据地址,进程优先级、CPU现场保护区(用于进程切换),占有的资源清单等。
    (2)程序段
    (3)数据段
  7. 简述进程间通信方法
    (1)管道:管道是一种半双工的通信方式,只能在具有亲缘关系的进程之间使用。一个进程向管道中写入数据,另一个进程从管道中读取数据。管道可以是匿名管道或命名管道。
    (2)共享内存:共享内存是一种高效的进程间通信方式,可以在多个进程之间共享同一块物理内存。多个进程可以同时读写共享内存中的数据,因此需要进行同步和互斥操作。
    (3)信号量:信号量是一种计数器,用于控制多个进程对共享资源的访问。当一个进程访问共享资源时,它需要获取信号量,如果信号量的值为0,则进程被阻塞,直到另一个进程释放了信号量。
    (4)消息队列:消息队列是一种进程间通信方式,可以在不同进程之间传递数据。一个进程向消息队列中发送消息,另一个进程从消息队列中接收消息。消息队列可以是有名队列或匿名队列。
    (5)套接字:套接字是一种网络通信方式,可以在不同主机之间进行进程间通信。套接字可以用于TCP/IP协议或UDP协议的通信。
    (6)文件映射:文件映射是一种将文件映射到进程地址空间的方式,可以在多个进程之间共享同一文件。多个进程可以同时读写文件映射中的数据,因此需要进行同步和互斥操作。
  8. 进程如何通过管道进行通信?
    (1)其本质是一个伪文件(实为内核缓冲区)
    (2)由两个文件描述符引用,一个表示读端,一个表示写端。
    (3)规定数据从管道的写端流入管道,从读端流出。
    局限性
    (1)数据自己读不能自己写。
    (2)数据一旦被读走,便不在管道中存在,不可反复读取。
    (3)由于管道采用半双工通信方式。因此,数据只能在一个方向上流动。
    (4)只能在有公共祖先的进程间使用管道。
  9. 进程调度的时机
    (1)当前运行的进程运行结束。
    (2)当前运行的进程由于某种原因阻塞。
    (3)执行完系统调用等系统程序后返回用户进程。
    (4)在使用抢占调度的系统中,具有更高优先级的进程就绪时。
    (5)分时系统中,分给当前进程的时间片用完。
  10. 不能进行进程调度的情况
    (1)在中断处理程序执行时。
    (2)在操作系统的内核程序临界区内。
    (3)其它需要完全屏蔽中断的原子操作过程中。
  11. 进程的调度算法
    (1)先到先服务调度算法
    (2)短作业优先调度算法
    (3)优先级调度算法
    (4)时间片轮转调度算法
    (5)高响应比优先调度算法
    (6)多级队列调度算法
    (7)多级反馈队列调度算法
  12. 进程调度算法的基本设计指标
    (1)CPU利用率
    (2)系统吞吐率,即单位时间内CPU完成的作业的数量。
    (3)响应时间。
    (4)周转时间。是指作业从提交到完成的时间间隔。从每个作业的角度看,完成每个作业的时间也是很关键(平均周转时间、带权周转时间、平均带权周转时间)
  13. 什么是孤儿进程?僵尸进程?
    孤儿进程:父进程退出,子进程还在运行的这些子进程都是孤儿进程,孤儿进程将被init进程(1号进程)所收养,并由init进程对他们完成状态收集工作。
    僵尸进程:进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait 获waitpid 获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中的这些进程是僵尸进程。
  14. 什么是线程?
    (1)是进程划分的任务,是一个进程内可调度的实体,是CPU调度的基本单位,用于保证程序的实时性,实现进程内部的并发。
    (2)线程是操作系统可识别的最小执行和调度单位。每个线程都独自占用一个虚拟处理器:独自的寄存器组,指令计数器和处理器状态。
    (3)每个线程完成不同的任务,但是属于同一个进程的不同线程之间共享同一地址空间(也就是同样的动态内存,映射文件,目标代码等等),打开的文件队列和其他内核资源。
  15. 简述线程和进程的区别和联系
    (1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。线程依赖于进程而存在。
    (2)进程在执行过程中拥有独立的地址空间,而多个线程共享进程的地址空间。(资源分配给进程,同一进程的所有线程共享该进程的所有资源。同一进程中的多个线程共享代码段(代码和常量),数据段(全局变量和静态变量),扩展段(堆存储)。但是每个线程拥有自己的栈段,栈段又叫运行时段,用来存放所有局部变量和临时变量。)
    (3)进程是资源分配的最小单位,线程是CPU调度的最小单位。
    (4)通信:由于同一进程中的多个线程具有相同的地址空间,使它们之间的同步和通信的实现,也变得比较容易。进程间通信,线程间可以直接读写进程数据段(如全局变量)来进行通信(需要一些同步方法,以保证数据的一致性)。
    (5)进程编程调试简单可靠性高,但是创建销毁开销大;线程正相反,开销小,切换速度快,但是编程调试相对复杂。
    (6)进程间不会相互影响;一个进程内某个线程挂掉将导致整个进程挂掉。
    (7)进程适应于多核、多机分布;线程适用于多核。
  16. 多线程模型
    (1)多对一模型。将多个用户级线程映射到一个内核级线程上。该模型下,线程在用户空间进行管理,效率较高。缺点就是一个线程阻塞,整个进程内的所有线程都会阻塞。几乎没有系统继续使用这个模型。
    (2)一对一模型。将内核线程与用户线程一一对应。优点是一个线程阻塞时,不会影响到其它线程的执行。该模型具有更好的并发性。缺点是内核线程数量一般有上限,会限制用户线程的数量。更多的内核线程数目也给线程切换带来额外的负担。linux和Windows操作系统家族都是使用一对一模型。
    (3)多对多模型。将多个用户级线程映射到多个内核级线程上。结合了多对一模型和一对一模型的特点。
  17. 什么是虚拟内存
    (1)它将主存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动区域,并根据需要在磁盘和主存之间来回传送数据,通过这种方式,它高效地使用了主存。
    (2)它为每个进程提供了一致的地址空间,从而简化了内存管理。
    (3)它保护了每个进程的地址空间不被其他进程破坏。
  18. 常见的页面置换算法
    (1)先进先出算法
    思路:置换最先调入内存的页面,即置换在内存中驻留时间最久的页面。
    实现:按照进入内存的先后次序排列成队列,从队尾进入,从队首删除。
    特点:实现简单;性能较差,调出的页面可能是经常访问的
    (2)最近最少使用算法
    思路:置换最近一段时间以来最长时间未访问过的页面。根据程序局部性原理,刚被访问的页面,可能马上又要被访问;而较长时间内没有被访问的页面,可能最近不会被访问。
    实现:缺页时,计算内存中每个逻辑页面的上一次访问时间,选择上一次使用到当前时间最长的页面
    特点:可能达到最优的效果,维护这样的访问链表开销比较大
    (3)最不常用算法
    思路:缺页时,置换访问次数最少的页面
    实现:每个页面设置一个访问计数,访问页面时,访问计数加1,缺页时,置换计数最小的页面
    特点:算法开销大,开始时频繁使用,但以后不使用的页面很难置换
对考试很有帮助的.......... 《计算机操作系统》期末复习指导 第一章 计算机操作系统概述 1、操作系统的概念 操作系统(Operating System,OS),是一种软件,属于系统软件; 1、科普的观点 操作系统计算机系统的管理控制中心,它依照设计者制定的各种调度策略组织管理计算机系统资源,使之能高效地运行。 2、功能的观点 操作系统是一个计算机资源管理系统,它负责计算机系统的全部资源的分配、控制、调度回收。 3、用户的观点 操作系统计算机与用户之间的接口,用户通过这种接口使用计算机。 4、软件的观点 操作系统是程序数据结构的集合。 5、管理的观点 操作系统计算机硬件软件资源的合理而协调的管理者。 6、 操作系统是一个大型的程序系统,它负责计算机的全部软、硬件资源的分配、调度工作,控制并协调并发活动,实现信息的存取保护。它提供用户接口,使用户获得良好的工作环境。操作系统使整个计算机系统实现了高效率高度自动化。 2、操作系统的生成五大类型 生成:产生最适合自己工作环境的OS内核(kernel)。既方便用户,又使系统开销尽量小;生成的配置过程如UNIX中newconfig命令;DOS中config.sys文件;维护由系统管理员负责。 操作系统的五大类型是批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统。 多道程序设计:即在系统内(内存)同时存放并运行几道相互独立的程序。 多道程序设计的基础:是将运行过程进一步细化成几个小的步骤,从而实现宏观上的并行。但从微观上看,内存中的多道程序轮流地或分时地占用处理机,交替执行。 多道程序系统 ≠ 多重处理系统 ≠ 多用户 ≠ 多终端 多道是指内存中驻留多个程序或一个程序的多个程序段,因此,多用户系统一定是采用多道技术。而多道系统不一定是多用户系统。多重处理系统一般指多CPU系统。当然,一个CPU的系统采用分时技术可以为多用户服务。多用户的关键技术是在用户之间要有保密保安措施。终端指用户使用的硬件设备,即使一个终端也可为多用户使用,例如,银行的自动取款机(ATM)。 •分时与实时 分时技术:把CPU的时间分成很短的时间片(例如,几十至几百毫秒)工作。随着时间片的时间减少,对换时间所占的比例随之增大。随着用户数目的不断增加,这种矛盾会越来越突出。 实时是指计算机对于外来信息能够以足够快的速度进行处理,并在被控对象允许的时间范围内做出快速反应。交互作用能力较差。 3、操作系统的五大功能 •作业管理:包括任务管理、界面管理、人机交互、图形界面、语音控制虚拟现实等; •文件管理:又称为信息管理; •存储管理:实质是对存储“空间”的管理,主要指对内存的管理; •设备管理:实质是对硬件设备的管理,其中包括对输入输出设备的分配、启动、完成回收; •进程管理:又称处理机管理,实质上是对处理机执行“时间”的管理,即如何将CPU真正合理地分配给每个任务。 4、表征操作系统的属性 主要有:响应比,并发性,信息的共享、保密与保护,可扩充性、可移植性、可读性、可“生成”性,安全可靠性,可测试性等。 第二章 用户与操作系统的接口 1、基本概念 作业(Job)是让计算机完成一件事或任务,可大可小,可多可少。 作业步(Job steps) :作业顺序执行的工作单元。 作业流(Job Stream) :作业步的控制流程。 作业类别:终端交互作业、批处理作业。 2、用户界面 三代用户界面: •第一代用户界面:操作命令系统调用在一维空间(命令行界面); •第二代用户界面:图形界面在二维空间(图形界面); •第三代用户界面:虚拟现实在三维空间(虚拟现实的界面元素)。 3、传统的人机接口 •操作命令 联机(键盘操作命令)、脱机(作业控制语言) 用户组合自编(Shell语言):DOS Shell;UNIX ;BShell、CShell等 •系统调用(System Call) 4、作业输入输出方式 •输入输出方式:脱机、直接耦合(交互联机) •SPOOLing:联机外围同时操作,假脱机(排队转储,设备虚拟技术) 5、作业调度 •作业调度的功能: (1)采用JCB(作业控制块)表格,记录各作业状况; (2)按选定的算法,从后备作业队列中选出一部分(多道)或一个作业投入运行; (3)为被选中的作业做好运行前的准备工作。例如建立相应的执行进程分配系统资源; (4)作业运行结束的善后处理工作。 •作业调度算法: (1)先来先服务(FCFS) 作业平均周转时间=∑(作业完成时刻i-作业提交时刻i)/n个作业 (2)最短作业优先:在作业内容参差很不均衡时有合理性 (3)“响应比”最高的优先 “响应(系数)比”:作业响应时间(等待运行)/作业运行时间 (4)定时轮转法(按时间片):适合作业不定的情况 (5)优先数法:急事先办的原则 第三章进程及处理机管理 1、为什么要引入“进程” (1)进程调度属于低级处理机管理,即确定系统中哪个进程将获得CPU;而作业调度属于高级处理机管理,即确定系统中哪些作业将获得CPU。 (2)进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。 (3)引入进程的意义是描述多道程序设计系统中程序的动态执行过程。 2、进程的定义及特征 (1)程序进程的区别 (2)进程的五个基本特征:动态性、并发性、独立性、制约性、结构性 3、进程调度 (1)进程的三个基本状态及转换 三个基本状态是等待、执行就绪,在一定的条件下,进程的状态将发生转换。 (2)进程调度算法 主要有先来先服务(FCFS)、时间片轮转法、多级反馈轮转法、优先数法。 (3)进程控制块(PCB)是进程存在的唯一标志,它描述了进程的动态性。 4、进程通信 (1)进程的同步与互斥 一般来说同步反映了进程之间的协作性质,往往指有几个进程共同完成一个任务时在时间次序上的某种限制,进程相互之间各自的存在及作用,通过交换信息完成通信。如接力比赛中一组队员使用接力棒等。 进程互斥体现了进程之间对资源的竞争关系,这时进程相互之间不一定清楚其它进程情况,往往指多个任务多个进程间的通讯制约,因而使用更广泛。如打篮球时双方挣抢篮板球等。 (2)临界区 并发进程中与共享资源有关的程序段定义为临界区。进入临界区的准则是:①一次只准一个进程进入临界区;②本进程结束负责通知下一进程;③进程调度,不能阻塞。 (3)原语 原语是不可中断的过程。 •加锁/开锁(LOCK/UNLOCK)原语 优点是实现互斥简单;缺点是效率很低。 •信号量(Semaphore)及PV操作 PV操作能够实现对临界区的管理要求。它由P操作原语V操作原语组成,对信号量进行操作,具体定义如下: P(S):①将信号量S的值减1,即S=S-1; ②如果S 0,则该进程继续执行;否则该进程置为等待状态,排入等待队列。 V(S):①将信号量S的值加1,即S=S+1; ②如果S>0,则该进程继续执行;否则释放队列中第一个等待信号量的进程。 信号量的数据结构为一个值一个指针,指针指向等待该信号量的下一个进程。信号量的值与相应资源的使用情况有关。当它的值大于0时,表示当前可用资源的数量;当它的值小于0时,其绝对值表示等待使用该资源的进程个数。注意信号量的值仅能由PV操作来改变。 一般来说,信号量S 0时,S表示可用资源的数量。执行一次P操作意味着请求分配一个单位资源,因此S的值减1;当S<0时,表示已经没有可用资源,请求者必须等待别的进程释放该类资源,它才能运行下去。而执行一个V操作意味着释放一个单位资源,因此S的值加1;若S 0,表示有某些进程正在等待该资源,因此要唤醒一个等待状态的进程,使之运行下去。 •消息缓冲通信原语 高级通信原语,用于一组信息发送(Send)与读取(Read)。 5、死锁 (1)死锁的概念 死锁是两个或两个以上的进程中的每一个,都在等待其中另一个进程释放资源而被封锁,它们都无法向前推进,称这种现象为死锁现象。 产生死锁的原因是共享资源有限,多个进程对共享资源的竞争,而且操作不当。 (2)产生死锁的四个必要条件是资源互斥使用、保持等待、非剥夺性、循环等待。 (3)解决死锁的方法 一般有死锁的预防,即破坏产生死锁的四个必要条件中的一个或多个,使系统绝不会进入死锁状态;死锁的避免,即在资源动态分配的过程中使用某种办法防止系统进人死锁状态;允许系统产生死锁,然后使用检测算法及时地发现并解除它。 安全状态、安全系列、银行家算法等 第四章 存储管理 1、存储管理使用的基本概念 •逻辑地址与物理地址 在具有地址变换机构的计算机中,允许程序中编排的地址信息实际存放在内存中的地址有所不同。前者叫逻辑(相对)地址,后者叫物理(绝对)地址。 •重定位:将逻辑地址转换为物理地址。 •虚拟存储管理 虚存是由操作系统调度,采用内外存的交换技术,各道程序在必需使用时调入内存,不用的调出内存,这样好象内存容量不受限制。 虚存的特点: (1)虚存容量不是无限的,极端情况受内存外存可利用的总容量限制; (2)虚存容量还受计算机总线地址结构限制; (3)速度容量的“时空”矛盾,虛存量的“扩大”是以牺牲CPU工作时间以及内外存交换时间为代价的。 •存储管理的目的及功能 目的是方便用户,提高内存资源的利用率,实现内存共享。 功能主要有内存的分配管理、内存的扩充技术、内存保护技术 2、分区分配存储管理 分为固定分区、可变分区、可重定位分区、多重分区。 内存“扩充”技术: •交换:由操作系统做,用户不知道。 •覆盖:由用户控制,操作系统提供覆盖机制。 内存保护技术: ---保护系统工作区用户作业区,特别是如何防止系统区被破坏。方法有存储保护键、界限寄存器 3、请求页式存储管理 (1)页式存储管理实现原理 基于程序在运行时不需要一开始都装入内存(局部性原理),更不应该把最近较长一段时间内不用的程序装入内存。 (2)页表的作用是将逻辑页号转换为物理块号。 (3)页面淘汰算法 先进先出算法(FIFO)、循环检测法、最近最少使用页面先淘汰(LRU)、最不经常使用的页面先淘汰(LFU)、最近没有使用页面先淘汰(NUR)、最优淘汰算法(OPT)等。 (4)页式存储管理的优、缺点 优点: •虛存量大,适合多道程序运行,用户不必担心内存不够的调度操作; •内存利用率高,不常用的页面尽量不留在内存; •不要求作业连续存放,有效地解决了“碎片”问题。与分区式相比,不需移动作业;与多重分区比,无零星碎片产生。 缺点: •要处理页面中断、缺页中断处理等,系统开销较大; •有可能产生“抖动”; •地址变换机构复杂,为提高速度采用硬件实现,增加了机器成本。 4、段式、段页式存储管理 段式、页式存储管理的对比。 段页式存储管理特点: •每一段分若干页,再按页式管理,页间不要求连续; •用分段方法分配管理作业,用分页方法分配管理内存; •兼有段式页式管理的优点,系统复杂开销增大,一般在大型机器上才使用。 第五章文件管理 1、文件管理任务与功能 任务:把存储、检索、共享保护文件的手段,提供给操作系统本身用户,以达到方便用户提高资源利用率的目的。 功能: ---分配与管理外存 ---提供合适的存储方法 ---文件共享、保护,解决命名冲突 文件组织结构:文件、文件元素、文件系统 •文件系统 = 文件管理程序(文件目录的集合)+ 它所管理的全部文件; •文件系统是用户与外存的接口; •为用户提供统一方法(以数据记录的逻辑单位),访问存储在物理介质上的信息。 2、文件分类 (1)按文件性质与用途分:系统文件、库文件、用户文件 (2)按操作保护分:只读文件、可读可写文件、可执行文件 (3)按使用情况分:临时文件、永久文件、档案文件 (4)按用户观点分:普通文件、目录文件、特殊文件 (5)按存取的物理结构分:顺序(连续)文件、链接文件、索引文件 (6)按文件的逻辑存储结构分:有结构文件、无结构文件 (7)按文件中的数据形式分:源文件、目标文件 3、文件的逻辑结构物理结构 •文件的逻辑结构 ---从用户观点看 ---按文件名及记录号存取文件,是一维、连续的字符序列,方便存储、检索或加工 ---文件由若干个逻辑记录组成,并加以命名或编号 •文件的物理结构 又称文件的存储结构,是指文件在外存上的存储组织形式,是与存储介质的存储性能有关; 空闲空间的管理方法主要有:空闲表法、空闲(自由)链表法、成组链接法 4、文件目录 (1)文件目录分类:一级文件目录、二级文件目录、多级文件目录 (2)文件目录的管理 •目录做成文件,文件系统便于内部统一管理,目录文件在使用时调入内存; •在操作系统中,大量采用“表格”管理。 5、文件存取控制 •解决文件保护、保密共享 •常用的文件存取控制方法有:存取控制矩阵、用户权限表、使用口令、使用密码 6、文件系统的数据结构表示 UNIX或Linux操作系统中文件系统的主要特点 (1)操作系统文件的目录组织是一个树形结构,从根结点到叶子称为文件的全路径名,文件可以由其全路径名唯一确定; (2)文件本身是无结构的字符流; (3)把外部设备的特殊文件普通文件以及目录文件都统一在文件这一概念上,对于一般文件的访问、共享保护方式也可以适用于外部设备。 第六章 输入输出设备管理 1、设备管理的任务功能 •设备管理的任务 (1)按用户需求提出的要求接入外部设备,系统按一定算法分配管理控制,而用户不必关心设备的实际地址控制指令; (2)尽量提高输入输出设备的利用率,例如发挥主机与外设以及外设与外设之间的真正并行工作能力。 •设备管理的功能 (1)分配设备 (2)控制实现真正的输入输出操作 (3)对输入输出缓冲区进行管理 (4)在一些较大系统中实现虚拟设备技术 2、外部设备分类 (1)按系统用户分:系统设备、用户设备 (2)按输入输出传送方式分(UNIX或Linux操作系统):字符型设备、块设备 (3)按资源特点分:独享设备、共享设备、虚拟设备 (4)按设备硬件物理特性分:顺序存取设备、直接存取设备 (5)按设备使用分:物理设备、逻辑设备、伪设备 •设备I/O方式:询问、通道、中断 •I/O设备分配算法:先来先服务(FCFS)、按优先级进行分配 3、设备管理技术 (1)I/O设置缓存理由 •解决信息的到达率离去率不一致的矛盾; •缓存起中转站的作用; •使得一次输入的信息能多次使用; •在通道或控制器内设置局部寄存器作为缓冲存储器,可暂存I/O信息,以减少中断CPU的次数。这种情形可进一步推广,使得一次读入的信息可多次重复使用。 (2)虚拟设备的技术(SPOOLing) SPOOLing,即外围设备联机并行操作,它是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常也叫做“假脱机技术”。是一种预输入、缓输出转储的管理技术. SPOOLing系统的特点: •提高了I/O速度; •将独享设备改造为共享设备(典型例子是打印机的“共享”); •实现了虚拟设备功能。 4、设备处理程序编制内容 •设备驱动程序的功能 (1)将接收到的抽象要求转换为具体要求; (2)检查用户I/O请求的合法性,了解I/O设备的状态,传递有I/O关参数,设置设备的工作方式; (3)发出I/O命令,启动分配到的I/O设备,完成指定的I/O 操作; (4)及时响应由控制器或通道发来的中断请求,并根据其中断类型调用相应的中断处理程序进行处理; (5)对于设置有通道的计算机系统,驱动程序还应能够根据用户的 I/O请求,自动地构成通道程序。 •设备驱动程序的特点 (1)驱动程序主要是在请求I/O的进程与设备控制器之间的一个通信程序。 (2)驱动程序与I/O设备的特性紧密相关。 (3)驱动程序与I/O控制方式紧密相关。 (4)由于驱动程序与硬件紧密相关,因而其中的一部分程序用汇编语言书写,目前有很多驱动程序,其基本部分已经固化,放在ROM中。 •设备处理方式 (1)将抽象要求转换为具体要求 (2)检查I/O请求的合法性 (3)读出检查设备的状态 (4)传送必要的参数 (5)方式的设置I/O设备启动 难点分析 •如何理解操作系统计算机系统中的地位? 操作系统是软件,而且是系统软件。它在计算机系统中的作用,大致可以从两方面体会:对内,操作系统管理计算机系统的各种资源,扩充硬件的功能;对外,操作系统提供良好的人机界面,方便用户使用计算机。它在整个计算机系统中具有承上启下的地位。 •系统调用与一般过程调用的区别。 系统调用在本质上是一种过程调用,但它是一种特殊的过程调用,它与一般过程调用的主要区别如下: (1)运行状态不同。一般的过程调用,其调用被调用过程都是用户程序,它们都运行在同一系统状态下;而系统调用的调用过程是用户程序,它运行在用户态,其被调用过程是系统过程,运行在系统态。 (2)进入方式不同。一般过程调用可以直接通过过程调用语句将控制转移到被调用过程;而执行系统调用时,由于调用被调用过程处于不同系统状态,必须通过访管中断进入。 (3)代码层次不同。一般过程调用中的被调用程序是用户级程序,而系统调用是操作系统中的代码程序,是系统级程序。 •下表给出作业l、2、3的提交时间运行时间。采用先来先服务调度算法短作业优先调度算法,试问平均周转时间各为多少?(时间单位:小时,以十进制进行计算。) 解:采用先来先服务调度策略,则调度顺序为l、2、3。  平均周转时间T=(8+11.6+12)/3=10.53 采用短作业优先调度策略,则调度顺序为l、3、2。  平均周转时间T=(8+8+12.6)/3=9.53 •试述文件管理系统设置打开文件、关闭文件命令的原因。 解:操作系统需要处理大量用户文件,而访问一个文件需要查询目录,有时甚至需要多次查询目录。由于文件目录与文件一起存放在辅存上,当存取文件时,必须先到辅存中读取文件目录信息,从中获得文件的存放地址,然后再去存取文件。这样一来,文件信息的存取将花费很多时间。如果将整个文件目录放入主存,虽然可以提高存取速度,但这需要占用大量主存空间,显然这也是不可取的。 实际上,在一段时间内使用的文件数总是有限的,因此只要将目录中当前要使用的那些文件的目录表目复制到内存中就可以了。这样既不占用太多的主存空间,又可显著提高查询文件目录的速度。为此,大多数操作系统中设置了两个文件操作:打开文件关闭文件。 打开文件操作完成的功能是将文件的有关目录信息复制到主存活动文件表中,以建立用户这个文件的联系。关闭文件操作的功能是用户宣布这个文件当前不再使用,系统将其在主存中的相应目录信息删去,因而也就切断了用户同这个文件的联系。 •有一个文件系统如图(a)所示,图中的框表示目录,圈表示普通文件。根目录常驻内存,目录文件组织成链接文件,不设文件控制块,普通文件组织成索引文件。目录表目指示下一级文件名及其磁盘地址(各占2个字节,共4个字节)。若下级文件是目录文件,指示其第一个磁盘块地址。若下级文件是普通文件,指示其文件控制块的磁盘地址。每个目录文件磁盘块最后4个字节供拉链使用。下级文件在上级目录文件中的次序在图中为从左至右。每个磁盘块有512字节,与普通文件的一页等长。 普通文件的文件控制块组织结构如图(b)所示,其中每个磁盘地址占2个字节,前10个地址直接指示该文件前10页的地址。第11个地址指示一级索引表地址,一级索引表中每个磁盘地址指示一个文件页地址;第12个地址指示二级索引表地址,二级索引表中每个地址指示一个一级索引表地址;第13个地址指示三级索引表地址,三级索引表中每个地址指示一个二级索引表地址。问: (1)一个普通文件最多可有多少个文件页? (2)若要读文件J中的某一页,最多启动磁盘多少次? (3)若要读文件W中的某一页,最少启动磁盘多少次? 答:(1)由题目中所给条件可知,磁盘块大小为512字节,每个磁盘地址占2个字节。因此,一个一级索引表可容纳256个磁盘地址。同样地,一个二级索引表可容纳256个一级索引表地址,一个三级索引表可容纳256个二级索引表地址。这样,一个普通文件最多可有页数为:10+256+256×256+256×256×256=16843018 (2)从图(a)中可以看出,目录文件A目录文件D中的目录项都只有两个,因此这两个目录文件都不需要拉链。若要读文件J中的某一项,首先从内存的根目录中找到目录文件A的磁盘地址,将其读入内存(第1次访问磁盘)。然后再从目录A中找出目录文件D的磁盘地址,并将其读入内存(第2次访问磁盘)。从目录D中找出文件J的文件控制块地址,将文件J的文件控制块读入内存(第3次访问磁盘)。在最坏情况下,要访问页的磁盘地址需通过三级索引才能找到,这时要三次访问磁盘才能将三级索引表读入内存(第4、5、6次访问磁盘)。最后读入文件J中的相应页(第7次访问磁盘)。 由此可知,若要读文件J中的某一页,最多启动磁盘7次。 (3)从图(a)中可以看出,目录文件C目录文件U中,目录项数目较多,若目录项数超过127(512/4-l=127),则目录文件的读入可能需要多次磁盘读(因目录文件组织成链接文件)。在最好情况下,所找的目录项都在目录文件的第一个磁盘块中。若要读文件W中的某一页,首先从内存的根目录中找到目录文件C的磁盘地址,将其读入内存(第1次访问磁盘)。在最好情况下,能从目录C的第一个磁盘块中找出目录文件互的磁盘地址,并将其读入内存(第2次访问磁盘)。从目录I中找出目录文件P的的磁盘地址,将其读入内存(第3次访问磁盘)。从目录P中找到目录文件U的磁盘地址,将其读入内存(第4次访问磁盘)。在最好情况下,能从目录U的第一个磁盘块中找出文件W的文件控制块地址,将文件W的文件控制块读入内存(第5次访问磁盘)。在最好情况下,要访问的页在前10页中,这时可直接得到该页的磁盘地址。最后读入文件W中的相应页(第6次访问磁盘)。 由此可知,若要读文件W中的某一页,最少启动磁盘6次。 •采用可变分区管理存储空间时,若主存中按地址顺序依次有五个空闲区,大小分别为15K、28K、10K、226K、110K。现有五个作业J1到J5,它们所需的主存空间依次是10K、15K、102K、26K、180K。问如果采用首次适应分配算法,能否把这五个作业按J1到J5的次序全部装入主存。使用哪种分配算法装入这五个作业,可使主存的利用率最高? 解:按首次适应分配算法,不能把这五个作业全部依次装入主存。这时J1、J2装入第1、2个空闲区,J3、J4装入第4、5个空闲区,J5有180K,无法装入仅有的10K空闲区。 能使主存利用率最高的是采用最佳适应分配算法。这时,这五个空闲块分别装入作业J2、J4、J1、J5、J3。 •某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB。假定某时刻一用户页表中已调入内存的页面的页号物理块号的对照表如下: 请计算逻辑地址0A5C(H)所对应的绝对地址。 解:页式存储管理的逻辑地址分为两部分:页号页内地址。由已知条件“用户编程空间共32个页面”,可知页号部分占5位;由“每页为1KB”,1K=210,可知内页地址占10位。由“内存为16KB”,可知有16块,块号为4位。 逻辑地址0A5C(H)所对应的二进制表示形式是:000 1010 0101 1100 ,根据上面的分析,下划线部分为页内地址,编码 “000 10” 为页号,表示该逻辑地址对应的页号为2。查页表,得到物理块号是4(十进制),即物理块地址为:01 00 ,拼接块内地址10 0101 1100,得01 0010 0101 1100,即125C(H)。 •某采用页式存储管理的系统,接收了一个共7页的作业,作业执行时依次访问的页为:1、2、3、4、2、1、5、6、2、1、2、3、7。当内存块数量为4时,请分别用先进先出(FIFO)调度算法最近最少使用(LRU)调度算法,计算作业执行过程中会产生多少次缺页中断?写出依次产生缺页中断后应淘汰的页。(所有内存开始时都是空的,凡第一次用到的页面都产生一次缺页中断。要求写出计算过程) 解:(1)采用先进先出(FIFO)调度算法,页面调度过程如下: 所以,共产生10次缺页中断,依次淘汰的页是1、2、3、4、5、6。 (2)采用最近最少使用(LRU)调度算法,页面调度过程如下: 因此,共产生8次缺页中断,依次淘汰的页是3、4、5、6。 •试述分页式存储管理系统分段式存储管理系统的主要区别。 解:分页分段有许多相似之处,比如两者都不要求作业连续存放。但在概念上两者完全不同,主要表现在以下几个方式: (1)页是信息的物理单位,分页是为了实现非连续分配,以便解决内存碎片问题,或者说分页是由于系统管理的需要。段是信息的逻辑单位,它含有一组意义相对完整的信息,分段的目的是为了更好地实现共享,满足用户的需要。 (2)页的大小固定,由系统确定,将逻辑地址划分为页号页内地址是由机器硬件实现的。而段的长度却不固定,决定于用户所编写的程序,通常由编译程序在对源程序进行编译时根据信息的性质来划分。 (3)分页的作业地址空间是一维的。分段的地址空间是二维的。 •为什么说有了通道技术中断技术才真正做到了CPU与外设的并行操作? 解:通道是负责外围设备与主存之间进行数据交换,能单独完成输入输出操作的处理机。有了通道,主存外围设备之间的数据交换就不要CPU干预了,CPU可以做与输入输出无关的其他工作,从而使计算机系统获得了CPU与外围设备之间并行工作的能力。 I/O中断是通道CPU协调工作的一种手段。如果没有中断技术,CPU就要不断去查询通道以及设备执行的情况,这样一来,CPU还是把大量的时间花在了查询上,不能很好地为其他进程服务。使用中断技术,CPU可以完全不管通道设备的执行情况,因为无论操作正常结束或操作异常结束,通道都会发出中断,通知CPU来处理。 综上所述,通道技术中断技术的出现,使得主存可以直接与外设交换数据,而CPU得以并行地工作,大大提高了CPU的使用效率。 •某分时系统的进程出现如图所示的状态变化。 试问:(1)你认为该系统采用的是何种进程调度算法? (2)把图中所示的六个状态变化的原因写出来。 解:(1)该分时系统采用的进程调度算法是时间片轮转法。 (2)①进程被选中,变成运行态;②时间片到,运行的进程排入就绪队列尾部;③运行的进程启动打印机,等待打印;④打印工作结束,等待的进程排入就绪队列尾部;⑤等待磁盘读文件工作;⑥磁盘传输信息结束,等待的进程排入就绪队列尾部。 •怎样理解操作系统的作业调度进程调度的关系? 解:作业调度进程调度都属于处理机调度。作业调度是处理机管理的高级形式,它的主要功能是审查系统是否能满足用户作业的资源要求以及按照一定的算法来选取作业。进程调度是处理机管理的低级形式,它的主要功能是根据一定的算法将CPU分派给就绪队列中的一个进程。 作业的状态及其转换 操作系统中作业的状态主要有:提交、后备、执行、完成,进程的状态主要有等待、就绪、执行。作业调度进程调度的转换关系见下图。 •用PV操作实现进程间的同步与互斥应该注意什么? 解:用PV操作实现进程间的同步与互斥,应该注意以下四方面问题: (1)对每一个共享资源都要设立信号量。互斥时对一个共享资源设立一个信号量;同步时对一个共享资源可能要设立两个或多个信号量,要视由几个进程来使用该共享变量而定。 (2)互斥时信号量的初值一般为1;同步时至少有一个信号量的初值大于等于1。 (3)PV操作一定要成对调用。互斥时在临界区前后对同一信号量作PV操作;同步时则对不同的信号量作PV操作,PV操作的位置一定要正确。 (4)对互斥同步混合问题,PV操作可能会嵌套,一般同步的PV操作在外,互斥的PV操作在内。 三、课程练习及参考解答 一、填空 1、设备I/O方式有如下三种:_________、_____________________。 2、文件存取方式按存取次序通常分_________________、_______________,还有一类 ______________。 3、从用户观点看,UNIX系统将文件分三类:___________________、___________________ _________________。 4、引起死锁的四个必要条件是 、________________、 __________________。 5、进程的三个最基本状态是_____________、_________________________。 6、传统操作系统提供编程人员的接口称为________________。 7、三代人机界面的发展是指:______________、________________________________。 8、常用的进程调度算法有_________________、____________________________________。 二、选择一个正确答案的序号填入括号中 1、计算机操作系统是一个( )。 A. 应用软件 B. 硬件的扩充 C. 用户软件 D.系统软件 2、操作系统程序结构的主要特点是( )。 A. 一个程序模块 B. 分层结构 C. 层次模块化结构 D. 子程序结构 3、面向用户的组织机构属于( )。 A. 虚拟结构 B. 逻辑结构 C. 实际结构 D. 物理结构 4、操作系统中应用最多的数据结构是( )。 A. 堆栈 B. 队列 C. 表格 D. 树 5、可重定位内存分区分配目的为( )。 A. 解决碎片问题 B. 便于多作业共享内存 C. 回收空白区方便 D. 摆脱用户干预 6、逻辑地址就是( )。 A. 用户地址 B. 相对地址 C. 物理地址 D.绝对地址 7、原语是( )。 A. 一条机器指令 B. 若干条机器指令组成 C. 一条特定指令 D. 中途能打断的指令 8、索引式(随机)文件组织的一个主要优点是( )。 A. 不需要链接指针 B. 用户存取方便 C.回收实现比较简单 D.能实现物理块的动态分配 9、几年前一位芬兰大学生在Internet上公开发布了以下一种免费操作系统核心( ),经过许多人的努力,该操作系统正不断完善,并被推广。 A. Windows NT B. Linux C. UNIX D. OS2 10.文件目录的主要作用是( )。 A. 按名存取 B.提高速度 C.节省空间 D.提高外存利用率 11、某进程在运行过程中需要等待从磁盘上读入数据,此时该进程的状态是( )。 A. 从就绪变为运行 B.从运行变为就绪 C. 从运行变为阻塞 D.从阻塞变为就绪 12、把逻辑地址转变为内存的物理地址的过程称作( )。 A.编译 B.连接 C.运行 D.重定位 13、进程程序的一个本质区别是( )。 A.前者分时使用CPU, 后者独占CPU B.前者存储在内存,后者存储在外存 C.前者在一个文件中,后者在多个文件中 D.前者为动态的,后者为静态的 三、是非题,正确的在括号内划√,错的划×。 ( )1、进程间的相互制约关系体现为进程的互斥同步。 ( )2、只有一个终端的计算机无法安装多用户操作系统。 ( )3、UNIX的最大特点是分时多用户、多任务倒树型文件结构。 ( )4、常用的缓冲技术有双缓冲,环形缓冲缓冲池。 ( )5、实时操作系统的响应系数最小,设备利用率最差。 ( )6、死锁是指两个或多个进程都处于互相等待状态而无法继续工作。 ( )7、具有多道功能的操作系统一定是多用户操作系统。 ( )8、一般的分时操作系统无法做实时控制用。 ( )9、多用户操作系统在单一硬件终端硬件支持下仍然可以工作。 ( )10、常用的缓冲技术是解决慢速设备与快速CPU处理之间协调工作。 四、回答题 1、试以生产者——消费者问题说明进程同步问题的实质。 2、以一台打印机为例,简述SPOOLing 技术的优点。 3、简述请求页式存储管理的优缺点。 4、虚拟存储器的基本特征是什么?虚拟存储器的容量主要受到什么限制? 5、现代操作系统与传统操作系统相比,设计中采用了哪些先进技术? 练习参考解答 一、填空 1、询问、中断、通道 2、顺序存取、直接存取、按键索引 3、普通(用户)、目录、特殊 4、互斥使用、保持等待、非剥夺性、循环等待 5、准备(就绪)、执行、等待 6、系统调用 7、一维命令行、二维图形界面、三维虚拟现实 8、先来先服务、优先数法、轮转法 二、选择题 1、D 2、C 3、B 4、C 5、A 6、B 7、B 8、D 9、B 10、A 11、C 12、D 13、D 三、是非题 有错误的是第2、5、7题,其余均是正确的。 四、回答题 1、答:一个生产者,一个消费者一个产品之间关系是典型的进程同步问题。设信号量S为仓库内产品,P-V操作配对进行缺一不可。生产者进程将产品放入仓库后通知消费者可用;消费者进程在得知仓库有产品时取走,然后告诉生产者可继续生产。 2、答:以一台打印机为例, SPOOLing 技术的主要优点是在多用户情况下,每一个用户使用打印机就好像自己拥有一台打印机。不会产生打印机“忙”而等待。 3、答:优点: (1)虛存量大,适合多道程序运行,用户不必担心内存不够的调度操作。动态页式管理提供了内存与外存统一管理的虚存实现方式。 (2)内存利用率高,不常用的页面尽量不留在内存。 (3)不要求作业连续存放,有效地解决了“碎片”问题。与分区式比,不需移动作业;与多重分区比,无零星碎片产生。UNIX操作系统较早采用。 缺点: (1)要处理页面中断、缺页中断处理等,系统开销较大。 (2)有可能产生“抖动”。 (3)地址变换机构复杂,为提高速度采用硬件实现,增加了机器成本。 4、答:虚存是由操作系统调度,采用内外存的交换技术,各道程序在必需使用时调入内存,不用的调出内存,这祥好像内存容量不受限制。但要注意: (1)虚存容量不是无限的,极端情况受内存、外存的可使用的总容量限制; (2)虚存容量还受计算机总线长度的地址结构限制; (3)速度容量的“时空”矛盾,虛存量的“扩大”是以牺牲CPU工作时间以及内、外存交换时间为代价的。 5、答:现代操作系统是指网络操作系统分布式操作系统,采用了网络地址方案、网络协议、路由技术微内核等先进技术。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值