重要的知识点:1.进程与程序的差异。(1)进程是动态的,而程序是静态的。(2)进程有一定的生命期,而程序是指令的集合,本身无“运动”的含义。没有建立进程的程序不能作为1个独立单位得到操作系统的认可。(3)1个程序可以对应多个进程,但1个进程只能对应1个程序。进程和程序的关系犹如演出和剧本的关系2.进程的三种基本状态及其状态转换。P.383.P、V操作的概念及如何用其实现同步和互斥。4处理机调度的概念。在多道程序设计系统中,内存中有多道程序运行,他们相互争夺处理机这一重要的资源。处理机调度就是从就绪队列中,按照一定的算法选择一个进程并将处理机分配给它运行,以实现进程并发地执行。处理机调度是把处理机分配给就绪队列中的一个进程。在许多系统中,这个调度活动分成三个层次:高级调度、中级调度和低级调度。5操作系统的基本特征和功能特征:1.并发性:平行性、引入进程、引入线程2.共享性:是指系统中的资源可供内存中多个并发执行的进程共同使用。互斥共享、同时访问方式3.虚拟技术:是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。分为时分复用和空分复用技术。4.异步性:进程是以人们不可预知的速度向前推进,此即进程的异步性。功能:1.处理机管理功能:进程控制,进程同步,进程通信,调度2.存储器管理功能:内存分配、内存保护、地址映射、内存扩充3.设备管理功能:缓冲管理、设备分配、设备处理4.文件管理功能:文件存储空间的管理、目录管理、文件的读/管理和保护。操作系统与用户之间接口用户接口、程序接口6当前的高级通信机制有哪些?进程通信分类:1、低级通信:特点:交换的信息量少,仅仅是一些数据和状态的变化;通信由程序员完成。如P,V原语实现的进程互斥与同步。2、高级通信;特点:每次交换的信息量可以很大;系统提供高效、简捷的信息传输命令。1、共享存储器系统(Shared-MemorySystem)共享数据结构的通信方式:公用数据结构的设置及对进程间同步的管理,都是由程序员完成,效率低,传递数据量少;共享存储区的通信方式:进程可随时向系统申请一块存储区,并指定该区的关键字,用于进程通信。2、管道通信(PipeCommunication)用以连接一个读进程和写进程以实现他们之间的通信的一个共享文件3、消息传递系统(MassagePassingSystem)格式化的消息为单位7在生产者和消费者问题中,如果将两个wait操作即wait(full)和wait(mutex)互换位置,或者将signal(mutex)和signal(full)互换位置,结果会如何?在生产者—消费者问题中,如果将两个wait操作,即wait(full)和wait(mutex)互换位置后,可能引起死锁。考虑系统中缓冲区全满时,若一生产者进程先执行了wait(mutex)操作并获得成功,则当再执行wait(empty)操作时,它将因失败而进入阻塞状态,它期待消费者进程执行signal(empty)来唤醒自己,在此之前,它不可能执行signal(mutex)操作,从而使试图通过执行wait(mutex)操作而进入自己的临界区的其他生产者和所有消费者进程全部进入阻塞状态,这样容易引起系统死锁。若signal(mutex)和signal(full)互换位置后只是影响进程对临界资源的释放次序,而不会引起系统死锁,因此可以互换位置。8操作系统中采用缓冲技术的目的是什么?//操作系统中采用缓冲技术的目的是为了增强系统并行操作的能力.1.缓和CPU与I/O设备间速度不匹配的矛盾(如打印机缓冲区)。2.减少对CPU的中断频率,放宽对CPU中断响应时间的限制。3.提高CPU和I/O设备之间的并行性(加了打印机缓冲后打印机和CPU并行工作)。9SPOOLing系统由哪几部分组成?以打印机为例说明如何利用SPOOLing技术实现多个进程对打印机的共享。SPOOling系统的组成:SPOOLIng系统是对脱机I/O工作的模拟,其必须有高速随机外存(通常采用磁盘)的支持SPOOLING系统有以下四个部分:1.输入井和输出井,为磁盘上开辟的两大存储空间,分别模拟脱机输入/出时的磁盘并用于收容I/O设备输入的数据和用户程序的输出数据2.输入缓冲区和输出缓冲区,在内存中开辟,分别用于暂停由输入设备和输出井送来的数据3.输入进程SPi和输出进程SP0分别模拟脱机输入/出时的外围控制机,用于控制I/O过程4.I/O请求队列,由系统为各个I/O请求进程建立的I/O请求表构成的队列.廉价磁盘冗余阵列:利用一台磁盘阵列控制器,来统一管理和控制一组磁盘驱动器,组成一个高度可靠的快速的大容量磁盘系统??1输入井和输出井2输入缓冲区和输出缓冲区3输入进程SPi和输出进程SPo4I/O请求队列10外存文件区的管理应以什么为主要目标?对外存对换区的管理应以提高换入换出速度为主要目标,对外存文件区的管理应以提高存储空间的利用率为主要目标。11什么是FCB,它包含哪些信息,作用?操作系统为管理文件而设置的数据结构,存放了为管理文件所需的所有有关信息。文件与文件控制块一一对应。文件控制块是文件存在的标志。一个FCB就是目录表中的一个目录项。基本信息文件名:标识一个文件的符号名。文件物理位置:文件在外存上的存储位置,包括存放文件的设备名、起始盘块号、占用的盘块数文件逻辑结构:流式文件还是记录式文件、记录数;定长记录还是变长记录等。文件的物理结构:指示文件是顺序文件,还是链接式文件或索引文件等。存取控制信息类:文件主的存取权限、核准用户的存取权限以及一般用户的存取权限。使用信息类:文件的建立日期和时间、文件上一次修改的日期和时间及当前使用信息(如已打开该文件的进程数、是否被其它进程锁住、文件在内存中是否已被修改但尚未拷贝到盘上。)12什么是地址变换?如是是操作系统的存储器管理,则是(1)保护方式的地址转换:处理器内部的分段单元将逻辑地址转换为线性地址,再由分页单元将线性地址转换为物理地址,物理地址通过地址总线输出选择存储器芯片中的具体存储单元。(2)实地址方式的地址转换:实地址方式采用实地址存储模型,注意其的主存空间只有1MB=220字节),仅使用地址总线的低20位,其物理地址范围为00000H~FFFFFH。实地址存储模型也进行分段管理,但有两个限制:•每个段最大为64KB•段只能开始于低4位地址全为0的物理地址处实地址方式的段寄存器直接保存20位段基地址的高16位,段内的偏移地址也用16位表示。这样将逻辑地址转换为物理地址的方法是:将段寄存器中的数值左移二进制4位(十六进制一位),加上偏移地址就得到20位物理地址。基本地址变换机制块表地址变换机制13设备和内存间的数据传送控制方式有几种?程序I/O方式中断驱动I/O控制方式直接存储器访问控制方式I/O通道控制方式14银行家算法某系统中有10台打印机,有三个进程P1P2P3分别需要8台7台4台若P1P2,P3已申请到4台,2台和2台。试问:按银行家算法能安全分配吗?答:申请后系统把2台机分配给p3,p3完成后释放所有的资源4,再分配给p1,p1完成后释放8,再分配给p2安全状态:指体统能按着某种进程顺序(p1,p2,...pu)来为每个进程pi分配其所需资源,知道满足每个进程对资源的最大需求,是每个进程都可顺利的完成15分页和分段存储管理方式的地址转换(逻辑地址转换为物理地址),见PPT中的内容。16给出一个进程序列,会计算采用先来先服务、时间片轮转(q为轮转的时间片)调度算法的平均周转时间、平均带权周转时间。(见教材92的表)17会计算FIFO、LRU两种置换算法的缺页次数。18死锁产生的必要条件是什么?1.互斥条件;2.请求和保持条件;3.不剥夺条件;4.环路等待条件。生产者—消费者问题1.利用记录型信号量解决生产者—消费者问题假定在生产者和消费者之间的公用缓冲池中,具有n个缓冲区,这时可利用互斥信号量mutex实现诸进程对缓冲池的互斥使用;利用信号量empty和full分别表示缓冲池中空缓冲区和满缓冲区的数量。又假定这些生产者和消费者相互等效,只要缓冲池未满,生产者便可将消息送入缓冲池;只要缓冲池未空,消费者便可从缓冲池中取走一个消息。Varmutex,empty,full:semaphore=1,n,0;buffer:array[0,…,n-1]ofitem;in,out:integer=0,0;beginparbeginproceducer:beginrepeat…produceranitemnextp;…wait(empty);wait(mutex);buffer(in)=nextp;in=(in+1)modn;signal(mutex);signal(full);untilfalse;endconsumer:beginrepeatwait(full);wait(mutex);nextc=buffer(out);out=(out+1)modn;signal(mutex);signal(empty);consumertheiteminnextc;untilfalse;endparendend在生产者—消费者问题中应注意:首先,在每个程序中用于实现互斥的wait(mutex)和signal(mutex)必须成对地出现;其次,对资源信号量empty和full的wait和signal操作,同样需要成对地出现,但它们分别处于不同的程序中。例如,wait(empty)在计算进程中,而signal(empty)则在打印进程中,计算进程若因执行wait(empty)而阻塞,则以后将由打印进程将它唤醒;最后,在每个程序中的多个wait操作顺序不能颠倒。应先执行对资源信号量的wait操作,然后再执行对互斥信号量的wait操作,否则可能引起进程死锁。利用管程解决生产者——消费者问题(1)put(item)过程。生产者利用该进程将自己生成的产品投入到缓冲池中,并用整型变量count来表示在缓冲池中已有的产品数目,当count=n时,表示缓冲池已满。生产者等待。(2)get(item)过程。消费者利用该进程从缓冲池中取出一个产品,当count=0时,表示缓冲池中已无可取用的产品,消费者等待。PC管程可描述如下:typeproducer-consumer=monitorvarin,out,count:integer;buffer:array[0,….,n-1]ofitemnotfull,notempty:condition;procedureentryput(item)beginifcount=0thennotfull.wait;buffer(in):=nextp;in:=(in+1)modn;count:=count+1;ifnotempty.queuethennotempty.signal;endprocedureentryget(item)beginifcount=0thennotempty.wait;nextc:=buffer(out);out:=(out+1)modn;count:=count-1;ifnotfull.queuethennotfull.signalendbeginin:=out:=0count:=0end利用管程解决生产者——消费者问题时。produce:beginrepeatproduceaniteminnextpPC.put(item)unitlfalse;endconsumer:beginrepeatPC.get(item)consumertheiteminnextcunitlfalse;endPV原语的含义P操作和V操作是不可中断的程序段,称为原语。PV原语及信号量的概念都是由荷兰科学家E.W.Dijkstra提出的。信号量sem是一整数,sem大于等于零时代表可供并发进程使用的资源实体数,但sem小于零时则表示正在等待使用临界区的进程数。P原语操作的动作是:(1)sem减1;(2)若sem减1后仍大于或等于零,则进程继续执行;(3)若sem减1后小于零,则该