《操作系统原理.ppt》由会员分享,可在线阅读,更多相关《操作系统原理.ppt(54页珍藏版)》请在优知文库上搜索。
1、Windows 操作系统原理操作系统原理主要内容主要内容l第一章、操作系统概述l第三章、进程和处理机管理l第四章、存储管理l第五章、文件系统l第六章、设备管理和I/O系统第一章、操作系统概述第一章、操作系统概述l操作系统的定义l操作系统的特征l操作系统的功能l操作系统的分类第三章、进程和处理机管理第三章、进程和处理机管理l进程定义特征组成l进程管理五状态模型l进程协作互斥、同步死锁l处理机调度(作业管理)调度算法第四章、存储管理第四章、存储管理l内存管理基本原理分区调度l虚存管理页面调度l磁盘管理磁盘调度第五章、文件系统第五章、文件系统l文件概念实现l目录实现lFAT32文件系统第六章、设备管
2、理和第六章、设备管理和I/O系统系统lI/O设备数据传送控制方式l中断技术l虚拟设备lSpooling技术物理设备微程序机器语言O.S.命令解释器编译编辑银行系统,飞机订票硬件系统软件应用程序图图1.2OSXENIXdos. UNIX.应用程序裸机(硬件)概述概述 - 1.2l操作系统的定义操作系统是计算机系统的一个系统软件,它是这样的一些程序模块的集合:它们能有效的组织和管理计算机系统中的硬件及软件资源,合理的组织计算机工作流程,控制程序的执行,并向用户提供各种服务功能,使得用户能够灵活、方便、有效的使用计算机,使整个计算机系统能高效地运行。l两方面作用管理系统中的各种资源,包括硬件及软件资
3、源为用户提供良好的接口l普通用户界面l编程接口API操作系统的特征操作系统的特征l并发性l共享性l随机性操作系统的功能(操作系统的功能(1)l进程管理对处理机进行管理l作业管理OS向用户提供使用它自己的手段l存储管理管理存储资源操作系统的功能(操作系统的功能(2)-1.3l文件管理有效的支持文件的存储、检索和修改等操作,解决文件的共享、保密和保护问题,以便用户方便安全地访问文件。l设备管理对计算机系统中的所有输入/输出设备的管理。l其他功能系统安全、网络通信等操作系统的分类操作系统的分类-1.6l批处理操作系统l分时操作系统l实时操作系统l嵌入式操作系统l网络操作系统l分布式操作系统l个人计算
4、机操作系统l智能卡操作系统进程定义和描述进程定义和描述-3.1.2l进程是一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程。l作为描述程序执行过程的概念,进程具有动态性、独立性、并发性和结构化等特征。进程与程序的区别和联系进程与程序的区别和联系-3.1.2l进程是动态的,程序是静态的。l进程是暂时的,程序是永久的。l进程和程序的组成不同。进程包括程序、数据和进程控制块。l进程和程序是密切相关的。通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可以包括多个程序。进程可以创建其他进程,而程序不能形成新的程序。进程控制块进程控制块-3.1.2l进程由 代码、数据和进程控制块P
5、CB组成lPCB 是由操作系统维护的用来记录进程相关信息的数据结构。l进程控制块的内容分为进程描述信息、进程控制信息、资源占用信息和处理机现场保护结构4个部分。五状态进程模型五状态进程模型创建阻塞退出就绪运行创建新进程提交超时释放事件出现等待事件调度进程的协作进程的协作l进程的调度并发串行l协作关系同步l竞争关系互斥互斥算法互斥算法-3.4.1l临界资源是指计算机系统中需要互斥使用的硬件或软件资源,如外设、共享代码段、共享数据结构等。l临界区是指进程中访问临界资源的一段代码。信号量信号量 3.4.2l信号量:由操作系统提供的管理公有资源的有效手段。信号量代表可用资源实体的数量,0表示还有可用的
6、资源,新来的进程可以直接执行,0表示已经没有可用的资源,有进程因此而阻塞,0表示已经没有可用的资源,也没有进程在等待该资源。P原语lP(s):把信号量s 减去1,如果计算后的信号量s小于0 ,则阻塞该进程V原语l V(s):把信号量s 加1,如果计算后的信号量s小于或等于0,则从阻塞队列中激活一个等待的进程生产者生产者-消费者问题消费者问题-3.4.3l解决若干进程通过有限的共享缓冲区交换数据时的缓冲区资源使用问题。lOne Producer, One Consumer, N BufferslOne Producer,N Consumer, N BufferslN Producer, One
7、Consumer, N BufferslN Producer, N Consumer, N BuffersOne Producer, One Consumer, N BuffersReaders-Writers problem (10 mins)哲学家吃通心粉问题哲学家吃通心粉问题l有五个哲学家围坐在一圆桌旁,桌子中央有一盘通心面,每人面前有一只空盘子,每两人之间放一把叉子。每个哲学家思考、饥饿、然后,欲吃通心面。为了吃面,每个哲学家必须获得两把叉子,且每人只能直接从自己左边或右边去取叉子。哲学家吃通心粉问题哲学家吃通心粉问题-死锁死锁死锁问题死锁问题-3.6l死锁(deadlock)是指系统
8、中多个进程无限制的等待永远不会发生的条件。l产生条件互斥:任意时刻只允许一个进程使用资源请求和保持:进程在请求其他资源的时候,不主动释放已经占用的资源非剥夺:进程已经占用的资源,不会被强制剥夺环路等待:环路中的每一进程在请求另一进程已经占有的资源。处理死锁的基本方法处理死锁的基本方法-3.6.2/3/4l死锁的预防预防死锁是指通过某种策略来限制并发进程对资源的请求,使系统在任何时候都不满足死锁的必要条件。预先静态分配法和有序资源使用法。l死锁的检测基本思路是在操作系统中保存资源的请求和分配信息,利用某种算法对这些信息加以检查,以判断是否存在死锁。资源分配图l死锁的避免最合理做法应该是在分配资源
9、时判断是否出现死锁,只有确信不会导致死锁时才分配资源。银行家算法作业调度算法作业调度算法 3.8l先来先服务算法(First Come First Service)基本思想是按照进程到达的先后顺序进行调度l最短作业优先算法(Shortest Job First)要求作业在开始执行时预计执行时间,给预计执行时间短的作业优先分派处理机。后来的短作业不抢现正在执行的作业。l优先级算法(Priority Scheduling)是多级队列的改进,协调各进程队列中进程的响应时间要求。分为抢占式和非抢占式。作业调度作业调度 3.8l计算各种调度算法下作业队列的平均周转时间存储管理存储管理 4.1l内存管理的
10、基本原理内存管理主要包括内存分配和回收、地址变换、内存扩充、内存共享和保护等功能。l内存的管理分区分页分段段页式常用的动态分区分配算法(常用的动态分区分配算法(1)-4.1.3l最先适配法按分区在内存的先后次序从头查找,找到符合要求的第一个分区进行分配。该算法的分配和释放的时间性能较好,较大的空闲分区可以被保留在内存高端,但是随着低端分区不断划分,会产生较多小分区,每次分配时,查找时间开销便会增大。l下次适配法按分区在内存的先后次序,从上次分配的分区起查找(到最后分区时,再从头开始),找到符合要求的第一个分区进行分配。该算法的分配和释放的时间性能较好,使空闲分区分布得更均匀,但较大的空闲分区不
11、易保留。常用的动态分区分配算法(常用的动态分区分配算法(2)-4.1.3l最佳适配法按分区在内存的先后次序从头查找,找到其大小与要求相差最小的空闲分区进行分配。从个别来看,外碎片较小,但从整体来看,会形成较多外碎片。这种方法的优点是较大的空闲分区可以被保留下来。l最坏适配法按分区在内存的先后次序从头查找,找到最大的空闲分区进行分配。基本不留下小空闲分区,不易形成外碎片。但由于较大的空闲分区不被保留,因此当有对内存需求较大的进程需要运行时,其要求不易被满足。页式存储管理基本原理页式存储管理基本原理 -4.1.5l将程序的逻辑地址空间划分为固定大小的页(page),而将物理内存划分为同样大小的页框
12、(page frame)。加载程序时,可以将任意一页放入内存中任意一个页框,这些页框不必连续,从而实现了离散分配。该方法需要CPU的硬件支持,来实现逻辑地址和物理地址之间的映射。在页式存储管理方式中,地址结构由两个部分组成,前一部分是页号,后一部分为页内地址。段式存储管理基本原理段式存储管理基本原理 -4.1.6l将程序的地址空间划分为若干段(segment),这样每个进程都有一个二维的地址空间。系统为每个段分配一个连续的分区,而进程中的各个段可以不连续的存放在内存的不同分区中。程序加载时,OS为所有段分配其所需内存,这些段不必连续。段式存储管理也需要硬件支持,实现逻辑地址到物理地址的映射。页
13、式和段式系统的区别页式和段式系统的区别 -4.1.8l页是信息的物理单位,段是信息的逻辑单位。l页的大小固定且由系统决定,段的大小通常取决于用户所写的程序。l页式系统地址空间是一维的,分段的作业地址空间是二维的。段页式存储管理基本原理段页式存储管理基本原理 -4.1.7l用页式方法来分配和管理内存空间,即把内存划分成若干大小相等的页面;l用段式方法对用户程序按照其内在的逻辑关系划分成若干段;l再按照划分内存页面的大小,把每一段划分成若干大小相等的页面;l用户程序的逻辑地址由三部分组成,形式如下: 段号 页号 页内地址 ;l内存是以页为基本单位分配给每个用户程序的,在逻辑上相邻的页面内存不一定相
14、邻。 虚存管理:页面置换算法(虚存管理:页面置换算法(1)l先进先出算法(FIFO)选择置换装入最早的页面。l最近最久未使用算法(Least Recently Used, LRU)选择置换内存中最久未使用的页面。但是由于要记录页面使用时间的先后关系,硬件开销大。l计算缺页中断次数和缺页中断率磁盘管理:磁盘访问时间磁盘管理:磁盘访问时间 -4.3.3l寻道时间 Ts把磁臂从当前位置移动到指定的磁道上所经历的时间。l旋转延迟时间Tr扇区移动到磁头下面所经历的时间。l传输时间Tt把数据从磁盘读出,或者写入数据所经历的时间。磁盘调度算法磁盘调度算法- 4.3.4(1)l先来先服务算法(FCFS)根据进
15、程请求访问磁盘的先后次序进行调度。l最短寻道时间优先算法(SSTF)选择访问磁道与当前磁头所在位置距离最近的进程。l扫描算法(SCAN)不仅考虑距离,同时考虑当前磁头的移动方向(电梯调度)。l计算磁道移动距离文件系统文件系统 5l定义文件是具有一定名称的一组相关数据的集合。空间分配策略空间分配策略(1) -5.1.2 l连续空间分配每个文件都占据了一个完整且连续的磁盘区域。实现简单,存取速度快。但是,文件长度不易动态增加。l链接空间分配每个文件都有一张相应的磁盘块的链接表。这些磁盘块可以分散在磁盘的任何地方,除了最后一个磁盘块外,每个磁盘块都有一个指针指向下一个磁盘块。没有外部碎片,文件可以任
16、意的增长而没有其他限制。但是,只有在顺序访问时,链接空间分配策略才是高效的。(要访问i:1-i;然后要访问i-1:1-i-1)。此外,必须给指针分配空间。空间分配策略空间分配策略(2) -5.1.2l索引空间分配每一个文件有一个索引块,这个索引块就是一个表,每个表项存放文件所占有的单个磁盘块的地址。避免了外部碎片问题和文件长度受限制的问题,而且还支持对任何一个文件块的直接访问。但是,索引块的分配增加了系统存储空间的开销。同时,存取文件需要两次访问外存(先读取索引,再访问具体磁盘),降低了文件的存取速度。l组合空间分配多种策略的组合。目录的实现目录的实现l线性表算法顺序遍历l哈希表算法直接访问l其他B+树FAT32文件系统原理(文件系统原理(1) 5.4.3l卷的组织结构:P273图5-18l文件分配表以FAT文件系统格式化的卷以簇为单位进行分配,默认的簇的大小由卷的大小决定。类型0 x0000表示未使用,0 xFFF7表示损坏,0 xFFF8-F表示最后一个文件分配表的利用:图5-20,p275l目录项大小为32字节,内容包括文件名、扩展名、属性字节、最后一次修改时间和日期、第一个簇的