成电面试OS锦集——刘

上传人:人*** 文档编号:497815453 上传时间:2024-02-03 格式:DOCX 页数:8 大小:37.24KB
返回 下载 相关 举报
成电面试OS锦集——刘_第1页
第1页 / 共8页
成电面试OS锦集——刘_第2页
第2页 / 共8页
成电面试OS锦集——刘_第3页
第3页 / 共8页
成电面试OS锦集——刘_第4页
第4页 / 共8页
成电面试OS锦集——刘_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《成电面试OS锦集——刘》由会员分享,可在线阅读,更多相关《成电面试OS锦集——刘(8页珍藏版)》请在金锄头文库上搜索。

1、1. 什么是程序局部性,为什么会有程序的空间局部性?程序局部性是指程序在运行时呈现出局部性规律,在一段时间间隔内,程序的执行是局限在某个部份,所访问的存储空间也只局限在某个区域。空间局部性是指若一个存储单元被访问,那么它附近的单元也可能被访问,这是由于程序的顺序执行引起的。2. 为了实现重定位需要哪些硬件?最简单的方式是在系统中增设一个重定位寄存器,用来存放正在执行作业的内存地址,每次访问数据时,由硬件自动将相对地址与重定位寄存器中的起始地址相加,形成实际的特理地址。当然在分页式与分段式系统中,实现重定位需要地址变换机构,以及快表等硬件的支持。3. 在交互式系统中,非剥夺是不是一个好的策略?为

2、什么?非剥夺方式:分派程序一旦把处理机分配给某进程后便让它一直运行下去,直到进程完成或发生某事件而阻塞时,才把处理机分配给另一个进程。剥夺方式:当一个进程正在运行时,系统可以基于某种原则,剥夺已分配给它的处理机,将之分配给其它进程。剥夺原则有:优先权原则、短进程、优先原则、时间片原则。在分时系统中不剥夺并不是一个好的策略。因为,在分时系统中,除了交互性以外,及时性是很重要的性能因素。当一个作业被阻塞后,CPU就完全空闲了,别的用户的及时性就无法保证了,而完全可以把这些时间分配给别的作业运行。以提高整体的吞吐量。4. 系统调用的定义系统调用是OS与应用程序之间的接口,它是用户程序取得OS服务的惟

3、一途径。它与一般的过程调用的区别:运行在不同的系统状态。调用程序在运行在用户态,而被调用的程序运行在系统态,通过软中断机制,先由用户态转为系统态,经枋心分析后,才能转向相应的系统调用处理子程序;一般的过程调用返回后继续执行,但对系统调用,当调用的进程仍具有最高优先权时,才返回到调用进程继续处理;否则只能等被重新调度;5. 死锁是什么?指多个有关进程由于争夺资源而造成的一种僵局,在无外力的情况下这些进程都将无法再向前推进的状态。6. CPU不执行程序的时候干什么?当没有被任何程序使用的时候,计算机的处理器被认为是空闲的。当然下面提到的空闲任务不在此列中。当有程序利用CPU空闲时间的时候,就意味着

4、它以较低的优先权运行着,以便不会影响那有正常优先权的程序运行。一般来讲,这会引起CPU消耗更多的电能,而大多数的现代CPU当它们空闲的时候是能够进入省电模式的。大多数操作系统都有个空闲任务,它是一个特殊的任务。仅当CPU无事可做的时候由操作系统调度器载入它。在现代的处理器中,HLT停机指令节省了大量的电能与执量,而空闲任务几乎总是由一个重复执行HLT停机指令的循环组成。7. 举例解释一下同步和互斥- 同步- 协同完成, 互斥 - 保证临界资源独占访问同步表现为直接制约,如管道通信,一个进程写,一个进程读,它们是相互制约的。互斥表现为间接制约,比如多个进程同时请求打印机(没使用SPOOLing技

5、术)、多个进程同时请求一张网卡发送数据包等。8. 解释一下管程管程是由一组局部变量、对局部变量进行操作的一组过程和对局部变量进行初始化的语句序列组成。引入它的目的是因为Wait/Singal操作太过分散,对它的维护很麻烦且容易造成死锁。管程的特点是:管程的过程只能访问管程的局部变量,管程的局部变量只能由其过程来访问;任何时刻只能有一个进程进入管程执行;进程只能通管程提供的过程入口进入管程;9. 在可变分区管理中,需要哪些硬件机制采用可变分区方式管理时,一般均采用动态重定位方式装入作业。地址变换要靠硬件支持,主要是两个寄存器:基址寄存器和限长寄存器,限长寄存器存放作业所占分区的长度,基址寄存器则

