《西工大操作系统期末复习资料》由会员分享,可在线阅读,更多相关《西工大操作系统期末复习资料(12页珍藏版)》请在金锄头文库上搜索。
1、1. 操作系统是管理系统资源、控制程序执行,改善人机界面,提供各种服务,合理组织计算机工作流程和为用户有效使用计算机提供良好运行环境的一种系统软件。它可被看作是用户和计算机硬件之间的一种接口,是现代计算机系统不可分割的重要组成部分。2. 操作系统的主要目标方便性:配置OS后,用户可以通过OS所提供的各种命令,更容易地使用计算机系统。有效性:可使CPU和I/O设备由于能保持忙碌状态而得到有效的利用;由于可使内存和外存中存放的数据有序而节省了存储空间。可扩充性:OS应采用层次化结构,以便增加新的功能层次和模块,并能修改老的功能层次和模块。开放性:为使来自不同厂家的计算机和设备能通过网络加以集成化,
2、并能正确、有效地协同工作,实现应用的可移植性和互操作性,必须具有统一的开放环境,进而要求OS具有开放性。3. 操作系统的作用v OS作为用户与计算机硬件之间的接口v OS作为虚拟计算机v OS作为计算机系统的资源管理者4. 操作系统的主要特性:一-并发性、二-共享性、三-异步性、四-虚拟性。5. 并发性指两个或两个以上的事件或活动在同一时间间隔内发生。并行性指两个或两个以上事件或活动在同一时刻发生。6. 虚拟性是指操作系统中的一种管理技术,它是把物理上的一个实体变成逻辑上的多个对应物,或把物理上的多个实体变成逻辑上的一个对应物的技术,显然,前者是实际存在的而后者是虚构假想的。7. 操作系统的主
3、要功能:处理机管理、存储管理、设备管理、文件管理、网络与通信管理、用户接口8. 处理机管理(1)处理器管理的第一项工作是处理中断事件处理器管理的第二项工作是处理器调度。(2)处理器管理具体包括: 进程控制和管理 进程同步和互斥 进程通信和死锁 线程控制和管理 处理器调度,分作业调度,中程调度,低级调度等9.存储管理具有四大功能:存储分配、存储共享、地址转换与存储保护、存储扩充10.设备管理具有以下功能:设备分配、缓冲管理、设备驱动、设备独立性、实现虚拟设备11.文件管理要完成以下任务:提供文件逻辑组织方法、提供文件物理组织方法、提供文件的存取方法、提供文件的使用方法、实现文件的目录管理、实现文
4、件的存取控制、实现文件的存储空间管理12.人工操作方式v 特点:用户独占全机、CPU等待人工操作、独占性、串行性缺点:计算机的有效机时严重浪费、效率低13.脱机I/O方式的主要优点如下:(1)减少了CPU的空闲时间。(2) 提高I/O速度。14.单道批处理系统的主要特征如下:(1) 自动性 (2) 顺序性 (3) 单道性15. 多道程序设计的基本概念在计算机内存中同时存放若干道已开始运行尚未结束的程序,它们交替运行,共享系统中的各种硬、软件资源,从而使处理机得到充分利用.16.多道批处理系统的特点v 多道: 多道指某个作业占用CPU,若由于某种原因暂时不用CPU 则系统让第二个作业占用CPUv
5、 成批处理: 用户自己不能干预自己作业的运行,一旦发现作业错误不能及时改正,并延长开发软件时间,所以适用于成熟的程序。v 无序性v 调度性 17.多道批处理系统的优缺点(1)资源利用率高 (2) 系统吞吐量大 (3)可提高内存和I/O设备利用率(4)平均周转时间长(5)无交互能力。适合大型科学计算、数据处理。18.多道批处理需要解决的问题:(1)处理机管理问题。(2) 内存管理问题。(3) I/O设备管理问题。(4) 文件管理问题。(5) 作业管理问题。19.分时系统是指,在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。20
6、.分时操作系统特点v 多路性:同时有多个用户使用一台计算机。宏观上,是多个人同时使用一个CPU;微观上,多个人在不同时刻轮流使用CPU。v 交互性:用户根据系统响应结果进一步提出新请求(用户直接干预每一步)。 v 独立性:用户感觉不到计算机为其他人服务(OS提供虚机器,各用户虚机器互不干扰)。v 及时性:系统对用户提出的请求及时响应。21.实时系统(Real-Time System)是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。22.进程的概念v 进程是程序的一次执行。v 进程是一个程序及其数据在处理机上顺序执行时所发生的活动。v 进程是
7、可与其他程序并发执行的程序,在一个数据集合上的运行过程。它是系统进行资源分配和调度的一个独立单位。进程与程序的区别v 程序是静态的,进程是动态的;v 进程更能真实地描述并发,而程序不能;v 同一程序同时运行于若干个数据集合上,它将属于若干个不同的进程。也就是说同一程序可以对应多个进程;v 进程有生命周期,有诞生有消亡,短暂的;而程序是相对长久的;v 程序可作为软件资源长期保存,进程只是一次执行过程,是暂时的;v 进程是系统分配调度的独立单位,能与其他进程并发执行;v 进程是由程序和数据两部分组成的;v 进程具有创建其他进程的功能,而程序没有。v 运行中的进程可能具有三种状态:就绪状态、执行状态
8、、阻塞状态;这三种基本状态可以依据一定的条件相互转换:就绪 - 运行:调度程序选择一个新的进程运行;运行 - 就绪:运行进程用完了时间片运行进程被中断,因为一高优先级进程处于就绪状态;运行 - 阻塞:当一进程必须等待时,OS尚未完成服务、对一资源的访问尚不能进行、初始化I/O 且必须等待结果、等待某一进程提供输入 (IPC);阻塞 - 就绪;当所等待的事件发生时。v 系统为了管理进程设置的一个专门的数据结构,存放了用于描述该进程情况和控制进程运行所需的全部信息。v 系统利用PCB来控制和管理进程,所以PCB是系统感知进程存在的唯一标志v 进程与PCB是一一对应的进程控制块PCB23.进程控制的
9、主要任务 进程控制是对系统中所有进程从产生、存在到消亡的全过程实行有效的管理和控制。进程控制一般是由操作系统的内核来实现,内核在执行操作时,往往是通过执行各种原语操作来实现的。v 内核:加在硬件上的第一层软件,通过执行各种原语操作来实现各种控制和管理功能,具有创建、撤消、进程通信、资源管理的功能。v 内核的基本功能:支撑功能:中断处理、时钟管理、原语操作资源管理功能:进程管理、存贮管理、设备管理v 原语:是由若干多机器指令构成的完成某种特定功能的一段程序,具有不可分割性。即原语的执行必须是连续的,在执行过程中不允许被中断。24.进程同步的主要任务是使并发执行的进程间有效的共享资源和相互合作,从
10、而使程序的执行具有可再现性。25.临界资源: 系统中某些资源一次只允许一个进程使用,称这样的资源为临界资源或互斥资源或共享变量。多个进程访问同一资源的临界区称为相关临界区。26.使用互斥区的原则v 空闲让进:当无进程在互斥区时,任何有权使用互斥区的进程可进入v 忙则等待:不允许两个以上的进程同时进入互斥区v 有限等待:任何进入互斥区的要求应在有限的时间内得到满足v 让权等待:处于等待状态的进程应放弃占用CPU,以使其他进程有机会得到CPU的使用权。27信号量:是一个数据结构v 定义如下: V(s) s.value = s.value +; if (s.value = 0)/意味着原有资源已用完
11、,等待队列非空 唤醒相应等待队列s.queue中等待的一个进程 改变其状态为就绪态 并将其插入就绪队列 struc semaphore int value;pointer_PCB queue; P(s) s.value = s.value -; if (s.value 0) 该进程状态置为等待状态; 将该进程的PCB插入相应的等待队列末尾 s.queue; P(S):表示申请一个资源,V(S)表示释放一个资源。信号量的初值应该大于等于0 。P.V操作必须成对出现,有一个P操作就一定有一个V操作;当为互斥操作时,它们同处于同一进程;当为同步操作时,则不在同一进程中出现;如果P(S1)和P(S2)
12、两个操作在一起,那么P操作的顺序至关重要,一个同步P操作与一个互斥P操作在一起时同步P操作在互斥P操作前,两个V操作无关紧要。28.P.V操作的优缺点优点:简单,而且表达能力强(用P.V操作可解决任何同步互斥问题)缺点:“不够安;P.V操作使用不当会出现死锁;遇到复杂同步互斥问题时实现复杂29.AND型信号量集是指同时需要多种资源且每种占用一个时的信号量操作AND型信号量集的基本思想:在一个原语中申请整段代码需要的多个临界资源,要么全部分配给它,要么一个都不分配30.读者优先。读者优先指的是除非有写者在写文件,否则读者不需要等待。所以可以用一个整数变量Read_count记录当前的读者数目,用
13、于确定是否需要释放正在等待的写者进程(当Read_count=0时,表明所有的读者读完,需要释放写者等待队列中的一个写者)。每当一个读者开始读文件时,必须修改Read_count变量。因此需要一个互斥对象mutex来实现对全局变量Read_count修改时的互斥。另外,为了实现读-写互斥,需要增加一个临界区对象W。当写者发出写请求时,必须申请临界区对象的所有权。通过这种方法,可以实现读-写互斥,当Read_count=1时(即第一个读者到来时),读者线程也必须申请临界区对象的所有权。当读者拥有临界区的所有权时,写者阻塞在临界区对象W上。当写者拥有临界区的所有权时,第一个读者判断完”Read_c
14、ount=1”后阻塞在W上,其余的读者由于等待对Read_count的判断,阻塞在mutex上。写者: while (true) P(w); 写 V(w); ;读者: while (true) P(mutex); readcount +; if (readcount=1) P (w); V(mutex); 读 P(mutex); readcount -; if (readcount=0) V(w); V(mutex); ;3)第二类读者写者问题:写者优先条件:1)多个读者可以同时进行读2)写者必须互斥(只允许一个写者写,也不能读者写者同时进行)3)写者优先于读者(一旦有写者,则后续读者必须等待,唤醒时优先考虑写者)写者优先。写者优先与读者优先相类似。不同之处在于一旦一个写者到来,它应该尽快对文件进行写操作,如果有一个写者在等待,则新到来的读者不允许进行读操作。为此应当填加一个整形变量Write_count,用于记录正在等待的写者的数目,当Write_count=0时,才可以释放等待的读者线程队列。为了对全局变量Write_count实现互斥,必须增加一个互斥对象mutex3。为了实现写者优先,应当填加一个临界区对象read,当有写者在写文件或等待时,读者必须阻塞在read上。读者线程除了要对全局变量Read_c