您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 广告经营 > 四川大学2015年博士入学考试之操作系统试题及答案(操作系统3130)-lzy
四川大学2015年攻读博士学位研究生入学考试试题(操作系统3130)一、简述(50分,每小题5分)1、用户态/系统态用户态(usermode)在计算机结构指两项类似的概念。在CPU的设计中,用户态指非特权状态。在此状态下,执行的代码被硬件限定,不能进行某些操作,比如写入其他进程的存储空间,以防止给操作系统带来安全隐患。在操作系统的设计中,用户态也类似,指非特权的执行状态。内核禁止此状态下的代码进行潜在危险的操作,比如写入系统配置文件、杀掉其他用户的进程、重启系统等。管态(系统态)是操作系统管理程序执行时机器所处的状态。此状态下可以执行任何指令,包括特权指令。用户态(目的态)是用户程序执行时机器所处的状态。2、分时系统分时操作系统(time-sharingsystem),“分时”的含义:分时是指多个用户分享使用同一台计算机。多个程序分时共享硬件和软件资源。分时操作系统是指在一台主机上连接多个带有显示器和键盘的终端,同时允许多个用户通过主机的终端,以交互方式使用计算机,共享主机中的资源。分时操作系统是一个多用户交互式操作系统。分时操作系统,主要分为三类:单道分时操作系统,多道分时操作系统,具有前台和后台的分时操作系统。分时操作系统将CPU的时间划分成若干个片段,称为时间片。操作系统以时间片为单位,轮流为每个终端用户服务。3、线程线程,有时被称为轻量级进程(LightweightProcess,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。就绪状态是指线程具备运行的所有条件,逻辑上可以运行,在等待处理机;运行状态是指线程占有处理机正在运行;阻塞状态是指线程在等待一个事件(如某个信号量),逻辑上不可执行。每一个程序都至少有一个线程,若程序只有一个线程,那就是程序本身。线程是程序中一个单一的顺序控制流程。进程内一个相对独立的、可调度的执行单元,是系统独立调度和分派CPU的基本单位指运行中的程序的调度单位。在单个程序中同时运行多个线程完成不同的工作,称为多线程。4、单内核单内核是个很大的进程。它的内部又能够被分为若干模块(或是层次或其他)。但是在运行的时候,他是个单独的二进制大映象。其模块间的通讯是通过直接调用其他模块中的函数实现的,而不是消息传递。[1]在运行效率上,单内核会具有一定的好处。5、条件竞争竞争条件指多个线程或者进程在读写一个共享数据时结果依赖于它们执行的相对时间的情形。竞争条件发生在当多个进程或者线程在读写数据时,其最终的的结果依赖于多个进程的指令执行顺序。例如:考虑下面的例子假设两个进程P1和P2共享了变量a。在某一执行时刻,P1更新a为1,在另一时刻,P2更新a为2。因此两个任务竞争地写变量a。在这个例子中,竞争的“失败者”(最后更新的进程)决定了变量a的最终值。多个进程并发访问和操作同一数据且执行结果与访问的特定顺序有关,称为竞争条件。6、管程管程(英语:Monitors,也称为监视器)是一种程序结构,结构内的多个子程序(对象或模块)形成的多个工作线程互斥访问共享资源。这些共享资源一般是硬件设备或一群变数。管程实现了在一个时间点,最多只有一个线程在执行管程的某个子程序。与那些通过修改数据结构实现互斥访问的并发程序设计相比,管程实现很大程度上简化了程序设计系统中的各种硬件资源和软件资源,均可用数据结构抽象地描述其资源特性,即用少量信息和对资源所执行的操作来表征该资源,而忽略了它们的内部结构和实现细节。利用共享数据结构抽象地表示系统中的共享资源,而把对该共享数据结构实施的操作定义为一组过程。7、虚拟存储器虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。目前,大多数操作系统都使用了虚拟内存,如Windows家族的“虚拟内存”;Linux的“交换空间”等。虚拟存储器:具有层次结构存储器计算机系统自动实现部分装入和部分替换功能能从逻辑上用户提供比物理贮存容量大得多寻址主存储器虚拟存储区容量与物理主存大小无关而受限于计算机地址结构和用磁盘容量特点:虚拟内存作用内存计算机作用大电脑所有运行程序都需要经过内存来执行执行程序大或多会导致内存消耗殆尽了解决问题Windows运用了虚拟内存技术即拿出部分硬盘空间来充当内存使用当内存占用完时电脑会自动调用硬盘来充当内存缓解内存紧张8、伙伴系统Linux内核中采用了一种同时适用于32位和64位系统的内存分页模型,对于32位系统来说,两级页表足够用了,而在x86_64系统中,用到了四级页表,如图2-1所示。四级页表分别为:页全局目录(PageGlobalDirectory)页上级目录(PageUpperDirectory)页中间目录(PageMiddleDirectory)页表(PageTable)页全局目录包含若干页上级目录的地址,页上级目录又依次包含若干页中间目录的地址,而页中间目录又包含若干页表的地址,每一个页表项指向一个页框。Linux中采用4KB大小的页框作为标准的内存分配单元。在实际应用中,经常需要分配一组连续的页框,而频繁地申请和释放不同大小的连续页框,必然导致在已分配页框的内存块中分散了许多小块的空闲页框。这样,即使这些页框是空闲的,其他需要分配连续页框的应用也很难得到满足。为了避免出现这种情况,Linux内核中引入了伙伴系统算法(buddysystem)。把所有的空闲页框分组为11个块链表,每个块链表分别包含大小为1,2,4,8,16,32,64,128,256,512和1024个连续页框的页框块。最大可以申请1024个连续页框,对应4MB大小的连续内存。每个页框块的第一个页框的物理地址是该块大小的整数倍。假设要申请一个256个页框的块,先从256个页框的链表中查找空闲块,如果没有,就去512个页框的链表中找,找到了则将页框块分为2个256个页框的块,一个分配给应用,另外一个移到256个页框的链表中。如果512个页框的链表中仍没有空闲块,继续向1024个页框的链表查找,如果仍然没有,则返回错误。页框块在释放时,会主动将两个连续的页框块合并为一个较大的页框块。9、抖动如果分配给进程的存储块数量小于进程所需要的最小值,进程的运行将很频繁地产生缺页中断,这种频率非常高的页面置换现象称为抖动。在请求分页存储管理中,可能出现这种情况,即对刚被替换出去的页,立即又要被访问。需要将它调入,因无空闲内存又要替换另一页,而后者又是即将被访问的页,于是造成了系统需花费大量的时间忙于进行这种频繁的页面交换,致使系统的实际效率很低,严重导致系统瘫痪,这种现象称为抖动现象。10、内存碎片内存碎片分为:内部碎片和外部碎片内部碎片内部碎片就是已经被分配出去(能明确指出属于哪个进程)却不能被利用的内存空间;内部碎片是处于区域内部或页面内部的存储块。占有这些区域或页面的进程并不使用这个存储块。而在进程占有这块存储块时,系统无法利用它。直到进程释放它,或进程结束时,系统才有可能利用这个存储块。单道连续分配只有内部碎片。多道固定连续分配既有内部碎片,又有外部碎片。外部碎片外部碎片指的是还没有被分配出去(不属于任何进程),但由于太小了无法分配给申请内存空间的新进程的内存空闲区域。外部碎片是出于任何已分配区域或页面外部的空闲存储块。这些存储块的总和可以满足当前申请的长度要求,但是由于它们的地址不连续或其他原因,使得系统无法满足当前申请。多道可变连续分配只有外部碎片。二、设计题(30分,要求给出伪代码、流程图和主要的数据结构)某车库有m个停车位,车库的出口和入口共享同一个单车道的通道(同时只能有一个车进或者出)。假设不区分车位和车的大小,即一个车占用一个车位,一个车位只能停放一个车。并且,该车库的停放准则如下:1)空闲让进:如果车库有空闲车位,则欲进入的车直接按照先来先服务的原则进入车库;2)满则等待:如果车库已满,没有空闲车位,则欲进入的车,需要在车库外排队等待;3)出车优先:该车库的通道既是出口,也是入口,且是单车道。为了保证空闲车位的充分利用,避免拥塞,规定:出车库的车有优先使用通道的权利。请用信号量描述上述过程。三、论述题(20分)简述服务器虚拟化的基本概念,以及虚拟化后产生的安全威胁,对此,你有什么好的对策?将服务器物理资源抽象成逻辑资源,让一台服务器变成几台甚至上百台相互隔离的虚拟服务器,我们不再受限于物理上的界限,而是让CPU、内存、磁盘、I/O等硬件变成可以动态管理的“资源池”,从而提高资源的利用率,简化系统管理,实现服务器整合,让IT对业务的变化更具适应力--------这就是服务器的虚拟化。服务器虚拟化主要分为三种:“一虚多”、“多虚一”和“多虚多”。“一虚多”是一台服务器虚拟成多台服务器,即将一台物理服务器分割成多个相互独立、互不干扰的虚拟环境。“多虚一”就是多个独立的物理服务器虚拟为一个逻辑服务器,使多台服务器相互协作,处理同一个业务。另外还有“多虚多”的概念,就是将多台物理服务器虚拟成一台逻辑服务器,然后再将其划分为多个虚拟环境,即多个业务在多台虚拟服务器上运行。破坏了正常的网络架构采用服务器虚拟化技术,需要对原来的网络架构进行一定的改动,建立新的网络架构,以适应服务器虚拟化的要求。但是,网络架构的改动打破了原来平衡的网络架构系统,也就会产生一些危险系统安全的风险安全问题。比如:如果不使用服务器虚拟化技术,客户可以把几个隔离区设置在防火墙的设备上。这样一来,一个隔离区就可以管理着一个服务器,服务器之间可以不同的管理原则,不同的服务器也就可以有不同的管理方法。这样,当有一个服务器被外界攻击时,其它的服务器就不会受到影响,可以正常运行。但是,如果采用了服务器虚拟化技术,就需要把虚拟的服务器一起连接到同一个虚拟交换机上。通过虚拟交换机就把所有的虚拟的服务器同外部网络联系了起来。因为所有的虚拟的服务器都连接在同一个虚拟交换机上,这就造成了一方面原来设置的防火墙功能失去了防护作用,另一方面给所有的虚拟服务器增加了安全风险。当一个虚拟服务器遭受到攻击或出现状况时,其它的虚拟服务器也会受到影响。可能致使系统服务器超载服务器虚拟化虽然能产生若干个服务器供用户使用,但是这些产生的服务器只是虚拟的,还需要借用物理服务器的硬件系统来进行各种应用程序的运行。各个虚拟服务器的应用程序非常多,这些应用程序一旦全部运行起来,就会大量占用物理服务器的内存、中央处理器、网络等硬件系统,从而给物理服务器带来沉重的运行负担。如果有一天,所有的虚拟服务器都在运行大量的应用程序,就有可能使物理服务器负荷太大,从而出现服务器超载的现象。服务器超载到一定程度,就有可能造成各个虚拟服务器运行程序速度太慢,影响客户的使用。更严重的还可能造成物理服务器系统崩溃,给客户带来无法估量的损失。致使虚拟机失去安全保护服务器虚拟化后,每个虚拟机都会被装上自己的管理程序,供客户操作和使用虚拟服务器。但是不是所有的管理程序都是完美无缺,没有安全漏洞的。管理程序在设计中都有可能会产生一些安全漏洞和缺陷。而这些安全漏洞和缺陷则有可能成为电脑黑客的攻击服务器的着手点。他们通过这些安全漏洞和缺陷会顺利地进入服务器,进行一些非法操作。更重要的是,一台虚拟机管理程序的安全漏洞和缺陷会传染给其它虚拟机。当一台虚拟机因安全漏洞和缺陷遭受黑客攻击时,其它的虚拟机也会受到影响,致使虚拟机失去安全保护。服务器被攻击的机会大大增加连接于同一台物理服务器的所有服务器虚拟机是能相互联系的。在相互联系的过程中,就有可能
本文标题:四川大学2015年博士入学考试之操作系统试题及答案(操作系统3130)-lzy
链接地址:https://www.777doc.com/doc-3637787 .html