6、存放作业所占分区的起始地址,这两个值确定了一个分区的位置和大小。转换时根据逻辑地址与限长值比较,如果不有超过这个值,表示访问地址合法,再加上基址寄存器中的值就得到了绝对地址了,否则形成“地址越界”中断。10. 中断和陷入有什么异同?外中断时指来自处理机和内存外部的中断,如I/O中断、定时器中断、外部信号中断等。狭义上也叫中断;内中断主要指在处理机和内存内部产生的中断,也称陷入,如校验错、页面失效、溢出、除数为零等;中断和陷入的主要区别:(1)陷入通常由处理机正在执行的现行指令引起,而中断则是由与现行指令无关的中断源引起的。(2)陷入处理程序提供的服务为当前进程所用,而中断处理程序提供的服务则不

7、是为了当前进程的。(3)CPU在执行完一条指令之后,下一条指令开始之前响应中断,而在一条指令执行中也可以响应陷阱。11. 计算机网络和分布式计算机系统的区别?两者在计算机硬件连接、系统拓朴结构和通信控制等方面基本都是一样的,它们都具有通信和资源共享的功能。区别关键在于:分布式计算机系统是在分布式计算机操作系统支持下,进行分布式数据库处理的,也就是说各互联的计算机可以互相协调工作,共同完成一项任务,多台计算机上并行运行。且具有透明性,用户不知道数据、资源的具体位置,整个网络中所有计算机就像是一台计算机一样;而计算机网络却不具备这种功能,计算机网络系统中的各计算机通常是各自独立进行工作的。12.

8、为什么引入多道程序技术?因为引入多道程序技术后,可以进一步提高了CPU利用率(阻塞),提高内存和I/O设备利用率(小作业把内存浪费了),增加系统吞吐量(两都提高后的必然)。13. 什么是管态?什么是目态?它们与进程运行状态的关系是什么?CPU交替执行操作系统程序和用户程序。管态又叫特权态,系统态或核心态。CPU在管态下可以执行指令系统的全集。通常,操作系统在管态下运行。目态又叫常态或用户态。机器处于目态时,程序只能执行非特权指令。用户程序只能在目态下运行,如果用户程序在目态下执行特权指令,硬件将发生中断,由操作系统获得控制,特权指令执行被禁止,这样可以防止用户程序有意或无意的破坏系统。14.

9、n个任务一个cup,阻塞,运行,就绪的进程最多有多少个?阻塞n个;运行1个;就绪n-1个;15. 父子进程是否可以并发运行可以并发运行,因为不管是父进程还是子进程都是系统分配资源的最小单位,都是独立的进程,是可以并发运行的,跟进程和线程的关系不一样。16. 缓冲的定义,为什么引入引入缓冲技术主要是为了解决设备速度差异引起的效率问题。如果两个设备速度相差很大,快速设备总是需要等待慢速设备,快速设备效率低下。在设备之间加上缓冲区,慢速设备将数据送入缓冲区时,快速设备不需等待,可以处理其他任务,直到缓冲区满时才通过中断通知快速设备处理缓冲区中的数据,将提高设备工作的独立性,提高快速设备的利用率。(1

10、)缓和CPU与IO设备间速度不匹配的矛盾(2)减少对CPU的中端频率,放宽对CPU中断响应时间的限制(3)提高CPU和IO设备之间的并行性。17. cpu在不执行任何程序时在做什么。18. 什么是缓冲?引入缓冲的作用是什么?19. 父子进程是否可以并发运行20. 死锁是什么?21. 进程调度算法列举六种进程调度算法1 先来先服务 FCFS 2短作业优先(SJF) 3高优先权优先调度算法4高响应比调度算法 5时间片轮转法 6多级反馈队列调度22. 进程三个状态的转换就绪态,当进程已分配到除cpu以外的所以必要资源后只要能再获得处理机便可立即执行这时的进程状态转为就绪模式。执行状态,指进程已获得处

