您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 西安交通大学操作系统复习
OPERATINGSYSTEMREVIEWCHAPTER11.操作系统定义:操控硬件的程序,用户与硬件的媒介,分配控制资源2.操作系统目标:方便性(convenience),有效性(efficiency),(可扩充性开放性)3.操作系统作用:资源管理(处理机管理,储存器管理,设备管理,文件管理,用户接口);服务用户(提供接口)4.操作系统分类(1)批处理(batch):自动性,没有交互性。自动从一个job转移到另一个job。(2)分时(time-sharing):允许多个用户同时使用,CPU在多个进程之间轮转,可及时响应用户需求。(3)实时(real-time):实时性,对时间有严格的要求,对安全性要求高。(4)通用:同时具有两种或以上性质的操作系统。5.操作系统特征(1)并发性(Concurrence):并发是指两个或者多个事件在同一时间间隔内发生,在单处理机系统中,宏观上多道程序同时执行,微观上各个程序交替运行。并发与并行不同,并行是指两个或者多个事件在同一时刻发生。并发程序具有间断性、失去封闭性和不可再现性等特征。(2)共享性(Sharing):共享是指在一段时间内多个并发进程交替使用有限的计算机资源,共同享有计算机资源,操作系统对资源要合理的分配和使用。共享资源有互斥共享方式和同时访问方式。互斥访问方式是指当一个进程占有资源时,其他进程不能同时再使用这个资源,必须得等到资源被放弃时再使用。同时访问方式是指如程序段和磁盘等资源,可以由进程交替访问。(3)虚拟性(Virtual):虚拟是指通过某种技术把物理实体转换成若干个逻辑对应物。例如,地址空间具有虚拟性,它是由内存空间通过划分段表/页表技术转换而来的。(4)异步性(Asynchronism):异步性是指进程只要在相同的环境下,无论多少次运行,都会得到相同的结果。6.相关技术(1)多道程序技术(multiprogramming)定义:当CPU正在处理的job需要等到I/O响应时,CPU并不会闲置,而是转去处理下一个job,直到之前的job在处理完IO后拿回CPU使用权。不可与用户交互。优点:提高CPU利用率,控制并发。(2)分时技术(time-sharing/multitasking)定义:logicalextensionofmultiprogramming.Thecpuexecutesmultiplejobsbyswitchingamongthem,buttheswitchsofrequentlythattheuserscaninteractwitheachprogramwhileitisrunning.CHAPTER21.操作系统接口(1)作业级接口(Commandinterface):命令行(commandlineinterface)批处理(batch):规定一种特殊的文件,通常该文件有特殊的扩展名,用户可预先把一系列命令组织在该文件中,一次建立多次执行GUI:makemouse-based-window-and-menusystemasinterface(2)程序级接口(Programinterface)系统调用(systemcall)定义:systemcallprovideaninterfacetotheservicemadeavailablebytheoperatingsystem.操作系统内核提供的服务的接口。分类:进程管理processcontrol文件操作filemanipulation设备管理devicemanipulation信息维护informationmaintenance进程通信communication2.操作系统结构(OSStructure)(1)简单结构(MS-DOS,originalunix)MS-DOS:interfacesandlevelsoffunctionalityarenotwellseparated.leavebasehardwareaccessible.UNIX:seriesofinterfacesanddevicedrivers.Monolithicstructureisdifficulttoimplement.(2)分层结构(layered):从资源管理的角度出发,把操作系统分为若干层次,在某一层上只能调用低层次上的代码,使模块的调用更加有序。有利于系统维护和可靠。(3)微内核结构(microkernel):去除内核中不必要的部分,将这些部分在用户模式下实现,从而只给内核最基本的功能。微内核提供给客户程序与运行在用户空间的各种服务提供通信(communication).MACHCHAPTER3引入进程原因在多道程序设计的环境下,程序是并发执行的,它破坏了程序的封闭性和可再现性,使得程序和计算不再一一对应且由于资源共享,导致在各个程序之间可能存在相互制约的关系,出现了许多新的特征:动态性、并发性、独立性和异步性。程序(进程)并发的特点:间断性\失去了封闭性\不可再现性程序这个静态概念已经不能如实反映程序活动的这些特征。为此引入进程这个概念来描述系统和用户的活动。进程的概念:程序的一次执行进程的特性:(1)动态性:有生命周期(2)并发性:并发执行(3)独立性:独立获得资源、独立运行单位(4)异步性:推进速度不可预知道、执行结果不确定(5)结构性:由程序段、数据段和PCB组成进程的状态(processstate):进程的组成程序(textsection),数据(datasection),PCB(processcontrolblocks)PCB的定义:记录OS所需的、用于描述进程的当前情况以及控制进程运行的全部信息,是进程存在的唯一标志,常驻内存。PCB的内容:进程标识符;处理机状态(CPU现场);进程调度信息:状态、优先级、时间、事件;进程控制信息:地址、通信信息、资源。Programcounter指明进程的下一条指令CPUregisters中断发生时,所有的寄存器需要被存储。CPU-schedulinginfo包括进程优先级,进程队列指针等调度信息Memory-managementinfo包括基本寄存器的值,页表等信息Accountinginfo记录进程运行的时间,使用了多少CPU等IOstatusinfo包括分配给进程的设备进程与程序的区别联系(1)进程是程序的一次执行,是一个动态的概念;而程序是一组有序的指令,是一种静态的概念。即进程是程序执行的动态过程,而程序则是进程运行的静态文本。(2)一个进程可以执行一个或几个程序,同一个程序也可能由几个进程同时执行。(3)程序可长期保存,而进程是有生命周期的。(4)进程是并发实体,而程序则不是。进程与线程的区别联系(1)调度方面:线程作为调度分派的基本单位,而进程则是资源分配和调度的一个基本单位;(2)并发性方面:进程之间可以并发,一个进程的多线程之间也可并发执行;(3)拥有资源方面:进程作为拥有资源的基本单位,而线程只拥有少量必不可少的资源,但它可以访问所属进程的资源(4)系统开销方面:进程切换要涉及到进程环境的切换,开销较大,而线程间切换只需保存和设置少量的寄存器内容,开销远小于进程切换开销进程的控制(1)进程控制由操作系统内核完成(2)内核通过执行相应的原语(primitive)来实现进程的控制(3)进程控制原语:创建,终止,阻塞,唤醒,挂起,激活创建原语完成以下工作:申请一个空PCB,初始化PCB中项目,把PCB插入就绪队列撤消原语完成以下工作:根据ID在PCB链中查找相应PCB,检查进程状态。若是执行状态则终止进程;终止其子进程;回收资源;撤销PCB阻塞原语:当出现阻塞事件,将状态改为阻塞状态,进入阻塞队列唤醒原语:将阻塞进程唤醒,状态改为READY,插入就绪队列。挂起原语:进程从内存转到外存,改变相应状态激活原语:进程从外存转到内存,改变相应状态CHAPTER4线程(thread)定义:AthreadisabasicunitofCPUutilization.处理机调度的基本单位,是进程内的一个可调度实体,又称轻量级进程。引入目的:提高系统效率,提高资源利用率,减少进程并发执行时所付出的时空开销,使操作系统有更好的并发性。(一个进程中的所有线共享同样的code,data,file,比如一个webserver,对于所有的request,反应几乎一样,若为每个request新创建一个进程,会造成code,data,file的重复,造成空间,时间资源的浪费)线程包括:线程ID,当前指令指针(PC),寄存器集合,堆栈。用户级线程和内核支持线程:(1)用户线程(userthread):存在于用户空间中,其创建、撤消和切换都不需系统支持。(2)内核支持线程(kernelthread):是依赖于内核的,其创建、撤消和切换都是由内核实现的。MultithreadingmodelsManytoone:manyuserlevelthreadstoonekernelthread.(因为只有一个线程可以access内核,因此多个线程不可以同时在多个内核上运行)Onetoone:eachuserthreadtoakernelthread(多个线程可以在多个内核上同时运行,一个阻塞也不会影响其他,但每一个用户线程均要创立一个内核线程,额外开销大,限制应用程序的性能)Manytomany:manyuserlevelthreadstoasmallerorequalnumberofkernelthreads.(开销不大,而且线程可以并发)CHAPTER5三级调度(1)高级调度:Long-termscheduler(job-scheduler):selectaprocessfromthepoolandloadsthemintomemoryforexecution.从jobpool里选一个进程加载在内存里(2)低级调度:Shorttermscheduler(CPU-scheduler):selectaprocessfromtheprocessesinmemorythatarereadytoexecuteandallocatestheCPUtotheprocess.从内存中选择一个进程给CPU执行(3)中级调度:Mid-termscheduler:removeprocessesfrommemoryandlaterreintroduceitintomemory.把内存中的进程swap出去再swap进来调度时机(1)现运行进程任务完成或出现异常(2)现运行进程因某种原因由执行变成阻塞状态(3)时间片用完(4)采用可剥夺调度方式时,有更高优先级进程进入就绪队列调度参数(schedulingcriteria)周转时间(turnaroundtime)等待时间(waitingtime)响应时间(responsetime)调度算法FCFS(first-comefirst-serve)SJF(shortest-job-first)Priority(优先权调度)Round-Robin(时间片轮转)MultilevelQueue(多级队列):根据进程的性质将就绪队列分为几个队列,每个队列有不同的调度算法,队列与队列之间的调度一般为优先级调度或时间片。MultilevelFeedback-Queue(多级反馈队列):主流OS使用此算法。与多级队列算法不同的是,多级反馈队列允许进程转移到其他队列。因此多级反馈队列还要设计进程的升级与降级规则。(此处还有多处理机的调度,线程的调度)CHAPTER6基本概念临界区(criticalsection):一段代码,用来修改临界资源,只能有一个进程处于临界区进入区(entrysection):请求进入临界区的程序退出区(exitsection):紧跟着临界区后的程序剩余区(remaindersection):剩下的程序解决临界区问题的三个要求互斥(Mutualexclusion):保证安全有空让进(Progress):保证资源利用率有限等待(Boundedwa
本文标题:西安交通大学操作系统复习
链接地址:https://www.777doc.com/doc-1899797 .html