您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 操作系统之面试常考题
操作系统之面试常考题一、操作系统引论操作系统目标1:方面性,2:有效性,3:可扩展性,4:开放性操作系统基本特性1:并发、2:共享、3:虚拟、4:异步描述多道批处理、分时、实时操作系统的特点各是什么?批处理操作系统:多道性、无序性、调度性,系统利用率高、吞吐量大、平均周转时间长、但无交互能力。分时操作系统:有多路性、独立性、及时性和交互性。有较好的人机交互的特性,并且可以实现共享主机实时系统:有多路性、独立性、及时性、交互性和可靠性。实际上是指操作系统工作时,其各种资源可以根据需要随时进行动态分配。由于各种资源可以进行动态分配,因此,其处理事务的能力较强、速度较快。总结:从可靠性:实时系统更强,从交互性:分时系统更强二、进程的描述与控制程序并发执行的特征1:间断性:程序在并发执行的时候,因为是共享资源,以及完成同一项任务而相互合作,致使在这些并发执行的程序之间形成了相互制约的关系,导致程序执行呈现:执行--暂停--执行2:失去封闭性:当系统中有多个并发执行的程序时,各个资源是他们所共享的,这些资源的状态也由这些程序所改变,所以摸一个程序的运行环境会受到其他程序的影响。3:不可再生性进程的特征与三种基本状态1、特征:1:动态性,2:并发性,3:独立性,4:异步性。2、状态:1:就绪状态,2:执行状态,3:阻塞状态3、三种基本状态转换:处于就绪状态的进程,在调度程序为之分配了处理机之后便开始执行,就绪-执行正在执行的进程如果因为分配他的时间片已经用完,而被剥夺处理剂,执行-就绪如果因为某种原因致使当前的进程执行受阻,使之不能执行。执行-阻塞4、创建状态和终止状态图进程控制块PCB的作用1:作为独立运行基本单位的标志2:能实现间断性运行方式3:提供进程通信管理所需要的信息4:提供进程调度所需要的信息线程与进程的区别联系1、定义:进程:进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。(包括程序段,相关数据段,和进程控制块PCB)线程:线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.2、关系:一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行.相对进程而言,线程是一个更加接近于执行体的概念,它可以与同进程中的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。3、区别:主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。4.优缺点:线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源的管理和保护;而进程正相反。同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移。进程间的通信是如何实现的?早期的属于低级通信:原因:1:效率低,生产者每次只能向缓冲池投放一个信息2:通信对用户不透明,隐藏了通信的具体细节。现在发展为高级通信:用户可以利用操作系统所提供的一组通信命令传送大量数据。操作系统隐藏了进程通信的实现细节。或者说,通信过程对用户是透明的。高级通信机制:1:共享存储器系统(存储器中划分的共享存储区)实际操作中对应的是“剪贴板”(剪贴板实际上是系统维护管理的一块内存区域)的通信方式。2:消息传递系统(进程间的数据交换以消息(message)为单位)当今最流行的微内核操作系统中,微内核与服务器之间的通信,都采用了消息传递机制3:管道通信系统(连接读写进程实现他们之间通信的共享文件(pipe文件,类似先进先出的队列,由一个进程写,另一进程读))管道分为匿名管道、命名管道。匿名管道是未命名的、单向管道,通过父进程和一个子进程之间传输数据。匿名管道只能实现本地机器上两个进程之间的通信,不能实现跨网络的通信。命名管道不仅可以在本机上实现两个进程间的通信,还可以跨网络实现进程间的通信。4:客户机-服务器系统包括:套接字(socket),远程过程调用和远程方法调用什么是临界区?如何解决冲突?每个进程中访问临界资源的那段程序称为临界区,每次只准许一个进程进入临界区,进入后不允许其他进程进入。1:如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入;2:任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待;3:进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区;4:如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。进程同步原则进程同步的主要任务:是对多个相关进程在执行次序上进行协调,以使并发执行的诸进程之间能有效地共享资源和相互合作,从而使程序的执行具有可再现性。同步机制遵循的原则:1:空闲让进;2:忙则等待(保证对临界区的互斥访问);3:有限等待(有限代表有限的时间,避免死等);4:让权等待,(当进程不能进入自己的临界区时,应该释放处理机,以免陷入忙等状态)。进程同步由于进程同步产生了一系列经典的同步问题“生产者-消费者”问题,“哲学家进餐”问题,“读者-写者”问题。程序和进程的区别程序:计算机指令的集合,它以文件的形式存储在磁盘上。程序是静态实体(passiveEntity),在多道程序系统中,它是不能独立运行的,更不能与其他程序并发执行。使用系统资源情况:不使用(程序不能申请系统资源,不能被系统调度,也不能作为独立运行的单位,它不占用系统的运行资源)。进程:进程是进程实体(包括:程序段、相关的数据段、进程控制块PCB)的运行过程,是一个程序在其自身的地址空间中的一次执行活动。是系统进行资源分配和调度的一个独立单位。使用系统资源情况:使用(进程是资源申请、调度和独立运行的单位,因此,它使用系统中的运行资源)三、处理机调度与死锁处理机调度的层次:1:高级调度主要用于多道批处理系统中,又称长作业调度,调度队像是作业,根据某种算法决定将后备队列中的哪几个作业调入内存。2:低级调度操作系统中最基本的一种调度方式(频率最高),在多道批处理、分时和时实三中类型的OS中都存在,又称为短作业调度。3:中级调度又称为内存调度,目的是为了提高内存的利用率和系统的吞吐率,作业调度的算法:1:先来先服务算法(FSFS)最简单的调度算法,既可用于作业调度也可用于进程调度,系统按照作业到达的先后顺序进行调度,或者是优先考虑在系统中等待时间最长的作业2:短作业优先调度算法(SJF)实际情况短作业占有比例很大,为了使他们比长作业优先执行,而产生了短作业优先的调度算法,作业越短优先级越高,缺点:是必须知道作业的运行时间,对长作业不利,人机无法实现交互,未完全考虑作业的紧迫程度3:优先级调度算法(PSA)优先级:对于先来先服务算法,作业的等待时间就是他的优先级,等待时间越长优先级越高,对于短作业优先级作业的长短就是他的优先级。在优先级算法中,基于作业的紧迫程度。4:高响应比优先调度算法(HRRN)在FSFS中只是考虑作业的等待时间而忽略作业的运行时间,SJF算法正好相反,高响应比算法既考虑作业的等待时间有考虑作业的运行时间,优先权=(等待时间+要求服务时间)/要求服务时间由于等待时间与服务时间之和就是作业的相应时间,顾优先级相当于响应比:RpRp=(等待时间+要求服务时间)/要求服务时间=响应时间/要求服务时间什么是死锁,死锁产生的4个条件死锁定义:在两个或多个并发进程中,如果每个进程持有某种资源而又都等待别的进程释放它或它们现在保持着的资源,在未改变这种状态之前都不能向前推进,称这一组进程产生了死锁。通俗地讲,就是两个或多个进程被无限期地阻塞、相互等待的一种状态。产生条件:1:互斥条件--一个资源一次只能被一个进程使用2:请求保持条件--一个进程因请求资源而阻塞时,对已经获得资源保持不放3:不可抢占条件--进程已获得的资源在未使用完之前不能强行剥夺4:循环等待条件--若干进程之间形成一种头尾相接的循环等待资源的关系预防避免死锁的方法1:破坏“请求和保持”条件:规定所有进程在开始运行之前,都必须一次性的申请其在整个运行过程所需要的全部资源。优点:简单,安全。缺点:资源严重浪费,恶化了系统的利用率;2:破坏“不剥夺”条件:进程逐个的提出资源请求,当一个已经保持了某些资源的进程,再提出新的资源请求而不能立即得到满足时,必须释放它已经保持了的所有资源,待以后需要时再重新申请。缺点:实现复杂,代价大,反复地申请和释放资源,而使进程的执行无限的推迟、延长了进程的周转时间增加系统开销、降低系统吞吐量。3:破坏“环路等待”条件:将所有的资源按类型进行线性排队,并赋予不同的序号。所有进程请求资源必须按照资源递增的次序提出,防止出现环路。缺点:1、序号必须相对稳定,限制了新设备类型的增加2、作业(进程)使用资源顺序和系统规定的顺序不同而造成资源的浪费3、限制了用户编程注意:由于互斥条件是非共享设备所必需的,不能改变四、存储器管理连续分配存储管理方式1:单一连续分配2:固定分区分配3:动态分区分配其中动态分区分配将涉及到分区分配中实际需要的数据结构,分区分配算法和分区的分配与回收操作内存分配的流程:动态分区分配算法1:首次适应算法(FF):要求地址空间递增的顺序链接,再分配内存时从链首开始查找,知道有一个满足的空间为止。该算法优先利用内存中低址空间,保留了高址空间,缺点是低址部分不断被划分,留下许多内存碎片,2:循环首次适应算法(NF):为了防止留下碎片,减少低址空间开销,NF算法每次从上一次分配的地方继续分配,该算法需要一个起始查询的指针用于指示下一次查询的空间地址。缺点是:缺乏大的空间分区3:最加适应算法(BF):每次作业分配时,总是把满足要求,又是最小的空间分配给作业,该算法把空间分区按其容量大小从小到大排列成空闲区链,缺点是:留下许多内存碎片,4:最坏适应算法(WF):总是挑选最大的空闲区域分配给作业使用,优点是不至于使空闲区间太小,产生碎片的可能性小,缺点是:缺乏大的空间分区分页存储管理方式分页存储的基本方法:1:页面和物理快页面:分页存储管理将进程的逻辑地址空间分成若干页,并从0开始编号,把内存的物理地址分成若干块(物理快)2:地址结构:页号P-----偏移量W(包括页号P和偏移量W),对于特定的机器其地址结构一定,给定逻辑地址A,页面的大小为L,则页号P和页内地址D有一下关系:P=int[A/L];d=[A]MODL例如:页面大小1kbA=2170B得:p=2d=1223:页表:记录相应页在内存中对应的物理块号4:地址转换机构:将用户逻辑空间的地址,转变为空间中的物理地址分段存储管理方式分段是管理不会产生内存碎片(短号,段内地址)分段管理方式的引入原因:1:一般程序分为若干段,如:主程序段、数据段、栈段等,每个段大多是一个相对独立的单位2:实现满足信息共享、信息保护、动态链接、以及信息动态增长等需要分页和分段的区别:共同点:两者都采用离散分配方式,且都地址映射机构来实现地址的转换不同点:1:页是信息的物理单位采用分页存储管理方式是为了实现离散分配方法。提高内存的利用率,采用分段目的主要在于能更好的满足用户的需求2:页的大小固定且有系统决定,在采用分页存储管理方式中直接由硬件实现。而段的大小不固定,决定于用户所编写的程序3:分页的地址空间是一维的,分页完全是系统完全是行为,分段系统中是二维的。段页式存储管理方式基本原理是分段和分页相结合,其地址结构由:段号、段内页号、页内地址三部分组成。在段页式系统中获得一条指令需要三次访问内存,第一次
本文标题:操作系统之面试常考题
链接地址:https://www.777doc.com/doc-4858277 .html