操作系统第一章到第三章复习

一、 第一章

  1. 设计现代OS的主要目标是:有效性、方便性、可扩展性、开放性。
  2. 操作系统的作用:作为用户和计算机硬件系统的接口。作为计算机资源的管理者。实现了对计算机资源的抽象
  3. 操作系统的主要功能
  1. 处理机管理
    主要功能:创建和撤销进程。
    主要任务:进程控制、进程同步、进程通信、调度。
  2. 存储器管理
    主要功能:为多道程序提供良好的环境,提高存储器的利用率,方便用户使用,并从逻辑上扩充内存。
    主要任务:内存分配、内存保护、地址映射、内存扩充。
  3. 设备管理
    主要功能:完成用户提出的I/O请求,为用户进程分配I/O设备,提高CPU和I/O设备的利用率。
    主要任务:设备分配、缓冲管理、设备处理。
  4. 文件管理
    主要功能:对用户文件和系统文件进行管理方便用户使用,并保证文件的安全性。
    主要任务:文件存储空间管理、目录管理、文件的读写管理和保护。
    二、 第二章
  1. 操作系统中引入进程的目的是为了使多个程序能并发执行,以提高资源利用率和系统吞吐量,在操作系统中再引入线程,则是为了减少程序在并发执行时所付出的时空开销。
  2. 前趋图是指一个有向不循环图,用于描述进程之间执行的先后顺序。
  3. 程序并发执行时为什么会产生间断性特征:由于程序在并发执行时,他们共享系统资源,以及为了完成同一项任务而相互合作,只是他们这些程序之间形成了相互制约的关系。
  4. 程序并发执行时为什么会失去封闭性和可在现性:当系统中存在多个可以并发的程序时,系统中的各种资源将为他们所共享,这些资源状态也由程序来改变,使得一个程序在运行时必然会受到其他程序的影响。由于失去了封闭性也使其失去了可在现性。
  5. 说明进程与程序的区别(进程4个特征:动态、并发、独立、异步)
  1. 动态性:程序是指令的有序集合,其本身没有任何运行的含义,它是一个静态的概念。而进程是程序在处理机上的一次执行过程,它是一个动态概念。
  2. 并发性:多个进程实体同存于内存中,且能在一段时间内同时运行。并发性是进程的重要特征,也是OS的重要特征。引入进程的目的也正是为了使其进程实体能和其它进程实体并发执行;而程序(没有建立PCB)是不能并发执行的。
  3. 独立性:在传统的OS中,独立性是指进程实体是能独立分配资源和独立接受调度,能独立运行的基本单位。凡未建立PCB的程序都不能作为一个独立的单位参与运行。
  4. 异步性:进程实体按异步方式运行,推进次序每次不一定相同
  1. PCB是系统为每个进程定义的一个数据结构,其作用是使程序(含数据)能独立运行;PCB使一个在多道程序环境下不能独立运行的程序(含数据)成为一个能独立运行的基本单位,一个能与其他进程并发执行的进程,因此PCB是为了保证程序的并发执行。创建进程,实质上是创建进程的PCB;而撤销进程,实质上是撤销进程的PCB。
    在进程的整个生命周期中,系统总是通过PCB对进程进行控制的,亦即系统是根据 进程的PCB感知该进程的存在的,所以,PCB是进程存在的唯一标志。
  2. 进程在三个基本状态之间转换的典型原因
  1. 就绪状态→执行状态:进程分配到CPU资源
  2. 执行状态→就绪状态:时间片用完
  3. 执行状态→阻塞状态:I/O请求
  4. 阻塞状态→就绪状态:I/O完成
  1. 为什么要在OS引入线程?
    由于进程是资源的拥有者,所以在创建、撤销、切换操作中需要较大的时空开销,限制了并发程度的进一步提高。为减少进程切换的开销,把进程作为资源分配单位和调度单位这两个属性分开处理,即进程还是作为资源分配的基本单位,但是不作为调度的基本单位(很少调度或切换),把调度执行与切换的责任交给“线程”。
  2. 线程有哪些属性:
    1)每个线程有一个唯一的标识符和一张线程描述表,线程描述表记录了线程执行的寄存器以及栈等现场状态。
    2)不同的线程可以执行相同的程序,即同一个服务程序被不同用户调用时操作系统为它们创建不同的线程。
    3)同一个进程中的各个线程共享该进程的内存地址空间。
    4)线程是处理器的独立调度单位,多个线程是可以并发执行的。在单处理器的计算机系统中,各线程可交替地占用处理器;在多处理器的计算机系统中,各线程可同时占用不同的处理器;若各个处理器同时为一个进程内的各线程服务,则可缩短进程的处理时间。
    5)一个线程在被创建后便开始了它的生命周期,直至终止;线程在生命周期内会经历等待状态、就绪态和运行态等各种状态变化。
  3. 线程和进程的比较:
    (1)调度性。
    在传统的操作系统中,拥有资源的基本单位和独立调度、分派的基本单位都是进程,在引入线程的OS中,则把线程作为调度和分派的基本单位,而把进程作为资源拥有的基本单位;
    (2)并发性。
    在引入线程的OS中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间,亦可并发执行,因而使OS具有更好的并发性;
    (3)拥有资源。
    无论是传统的操作系统,还是引入了线程的操作系统,进程始终是拥有资源的一个基本单位,而线程除了拥有一点在运行时必不可少的资源外,本身基本不拥有系统资源,但它可以访问其隶属进程的资源;
    (4)开销。
    由于创建或撤销进程时,系统都要为之分配和回收资源,如内存空间等,进程切换时所要保存和设置的现场信息也要明显地多于线程,因此,操作系统在创建、撤消和切换进程时所付出的开销将显著地大于线程。
  4. 线程控制块TCB中包含了哪些内容:
  1. 线程标识符:唯一标识的线程标识符
  2. 一组寄存器:通用寄存器、程序计数器PC、状态寄存器
  3. 线程运行状态:描述当前线程运行状态
  4. 优先级:描述线程优先程度。
  5. 线程专有存储区:用于线程切换时存放现场保护信息,和于该线程相关信息的统计。
  6. 信号屏蔽:对某些信号加以屏蔽。
  7. 堆栈指针:在线程运行时,经常会进行过程调用,而过程调用会出现多重嵌套的情况,所以需要把局部变量和返回地址保存起来。
    三、 第三章
  1. 高级调度与低级调度的主要任务是什么?为什么要引入中级调度?
    高级调度,调度对象是作业,主要功能是根据某种算法决定将外存上处于后备队列中的哪几个作业调入内存,为他们创建进程、分配必要资源。
    低级调度,调度对象是进程,根据某种算法决定就绪队列中哪个进程应获得处理机,并由分配程序将处理机分配给被选中的进程。
    引入中级调度是为了提高内存利用率和系统吞吐量。
  2. 处理机调度算法的共同目标是什么?批处理系统的调度目标?
  1. 提高系统资源的利用率,是系统的处理机和其他资源尽可能地保持忙碌。
  2. 使得进程都获得合理的CPU时间,保证公平性。
  3. 尽可能地保持系统资源使用的平衡性。
  4. 策略强制执行,对于指定的策略其中包括安全策略,就必须要一准确的执行。
    批处理目标
    平均周转时间段、系统吞吐量高、处理机使用率高。
  1. 在什么情况下需要使用JCB作业处理模块,其包含了哪些内容?
    为了调度和管理作业,批处理系统中,为每个作业配置了一个JCB,它是作业存在的标志。
    JCB包含的内容:作业标识,用户名称,用户账号,作业类型,作业状态,调度信息,资源需求,资源使用情况等。
  2. 在作业调度中需要怎么确定需要接纳多少个作业和接纳那些作业?
    取决于多道程序度,及允许多少个作业同时在内存中运行。
    取决于所采用的调度算法。
  3. 为什么要引入高响应比优先算法?及考虑了作业的等待时间也考虑了作业运行时间的调度算法。既照顾了短作业,也不至于长作业等待时间过长,改善了处理机调度的性能。
  4. 在选择调度算法和调度方式的原则是?
    面向用户的准则:(1)周转时间短(2) 响应时间快(3) 截止时间的保证(4) 优先权准则
    面向系统的准则:(1) 系统吞吐量高(2) 处理机利用率好(3) 各类资源的平衡利用
  5. 批处理系统、分时系统和实时系统各采用哪几种进程调度算法?
    批处理作业调度算法有:先来先服务算法(FCFS)、短作业优先算法(SJF)、优先级调度算法(HPF)和高响应比优先算法(RF)。
    进程调度算法有:先进先出算法(FIFO)、短进程优先算法(SPF)、优先级调度算法(HPF)和高响应比优先算法(RF)。
    分时系统进程只设有进程调度,调度算法只有轮转法(RR)一种。
    实时系统中只设有进程(不设作业调度),其进程调度算法调度有:轮转法、优先级调度算法。前者适用于时间要求不严格的实时系统;后者用于时间要求严格的实时系统。
  6. 静态和动态优先级,怎么确定优先级?
    静态优先级:在创建进程时确定的,且在进程的整个运行期间保持不变
    动态优先级:在创建进程时所赋予的优先权,是可以随进程的推进或随其等待时间的增加而改变的,以便获得更好的调度性能。
    ①进程类型:通常,系统进程(如接收进程、对换进程、磁盘I/O进程)的优先权高于一般用户进程的优先权
    ②进程对资源的要求:如进程的估计执行时间及内存需要量的多少,对这些要求少的进程应赋予较高的优先权
    ③用户要求:这是用户进程的紧迫程度及用户所付费用的多少来确定优先权的。
  7. 试着比较FCFS和SJF算法?
    性质相同:都是作为一种调度算法
    作用对象相同:都可以用于作业调度和进程调度

