操作系统复习笔记-个人总结.pdf_第1页
操作系统复习笔记-个人总结.pdf_第2页
操作系统复习笔记-个人总结.pdf_第3页
操作系统复习笔记-个人总结.pdf_第4页
操作系统复习笔记-个人总结.pdf_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

操作系统复习笔记 王慧娇老师 操作系统教程第四版 1300310129 赵生平 记 操作系统复习笔记 Read Me 第一章 概论 1.1 操作系统概观 1.1.2 操作系统的资源管理技术 1.1.3 操作系统定义和作用 1.1.4 操作系统功能和特性 1.2 操作系统的发展和形成 1.2.1 人工操作阶段 1.2.2管理程序阶段 1.2.3多道程序设计与操作系统形成 1.2.4操作系统的发展与分类 1.3操作系统提供的服务和用户接口 1.3.2 程序接口与系统调用 1.3.3 作业接口与操作命令 4 主要结构 第二章 处理机管理 2.1中央处理器 2.2中断 2.3 进程 2.4 线程 2.5处理器调度及调度算法 第三章 同步、通信与死锁 3.1 并发进程 3.1.1 顺序程序设计 3.1.2 并发程序设计 3.1.2 并发程序设计 3.1.3进程的交往:竞争与协作 3.2 临界区管理 3.2.1 互斥与临界区 3.2.2临界区管理的尝试 3.2.3实现临界区的软件方法 3.2.4实现临界区管理的硬件设施 3.3 信号量与PV操作 3.3.1同步和同步机制 3.3.2 信号量与PV操作 经典的进程同步问题 哲学家进餐问题 生产者消费者问题 读者写者问题 独木桥问题 理发师问题 死锁 第四章 存储管理 4.1 存储器工作原理 4.2 连续存储管理 4.3 离散存储管理技术 4.4 虚拟存储器 请求分页式虚拟存储器 第五章 设备管理 5.1 I/O硬件 5.2 I/O软件 5.3 缓冲技术 5.4 磁盘I/O 5.5虚拟设备 第六章 文件管理 Read Me 第一章和第三章部分为个人学习总结,注意看小标题的规律,1.1.1 3.2.3这种是根据 老师ppt复习,相对细致,但是重点性不强,请根据个人情况参考学习。 第一章 概论 1.1 操作系统概观 计算机系统的层次结构 硬件层 程序运行的物理实体 操作系统层提供程序运行所需要的各类资源及控制程序运行 系统程序层支撑软件层 应用层 应用程序的开发(编辑器、调试器等) 1.1.2 操作系统的资源管理技术 操作系统是软件系统的核心,是各种软件的基础运行平台 通用操作系统提供共性功能支持,与硬件相关但和应用领域无关; 支撑软件及应用软件不能直接而只能通过操作系统来使用计算机系统的物理资源。 操作系统 目标?资源? 1.1.3 操作系统定义和作用 什么是操作系统? 操作系统(本书定义): 是管理系统资源、控制程序执行,改善人机界面、提供各种服务,合理组织计算 机工作流程和为用户有效使用计算机提供良好运行环境的最基本的一种系统软 件。 1.1.4 操作系统功能和特性 操作系统的功能 处理机管理 存储管理 设备管理 文件管理 网络与通信管理 特性 并发 共享 虚拟 异步 并发性是对有限物理资源强制行使多用户共享以提高效率。 共享:操作系统中的资源可被多个并发执行的进程所使用 虚拟性:操作系统中一类资源管理技术 异步:随机事件 1.2 操作系统的发展和形成 1.2.1 人工操作阶段 手工操作多,浪费处理机时间,也极易发生差错,效率低,上下机时间拉长 1.2.2管理程序阶段 自动控制和处理作业流 提供一套操作命令 提供设备驱动和I/O控制功能 提供库程序和程序装配功能 提供简单的文件管理功能 1.2.3多道程序设计与操作系统形成 多道程序设计是指允许多个程序同时进入一个计算机系统的主存储器并启动进行计算的方法 采用多道程序设计提高了效率,即提高了单位时间的算题量,但对每道程序来说,却延 长了计算时间。 多道程序设计技术提高资源利用率和系统吞吐率是以牺牲用户的响应时间为代价的。 设程序等待I/O操作的时间占其运行时间的比例为p,当主存中有n道程序时,所有程序都 等待I/O的概率是pn, 缺点: 作业周转时间延长,无交互能力 实现多道程序设计必须解决三个问题: 存储保护与程序浮动; 处理器的管理和调度; 系统资源的管理和调度 1.2.4操作系统的发展与分类 1 批处理操作系统 用户脱机工作 ,成批处理作业 ,多道程序运行 2 分时操作系统 同时性 独立性 及时性 交互性 3 实时操作系统 利用率 数据采集 加工处理 操作控制 反馈处理 通用操作系统 若某个操作系统兼具有批处理、分时和实时处理的全部或两种功能,则此操作系统为通 用操作系统。 1.3操作系统提供的服务和用户接口 1.3.2 程序接口与系统调用 系统调用 内核提供的一系列具备特定功能的服务例程;通过一组称为系统调用的接口呈现给用户 系统调用的作用 内核可以基于权限和规则对资源访问进行裁决,以保证系统的安全性 对系统调用进行抽象,提供一致接口,避免用户在使用资源时发生错误,提高编程效 率。 系统调用的实现要点 访管指令:由于系统调用而引起处理器中断的机器指令。(自陷指令、中断指令) 访管指令为非特权指令,在目态下执行将CPU切换到核心态。 1.3.3 作业接口与操作命令 接口类型: 操作接口: 操作接口又称作业级接口,是操作系统为用户操作控制计算机工作和提供服务的手 段集合 4 主要结构 内核? 内核(kernel或者nucleus) 是一组程序模块,包含操作系统中最常用的功能,如进程管 理、存储器管理、进程间通信、 低级I/O功能。 中断处理、时钟管理、短程调度、原语管理 核的属性: 内核是由中断驱动的 内核是不可抢占的 内核部分程序在屏蔽中断状态下执行 内核可以使用特权指令 第二章 处理机管理 2.1中央处理器 非特权指令 应用程序可以使用的指令 特权指令 特权指令是指只能提供给操作系统的核心程序使用的指令,如启动I/O设备、设置时钟、 控制中断屏蔽位、清主存、建立存储键,加载PSW 程序状态字PSW 程序运行时的一组动态信息的汇集,用来控制指令执行顺序并保留和指示与程序有关的 系统状态,主要作用是实现程序状态的保护和恢复 每个程序都有一个与其执行相关的PSW,每个处理器都设置一个PSW寄存器。程序占有 处理器执行,它的PSW将占有PSW寄存器 psw 内容: 程序基本状态: (1) 程序计数器; (2) 条件码; (3)处理器状态位。 中断码 ( 保存程序执行时当前发生的中断事件。) 中断屏蔽位 ( 指明程序执行中发生中断事件时,是否响应出现的中断事件。) 2.2中断 中断的概念 指程序执行过程中,遇到急需处理的事件时,暂时中止CPU上现行程序的运行,转去执 行相应的事件处理程序,待处理完成后再返回原程序被中断处或调度其他程序执行的过 程。 分类 外中断:又称为中断或异步中断,是指来自于处理器之外的中断信号,包括时钟中断、 键盘中断、它机中断和外部设备中断等 内中断:又称为异常或同步中断,是指来自于处理器内部的中断信号,通常是由于在程 序执行过程中,发现与当前指令相关联的、不正常的或错误的事件 访管中断:执行系统调用 硬件故障中断:电源失效、奇偶校验错误等 程序性异常:非法操作、地址越界、页面故障、除数为零等 响应过程 在执行完当前指令后,或在执行当前指令的中途,根据中断源所提供的中断向量,在主 存中找到相应服务程序的入口地址并调用此服务程序。 发现中断源 保护现场 转向处理中断/异常事件的处理程序 恢复现场 2.3 进程 为什么要引入进程? 刻画系统的动态性,发挥系统的并发性,提高资源利用率 它能解决系统的“共享性”,正确描述程序的执行状态 进程? 进程是可并发执行的程序在某个数据集合上的一次计算活动,也是操作系统进行资源分 配和保护的基本单位 进程是一个既能用来共享资源,又能描述程序并发执行过程的一个基本单位。 特性 结构性:由程序段、数据段和进程控制块(PCB)组成 共享性:多个不同的进程可以共享相同的程序 动态性:进程的实质是进程实体的一次执行过程 独立性:进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位 异步性(制约性):进程按各自独立的、不可预知的速度向前推进 并发性:多个进程同存于内存中,能在一段时间内同时运行。 状态和转换 就绪态:进程已经获得除CPU之外的所有资源 运行态:进程已获得CPU,正在CPU上运行 等待态(阻塞态):由于发生某事件而暂时无法继续执行时处于的暂停状态 5态模型 进程映象(process image) 进程控制块:(后面讲解) 进程程序块:进程一次执行完成的功能 进程核心栈:进程在内核态工作时,用来保存的中断/异常现场,过程调用或系统调用中 的信息存储和参数传递 进程数据块:私有地址空间,用户栈也在数据块中 PCB 进程控制块PCB,是操作系统用于记录和刻划进程状态及有关信息的数据结构 PCB中记录了操作系统所需的、用于描述进程的当前情况以及控制进程运行的全部信息 PCB的作用:使一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基 本单位。OS是根据PCB来对并发执行的进程进行控制和管理的。 PCB是进程存在的唯一标识。 进程上下文切换 保存老进程的上下文,装入新进程的上下文,以便新进程运行。进程切换发生在内核态 处理器模式切换(处理器状态转换) 当中断发生时,暂时中断正在执行的用户进程,把处理器的状态从用户状态切换到内核 状态,去执行操作系统例行程序以获得服务,这就是一次模式切换 2.4 线程 线程引入? 操作系统中再引入线程,则是为了减少程序并发执行时所付出的时空开销,使得并发粒 度更细、并发性更好 线程? 进程中能够并发的实体,是进程的组成部分,也是处理器调度和分配的基本单位。允许 进程中包含多个线程,这些线程共享进程的主存空间和资源,可以为完成某一项任务而 协同工作 线程调度 内核级线程:通常操作系统会选择一个优先级高的线程,而不管它属于哪个进程 用户级线程:内核并不知道线程的存在,所以操作系统调度的是进程。由进程的的线程 调度程序决定哪个线程运行 线程与进程的比较 ? 2.5处理器调度及调度算法 高级调度:选择外存上处于后备队列的一个或几个作业调入内存、分配必要资源 ,并将 新创建的进程排在就绪队列中 中级调度 :负责进程在内存和外存对换区之间换进换出,是内存对换功能的一部分 低级调度 :从就绪队列中选择一个进程,分配处理机,执行进程 周转时间 作业从提交到完成(得到结果)所经历的时间 等待时间 带权周转时间 周转时间 执行时间 平均周转时间 平均带权周转时间 调度算法 必考 先来先服务(First Come First Served,FCFS) : 最简单的调度算法,按先后顺序进行调度 最短进程优先 (SJF) 进入系统的作业所要求的CPU时间为标准,总选取估计计算时间最短的作业投入运行。 最短剩余时间优先(Shortest Remaining Time First, SRTF) 新作业进入就绪状态,如果新作业需要的CPU时间比当前正在执行的作业的剩余CPU时 间短,SRTF强行赶走当前正在执行作业 响应比最高者优先(Highest Response Ratio First, HRRF) 饥饿现象不会发生 优先级调度算法 : 这种算法是根据确定的优先级来选取进程/线程,每次总是选择优先级 最高的进程/线程 (分剥夺式和非剥夺式) 第三章 同步、通信与死锁 3.1 并发进程 3.1.1 顺序程序设计 特点:顺序性、封闭性、确定性、可再现性 响应比 等待时间要求执行时间 要求执行时间 等待时间 要求执行时间 3.1.2 并发程序设计 并发的实质和特点 一个处理器在几个进程之间的多路复用 并发是对有限的物理资源强制行使多用户共享,消除计算机部件之间的互等现象,以提 高系统资源利 用率。 特点:间断性、失去封闭性、不可再现性 程序与计算不再一一对应在 3.1.2 并发程序设计 并发进程的特性 并发进程分类:无关的和交互的 无关的并发进程:一组并发进程分别在不同的变量集合上操作,一个进程的执行与其他 并发进程的进展无关。 交互的并发进程,共享某些变量,一个进程的执行可能影响其他进程的执行结果,并发 的进程之间具有制约关系 并发进程的无关性是进程的执行与时间无关的一个充分条件,又称为Bernstein条件。 ,表示程序#p_i#在执行期间引用的变量集(读集) ,表示程序pi在执行期间改变的变量集(写集) 若两个程序的读集和写集满足以下关系: 则并发进程的执行与时间无关 与时间有关的错误 对于一组交往的并发进程,执行的相对速度无法相互控制,各种与时间有关的错误就可 能出现 与时间有关错误的表现形式: 结果不唯一 (P166) 永远等待 (P167) 3.1.3进程的交往:竞争与协作 竞争:系统中的进程竞争资源但不交换信息。 资源竞争的两个控制问题:死锁(Deadlock)问题和饥饿(Starvation) 问题 进程互斥是指若干个进程因相互争夺独占型资源时所产生的竞争制约关系 协作关系:进程为完成同一任务需要分工协作,进程间需要交换信息 进程同步指为完成共同任务的并发进程基于某个条件来协调它们的活动,因为需要在某 些位置上排定执行的先后次序而等待、传递信号或消息所产生的协作制约关系。 结论: 当程序并发执行时,系统处于一个复杂的动态组合状态,各程序执行的相对速度不定, 程序员极不容易看到两个同样的结果,且在众多的结果中应该只有一个是正确的答案, 而其他则是错误的 为了保证得到唯一正确的结果,需要实现并发程序执行时的同步。 3.2 临界区管理 1 3.2.1 互斥与临界区 临界资源(critical resource) :并发进程中共享变量所代表的资源;一次只能供一个进程使用的 资源 临界区(critical section): 访问临界资源(与共享变量有关的)的那段程序 进程同步和互斥 与同一变量有关的临界区分散在各进程的程序段中,而各进程的执行速度不可预知。 如果保证进程在临界区执行时,不让另一个进程进入临界区,即各进程对共享变量的访 问是互斥的,就不会造成与时间有关的错误。 临界区的调度原则 1965年由Dijkstra提出 空闲让进: 当无进程处于临界区时,应允许一个请求进程进入自己的临界区 忙则等待:当已有进程处于临界区时,其他试图进入临界区的进程应等待 有限等待: 一个进程不能无限地等待,应保证在有限的时间内进入自己的临界区 让权等待:当进程不能进入自己的临界区时,应立即释放处理机 3.2.2临界区管理的尝试 bool inside1,inside2; inside1= false; /* P1不在其临界区内 */ inside2= false; /* P2不在其临界区内 */ cobegin process P1() inside1= true; while (inside2); 临界区; inside1= false; process P2() inside2 = true; while(inside1); 临界区; inside2 = false; coend (P170) 3.2.3实现临界区的软件方法 Peterson算法:该方法为每个进程设置一个标志,当标志为false时表示该进程要求进入临界 区,另外再设置一个指示器turn以指示可以由哪个进程进入临界区,turni表示进程Pi可以进入 临界区 (P170171) 3.2.4实现临界区管理的硬件设施 关中断:实现互斥的最简单方法 缺点: 关中断时间过长会影响性能和系统效率 不适用于多处理器计算机系统 用户开/关中断,系统可能会终止 测试并设置指令(Test typedef anyitem item; /item类型 item bufferk; int in=0,out=0,counter=0; process producer(void) while (true) /无限循环 produce an item in nextp; /生产一个产品 if (counter=k) /缓冲区满时,生产者睡眠 sleep(producer); bufferin=nextp; /将一个产品放入缓冲区 in=(in+1)%k; /指针推进 counter+; /缓冲内产品数加1 if(counter=1) /缓冲为空了,加进一件产品 wakeup(consumer); /并唤醒消费者 process consumer(void) while (true) /无限循环 if (counter=0) /缓冲区空,消费者睡眠 sleep(consumer); nextc=bufferout; /取一个产品到nextc out=(out+1)%k; /指针推进 counter-; /取走一个产品,计数减1 if(counter=k-1) /缓冲满,取走一件产品并唤 wakeup(producer); /醒生产者 consume the item in nextc; /消耗产品 结果: 生产者和消费者进程对counter的交替执行会使其结果不唯一 假设counter的当前值是5。 生产者进程 消费者进程 读到counter的值(5) 读到counter的值(5) counter+ counter 先生产者后消费者:counter=4(正确结果应为5) 先消费者后生产者:counter=6(正确结果应为5) 生产者和消费者进程的交替执行会导致进程永远等待 假设counter的当前值是0。 消费者先执行,发现counter为0 生产者后执行,发现counter为0,则生产者将去唤醒消费者,此时消费者尚未睡 眠(生产者很失望,没有睡眠的消费者) 然后消费者进程睡眠 生产者持续生产,直到缓冲区满了,生产者也睡眠了 此时,大家都睡眠了,系统死锁了(进程互相永远等待彼此唤醒) 出现不正确的结果原因 : 生产者进程与消费者进程访问缓冲区的速度不匹配 解决方法(进程同步):并发进程通过交换信号或消息来达到调整相互速度、保证进程协调运 行的目的 操作系统的同步机制:同步原语 3.3.2 信号量与PV操作 1965年荷兰计算机科学家E.W.Dijkstra提出了新的同步工具信号量和P、V操作 概念: 信号量:一种软件资源、特殊变量 信号量的操作:P操作原语和V操作原语(wait()和signal()、up()和down() 原语:内核中执行时不可被中断的过程 信号量分类 按用途分: 公用信号量:联系一组进程,初值为1,相关进程均可以执行PV操作,用于实现 进程互斥 私有信号量:联系一组进程,仅允许拥有此信号量的进程执行P操作,其他进程 可以执行V操作,用于进程同步 一般信号量 操作系统中,信号量表示物理资源的实体,它是一个与队列有关的整型变量。 两个分量:一个是信号量的值(整型),另一个是信号量队列的指针,指向等待此 信号量的进程。 经典的进程同步问题 哲学家进餐问题 semaphore fork5; for (int i=0;i5;i+) forki=1; cobegin process philosopher_i( ) /i= 0,1,2,3,4 while(true) think( ); P(forki); P(fork(i+1)%5); eat( ); V(forki); V(fork(i+1)%5); coend 哲学家进餐问题最多4人同时进餐:避免发生死锁 法1: 法2: 生产者消费者问题 读者写者问题 会出现写者饥饿现像 独木桥问题 理发师问题 死锁 定义 如果在一个进程集合中的每个进程都在等待只能由该集合中的其他一个进程才能引发的 事件,则称一组进程或系统此时发生了死锁。 原因 进程推进顺序不当产生死锁 PV操作使用不当产生死锁 资源分配不当引起死锁 必要条件 互斥条件 (mutal exclusion):进程互斥使用临界资源 占有和等待条件(hold and wait):进程在申请新资源得不到满足而等待时,不释放已经占 有资源 不剥夺条件(no preemption):一个进程不能抢夺其他进程占有的资源 循环等待条件(circular wait):存在一个循环等待链,每个进程分别等待它前一个进程所 持有的资源,造成永远等待 预防死锁 破坏条件1(互斥条件): 使资源可同时访问而非互斥 破坏条件2(占有和等待) : 采用静态分配策略 破坏条件3(不剥夺条件) : 采用剥夺式调度方法。(适用于内存和处理器资源) 破坏条件4(循环等待条件): 采用层次分配策略 资源被分成多个层次,当进程得到某一层的一个资源后,它只能再申请较高层次的 资源 当进程要释放某层的一个资源时,必须先释放占有的较高层次的资源 当进程得到某一层的一个资源后,它想申请该层的另一个资源时,必须先释放该层 中的已占资源 银行家算法 Resource : 系统中各类资源总数总量 Available : 系统中各类资源可以用数总量 Claim : 进程对各类资源的最大需求矩阵 Allocation : 系统中当前资源的已分配情况矩阵 安全 第四章 存储管理 4.1 存储器工作原理 概念 编译:源程序目标代码 链接:把多个目标模块链接在一起,形成完整的可装载的模块 装载:加载一个装入模块,修改逻辑地址物理地址 重定位:把逻辑空间中已链接和划分好的内容装入内存,并将逻辑地址映射为内 存地址, 称之为地址变换 (地址重定位或地址映射)。 地址变换:就是要建立逻辑地址与内存地址的关系。 4.2 连续存储管理 固定分区存储管理 把内存区固定地划分为若干个区域,从而形成若干个边界,划分的原则由系统操作员或 操作系统决定,每个分区装入一个作业。这些分区中的作业可并发执行。 可变分区存储管理 硬件:基址寄存器和限长寄存器 在作业执行前并不建立分区,分区的建立是在作业的处理过程中进行的,且其大小可随 作业或进程对内存的要求而改变。 可变分区分配方法 (看练习) 重点 最先 最优 最坏 下次 覆盖技术 基本思想:是将内存的同一区域按照使用的先后顺序,分配给几个不同进程或一个进程 的几个程序段或数据段。 交换技术(Swapping) 把内存中暂时无法运行的进程或者暂时不需要的程序、数据写入辅存,并将具备运行条 件的进程或者需要的程序、数据从辅存读入内存 4.3 离散存储管理技术 1.基本概念和术语 页面(page):把进程的逻辑地址空间划分为一些相等的片,这些片称为页或页面。 页框:物理地址空间划分为大小相等的片,称为物理块、页框或者页帧(frame)。 逻辑地址(虚拟地址)格式: 页号P页内位移量W 内存页框表:内存划分的物理块的编号。若该块被占用,标记为1,若空闲,标记为0 页表:进程的各个页装入内存后,数据分散存放在内存的各个块内,通过使用页表记录 进程的页面与被分配的页框之间的联系。 地址转换 将逻辑地址分为页号和页内地址两部分: 页号逻辑地址 页面大小 页内偏移量逻辑地址页面大小 example: 逻辑地址4600的页号和页内位移,设页面大小为4KB 则页号和页内位移为:(1,504) 逻辑地址4A7B(100101001111011)的页号和页内位移,设页面大小为4KB 则页号和页内位移为:(100 ,101001111011) 主存的等效访问时间 假定访问主存时间为100ns,访问相联存储器时间为20ns,相联存储器为32个单元时快 表命中率可达90%, 1.若系统中不采用快表的内存访问时间: 2.采用快表的内存等效访问时间: 分段的基本与原理 程序和数据根据相关性划分成一组段 程序的所有段并不要求大小都相同 有一个最大的段长度 地址由两部分组成:段号和段内位移 分段存储管理是以段为基本单位分配内存,且每一段必须连续的内存空间,但各段之间 不要求连续。由于各段的长度不一样,所以分配的内存空间大小也不一样。由于段大小 不等,因此分段类似于动态分区。 引入原因:满足用户编程和使用上的要求 分段存储管理 二维地址结构 分段和分页的比较 分段: 分段是信息的逻辑单位,由源程序的逻辑结构所决定,用户可见, 段长可根据用户需要来规定,段起始地址可从任何主存地址开始。 分段方式中,源程序(段号,段内位移)经连结装后地址仍保持二维结构。 分页: 分页是信息的物理单位,与源程序的逻辑结构无关,用户不可见, 页长由系统确定,页面只能以页大小的整倍数地址开始。 分页方式中,源程序(页号,页内位移)经连结装配后地址变成了一维结构。 4.4 虚拟存储器 页面置换算法 主存有效访问时间 思路 能否把物理内存扩大到大容量磁盘上,把磁盘空间当作内存的一部分,进程的程序和数 据通常部分放在内存中,部分放到磁盘上 程序的局部性原理 指程序在执行过程中,对程序和数据的访问都有聚集的倾向,在一个较短的时间段内, 程序的执行仅局限于某个部分;相应地,它所访问的存储空间也局限于某个区域 时间局部性: 如果程序中的某条指令一旦执行,则不久后该指令可能再次执行。产生时间局部性的原 因在于程序中存在大量的循环 空间局部性: 一旦程序访问了某个存储单元,在不久后,其附近的存储单元也可能被访问,即程序 在一段时间内所访问的地址,可能集中在一定的范围内,其典型的情况就是程序的顺序 执行 实现虚存,必须解决的问题: 主存辅存统一管理问题 逻辑地址到物理地址的转换问题 部分装入和部分对换问题 请求分页式虚拟存储器 基本原理 在分页系统的基础之上,增加了请求调页功能和页面置换功能所形成的页式虚拟存储系 统。 每次调入和换出的基本单位是长度固定的页。 请求分页系统的硬件支撑:主存管理单元MMU 提供地址转换和存储保护功能并支持虚存管理和多任务管理。 请求分页虚存地址转换过程 example1: 逻辑地址1500对应的物理地址为多少? 页号状态块号 012 10 214 318 40 (1)1500的页号和页内位移分别为: 页号 1500/1024=1 页内位移 2500 mod 1024=476 (2)根据页号查页表,该页不在主存,产生缺页中断 优点:作业的程序和数据可按页分散存放在内存中,减少移动开销,有效解决了碎片问 题既有利于改进主存利用率,又有利于多道程序运行。 缺点:要有硬件支持,要进行缺页中断处理,机器成本增加,系统开销加大 抖动 刚被淘汰的页面又要调入,而调入不久随即被淘汰,淘汰不久再被调入,如此反复,使 得整个系统的页面调度非常频繁,以致于大部分时间都花费在来回调度页面上,而不是 执行计算任务。这一现象,称为“抖动”或“颠簸” 缺页率 影响缺页中断率的因素 (1)主存页框数。 (2)页面大小。 (3)页面替换算法。 (4)程序特性。 页面置换算法(OPT、FIFO、LRU 还没弄清楚 最佳(Optimal)置换算法 : 最低的缺页率 由于无法预知一个进程在内存的若干个页面中,哪一个页面是未来最长时间内不 再被访问的,因而该算法是无法实现的 先进先出页面替换算法(FIFO) 该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以 淘汰 最近最少用页面替换算法LRU FIFO置换算法性能之所以较差,是因为它所依据的条件是各个页面调入内存的时 间,而页面调入的先后并不能反映页面的使用情况 第五章 设备管理 5.1 I/O硬件 I/O系统:I/O设备及其接口线路、控制部件、通道和管理软件的总称。 I/O操作:计算机的主存和外围设备的介质之间的信息传送操作 I/O控制方式 (1) 轮询方式 由用户进程来直接控制内存或CPU与外围设备之间的信息传送。这种方式的控制 者是用户进程 (2) 中断方式 在I/O设备输入数据时,无需CPU干预,因而可使CPU与I/O设备并行工作。 仅当输完一个数据时,才需CPU花较短的时间进行中断处理 (3) DMA方式 如果I/O设备能直接与主存交换数据而不占用CPU,CPU的利用率还可提高,这 就出现了直接存储器存取DMA方式 (4) 通道方式 为获得CPU和外围设备间更高的并行工作能力,也为了让种类繁多,物理特性各 异的外围设备能以标准的接口连接到系统中,计算机系统引入了自成独立体系的 通道结构 5.2 I/O软件 目标: 高效率 通用性 I/O软件组织成四个层次 I/O中断处理程序。位于操作系统底层,与设备紧密相关,处理设备产生的I/O中断。功能 检查设备状态寄存器的内容,判断产生中断的原因 数据传输有错,向上层软件报告 若数据传输正常结束,唤醒等到数据的进程 若有等待I/O操作,通知启动下一个I/O请求 设备驱动程序。 把用户提交的逻辑I/O请求转化为物理I/O操作的启动和执行,如设备名转化为端 口地址、逻辑记录转化为物理记录、逻辑操作转化为物理操作等 与设备无关的操作系统I/O软件。 对设备驱动程序的统一接口 设备命名和保护 提供与设备无关的块尺寸 缓冲区管理 设备的分配和状态跟踪 错误报告和处理 用户层I/O软件 库例程实现的I/O系统调用、非库例程实现的I/O系统调用 5.3 缓冲技术 *引入缓冲技术的目的* 改善中央处理器与外围设备之间速度不配的矛盾, 协调逻辑记录大小与物理记录大小不一致, 提高CPU和I/O设备的并行性,减少I/O操作对CPU的中断次数,放宽对CPU中断响应时间 的要求。 分类 单缓冲 每当一个进程发出一个I/O请求时,操作系统便在主存中为之分配一缓冲区,该缓 冲区用来临时存放输入/输出数据 双缓冲 输入数据时,首先填满缓冲区1,操作系统可从缓冲区1把数据送到用户进程 区,用户进程便可对数据进行加工计算与此同时,输入设备填充缓冲区2 当缓冲区1空出后,输入设备再次向缓冲区1输入。操作系统又可把缓冲区 2的数据传送到用户进程区,用户进程开始加工缓冲2的数据 多缓冲 操作系统从自由主存区域中分配一组缓冲区组成循环缓冲,每个缓冲区的大小等 于物理记录的大小。多缓冲的缓冲区是系统的公共资源,可供各个进程共享,并 由系统统一分配和管理。 缓冲区用途可分为:输入缓冲区,处理缓冲区和输出缓冲区 5.4 磁盘I/O 优化分布: 缩短的是旋转延迟时间 处理记录的时间:定位时间+读出时间+处理时间 磁盘调度算法 先来先服务”算法(FCFS) “电梯调度”算法 其要求访问的磁道与当前磁头所在的磁道距离最近,以使每次的寻道时 间最短 “最短

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论