




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.l OS(Operating System)地位、作用和定义定义:操作系统是控制应用程序执行的程序,并充当应用程序和硬件间的接口。操作系统是最基本的系统软件。它控制计算机的所有资源,并提供应用程序开发的基础。作用:研究操作系统的几种观点:系统观点:作为资源管理器的操作系统操作系统的主要任务:满足资源使用请求;记录资源使用情况;协调各个程序和用户对资源使用请求的冲突。用户观点:作为扩展机的操作系统为用户提供一台等价的扩展机,或称为虚拟机,它比底层编程更容易编程。l OS分类和发展历史n 批处理、分时、实时、通用、多处理、网络(了解各自的特征和适用场合)无操作系统时代/第一代计算机:使用真空管和插件板;无任何软件和操作系统单道批处理系统/第二代计算机目标:减少机时的浪费单道批处理系统的问题:内存利用率低;CPU利用率低多道批处理系统/第三代计算机基地址寄存器和界限寄存器;多道程序设计多道批处理系统的问题:响应时间不确定;不同调度算法,不同结果分时系统每个用户拥有一个终端;n个用户同时申请任务,给每个用户1/n有效的处理器速度实时系统对处理器操作或者数据流动有严格的时间要求时使用。硬实时系统:保证关键实时任务按时开始或者按时完成软实时系统:关键实时任务的优先级高于其他任务的优先级,并在完成之前保证它的最高优先级l OS特征并发并行:两个事件在同一个时刻发生并发:两个事件在同一个时间间隔发生共享:互斥的共享方式;同时访问方式虚拟异步性:内存中程序何时执行、何时暂停、需要多少时间完成都是不可知的l OS功能处理器管理的功能;存储管理的功能;设备管理的功能;文件管理的功能;用户接口l 一些概念n 监控程序(monitor) 、多道程序系统、多处理系统n 引入多道程序设计的目的l 什么是双重操作模式?为什么要引进双重操作模式n 系统态、用户态以及转换的条件n 特权指令和非特权指令l 用户与OS的两种接口:定义和功能命令接口:由一组键盘操作命令和命令解释程序组成;DOS程序接口:为了用户程序访问系统资源而设;用户程序获取操作系统服务的唯一途径;系统调用;Windows API图形用户接口(GUI)l 系统调用(System Call):定义、功能用户对操作系统提出的服务是由系统调用来实现的,它提供了进程与操作系统之间的接口。l 操作系统的结构有几种?各自的特点?整体式结构操作系统是一系列过程的集合,只要需要就可以相互调用。层次式结构层次式系统的各种功能可以划分为几个层次,每个层次建立在下面的层次之上。优点:模块化缺点:对层的定义并且相对效率差C/S结构把原本属于操作系统内核的功能放到内核的外部,使内核成为一个微内核。操作系统的微内核之外的进程是服务器进程,用户进程是客户进程;微内核实现消息的传递优点:易于维护;易于扩充;适用于分布式系统虚拟机结构虚拟机监控器运行在硬件系统上,提供多道程序的功能,并为上一层提供虚拟机。虚拟机是硬件的完全拷贝,包括真实机器中的内核模式、用户模式、I/O、中断等。优点:提供了安全层;允许进行系统开发而不必中断正常的系统操作n 陷阱(trap)与中断(interrupt)的区别中断:由硬件引起的中断,例如时钟中断陷阱:是因为错误/用户程序的特定请求而引起的软件生成中断,又称软中断,例如系统调用l 进程(Process)n 定义、特征、作用定义:进程指一个正在执行的程序,包括程序计数器、寄存器和变量的当前值。n 程序顺序执行、并发执行的特点n 进程与程序的区别与联系进程不只是程序代码,还包括当前的活动以及堆栈段和数据段程序是被动的实体,进程是活动的实体n 进程状态(三状态和五状态)及其转换三状态:就绪状态;运行状态;等待状态五状态:新状态:进程正在被创建。就绪状态:只要有机会获得CPU就能够开始执行。 运行状态:进程正在执行。等待状态:等待某个事件发生。终止状态:进程已经完成或者被迫终止。n 进程控制块PCB(Process Control Block):作用及其内容为了实现进程模型,操作系统维持着一张表格,从数据结构上看就是一个结构数组,也就是进程表。每个进程占用一个表项,就是每个进程的进程控制块。l 进程控制n 主要功能;创建、撤销、挂起、唤醒、阻塞、激活等原语所需完成的功能;了解fork ()和exec()的工作原理创建进程在执行过程中通过系统调用创建进程。如果一个进程创立了另一个进程,则前者称为父进程,后者称为子进程。一个进程只有一个父进程,但是可以有零个或多个子进程。因此,进程和进程之间会形成一个进程树。终止/撤销进程终止自己(自愿的):使用exit系统调用;父进程使用wait系统调用得知终止进程的进程号父进程终止子进程(非自愿的):使用abort系统调用,传入子进程ID号操作系统终止进程(非自愿的):引用不存在的内存,除以零;级联终止:父进程终止,子进程只好终止,此操作由操作系统进行阻塞原因:请求系统服务;启动某种操作;新数据尚未到达;无新工作可做操作:进程通过调用阻塞原语block将自己阻塞,进入等待队列,进程的状态变成等待唤醒原因:被阻塞的进程等待的事件到来操作:相关进程调用唤醒原语wakeup将对方唤醒,被唤醒的进程进入就绪状态fork父子进程从fork之后分别执行。父进程执行fork后返回子进程ID。子进程执行fork后返回0。exec用新的程序代码代替父进程给定的代码。l 进程通信的几种方法n 消息队列、共享内存为了能让消息成功地发送,消息总是驻留在临时的队列中,称为消息队列零容量:发送必须阻塞直到接收者收到消息有限容量:如果队列不满,发送可以把消息放在队列中,不必等待;如果队列满,发送必须阻塞等待队列可用无限容量:发送从不阻塞l 进程同步与互斥n 概念:临界资源、临界区、信号量、同步、互斥、进程间的制约关系(直接、间接)Send和receive可以是阻塞的(称为同步),也可以是非阻塞的(称为异步)。阻塞 send, 阻塞 receive:发送者和接收者被阻塞直到完成消息交付;也称作会合/集合点无阻塞 send, 阻塞 receive:发送者连续处理,例如尽快地发送消息;接收者被阻塞直到所需的消息到达无阻塞send, 无阻塞receive:不要求任何一方等待l 互斥(mutual exclusion)问题如果有进程在临界区中执行,那么其他进程都不能在临界区中执行。这样就可以避免竞争条件的产生。有空让进;有限等待;不对进程的相对执行速度进行任何假设n 准则n 实现方法:硬件、信号量(软件方法不要求)硬件:屏蔽中断进入临界区之前关中断,离开之后开中断:现代操作系统是中断驱动的,没有了中断操作系统就失去了控制系统的能力;只有一个CPU的时候有效系统提供了特殊硬件指令允许原子地检查和修改字的内容或者交换两个字。原子操作:TestAndSet(TS指令);Swap(XCHG指令)互斥锁:实现互斥的软件工具,也称自旋锁。底层用TestAndSet或Swap指令实现:acquire()release()l 信号量(Semaphore)n 定义、含义、操作(初始化,P,V)定义:信号量S就是一个整数变量;在S上可以执行两个原子操作:wait(S)signal(S)分类:计数信号量 Counting Semaphore:整数值可以是任何整数值;二元信号量 Binary Semaphore:取值只能是0或者1;与互斥锁类似l 进程同步与互斥问题n 生产者与消费者一或多个生产者产生数据并放在缓冲区中,每次一个;一或多个消费者从缓冲区取数据项并消费,每次一个条件:在任意时间只能一个生产者或消费者访问缓冲区互斥;保证生产者不能向满缓冲区中放产品;保证消费者不能从空缓冲区中取产品.semaphore n=0;semaphore s=1;semaphore e=N;void producer()while(true)a=produce();wait(e);wait(s);put(a);signal(s);signal(n);void consumer()while(true)wait(n);wait(s);a=take();signal(s);signal(e);consume(a);用管程实现:l 死锁n 掌握解决死锁的方法:预防、避免、检测n 掌握银行家算法:如何判别安全性定义:两个或多个进程无限地等待一个事件,而这个事件只能由这些等待进程之一来产生/如果一个进程集合中每一个进程都在等待只能由本集合中的另一个进程才能引发的事件,则称这种状态为死锁。 产生原因:使用排他的资源资源分成两种类,可剥夺式资源:可以从拥有资源的进程中剥夺资源而不会产生副作用;非剥夺式资源:若从拥有这类资源的进程处剥夺资源会导致失败使用一个资源的顺序是:申请资源-使用资源-释放资源进程在申请资源时,如果失败,则进程阻塞。必要条件:互斥:一个资源同时只让一个进程使用拥有并等待:进程在拥有一个资源时又申请另一个资源,并等待分配给它。资源不可抢占:分配给一个进程的资源是不可抢占的,只能由占有它的进程释放环路等待:进程和资源之间存在一个拥有和需求的闭环忽略该问题;死锁检测并恢复;仔细检查动态资源分配来避免死锁;破除四个条件之一,用来预防死锁的产生预防:预先在系统实现时就把死锁排除直接预防:预防第四个产生死锁条件的方法间接预防:预防前三个产生死锁的条件的方法预防拥有并等待:让进程一次将所有的资源需求提出;操作系统要么一次性将所有的资源分配给进程,要么阻塞进程执行缺点:进程可能正等待所有需求被满足,而实际上只需要一部分资源就能执行下去;进程在执行时拥有所有资源,导致一些资源长期占用不使用,而其他进程也不能使用这些资源;在多模块或多线程应用中,一次提出所有资源的需求会有困难。预防不可剥夺资源:只在资源的状态很容易恢复时才可以使用,对于像打印机这样的资源则不好使用预防环路等待:定义一个资源类型的线性顺序来解决这个问题。如果一个进程已经分配了R类型的资源,则只能再申请R类型以后的类型的资源。问题在于这种线性顺序很难确定。 避免:中心思想:允许前三个条件的发生,但不允许最后一种机制来防止到达死锁的状态。死锁的避免要求欲知将来进程的需求。银行家算法:这种算法与早期的银行贷款的方法相似。银行中只有固定数目的资金可以借贷给顾客。银行如果认为不能有足够的资金贷给顾客以满足顾客的所有要求,而使顾客可以全部偿还的话,就拒绝给这个顾客贷款。状态:系统中分配给进程的资源的状况,由Resource、Available向量和Max、Allocation、Need矩阵组成。安全状态指至少有一个进程执行顺序会让所有进程安全地执行完而不会导致死锁的状态,非安全状态与安全状态相反。死锁避免策略:保证进程和资源总是处于安全状态。如果一个进程要求的资源在分配给它以后,系统仍处于安全状态,则分配给它。否则阻塞这个进程直到可以达到安全为止。银行家算法分析:要求事先提出进程对资源的所有需求(无法提出);进程的个数是确定的(进程个数会变化);资源的个数也是确定的(资源可能会失败)检测:中心思想:死锁的检测方法并不限制对资源的访问;进程可以在可能的情况下获得它所需要的资源,只是检测死锁是否存在;如果存在,则想办法恢复对于死锁的检测可以在以下两种情况下执行:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民法典特色课件
- 山西省太原市育英中学2026届化学高二第一学期期末教学质量检测试题含答案
- 现代管理培训小知识课件
- 2026届江苏省南京一中高一化学第一学期期中达标检测试题含解析
- 民法典模板课件
- 2025年注册电气工程师考试电气设计专项训练考前冲刺卷
- 2025年公务员行测申论写作专项训练卷 文体写作技巧
- 2025年公务员考试行测常识判断时政热点专项训练
- 2025年公务员行测地理知识专项训练冲刺押题
- 2025年春季初级经济师职业资格考试 经济基础知识考前冲刺押题试卷
- 汉字形旁分类及其组字表
- 微创外科课件
- 静配中心应急预案处理流程
- GB/T 21977-2022骆驼绒
- 心理-认识过程课件
- 静脉治疗护理质量评价标准
- 水电清包工合同(3篇)
- 《ACT就这么简单》课件
- 农机行政处罚流程图
- 沥青混合料低温弯曲试验2002363
- 盘阀结构和原理课件
评论
0/150
提交评论