第一章作业一、计算题内存中有三个作业按照A---B---C的优先级次序执行,CPU计算和外设操作如下表所示:请给出多道程序运行的时间关系图,完成这三个程序共用去多少时间?分单通道和双通道讨论?比单道方式节约多少时间?(MS)二、简述题1、什么是操作系统?操作系统是控制和管理计算机系统内各种硬件和软件资源、有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口。2、操作系统有哪些特征?①并发:两个或多个活动在同一给定的时间间隔中进行。②共享:计算机系统中的资源被多个进程所共用。③异步性:系统中各种事件发生顺序的不可预测性。另外,同一程序在相同的初始数据下,无论何时运行都应获得同样的结果。④抽象性:抽象是把复杂事情简单化的有效方式。3、如何理解操作系统的不确定性?ABCCPU计算306020I/O403040CPU计算101020在多道程序环境中,由于资源等因素的限制,程序是以走走停停的方式运行的。系统中的每个程序何时执行,多个程序间的执行顺序以及完成每道程序所需的时间都是不确定的,因而也是不可预知的。4、操作系统有哪些分类?最基本类型:批处理操作系统、分时操作系统、实时操作系统扩展类型:嵌入式操作系统、个人计算机操作系统、网络操作系统、分布式操作系统、多处理操作系统。5、如何理解多道并发?多道程序设计:在内存中同时存放多道程序,在管理程序的控制下交替地执行。这些作业共享CPU和系统中的其他资源。并发:多道程序在CPU上交替运行主要特点:多道、宏观上并行、微观上串行。多道是指计算机内存中同时存放多道相互独立的程序。宏观上并行是指同时进入系统中的多道程序都处于运行过程中。微观上串行是指在单处理器环境中,内存中的多道程序轮流占有CPU,交替执行。6、7、云操作系统如何理解?云操作系统,又称云计算中心操作系统、云OS,是云计算后台数据中心的整体管理运营系统(也有人认为云计算系统包括云终端操作系统,例如现在流行的各类手机操作系统,这与先行的单机操作系统区别不大,在此不做讨论),它是指构架于服务器、存储、网络等基础硬件资源和单机操作系统、中间件、数据库等基础软件管理海量的基础硬件、软资源之上的云平台综合管理系统。8、什么是多核计算机,什么是网络操作系统?多核计算机:是指将多个处理器(“核”)组装在同一块硅片上,故又名单芯多处理器。每个核上通常会包括组成一个独立的处理器的所有零部件,如寄存器、ALU、流水线硬件及控制单元,再加上L1指令和数据高速缓存。除了拥有多个核之外,现有的多核芯片还包含L2高速缓存,甚至在某些芯片中,包含L3高速缓存。如Intel酷睿i7。A.请简述操作系统的引导过程1、结合自己使用计算机的实际情况说明引导过程2、加电自检3、启动引导程序4、识别外设5、加载操作系统6、检查配置文件B.系统初启一般过程硬件检测加载引导程序初始化内核用户登录网络操作系统:是在网络环境下实现对网络资源的管理和控制的操作系统,是用户与网络资源之间的接口。网络操作系统是建立在独立的操作系统之上,为网络用户提供使用网络系统资源的桥梁。在多个用户争用系统资源时,网络操作系统进行资源调剂管理,它依靠各个独立的计算机操作系统对所属资源进行管理,协调和管理网络用户进程或程序与联机操作系统进行交互。第二章作业一、基本理论题1、进程,线程,管程之间的区别与联系?进程:程序在并发环境中的执行过程。线程:现代操作系统中,进程只作为资源拥有者,而调度和运行的属性赋予新的实体——线程。线程(Thread)是进程中实施调度和分派的基本单位线程和进程的关系①一个进程可以有多个线程,但至少要有一个线程;而一个线程只能在一个进程的地址空间内活动。②资源分配给进程,同一进程的所有线程共享该进程的所有资源。③处理机分配给线程,即真正在处理机上运行的是线程。④线程在执行过程中需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。管程概念的定义是:一个管程定义一个数据结构和能为并发进程在其上执行的一组操作,这组操作能使进程同步和改变管程中的数据。一个管程由管程名称、局部于管程的共享数据的说明、对数据进行操作的一组过程和对该共享数据赋初值的语句四部分组成。管程具有以下三个特性:①管程内部的局部数据变量只能被管程内定义的过程所访问,不能被管程外面声明的过程直接访问。②进程要想进入管程,必须调用管程内的某个过程。③一次只能有一个进程在管程内执行,而其余调用该管程的进程都被挂起,等待该管程成为可用的。即管程能有效地实现互斥。2、什么是原语?原语是由若干条指令组成的,用于完成一定功能的一个过程。它与一般过程的区别在于:它们是“原子操作”。所谓原子操作,是指一个操作中的所有动作要么全做,要么全不做。换言之,它是一个不可分割的基本单位,因此,在执行过程中不允许被中断。原子操作在管态下执行,常驻内存。原语的作用是为了实现进程的通信和控制,系统对进程的控制如不使用原语,就会造成其状态的不确定性,从而达不到进程控制的目的。3、什么是进程调度?处理机调度分为三层,三层中的低级调度又称进程调度、微观调度或者短程调度,其主要任务是按照某种策略和方法从就绪队列中选取一个进程,将处理器分配给它。进程调度的运行频率很高,一般几十毫秒要运行一次。进程调度是操作系统中最基本的一种调度,在一般操作系统中都必须配置进程调度。4、内核功能有哪些?①进程管理:进程的创建和终止、进程的调度和分派、进程切换、进程同步以及对进程间通信的支持、进程控制块的管理②内存管理:给进程分配地址空间、交换、页和段的管理③I/O管理:缓冲区管理、给进程分配I/O通道和设备④支持功能:中断处理、记账、监视。5、信号量怎么理解?结构型信号量又称计数信号量,简称信号量一般是由两个成员组成的数据结构。其中一个成员是整型变量,表示该信号量的值;另一个是指向PCB的指针。typedefstruct{intvalue;structPCB*list;}semaphore;对信号量的操作有如下严格限制:①信号量可以赋初值,且初值为非负数。②在使用过程中,信号量的值可以修改,但只能由P和V操作来访问,不允许通过其他方式来查看或操纵信号量。6、举例说明死锁?死锁是指多个进程因竞争系统资源或相互通信而处于永久阻塞状态,若无外力作用,这些进程都将无法向前推进。例如,某计算机系统中只有一台打印机和一台输入设备,进程1P正在占用输入设备,同时又提出使用打印机的请求,但此时打印机正在被进程2P所占用,而2P在未释放打印机之前,又提出请求使用正在1P占用着的输入设备。这样两个进程相互无休止地等待下去,均无法继续执行,此时两个进程陷入死锁状态。7、系统调用怎么理解?系统调用也称程序接口,是程序级的接口,即用户程序可以利用系统调用提供的一组系统调用命令去调用操作系统内核中的一个(或一组)过程来完成自己所需要的功能。系统调用可以看作是操作系统内核和应用程序之间进行交互的接口,操作系统向用户程序提供系统调用的原因是为了对系统进行“保护”。当用户程序需要系统服务,也就是需要调用系统内核中的某些程序时,只能从规定的位置进入内核,这样才能保证系统的安全。8、临界区,临界资源?一次仅允许一个进程使用的资源称为临界资源。在每个进程中,访问临界资源的那段程序称为临界区。9、进程创建的步骤?进程创建就是创建一个新的进程,是通过原语实现的。进程创建原语是的主要工作如下:①向系统申请一个空闲的PCB。从系统的PCB表中找出一个空闲的PCB表项,并指定唯一的进程标识号PID。②为新进程分配资源。根据新进程提出的资源需求为其分配资源,例如为新进程分配内存空间以存放其程序及数据。③初始化新进程的PCB。在新进程的PCB中填入进程名,家族信息,程序和数据地址,进程优先级,资源清单及进程状态等信息。一般新进程的状态为就绪状态。④将新进程的PCB插入就绪队列。10、进程状态切换的原因有哪些?①CPU调度:按某种策略从就绪队列中调度一个进程到CPU上运行,该进程从就绪状态变成运行状态;原运行的进程从运行状态转为就绪状态(时间片到)或阻塞状态(等待事件)。②进程在运行过程中需要等待某一事件:例如等待分配某一资源,或等待I/O操作完成时,这个进程则主动退出CPU,使自己处于阻塞状态,引起状态变化。③进程所等待的事件的发生:例如,一次I/O已完成,于是进程被解除阻塞状态,变成就绪状态。11、什么是挂起?挂起进程在操作系统中可以定义为暂时被淘汰出内存的进程,机器的资源是有限的,在资源不足的情况下,操作系统对在内存中的程序进行合理的安排,其中有的进程被暂时调离出内存,当条件允许的时候,会被操作系统再次调回内存,重新进入等待被执行的状态即就绪态,系统在超过一定的时间没有任何动作.12、如何理解多核与多线程?多线程是指在一个进程中可以定义多个线程并同时运行它们,每个线程可以执行不同的任务。多核是指一个芯片上有多个核心。13、互斥与同步?进程间的相互关系主要分为如下三种形式:①互斥——竞争同一资源而发生相互制约②同步——协同完成一项任务③通信——交换信息同步:同步进程通过共享资源来协调活动,在执行时间的次序上有一定约束。虽然彼此不直接知道对方的名字,但知道对方的存在和作用。在协调动作的情况下,多个进程可以共同完成一项任务。互斥:在逻辑上这两个进程本来完全独立,毫无关系,只是由于竞争同一个物理资源而相互制约。它们的运行不具有时间次序的特征。14、死锁产生的原因与条件?产生死锁的原因:一是由于多进程共享的资源不足而引起竞争资源,二是由于进程在运行过程中具有异步性特征,进程推进顺序非法。产生死锁的条件:①互斥条件:指在一段时间内某资源仅为一个进程所占有。②占有且等待条件:指进程每次申请他所需要的一部分资源,在等待分配新资源的同时,进程继续占有已分配到的资源。③不可抢占条件:指进程所获得的资源在未使用完毕之前,不能被其他进程强行夺走,而只能由该进程自己释放。④循环等待条件:指存在一种进程资源的循环等待链,链中每一个进程已获得的资源同时被链中下一个进程所请求。15、什么是死锁定理?系统为死锁状态的充分条件是:当且仅当该状态的进程-资源分配图是不可完全简化的。该充分条件称为死锁定理。16、如何理解银行家算法?(详细看上课的题)当用户申请一组资源时,系统必须做出判断:如果把这些资源分出去,系统是否还处于安全状态。若是,就可以分出这些资源;否则,该申请暂不予满足。银行家算法数据结构令n表示系统中进程的数目,m表示资源分类数。①Available是一个长度为m的向量,它表示每类资源可用的数量。Available[j]=k,表示rj类资源可用的数量是k。②Max是一个n×m矩阵,它表示每个进程对资源的最大需求。Max[i,j]=k,表示进程pi至多可申请k个rj类资源单位。③Allocation是一个n×m矩阵,它表示当前分给每个进程的资源数目。Allocation[i,j]=k,表示进程pi当前分到k个rj类资源。④Need是一个n×m矩阵,它表示每个进程还缺少多少资源。Need[i,j]=k,表示进程pi尚需k个rj类资源才能完成其任务。▲记号:令X和Y表示长度为n的向量可以把矩阵Allocation和Need中的每一行当做一个向量,并分别写成Allocationi和Needi。Allocationi表示当前分给进程pi的资源。⑴资源分配算法令Requesti表示进程pi的申请向量。Requesti[j]=k,表示进程pi需要申请k个rj类资源。当进程pi申请资源时,就执行下列动作:①若Requesti>Needi,表示出错,②如果Requesti>Available,则pi等待。③假设系统把申请的资源分给进程pi,则应对有关数据结构进行修改:Available:=Available–RequestiAllocationi:=Allocationi+RequestiNeedi:=Needi–Requesti④系统执行安全性算法,查看此时系统状态是否安全。如果是安全的,就实际分配资源,满足进程pi的此次申请;否