操作系统-简答题-合集

梁君牧
• 阅读 1472

操作系统-简答题-合集

(一) 操作系统引论

1. 简述操作系统的功能?

答:

  • 操作系统是计算机资源的管理者。主要有处理机管理、存储管理、设备管理、文件管理。此外,操作系统还为用户提供使用操作系统硬件系统的接口,分别是命令接口、程序接口、图形接口。操作系统的四个基本特征是并发、共享、异步、虚拟。

2. 解释以下术语:资源、多道程序设计、并发、分时、吞吐量?

答:

  • 资源:计算机中硬件和软件的总称。
  • 多道程序设计:在这种设计技术下,内存中能同时存放多道程序,在管理程序的控制下交替地执行。这些作业共享CPU和系统中的其他资源。
  • 并发:是指两个或多个活动在同一给定的时间间隔中进行,是宏观上的概念。
  • 分时是指多个用户分享使用同一台计算机。多个程序分时共享硬件和软件资源。
  • 吞吐量:在一段给定的时间内,计算机所能完成的总工作量。

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

答:

  • 分时操作系统 利用分时技术的一种联机的多用户交互式操作系统,每个用户可以通过自己的终端向系统发出各种操作控制命令,完成作业的运行。分时是指把处理机的运行时间分成很短的时间片,按时间片轮流把处理机分配给各联机作业使用。
  • 实时操作系统 一个能够在指定或者确定的时间内完成系统功能以及对外部或内部事件在同步或异步时间内做出响应的系统。

4. 简述多道程序设计技术?

答:

  • 多道程序设计技术是指把多个程序同时存放在内存中,使它们同时处于运行状态。这些作业共享处理器时间、外部资源以及其它资源。多道程序的好处是共享,宏观上并行,微观上串行。

(二) 进程的描述与控制

1. 简述进程和线程的区别?

答:

  1. 进程是操作系统进行资源分配的最小单位,线程是CPU调度的最小单位。
  2. 线程依赖于进程存在,一个进程至少有一个线程。
  3. 进程有自己的独立的地址空间,而线程共享所属进程的所有资源。
  4. 进程通信需要以进程间通信的方式进行,而线程的通信则更方便。
  5. 多线程程序在运行时只要有一个程序崩溃,就会造成该进程的崩溃,而多进程程序一个进程崩溃不会影响其它进程继续执行。

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

答:

  • 概念:进程是程序的运行过程,是系统进行资源分配和调度的一个独立单位。
    • 区别:
    1. 进程是暂时的,是程序在数据集上的一次执行,有创建有撤销;程序是永存的。
    2. 进程是动态的观念;程序是静态的观念。
    3. 进程具有并发性;而程序没有;
    4. 进程是竞争计算机资源的基本单位;程序不是。

3. 一个进程进入临界区的调度原则是什么?

答:

  1. 如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。
  2. 任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。
  3. 进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。
  4. 如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。

4. 简述死锁的产生的条件?

答:

  • 死锁是两个或两个以上进程在执行过程中,因争夺资源而造成的一种互相等待的现象。
  1. 互斥条件
  2. 请求和保持条件
  3. 不剥夺条件
  4. 循环等待条件

5. 什么是进程的互斥与同步?

答:

  • 进程互斥:指两个或两个以上的进程由于竞争资源而形成的制约关系。
  • 进程同步:指两个或两个以上的进程由于某种时序上的限制而形成的相互合作的制约关系。

6. 简述进程的三种状态?

答:

  • 就绪态:进程已获得除CPU以外的所有必要资源,只要得到CPU,即可立即执行。
  • 运行态:进程已得到CPU,其程序正在CPU上执行。
  • 阻塞态:正在执行的进程因某种事件(如I/O请求)的发生而暂时无法继续执行,只有等相应的事件完成后,才能去竞争CPU。

7. 试说明PCB的作用?为什么说PCB是进程存在的唯一标志?

答:

  • PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。PCB中记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息。
  • 作用:使一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程。

8. 试以生产者—消费者问题说明进程同步问题的实质?

答:

  • 一个生产者,一个消费者和一个产品之间关系是典型的进程同步问题。
  • 设信号量S为仓库内产品,P-V操作配对进行缺一不可。 生产者进程将产品放入仓库后通知消费者可用。 消费者进程在得知仓库有产品时取走,然后告诉生产者可继续生产。

9. 用PV操作实现进程间的同步与互斥应该注意什么?

答:

  1. 对每一个共享资源都要设立信号量。互斥时对一个共享资源设立一个信号量,同步时对一个共享资源可能要设立两个或多个信号量,要视由几个进程来使用该共享变量而定。
  2. 互斥时信号量的初值一般为1;同步时至少有一个信号量的初值大于等于1。
  3. PV操作一定要成对调用。互斥时在临界区前后对同一信号量作PV操作;同步时则对不同的信号量作PV操作,PV操作的位置一定要正确。
  4. 对互斥和同步混合问题,PV操作可能会嵌套,一般同步的PV操作在外,互斥的PV操作在内。

(三) 存储器管理

1. 简述存储管理的功能?

答:

  1. 内存的分配和回收
  2. 地址变换
  3. 内存扩充
  4. 内存保护

2. 实现地址重定位的方法有哪两类,有什么区别?

答:

  • 地址重定位是指将程序的逻辑地址变换为物理地址。实现地址重定位的方法有静态重定位、动态重定位。
  • 静态重定位是程序在装入时实现重定位,动态重定位是程序在执行时实现重定位。

