操作系统题库之简答题部分(个⼈整理,附带答案) 问答题题库
什么是操作系统?有哪些基本功能?
1、 什么是操作系统?有哪些基本功能?
操作系统定义:
的硬件及软件资源,合理的组织计算机⼯作流程,以便有效的利⽤这些资源为⽤户提供⼀个具有⾜够的功
能,使⽤⽅便,可扩展,安全可管理的⼯作环境,从⽽在计算机和⽤户之间起到接⼝的作⽤
基本功能:
1)处理机管理
在单道作业或者单⽤户的情况下,处理机为⼀个作业或者⼀个⽤户独占,对处理机的管理⼗分简单,单
在多
道程序或者多⽤户的情况下,要组织多个作业同时运⾏,就要组织==解决处理机分配调度策略,分配实施
和资源回收等问题,这就是处理机管理功能(正式因为处理机管理功能的不同,所以就有了各种操作系统)
2)储存管理:对储存器进⾏分配,保护,扩充的管理
内存分配:在内存中除了操作系统和各种系统软件外,还有⼀个或多个⽤户程序,如何分配内存,以保证系
统及各⽤户程序的储存区互不冲突,这就是内存分配的问题
储存保护:保护正在运⾏的多个程序不会破坏另⼀个程序,保证⽤户程序不会破坏系统程序,这就是储存保
护要考虑的问题
内存扩充:当⽤户作业所需要的内存容量远超过计算机能提供的内存容量之时,如何把内部储存器和外部储
存器结合起来,为⽤户提供⼀个容量⽐实际内存⼤的多的虚拟储存器,⽽⽤户使⽤这个虚拟储存器和内存的
使⽤⼀样⽅便,这就是内存扩充需要考虑的问题
3)设备管理
通道,控制器,输⼊输出设备的管理:现代计算机常常配置有种类很多的输⼊输出设备,这些设备具有很不
相同的操作性能,特别是他们对信息传输和处理的速度差别很⼤,并且他们常常是通过通道控制器和主机发
⽣联系的,设备管理的任务就是根据⼀定的分配策略,把通过,控制器,输⼊输出设备分配给请求输⼊输出
操作的程序,并启动设备完成实际的输⼊输出操作,为了尽可能的发挥设备和主机并⾏⼯作的能⼒,常常需
要采⽤虚拟技术和缓冲技术
设备独⽴性:输⼊输出设备很多,使⽤⽅法各不相同,设备管理应该为⽤户提供⼀个良好的界⾯,⽽不必去
涉及具体的特性,以⽅便⽤户能使⽤这些设备
4)⽂件系统管理(针对软件资源的管理)
信息的储存,共享,保密和保护
5) ⽤户接⼝:程序级接⼝,作业级接⼝
程序级接⼝:提供⼀组⼴义指令供⽤户程序和其他系统程序调⽤(或叫系统调⽤或者程序请求)
作业级接⼝:提供⼀组控制操作命令,供⽤户去组织和控制⾃⼰作业的运⾏(shell)
什么歌曲最好听2、单核操作系统与微核操作系统有啥区别?各有什么优缺点?
单核操作系统简单理解就是单⼀内核,宏内核,编写难,修改难,效率⾼,效率⽐其他系统⾼很多,每⼀个模块⼜都独⽴服务于操作,内核代码⾼度集成,但是所有的模块都在同⼀内核空间运⾏,⼀个
很⼩的BUG 都回导致整个系统崩溃
微核就是把单核改了下,把系统服务的实现和系统的基本操作规则分离开来,这样不⾄于因为⼀个⼩BUG ⽽整个系统崩溃,便于维护,但是性能上要⽐单核低⼀些
3、为什么机器要分成⾄少两种状态:核态和⽤户态?开机时机器应处于哪种状态?为什么?
为什么分核态核⽤户态:计算机⾥⾯⼜两种不同的程序:系统程序核⽤户程序,两种程序⼜不同的对资源核机器指令的使⽤权限,所以需要划分两个状态
内核态
4、操作系统提供哪些虚拟技术?
5、什么是并⾏?什么是并发?
并⾏:⼀组程序按照独⽴的,异步的速度执⾏
并发:⼀个程序段的执⾏尚未结束,另⼀个程序段的执⾏已经开始
6.简述系统调⽤的⼯作机制
⽤户在执⾏特权指令时,调⽤系统调⽤,陷⼊内核(不同的任务,所对应的系统调⽤号也不同,在调⽤系统调⽤陷⼊内核时,回向OS内核传⼊⼀个系统调⽤)
进⼊内核后,根据系统调⽤号查系统调⽤表,到对应的系统调⽤处理代码,内核执⾏完系统调⽤处理代码之后,从核⼼态返回⽤户态
7.上⾯是多道程序涉及技术,它对操作系统的形成起到什么作⽤?
所谓的多道程序设计技术,即通过软件⼿段,运⾏在计算机内存中同时存放⼏道相互独⽴的作⽤程序,让他们对系统中的资源进⾏共享核竞争,以使系统中各种资源尽可能的满负荷⼯作,从⽽提⾼整个计算机系统的效率,基于这种考虑,计算机科学家开始把cpu,储存器,外部设备以及各种软件都视为计算机的资源,并逐步设计出⼀种软件来管理这些资源,不仅使他们能得到合理的利⽤,⽽且还要⾼校的利⽤,具有这种功能的软件技术操作系统,所以多道程序设计的出现,加快了操作系统的诞⽣
8.怎么理解虚拟机的概念?
拿操作系统来说吧,它是在裸机上加载的第⼀层软件,是对计算机硬件系统功能的⾸次扩充,从⽤户⾓度看,计算机配置了操作系统后,由于操作系统隐蔽了硬件复杂的细节,⽤户回感到机器使⽤起来更⽅便,容
易了,这样,通过操作系统的作⽤展现在⽤户⾯前的是⼀台功能经过扩展了的机器,折腾机器不是硬件搭建
⽽成的,现实⽣活中并不存在具有这种功能的真实机器,它只是⽤户的⼀种感觉⽽已,所以,技把这样的机
器叫做虚拟机
9.对于分时系统,怎么理解“从宏观上看,多个⽤户同时⼯作,共享系统的资源,从微观上看,各终端程序是轮流运⾏⼀个时间⽚”?在分时系统中,系统把cpu时间划分成许多时间⽚,每个终端⽤户可以使⽤⼀个由时间⽚规定的cpu时间,
多给终端⽤户就可以轮流的使⽤cpu,这样的效果是每个终端都开始了⾃⼰的⼯作,得到了及时的响应,也
就是说“从宏观上看,多个⽤户同时⼯作,共享资源”,但实际上,cpu在每⼀时刻只为⼀个终端服务,
即”从微观上看,各终端程序是轮流运⾏⼀个时间⽚“
10.操作系统包括哪些功能?
处理机管理功能:包括作⽤核进程调度,进程控制和进程通信
储存器管理功能:包括内存分配,地址映射,内存保护和内存扩充
设备管理功能:包括缓冲区管理,设备分配,设备驱动,设备⽆关性
⽂件管理功能:包括⽂件存储空间管理,⽂件操作的⼀般管理,⽬录管理,⽂件读写管理,存取控制和保护
⽤户接⼝:命令接⼝,程序接⼝,图形接⼝
12.核⼼模式和⽤户模式
核⼼模式⼀般指操作系统管理程序的运⾏的状态,具有较⾼的特权级别
⽤户模式⼀般指⽤户程序运⾏时的状态,具有较低的特权级别
当处理器处于管态(核态)时,全部指令包括特权指令都可以执⾏,可使⽤所有资源,并具有改变处理器状
态的能⼒,当处理器处于⽤户模式时,就只能执⾏⾮特权指令,特权级别不同,可以运⾏指令集合也
不同,
特权级别越⾼,可以允许指令集合越⼤,⾼特权级别对于的可运⾏指令集合保护特权阶级的,核⼼模式道⽤
户模式的唯⼀途径是通过中断
13.操作系统提⾼的服务由哪些?
程序执⾏,IO操作,⽂件系统处理,通信,错误检查,资源分配,⽤户管理,保护
14.操作系统的结构由哪些,各种的优缺点
简单结构,层次话设计,微内核
优缺点:
15,虚拟机的优点:
两个,⼀个是通过完全的保护系统资源,虚拟机提供了⼀个健壮的安全保护层
另⼀个是虚拟机寻址在不⼲扰正常系统操作的情况下进⾏系统开发
16、 ⼀个CPU,PCB表有100⾏,任⼀时刻,最多有多少个进程处于运⾏态、就绪态、等待状态?如果有n个CPU,请回答同样的问题。
1,99,100
n,99n,100n
17.画出除基本状态外还包含创建,终⽌状态的变迁图
情侣装哪个品牌好18.进程之间通讯的⽅式有哪⼏种?
共享储存器
消息传递
管道
19.在多道程序设计中,如何理解”内存中的多个程序执⾏过程交织在⼀切,⼤家都在⾛⾛停停“这样⼀个现象?
在多道程序设计系统中,内存中存放多个程序,因此,从宏观上看,这些程序都开始了⾃⼰的⼯作,
但是cpu只有⼀个,在任何时刻cpu只能执⾏⼀个进程程序,所以这些进程程序的执⾏过程是交织在⼀起的,也就是说,从微观上看,每个进程⼀会⼉向前⾛,⼀会⼉⼜停步不前,处于⼀种⾛⾛停停的的状态之中
20.什么是原语,特权指令,系统调⽤指令,访管指令,他们之间有⽆⼀定联系?
特权指令和访管指令都是cpu指令系统中的指令,只是前者是⼀些只能在管态下执⾏的指令,后者是⼀条只
霍尊的歌能在⽬态下执⾏的指令,原语和系统调⽤命令都是操作系统中的功能程序,只是前者执⾏时不能被其他程序
老挝6.0级地震 云南广西震感强烈打断,后者没有这个要求,操作系统中有些系统调⽤命令是以原语形式出现的,例如创建进程就是⼀条原语
式的系统调⽤命令,但并不是所有系统调⽤命令都是原语,以为如果那样的话,整个系统的并发性就不可能得到充分发挥
21.操作系统是如何处理源程序中出现的系统调⽤命令的?
编译程序总是把源程序中的系统调⽤命令改写成为⼀条访管指令和相应参的参数,这样在程序被实际执⾏
时,就通过访管指令进⼊操作系统,到达调⽤操作系统功能⼦程序的⽬的
22.系统调⽤与⼀般过程调⽤有什么区别?
系统调⽤是指在⽤户程序中调⽤操作系统提供的功能⼦程序,⼀般的过程调⽤是指在⼀个程序中调⽤另⼀个
贾斯丁.比伯程序,因此他们之间有如下三点区别:
1).⼀般的过程调⽤,调⽤者与被调⽤者都允许在相同的CPU状态,即或都处于⽬态(⽤户程序调⽤⽤户程序),或都处于管态,(系统程序调⽤系统程序),但发⽣系统调⽤时,发出调⽤命令的调⽤者运⾏在⽬态,⽽被调⽤的对象却运⾏在管态,即调⽤者和被调⽤者运⾏在cpu的不同状态
2)⼀般的过程调⽤,是直接通过转移指令转向被调⽤的程序,但发⽣系统调⽤时,只能通过访管指令提供⼀个同⼀的⼊⼝,由⽬态进⼊管态,进分析后,才转向相应的操作系统命令程序处理
3)⼀般的过程调⽤,在被调⽤者执⾏完后,就径直返回端点继续执⾏,但系统调⽤可能会导致进程
状态的变化,从⽽引起系统重新分配处理机,因此系统调⽤结束后,不⼀定是返回调⽤者断点处继续执⾏
23.试述创建进程原语的主要功能
创建进程原语主要功能有三:
为新进程申请⼀个PCB
3本大学排名为创建者(即⽗进程)提供的新进程信息填⼊PCB中
将新建进程设置为就绪状态,并按照所采⽤的调度算法,把PCB排⼊就绪队列中
24.处于阻塞状态的⼀个进程,它所等待的事件发⽣时,就把它的状态由阻塞改为就绪,让它到就绪队列⾥
排队,为什么不直接将他投⼊运⾏呢?
如果处于阻塞状态的⼀个进程,在它所等待的时间发⽣时就径直投⼊运⾏(也就是把cpu从当前运⾏的进程
的⼿中抢过来),那么系统就⽆法控制cpu这种资源的管理和使⽤,进⽽也就失去了设置操作系统的作⽤,
所以,阻塞状态的进程在它所等待的事件发⽣时,必须先进⼊就绪队列,如何再取考虑cpu的问题
25.作⽤调度和进程调度有什么区别?
作⽤调度和进程调度(即cpu调度)都涉及到cpu的分配,但作⽤调度只是选参加CPU竞争的作⽤,它并不
具体分配cpu,⽽进程调度是在作⽤调度完成后的基础上,把cpu真正分配给某⼀个具体的进程使⽤
26.系统中的各种进程队列都是由进程的PCB链接⽽成,当⼀个进程的状态从阻塞变为就绪状态时,它的p
cb从那个队列移到那个队列?它所对应的程序也要跟着移来移去吗?,为什么?
当⼀个进程状态从阻塞变成就绪时,它的pcb就从原先的阻塞队列移到到就绪队列⾥,把进程的pcb从这个
队列移到另⼀个队列时,只移到进程的pcb,进程所对应的程序是不动的,这是以为在进程的pcb⾥,总是
记录由它的程序的断点信息,知道了断点信息,就能够知道程序当前应该从那⾥开始往下执⾏了,这正是保
护现场所起的作⽤
27.为什么说响应⽐⾼者优先作业调度算法是对先来先服务以及短作业优先这两种调度算法的折中?
先来先服务的作⽤调度算法,重点考虑的是作业在后备作业队列⾥的等待时间,因此对短作业不利,短作业
优先的作业调度算法,重点考虑的是作业所需的cpu时
间(当然,这个是⽤户⾃⼰估计的),因此对长作业不利,响应⽐⾼者优先作业调度算法,总是在需要调度
时,考虑作业以及等待的时间和所需运⾏时间之⽐,即:改作业已等待时间/该作业所需cpu时间
不难看出,这个⽐值的分母是⼀个不变的量,随着时间的推移,⼀个作业的已等待时间会不断发⽣变化,也
就是分⼦在不断的变化,显然,短作业⽐较容易获得较⾼的响应⽐,这是以为它的分母⽐较⼩,只要稍加等
发布评论