Chapter11.操作系统定义:计算机系统软硬件资源的管理者;为用户提供一台等价的扩展机器或虚拟机;最重要、最基本、最复杂的系统程序,控制应用程序执行的程序。2.通道:用于控制I/O设备与内存间的数据传输。启动后可独立于CPU运行,实现CPU与I/O的并行。中断:指CPU在收到外部中断信号后,停止原来工作,转去处理该中断事件,完毕后回到原来断点继续工作。3.分时系统:多个用户同时通过自己的终端,以交互的方式使用计算机,共享主机中的资源。通常按时间片分配:各个程序在CPU上执行的轮换时间。同时性:也称为多路性。若干用户同时与一台计算机相连,宏观上看各个用户在同时使用计算机,他们是并行的;微观上看各个用户在轮流使用计算机。交互性:用户通过终端设备(如键盘、鼠标)向系统发出请求,并根据系统的响应结果再向系统发出请求,直至得到满意的结果。独立性:每个用户使用各自的终端与系统交互,彼此独立、互不干扰。及时性:指用户向系统发出请求后,应该在较短的时间内得到响应。多用户分时操作系统是当今使用最普遍的一类操作系统。Chapter21.操作系统的功能:处理机管理、存储管理、设备管理、文件管理、用户接口。2.操作系统的特征并发:在操作系统中同时存在许多活动。多个事件会在同一时间段内发生。共享:系统中的资源可供内存中多个并发执行的进程共同使用。互斥共享方式,临界资源/同时访问方式。虚拟:通过某种技术把一个物理实体变为若干个逻辑上的对应物。异步:不确定性,指进程的执行顺序和执行时间的不确定性;进程的运行速度不可预知:分时系统中,多个进程并发执行,“时走时停”,不可预知每个进程的运行推进快慢。3.操作系统的分类批处理操作系统优缺点:优点:作业流程自动化→资源利用率高吞吐量大——单位时间内完成的工作总量大缺点:用户交互性差,调试程序困难作业平均周转时间长调度机制:1.用户将作业交给系统操作员2.系统操作员将许多用户的作业组成一批作业,输入到计算机系统中,在系统中形成一个自动转接的连续作业流3.启动操作系统4.系统自动、依次执行每个作业5.由操作员将作业结果交给用户分时操作系统原理:分时就是把计算机的系统资源(尤其是CPU时间)进行时间上的分割,每个时间段称为一个时间片,每个用户依次轮流使用时间片。优缺点:优点:多路性:多个用户同时工作。也称为同时性。独立性:各用户独立操作,互不干扰,感觉不到计算机为其它用户服务。及时性:系统能及时对用户的操作进行响应。交互性:分时系统的基本属性。调度机制:1.一台主机连接了若干个终端2.每个终端有一个用户使用3.交互式的向系统提出命令请求4.系统接受每个用户的命令5.用时间片轮转方式处理服务请求6.通过交互方式在终端上显示结果7.用户根据上步结果发出下道命令实时操作系统原理:能够在指定或者确定的时间内完成系统功能和对外部或内部、同步或异步时间做出响应的系统。在实时计算中,系统的正确性不仅仅依赖于计算的逻辑结果,而且依赖于结果产生的时间4.SPOOLing技术同时外围设备联机操作--假脱机技术:利用磁盘作缓冲,将输入、计算、输出分别组织成独立的任务流,使I/O和计算真正并行。5.实时操作系统分类:硬实时系统、软实时系统多处理机操作系统分类:紧密耦合、松散耦合6.操作系统的内核强内核:基于传统的集中式操作系统的内核结构,系统调用式通过程序陷入内核实现,内核完成相应的服务后返回应用程序,同时返回结果给用户。微内核:基本思想:良好的结构化、模块化,最小的公共服务;设计目标:使内核尽可能小,功能尽可能少(基本),把其他所有功能放到核外的用户级来完成。提供基本服务:(有限的)进程管理和调度;进程间的通信机制;(某些)存储管理;低级I/O操作;Chapter31.作业级接口:操作系统为用户对作业运行全过程控制提供的功能。脱机用户接口(批处理)联机用户接口(交互式)——命令级接口程序级接口:系统为用户在程序一级提供有关服务而设置,由一组系统调用命令组成。2.作业:用户在一次计算过程中或一次事务处理过程中,要求计算机系统所做工作的总称。作业的组成:由程序、数据和作业说明书三部分组成作业的状态:进入状态→后备状态→运行状态→退出状态3.系统调用:操作系统提供给软件开发人员的唯一接口,开发人员可利用它使用系统功能。系统调用实现过程:系统调用与普通调用的相同点和不同点(简答题)相同点:改变指令流程、重复执行和公用、改变指令流程后需要返回原处不同点:两者区别系统调用普通调用调用方式动态调用静态调用运行状态不同系统状态相同系统状态进入方式利用int、trap指令进行系统调用利用call、jmp指令进入普通过程调用系统调用是动态调用,而普通调用是静态调用系统调用程序中不包含被调用代码,用户程序长度缩短;当OS升级时,调用方不必改变调用地址和返回地址都是不固定的,系统调用指令中不包含调用地址,只包含功能号普通过程调用被调用代码与调用代码在同一程序之内。陷入指令系统子程序sub0A0sub1A1subnAnsubiAi......陷入处理机构1)保护处理机现场2)取系统调用功能号并寻找子程序入口3)恢复处理机现场并返回入口地址表A0A2Ai......An....系统调用....用户程序调用地址是固定的,包含在调用语句中;返回地址是不固定的Chapter41.进程概念:是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位。进程的特征:动态性:进程是程序的一次执行,有着“创建”、“活动”、“暂停”、“撤消”等过程,具有一定的生命期,是动态地产生、变化和消亡的。并发性:进程之间的动作在时间上可以重叠,即系统中有若干进程都已经“开始”但又没有“结束”,称这些进程为并发进程。独立性:进程是系统调度和资源分配的独立单位,它具有相对独立的功能,拥有自己独立的进程控制块PCB。异步性:各个并发进程按照各自独立的、不可预知的速度向前推进。交互性:并发进程之间具有直接或间接的关系,在运行过程中需要进行必要的交互(同步、互斥和数据通信等),以完成特定的任务。程序与进程之间的区别:1.程序是静态的,进程是动态的2.进程与程序的组成不同,进程=程序+数据+PCB3.进程的存在是暂时的,程序的存在是永久的4.一个程序可以对应多个进程,一个进程可以包含多个程序2.进程控制块PCB:系统为了管理进程设置的一个专门的数据结构,用来记录进程的外部特征,描述进程的变化过程。是系统感知进程存在的唯一标志,进程与PCB是一一对应的为什么说PCB是进程存在的唯一标志1.包含了进程的描述信息和控制信息,2.是进程的动态特征的集中反映,3.系统根据PCB而感知某一进程的存在3.进程的状态运行状态(Running):进程占有CPU,并在CPU上运行就绪状态(Ready):一个进程已经具备运行条件,但由于无CPU暂时不能运行的状态(当调度给其CPU时,立即可以运行)阻塞状态(Block):指进程因等待某种事件的发生而暂时不能运行的状态(即使CPU空闲,该进程也不可运行)就绪→运行:一个进程被进程调度程序选中运行→就绪:时间片用完或在抢占式调度中有更高优先级的进程变为就绪运行→阻塞:请求并等待某个事件的发生阻塞→就绪:进程因为等待的某个条件发生而被唤醒Chapter51.调度:实质是一种资源分配,处理机调度是对处理机资源进行分配。解决问题:按什么原则分配CPU、何时分配CPU、如何分配CPU目标:高CPU的利用率、大吞吐量、快响应时间。调度的类型:高级调度:也称为作业调度或宏观调度,从用户工作流程的角度,一次提交的若干个流程,其中每个程序按照进程调度。中级调度:涉及进程在内外存间的交换,从存储器资源管理的角度来看,把进程的部分或全部换出到外存上,将当前进程所需部分换入到内存。低级调度:也称进程调度、微观调度,从处理机资源分配的角度来看,处理机需要经常选择就绪进程或线程进入运行状态。2.调度算法(计算题)先来先服务:按照作业提交或进程变为就绪状态的先后次序分派CPU。短作业优先:对预计执行时间短的作业(进程)优先分派处理机。平均周转时间最小。时间片轮转算法:通过时间片轮转,提高进程并发性和响应时间特性,提高资源利用率。基于优先级的调度算法:系统为每个进程设置一个优先数(对应一个优先级),把所有的就绪进程按优先级从大到小排序,调度时从就绪队列中选择优先级最高的进程投入运行,仅当占用CPU的进程运行结束或因某种原因不能继续运行时,系统才进行重新调度。多级队列算法:根据作业或进程的性质或类型的不同,将就绪队列再分为若干个子队列。每个作业固定归入一个队列。各队列不同处理,不同队列可有不同的优先级、时间片长度、调度策略等。Chapter61.实时调度条件:提供必要的信息、可调度的实时系统、采用抢占式调度机制、具有快速切换机制。2.多处理机调度相关名词:对称式多处理系统(SMP):各CPU之间共享内存子系统以及总线结构。虽然同时使用多个CPU,但是从管理的角度来看,它们的表现就像一台单机一样。非对称式多处理系统(ASMP):主-从处理机系统,由主处理机管理一个公共就绪队列,并分派进程给从处理机执行。各个处理机有固定分工,如执行OS的系统功能,I/O处理。成组调度(gangscheduling):将一个进程中的一组线程,每次分派时同时到一组处理机上执行,在剥夺处理机时也同时对这一组线程进行。专用处理机调度:为进程中的每个线程都固定分配一个CPU,直到该线程执行完成。Chapter71.线程的概念:线程是进程内一个相对独立的、可调度的执行单元。进程中的一个运行实体,是一个CPU调度单位,资源的拥有者还是进程。进程和线程的比较(简答题)调度:线程上下文切换比进程上下文切换要快得多;线程的创建时间比进程短;终止时间比进程短;同进程内的线程切换时间比进程短;拥有资源:进程间相互独立,同一进程的各线程间资源共享——某进程内的线程在其他进程不可见。由于同进程内线程间共享内存和文件资源,可直接进行不通过内核的通信;系统开销:线程减小并发执行的时间和空间开销。并发性:在系统中建立更多的线程来提高并发程度。2.核心级线程:由操作系统内核进行管理。操作系统内核给应用程序提供相应的系统调用和应用程序接口API,以使用户程序可以创建、执行、撤消线程。用户级线程:管理过程全部由用户程序完成,操作系统内核心只对进程进行管理。Chapter81.进程同步:指进程之间的一种协调配合关系,它表现在进程的执行顺序的规定上。相互协调的几个进程在某些确定点上协调它们的工作,一个进程到达了这些点后,除非另一进程已完成了某些操作,否则就需要停下来等待这些操作的完成。进程互斥:两个或两个以上的进程由于不能同时使用同一资源,只能一个进程使用完了另一个进程才能使用的现象。访问基本原则:相互合作,竞争资源。2.同步机制遵循的准则空闲让进:当无进程处于临界区,表明临界资源处于空闲状态,应允许一个请求进入临界区的进程立即进入自己的临界区,以有效地利用临界资源。忙则等待:当已有进程进入临界区时,表明临界资源正在被访问,因而其他试图进入临界区的进程必须等待,以保证对临界资源的互斥访问。有限等待:对要求访问临界资源的进程,应保证在有限时间内能进入自己的临界区,以免陷入“死等”状态。让权等待:当进程不能进入自己的临界区时,应立即释放处理机,以免进程陷入“忙等”。Chapter91.信号量:一个数据结构,它由两个变量构成:整型变量V、指针变量S。若为非负值表示当前的空闲资源数,若为负值其绝对值表示当前等待临界区的进程数。2.PV操作(重点)Chapter101.进程通信:是指进程之间可直接以较高的效率传递较多数据的信息交换方式。进程通信类型:共享存储器系统:通过数据、数据区的共享,写入与读出达到通信的目的。消息传递系统:进程间的数据交换以消息为单位,程序员利用系统的通信原语实现通信。直接通信方式:消息缓冲采用进程的消息缓冲队列消息发送者将消息直接放在接收者的消息缓冲队列间接通信方式:邮箱通信利用中间者——信箱、邮局来传递信件