3. 页式存储管理和段式存储管理有什么区别和联系?

答:

  • 区别:
    1. 页式的逻辑地址是连续的,而段式是可以不连续的。
    2. 页式的地址是一维的,而段式是二维的。
    3. 分页是操作系统进行,而分段是由用户进行。
    4. 分页的每一页可以分散存储在内存,而分段的每一段必须占用连续的存储空间。
  • 联系:
    • 两者都是离散分配方式都要通过地址变换机构来实现地址变换。

4. 简述固定分区和可变分区在管理方式上的区别?

答:

  • 固定分区存储管理是指把内存预先划分成若干个大小相等或不等的连续区域。每个分区可以一次装入一个且只能是一个作业,整个主存分成多少分区,就可以同时装入几道程序。
  • 可变分区的管理是指将内存根据作业需要的空间大小和当时储存空间使用情况,来决定是否为作业分配一个分区,一旦分配就按照作业实际需要分区分配。这样不仅可以支持多道程序设计,还解决了固定分区中内部碎片的问题。

5. 页式存储管理中页面大小是根据什么决定的?页表的长度又是根据什么决定的?

答:

  • 页面的大小是由块的大小自然决定的。
  • 页表的长度是由作业拥有的页面数决定。

6. 简述页式存储管理中设置页表和快表的作用?

答:

  • 页式存储管理中设置的页表指出了逻辑地址中的页号与所占的主存块号的对应关系。页式存储管理在用动态重定位方式装入作业时, 要利用页表做地址转换工作。
  • 快表是存放在高速缓存中的部分页表。 由于采用页表做地址转换, 读写内存数据时 CPU要访问两次主存。有了快表,有时只要访问一次高速缓存以及一次主存即可,这样就提高了查找的速度和指令执行效率。

(四) 虚拟存储器

1. 简述请求页式存储管理的优缺点?

答:

  • 优点:

    1. 虚存量大,适合多道程序运行,用户不必担心内存不够的调度操作。动态页式管理提供了内存与外存统一管理的虚存实现方式。
    2. 内存利用率高,不常用的页面尽量不留在内存。
    3. 不要求作业连续存放,有效的解决了碎片问题。
  • 缺点:

    1. 要处理页面中断,缺页中断处理等,系统开销较大。
    2. 有可能产生抖动。
    3. 地址变换机构复杂,为提高速度采用硬件实现增加了机器成本。

2. 虚拟存储器的基本特征是什么?虚拟存储器的容量主要受到什么限制?

答:

  • 虚存是一种能从逻辑上对内存容量进行扩充的一种存储器系统。是由操作系统调度,采用内外层的交换技术。各道程序在需使用时调入内存,不用的调出内存。
  • 实现方法有:请求分页式系统、请求分段式系统。
  • 虚存容量主要受计算机总线长度的地址结构限制。

(五) 输入/输出系统

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

答:

  1. 缓和CPU和I/O设备间速度不匹配的矛盾,提高CPU和I/O设备间的并行性。
  2. 减少CPU中断的次数。

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

答:

  • 通道本质上是一个简单的处理器。专门负责输入、输出控制,具有执行I/O指令的能力,并通过执行通道I/O程序来控制I/O操作。
  • 通道的类型包括字节多路通道、数组选择通道、数组多路通道。

3. 有哪几种 I/O 控制方式?分别适用于何种场合?

答:

  1. 程序I/O方式:在无中断的系统中使用,是忙等方式。
  2. 中断驱动I/O控制方式:常用于字符设备。
  3. 直接存储器访问DMA控制方式:常用于块设备。
  4. I/O通道控制方式:应用在高档小型、微型机中。

4. 磁盘访问时间由哪三部分组成?各部分是什么含义?

答:

  • 磁盘访问时间包括寻道时间、旋转等待时间、数据传输时间。
  • 寻道时间指把磁头移动到指定磁道上所经历的时间。
  • 旋转等待时间指指定扇区移动到磁头下面所经历的时间。
  • 数据传输时间指把数据从磁盘读出或向磁盘写入数据所经历的时间。

5. 简述中断处理过程?

答:

  1. 保护被中断进程现场。系统必须保存当前进程的PCB的信息。
  2. 分析中断原因,转去执行相应的中断处理程序。
  3. 恢复被中断进程的现场,CPU继续执行原来被中断的进程。

6. 简述SPOOLing系统的工作原理?

答:

  1. 多道程序并发执行后,可利用其中的一道程序来模拟脱机输入时外围控制机的功能,将低速I/O设备上的数据传送到高速磁盘上。
  2. 再利用另一道程序来模拟脱机输出时外围控制机的功能,将高速磁盘上的数据传送到输出设备上,这样就可以在主机的直接控制下,实现脱机输入、输出操作,这时外围操作与CPU对数据的执行同时进行。

7. 设备管理中,为什么会产生瓶颈问题?有什么解决方法?

答:

  • 瓶颈问题:由于通道价格昂贵,通道的数量远比I/O设备少,这就往往会因为通道数量不够,而产生一系列的“瓶颈”问题,造成系统吞吐量的降低。
  • 解决方法:增加设备到主机间的通路。 即把一个设备连接到多个控制器上,而一个控制器又连接到多个通道上。
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
梁君牧
梁君牧
Lv1
春分至情花开,不负春光不负你。
文章
3
粉丝
0
获赞
1