首页 > 其他 > 详细

真正的操作系统问题和答案整理

时间:2021-02-02 11:10:03      阅读:33      评论:0      收藏:0      [点我收藏+]

操作系统题目和答案

1. 什么是操作系统?它的主要作用和功能是什么?

答:

  1. 操作系统是计算机资源的管理者。
    • 处理机管理 (进程控制、进程同步、进程通信、死锁处理、处理机调度)
    • 存储器管理 (提高内存利用率,内存的分配与回收、地址映射、内存保护与共享、内存扩充)
    • 文件管理 (计算机中的信息都是以文件的形式存在的)
    • 设备管理 (完成用户的I/O请求,方便用户使用设备、并提高设备的利用率)
  2. 操作系统为用户提供使用计算机硬件系统的接口。
    • 命令接口——用户通过控制台或终端输入操作命令,向系统提供各种服务要求。
    • 程序接口——由系统调用组成,用户在程序中使用这些系统调用来请求操作系统为其提供服务。
    • 图形接口——最常见的图形用户界面GUI

2. 什么是进程?进程与程序有何区别?

答1:

  • 进程是程序的运行过程,是系统进行资源分配和调度的一个独立单位。

    答2:

    1. 程序是永存的;进程是暂时的,是程序在数据集上的一次执行,有创建有撤销,存在是暂时的;
    2. 程序是静态的观念,进程是动态的观念;
    3. 进程具有并发性,而程序没有;
    4. 进程是竞争计算机资源的基本单位,程序不是。
    5. 进程和程序不是一一对应的:一个程序可对应多个进程即多个进程可执行同一程序;一个程序可以执行一个或几个程序。

3. 分时操作系统与实时操作系统的主要区别是什么?


4. 为什么要在设备管理中引入缓冲技术?


5. 存储管理的主要功能是什么?

答:

  • 存储管理的主要任务是为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率以及从逻辑上扩充存储器,故应具有以下功能:

    1. 内存的分配和回收:实施内存的分配,回收系统或用户释放的内存空间。
    2. 地址变换:提供地址变换功能,将逻辑地址转换成物理地址。
    3. 扩充内存:借助于虚拟存储技术活其他自动覆盖技术,为用户提供比内存空间大的地址空间,从逻辑上扩充内存。
    4. 存储保护:保证进入内存的各道作业都在自己的存储空间内运行,互不干扰。

6. 什么是通道?简述通道控制方式的数据输入处理过程。

答:

  • 通道本质上是一个简单的处理器,专门负责输入、输出控制,具有执行I/O指令的能力,并通过执行通道I/O程序来控制I/O操作。

7. 处理机管理有哪些主要功能?其主要内容是什么?

答:主要功能有进程控制、进程同步、进程通信、死锁处理、处理机调度。


8. 什么是死锁?产生死锁的原因和必要条件是什么?

答:

  • 定义:是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。
  • 原因:
    1. 系统资源不足 (对不可剥夺资源的竞争)
    2. 进程推进顺序不当(P1拥有A申请B,P2拥有B申请A)
  • 产生死锁的必要条件:
    1. 互斥条件:指进程对所分配到的资源进行排它性使用,即在一段时间内某资源只由一个进程占用。
    2. 请求和保持条件:指进程已经保持至少一个资源,但又提出了新的资源请求,而该资源已被其它进程占有,此时请求进程阻塞,但又对自己已获得的其它资源保持不放。
    3. 不剥夺条件:指进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完时由自己释放。
    4. 环路等待条件:指在发生死锁时,必然存在一个进程资源的环形链。

9. 什么是多道程序设计技术,它带来了什么好处?


10. 实现地址重定位的方法有哪几类?试述动态重定位过程。


11. 进程的通信方式?

答:

  1. 共享内存——顾名思义,共享内存就是两个进程同时共享一块内存,然后在这块内存上的数据可以共同修改和读取,达到通信的目的。

  2. 无名管道——无名管道是半双工的通信方式;并且只能在具有亲缘关系的进程之间使用(亲缘关系是指进程间的父子关系,兄弟关系等),具有亲缘关系的进程在创建时同时拥有一个无名管道的句柄,可以进行读写;无名管道不存在磁盘节点,只存在与内存中,用完即销毁。

  3. 命名管道——命名管道也是半双工的通信方式;可以在不具有亲缘关系的进程间通信;命名管道存在磁盘节点,有对应的FIFO文件,凡是可以访问该路径的文件的进程均可以进行通信。

  4. 消息队列——消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。

  5. 套接字——套接字是网络编程的api,通过套接字可以不同的机器间的进程进行通信,常用于客户端进程和服
    务器进程的通信。

  6. 信号——操作系统通过信号来通知进程系统中发生了某种预先规定好的事件(一组事件中的一个),它也是用户进程之间通信和同步的一种原始机制。