算法思想不同
FCFS算法是指进程调度时是从就绪的进程队列中选择一个最先进入该队列的进程,为之分配处理机,使之投入运行的一种调度算法。
SJF算法是指以作业的长短来计算优先级,作业越短,其优先级越高,越优先将他们调入内存运行。

优缺点相对
FCFS有利于长作业,不利于短作业
SJF有利于短作业,不利于长作业
10. 在时间片轮转算法中,如何确定时间片大小?
一个可取的时间片大小是略大于一次典型的交互所需要的时间。
11. 为什么说多级反馈队列能较好的满足各方面的用户需要?
对终端型作业用户而言,由于他们所提交的大多属于交互型作业,作业通常比较短小,系统只要能使这些作业在第1级队列所规定的时间片内完成,便可使终端型作业用户感到满意;对于稍长的作业,通常也只需要在第2级队列和第3级队列中各执行一个时间片即可完成,其周转时间仍然较短;对于长批处理作业用户而言,它们的长作业将依次在第1,2,…,直到第n级队列中运行,然后再按时间片轮转方式运行,用户不必担心其作业长期得不到处理。
12. 什么是最早截止时间调度算法?
该算法是根据任务的截止时间确定任务的优先级。
13. 什么是最低松弛度优先调度算法?
根据人物的紧急程度来确定优先级。
14. 何谓优先级倒置现象,怎么解决。
就是低优先级的任务先于高优先级的任务执行了。
优先级继承:当发现高优先级的任务因为低优先级任务占用资源而阻塞时,就将低优先级任务的优先级提升到等待它所占有的资源的最高优先级任务的优先级。
15. 何谓死锁?死锁产生的原因和必要条件?
如果一组进程中每个进程都在等待仅由改组进程中的其他进程才能引发的事件,那么该组进程是死锁的。
相互排斥,请求和保持条件,不可抢占,循环等待。
16. 在解决死锁问题的几个方法中,最容易实现的是?哪种方法是资源利用率最高?
预防死锁最易实现,但是由于这zhi种方法施加的限制条件太严格,可能会导致系统资源利用率和容系统吞吐率降低。
避免死锁只需事先加以较弱的限制条件,便可获得较高的资源利用率和系统吞吐率,但在实现上有一定的难度,目前较完善的系统中常用此方法来避免发生死锁。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值