一、三大操作系统的工作原理和任务(P7)批处理(单道批处理和多道批处理)、分时、实时系统是三种基本的操作系统类型。多道批处理:用户所提交的作业都先存放在外存并排成一个队列,该队列被称为“后备队列”;然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。优缺点:(1)资源利用率高;(2)系统吞吐量大;(3)平均周转时间长;(4)无交互能力分时:多个用户分时使用主机,每一用户分得一个时间片,用完时间片后操作系统将处理机分给另一用户。使处理机能够及时响应用户请求。实时:系统能及时响应外部事件的请求,在规定时间内完成对该事件的处理,并控制所有实时任务协调一致地的运行。二、操作系统的四个主要特征:并发性(两个或多个事件在同一时间间隔内发生)、共享性、虚拟、异步性三、什么是微内核?微内核的工作原理及工作模式?(27)(1)足够小的内核(2)基于客户/服务器模式(3)应用机制与策略分离原理(4)采用面向对象技术优点:提高可扩展性、增强可靠性、可移植性强、提供对分布式系统支持、融入面向对象技术四、什么是多道程序技术?(填空)在内存中放多道程序,使它们在管理程序的控制下相互穿插地运行。五、操作系统主要功能:处理机管理功能、存储器、设备、文件一、区别:进程和程序、进程和线程、用户级线程和核心级线程(估计考其中一个)1、进程和程序(1)进程由程序段和数据段这两个部分组成,因此说进程与程序是紧密相关的。但从结构上看,进程实体中除了程序段和数据段外,还必须包含一个数据结构,即进程控制块PCB(进程存在标志)。(2)进程是程序的一次执行过程,因此是动态的;动态性还表现在进程由创建而产生、由调度而执行、由撤消而消亡,即它具有—定的生命周期。而程序则只是一组指令的有序集合,并可永久地存放在某种介质上,其本身不具有运动的含义,因此是静态的。(3)多个进程实体可同时存放在内存中并发地执行,其实这正是引入进程的目的。而程序(在没有为它创建进程时)的并发执行具有不可再现性,因此程序不能正确地并发执行。(4)进程是一个能够独立运行、独立分配资源和独立接受调度的基本单位。而因程序(在没有为它创建进程时)不具有PCB,所以它是不可能在多道程序环境下独立运行的。(5)进程与程序不—一对应。3、用户级线程和核心级线程(1)内核支持线程即核心级线程。它们是依赖于内核的,即无论是用户进程中的线程,还是系统进程中的线程,它们的创建、撤消、切换都由内核实现。(2)用户级线程,对于这种线程的创建、撤消、和切换,都不用系统调用来实现。内核并不知道用户级线程的存在。进程特征:动态()独立()异步()并发(指多个进程实体同存于内存中,且能在一段时间内同时运行)二、进程的状态转换的条件三状态:就绪状态、执行状态、阻塞状态五状态:创建、就绪、阻塞、执行、终止七状态:创建、终止、执行、活动就绪、静止就绪、活动堵塞、静止堵塞三、什么是信号量机制及作用P操作对信号量进行减1操作和检查信号量V操作对信号量进行加1操作和检查信号量(1)Wait(P操作)/wait(s){s.value=s.value-1;if(s.value0)block(S.L);}2)Signal(V操作)signal(s){s.value=s.value+1;if(s.value=0)wakeup(S.L);}记录型信号量:typedefstruct{intvalue;structprocess_control_block*list;}semaphore;wait(semaphore*s){S-value--;if(-value0)block(S-list);}signal(semaphore*s){S-value++;if(S-value=0)wakeup(S-list)}四、什么是原语?列举不少于6个原语原语就是由若干条指令组成的,用于完成一定功能的一个过程,他们是原子操作,对于操作中的所有操作要么全做,要么全不做,原语执行过程中不允许中断。原语举例:阻塞原语block唤醒原语wakeup挂起原语suspend激活原语activeAND型信号量集P原语为SwaitAND型信号量集V原语为SsignalSend原语Receive原语临界资源:一次仅允许一个进程访问的共享资源临界区:每个进程中访问临界资源的那段程序称为临界区,每次只准许一个进程进入临界区,进入后不允许其他进程进入。五、进程通讯方式共享存储器系统管道通讯系统消息传递系统:直接通信方式;间接通信方式。客户机-服务器系统三种调度(填空题)作业调度:后备队列上的作业进入内存,创建进程,分配资源并进入就绪队列。也称为作业调度或长程调度,一般在批处理系统中有作业调度中级调度:为了提高内存利用率和系统吞吐量。涉及进程在内外存间的交换从存储器资源管理的角度来看,把进程的部分或全部换出到外存上,可为当前运行进程的执行提供所需内存空间。进程调度:也称微观调度、进程调度,从处理机资源分配的角度来看,处理机需要经常选择就绪进程或线程进入运行状态。由于低级调度算法的频繁使用,要求在实现时做到高效低级调度分两种方式:抢占、非抢占三、死锁:一组进程中,每个进程都无限等待被该组进程中另一进程所占有的资源,因而永远无法得到该资源,这种现象称为进程死锁。产生死锁四个必要条件:互斥条件:涉及的资源是非共享的。不剥夺条件:不能强行剥夺进程拥有的资源。请求和保持(部分分配)条件:进程在等待一新资源时继续占有已分配的资源。环路条件:存在一种进程的循环链,链中的每一个进程已获得的资源同时被链中的下一个进程所请求。处理死锁的四个基本方法:预防死锁:避免死锁:检测死锁:解除死锁:预防死锁的三个条件:破坏请求和保持(部分分配)破坏不可剥夺条件破坏环路条件避免死锁的实现:利用银行家算法安全性算法避免死锁。调度算法:先来先服务算法(FCFS)有利于长作业,不利于短作业最短作业优先算法(SJFt)提高了系统吞吐量对长作业不利未考虑作业的紧迫程度作业时间的估计时间不准最高响应比优先算法(HRN)有利于短作业等待时间越长,优先级越高对于长作业也不会无限等待每次调度之前,都先做响应比计算,增加系统开销间片轮转程序调度算法(RR)将就绪队列分为N级,每个就绪队列分配给不同的时间片,队列级别越高,时间片越长,级别越小,时间片越短;当进程第一次就绪时,进入第一级队列系统从第一级调度,当第一级为空时,系统转向第二个队列,.....当运行进程用完一个时间片,放弃CPU时,进入下一级队列;等待进程被唤醒时,进入原来的就绪队列;一、连续分配动态分区算法原理:(基于顺序搜索)分区分配算法包括:(1)首次适应算法FF:在内存分配时,要求空闲区按地址递增的次序组织空闲区表(队列)。分配:当进程申请内存时,系统从空闲区表的第一个表目开始查询,直到首次找到大小能够满足要求的空闲区,然后从该区中划出一块内存空间分配给进程,余下的部分仍作为一个空闲区留在空闲区表中,但要修改其首址和大小。(2)循环首次适应算法:在内存分配时,要求空闲区按地址递增的次序组织空闲区表(队列)。分配:从上次找到的空闲分区的下一个空闲分区开始查找,直至找到第一个能满足要求的空闲分区,从中划出一块与请求的大小相等的内存空间分配给作业。(3)最佳适应算法:要求按空闲区大小从小到大的次序组成空闲区表(队列)。分配:当进程申请一个存储区时,系统从表头开始查找,当找到第一个满足要求的空闲区时,停止查找,并且这个空闲区是最佳的空闲区。三、什么是碎片?分哪几种?由于空闲区的大小与申请内存的大小相等的情况是很少的,绝大多数情况是从一个空闲区中切去一块,剩下的部分作为一个空闲区仍留在空闲区表中,随着时间的推移,空闲区的发展趋势是越来越小,直至不能满足任何用户要求。这种不能被任何用户使用的极小的空闲区称为碎片。分类:页内碎片、外部碎片四、在分页式、分段式、段页式访问内存次数?在分页存储管理方式中产生页内碎片,访问两次。第一次是访问内存的页表,从中取出物理块号。第二次访问内存是将物理块号和页内地址转化成物理地址,去内存取出需要的数据。(一维地址空间)在分段存储管理方式中,访问两次内存。第一次是访问内存中的段表,从中取出段表的内存起始地址,将其与段内地址相加,得内存物理地址。第二次访问内存是从内存中取出需要的数据。(二维地址空间)在段页式存储管理方式中,访问内存三次。第一次访问内存是访问内存中的段表,得页表起始地址。第二次访问是访问内存中的页表,取出物理块号。第三次访问内存是取出需要的数据或者是指令。五、什么是对换,抖动,换入,换出?对换:把内存中暂不能运行的进程,或暂时不用的程序和数据,换出到外存上,以腾出足够的内存空间,把已具备运行条件的进程,或进程所需要的程序和数据,换入内存。抖动:在虚存中,页面在内存与外存之间频繁调度,以至于调度页面所需时间比进程实际运行的时间还多,此时系统效率急剧下降,甚至导致系统崩溃。这种现象称为颠簸或抖动。如何消除抖动现象?“L=S准则”,即调整系统内的进程数,使得产生缺页的平均间隔时间(L)等于系统处理进程缺页的平均时间(S)。理论和实践表明,此时的CPU利用率最高。原因:页面淘汰算法不合理分配给进程的物理页面数太少换入:将对换区中的进程调至内存。换出:将内存中的某些进程调至对换区。一、什么是虚拟存储器?具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。实现虚拟内存的基本原理将程序正在使用的部分内容放在内存,而暂时不用的部分放在外存,在需要时由系统调入内存,并将不需要(或暂不需要)的部分调出内存。由于程序在执行时,在一段时间内一般仅使用它的程序的一部分(或一小部分),所以程序仅有部分装入内存完全能够正确执行。特点:多次性,对换性、虚拟性二、页面置换算法(1)最佳(Optimal)置换算法选择永不使用的,或者是在最长时间内不再被访问的页面作为淘汰页面。(2)先进先出(FIFO)页面置换算法淘汰最先调入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。(3)最近最久未使用页面置换算法(LRU)选择最后一次访问时间距离当前时间最长的一页并淘汰之,即淘汰没有使用的时间最长的页。简单Clock置换算法改进型Clock置换算法一、目录线性查找技术:线性检索法又称为顺序检索法。在单级目录中,利用用户提供的文件名,用顺序查找法直接从文件从目录文件中找到指明文件的目录项。在树形目录中,用户提供的文件名是由多个文件分量名组成的路径名,此时需要对多级目录进行查找。二、索引节点如何指向目录的内容?以/usr/ast/mbox为例:首先文件系统找到根目录。在UNIX中,根目录的索引结点位于磁盘上的固定位置。然后在根目录中查找路径的第一部分,usr,也就获得了文件/usr的索引结点号。每个索引结点都位于磁盘的固定位置,所以根据索引结点号找到索引结点是很直接的。这样文件系统找到目录/usr,并接着查找下一部分ast。找到ast目录项后,得到目录/usr/ast的索引结点。从而找到目录/usr/ast并在该目录中查找文件mbox。接着,文件mbox的索引结点被读入内存,并保存在内存中,直至关闭该文件。磁盘索引节点:文件主标识符;文件类型;文件存取权限;文件物理地址;文件长度;文件连接计数;文件存取时间。内存索引节点:文件打开时,磁盘索引节点进内存以便于使用,增加了几项:索引节点标;,状态(是否上锁或修改);访问计数;文件所属文件系统的逻辑设备号;链接指针三、文件的物理结构由什么组成?顺序结构一个文件的全部信息存放在外存的一片连续编号的物理块中,这种结构称为连续结构,或称连续文件。索引结构这是一种非连续的结构,存放文件信息的每一物理块中有一个指针,指向下一个物理块,这个指针的长度由物理设备的容量决定,通常放在该物理块的开头或结尾。链接结构将盘块中的链接字按盘块号的顺序集中起来,构成盘文件映射表/文件分配表(FAT)。一、对I/O设备的控制方式?使用轮询的可编程I/O方式使用中断的可编程直接