12.进程的5种状态及转换过程?

答:

技术分享图片

13.进程的调度算法有哪些?

  1. 先来先服务 ?rst-come ?rst-serverd(FCFS)
    • 按照请求的顺序进行调度。非抢占式,开销小,无饥饿问题,响应时间不确定(可能很慢);
      对短进程不利,对IO密集型进程不利。
  2. 最短作业优先 shortest job ?rst(SJF)
    • 按估计运行时间最短的顺序进行调度。非抢占式,吞吐量高,开销可能较大,可能导致饥饿问题;
      对短进程提供好的响应时间,对长进程不利
  3. 优先级调度算法
    • 为每个进程分配一个优先级,按优先级进行调度。为了防止低优先级的进程永远等不到调度,可以随着时间的推移增加等待进程的优先级。
  4. 时间片轮转
    • 将所有就绪进程按 FCFS 的原则排成一个队列,用完时间片的进程排到队列最后。抢占式(时间片用完时),开销小,无饥饿问题,为短进程提供好的响应时间;
    • 若时间片小,进程切换频繁,吞吐量低;若时间片太长,实时性得不到保证。
  5. 最高响应比优先
    • 响应比 = 1+ 等待时间/处理时间。同时考虑了等待时间的长短和估计需要的执行时间长短,很好的平衡了长短进程。非抢占,吞吐量高,开销可能较大,提供好的响应时间,无饥饿问题。
  6. 多级反馈队列调度算法
    • 设置多个就绪队列1、2、3...,优先级递减,时间片递增。只有等到优先级更高的队列为空时才会调度当前队列中的进程。如果进程用完了当前队列的时间片还未执行完,则会被移到下一队列。
    • 抢占式(时间片用完时),开销可能较大,对IO型进程有利,可能会出现饥饿问题。

14. 什么是饥饿?与死锁有什么区别?

答:

等待时间给进程推进和响应带来明显影响时成为进程饥饿。饥饿并不代表系统已经死锁,但至少有一个程序的执行被无限期地推迟。

与死锁的差别:

  1. 进入饥饿的进程可以只有一个,但是死锁必须大于等于两个;
  2. 出于饥饿状态的进程可以是一个就绪进程,但是死锁状态的进程必定是阻塞进程。

15.简述银行家算法

答:

主要思想是避免系统进入不安全状态,在每次进行资源分配时,它首先检查系统是否有足够的资源满足要求,如果有,则先试行分配,并对分配后的新状态进行安全性检查。如果新状态安全,则正式分配上述资
源,否则拒绝分配上述资源。

这样就保证系统始终处于安全状态,从而避免死锁现象的发生。

16. 将用户程序变为可在内存中执行的程序的步骤?

答:

  1. 编译:由编译程序将用户源代码编译成若干目标模块
  2. 链接:由链接程序将编译后形成的一组目标模块及所需的库函数链接在一起,形成一个完整的装入模块。
  3. 装入:由装入程序将装入模块装入内存中运行。

17. 程序的链接方式有哪些?

  1. 静态链接:在程序运行之前,先把各个目标模块及所需库链接为一个完整的可执行程序,以后不再拆开。
  2. 装入时动态链接:将应用程序编译后所得到的一组目标模块在装入内存时采用边装入边链接的链接方式。
  3. 运行时动态链接:知道程序运行过程中需要一些模块时,才对这些模块进行链接。

18. 程序的装入方式有哪些?

  1. 绝对装入:在编译时就知道程序将要驻留在内存的物理地址,编译程序产生含有物理地址的目标代码,不适合多道程序设计。
  2. 可重定位装入:根据内存当前情况,将装入模块装入到内存的适当位置,地址变换通常在装入时一次完成,之后不再改变,也称静态重定位。当操作系统为程序分配一个以某地址为起始地址的连续主存区域后,重定位时将程序中指令或操作数的逻辑地址加上这个起始地址就得到了物理地址。
  3. 动态运行装入:允许程序运行时在内存中移动位置,把装入模块装入到内存后的所有地址都是相对地址,在程序执行过程中每当访问到相应指令或数据时,才将要访问的程序或数据的相对地址转换为物理地址。动态重定位的实现要依靠硬件地址变换机构。

真正的操作系统问题和答案整理

原文:https://www.cnblogs.com/lwp-nicol/p/14360264.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!