11、理机其程序正在执行。阻塞状态,进程因发生某件事如请求io而暂停执行的状态。23. 设备驱动程序是否属于操作系统,他的作用是什么?不是,驱动程序是另外安装的软件,是操作系统控制并且和硬件之间通讯的桥梁(程序)24. 线程、进程、程序和任务的区别?任务是最抽象的,是一个一般性的术语,指由软件完成的一个活动。一个任务既可以是一个进程,也可以是一个线程。简而言之,它指的是一系列共同达到某一目的的操作。例如,读取数据并将数据放入内存中。这个任务可以作为一个进程来实现,也可以作为一个线程(或作为一个中断任务)来实现。进程常常被定义为程序的执行。可以把一个进程看成是一个独立的程序,在内存中有其完备的数据空间

12、和代码空间。一个进程所拥有的数据和变量只属于它自己。线程则是某一进程中一路单独运行的程序。也就是说,线程存在于进程之中。一个进程由一个或多个线程构成,各线程共享相同的代码和全局数据,但各有其自己的堆栈。由于堆栈是每个线程一个,所以局部变量对每一线程来说是私有的。由于所有线程共享同样的代码和全局数据,它们比进程更紧密,比单独的进程间更趋向于相互作用,线程间的相互作用更容易些,因为它们本身就有某些供通信用的共享内存:进程的全局数据进程的全局数据进程的全局数据进程的全局数据程序只是一组指令的有序集合,它本身没有任何运行的含义,它只是一个静态的实体。25. 处理中断的过程请求中断响应中断关闭中断保留断

13、点中断源识别保护现场中断服务子程序恢复现场中断返回1 请求中断当某一中断源需要CPU为其进行中断服务时,就输出中断请求信号,使中断控制系统的中断请求触发器置位,向CPU请求中断。系统要求中断请求信号一直保持到CPU对其进行中断响应为止。2 中断响应CPU对系统内部中断源提出的中断请求必须响应,而且自动取得中断服务子程序的入口地址,执行中断服务子程序。对于外部中断,CPU在执行当前指令的最后一个时钟周期去查询INTR引脚,若查询到中断请求信号有效,同时在系统开中断(即IF1)的情况下,CPU向发出中断请求的外设回送一个低电平有效的中断应答信号,作为对中断请求INTR的应答,系统自动进入中断响应周

14、期。3 关闭中断CPU响应中断后,输出中断响应信号,自动将状态标志寄存器FR或EFR的内容压入堆栈保护起来,然后将FR或EFR中的中断标志位IF与陷阱标志位TF清零,从而自动关闭外部硬件中断。因为CPU刚进入中断时要保护现场,主要涉及堆栈操作,此时不能再响应中断,否则将造成系统混乱。4 保护断点保护断点就是将CS和IP/EIP的当前内容压入堆栈保存,以便中断处理完毕后能返回被中断的原程序继续执行,这一过程也是由CPU自动完成。5 中断源识别当系统中有多个中断源时,一旦有中断请求,CPU必须确定是哪一个中断源提出的中断请求,并由中断控制器给出中断服务子程序的入口地址,装入CS与IP/EIP两个寄

15、存器。CPU转入相应的中断服务子程序开始执行。6 保护现场主程序和中断服务子程序都要使用CPU内部寄存器等资源,为使中断处理程序不破坏主程序中寄存器的内容,应先将断点处各寄存器的内容压入堆栈保护起来,再进入的中断处理。现场保护是由用户使用PUSH指令来实现的。7 中断服务中断服务是执行中断的主体部分,不同的中断请求,有各自不同的中断服务内容,需要根据中断源所要完成的功能,事先编写相应的中断服务子程序存入内存,等待中断请求响应后调用执行。8 恢复现场当中断处理完毕后,用户通过POP指令将保存在堆栈中的各个寄存器的内容弹出,即恢复主程序断点处寄存器的原值。9 中断返回在中断服务子程序的最后要安排一条中断返回指令IRET,执行该指令,系统自动将堆栈内保存的IP/EIP和CS值弹出,从而恢复主程序断点处的地址值,同时还自动恢复标志寄存器FR或EFR的内容,使CPU转到被中断的程序中继续执行。26. 分页、分段、断页式的特点,为什么要引入?分页是为了提高内存的利用率,提高计算机性能,且分页通过硬件机制来实现,对用户完全透明。分段是为了方便编程,信息保护和共享、动态增长及动态链接等多方面的需要。断页式是两者的结合。27. 计算机系统怎样实现存储保护?1。防止地址越界(对进程所产生的地址必须加以检查,发生越界时产生中断,由操作系统进行相应处理)2。防止操作越权(对属于自己区域的信息,可读可

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 幼儿教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号