现代操作系统实例.ppt

上传人:wuy****n92 文档编号:65037266 上传时间:2022-12-02 格式:PPT 页数:47 大小:315.49KB
返回 下载 相关 举报
现代操作系统实例.ppt_第1页
第1页 / 共47页
现代操作系统实例.ppt_第2页
第2页 / 共47页
点击查看更多>>
资源描述

《现代操作系统实例.ppt》由会员分享,可在线阅读,更多相关《现代操作系统实例.ppt(47页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第8章章 现代操作系统实例现代操作系统实例本章学习目标掌握UNIX系统的内核管理方法了解Windows系统的内核管理方法了解分布式操作系统特性及进程管理方式第第8章章 现代操作系统实例现代操作系统实例1教学内容8.1 UNIX8.1 UNIX操作系统操作系统8.2 WINDOWS 20008.2 WINDOWS 2000操作系统操作系统8.3 8.3 分布式操作系统分布式操作系统8.1 UNIX操作系统操作系统 8.1.1 UNIX操作系统的发展 UNIX是目前最流行的操作系统之一,于1969年,在美国的电报电话公司(AT&T)贝尔实验室诞生的。最初的UNIX系统是用汇编语言编写的,1973

2、年,Ritchie又用C语言重写了UNIX。第第8章章 现代操作系统实例现代操作系统实例38.1.2 UNIX操作系统的特点操作系统的特点 1多用户多任务2可移植性3树型文件系统结构4I/O重定向和管道技术5非富的实用程序6电子邮件第第8章章 现代操作系统实例现代操作系统实例48.1.3 UNIX系统的内核结构系统的内核结构硬 件应用程序及编译器界面Shell编辑器及其组件内 核图8-1 UNIX系统层次结构模型第第8章章 现代操作系统实例现代操作系统实例5进程控制 进程通信子系统 调度 内存管理图8-2 UNIX系统内核模型系统调用接口文件子系统设备驱动程序硬 件 控 制硬 件用户程序陷阱字

3、符设备块设备高速缓存核心层用户层库函数第第8章章 现代操作系统实例现代操作系统实例68.1.4 UNIX系统中的进程管理系统中的进程管理 1UNIX进程的结构(1)用户级上下文用户级上下文主要成分是用户程序。包括正文段即代码(text)、数据段(data)两部分。(2)寄存器上下文寄存器上下文主要是由CPU中的一些寄存器的内容组成的。(3)系统级上下文第第8章章 现代操作系统实例现代操作系统实例7 系统级上下文包括操作系统为管理该进程所用的信息,可分为静态和动态两部分。它包括:proc结构:该结构常驻内存,内容包括经常需要访问的往息,如进程标识符、进程状态等。user结构:该结构暂驻内存,进程

4、处于执行状态时调入内存。它包含了进程的一些私有信息,如,进程表项指针、有效用户标识符等各种资源表格。进程区表:从虚拟地址到物理地址的映射。核心栈:核心态执行时过程调用的栈结构。若干寄存器级上下文。第第8章章 现代操作系统实例现代操作系统实例82 2进程调度算法进程调度算法进程调度算法进程调度算法 UNIX系统是分时系统,它的进程调度采用动态优先数轮转调度算法。优先数越小,优先级别越高。例如,对换进程的优先数是,而等待磁盘I/O进程的优先数是。UNIX S-5中进程的优先级分为两大类:用户优先级类和核心优先级类。核心用两种方式改变进程的优先级:对核心态进程设置优先数;对用户态进程计算优先数。第第

5、8章章 现代操作系统实例现代操作系统实例93 3进程状态及转换进程状态及转换进程状态及转换进程状态及转换 UNIX System 5进程的状态存放在进程的proc结构中。这些进程的状态共有9个,它们是:(1)用户态执行。(2)核心态执行。(3)内存中睡眠。(4)睡眠且换出。(5)内存中就绪。(6)就绪且换出。(7)僵死。(8)被剥夺状态。(9)创建。第第8章章 现代操作系统实例现代操作系统实例10僵死唤醒返回到用户态系统调用 中断中断中断返回 被剥夺 创建 调度图8-3 UNIX系统的进程状态转换内存足用户态执行内存中就绪核心态执行就绪且换出返回换入换出内存中睡眠睡眠且换出换出唤醒睡眠内存不足

6、剥夺第第8章章 现代操作系统实例现代操作系统实例114 4UnixUnix系统中进程的家族关系系统中进程的家族关系系统中进程的家族关系系统中进程的家族关系 Unix的内核中设置了一个0进程,它是惟一一个在系统引导时被创建的进程。在系统初启时,由0进程再创建1进程及其它核心进程,然后1号进程又为每个终端创建命令解释进程;用户输入命令后又创建若干进程,这样便形成了一棵进程树。以后0号进程作为系统的对换及调度进程,1号进程成为系统始祖进程,同时又创建其它进程。系统中除0进程以外,所有其它进程都是由fork创建的。第第8章章 现代操作系统实例现代操作系统实例128.1.5 UNIX系统的内存管理系统的

7、内存管理 UNIX系统采用求请调页存储管理方式,支持内外存的对换功能。内存空间的分配和回收均以页为单位进行。1交换 将内存中处于睡眠状态的某些进程调到外存交换区中,而将交换区中的就绪进程重新调入内存。为实现这种策略,系统内核应具有交换空间的管理、进程换出和进程换入这三个功能。第第8章章 现代操作系统实例现代操作系统实例132 2请求分页请求分页请求分页请求分页 UNIX系统为实现请求分页的功能,配置了四种数据结构,分别为:(1)页表。(2)磁盘块描述字。(3)页面数据表。(4)交换使用表。第第8章章 现代操作系统实例现代操作系统实例143 3换页进程换页进程换页进程换页进程 换页进程为核心进程

8、。该进程的主要任务是增加内存中所有的有效页年龄,并将内存中长期不用的页面换出。4缺页 在UNIX系统中可能会出现两类缺页:有效缺页和保护性缺页。当出现缺页时,缺页处理程序可能要从盘上读一个页面到内存,并在I/O执行期间睡眠。第第8章章 现代操作系统实例现代操作系统实例158.1.6 UNIX系统的文件管理系统的文件管理 UNIX系统中的文件子系统,既具有很强的功能,又具有灵活性。按文件的内部构造方式,UNIX系统将文件分为三类,即:普通文件、目录文件和特别文件(即设备文件)。UNIX系统的目录结构为有向非循环图结构。第第8章章 现代操作系统实例现代操作系统实例161 1文件卷的组织结构文件卷的

9、组织结构文件卷的组织结构文件卷的组织结构0#1#2#3#K#(K+1)#N#UNIX系统中,文件是以块为单位存放在介质上的,存储介质可以是磁盘或磁带。通常把每个磁盘或磁带看作一个文件卷。上图示出了UNIX系统的文件卷结构。其中,0号块是系统的引导块或空闲,当该系统需引导时才有引导程序放在这里,其它一般文件系统都不使用引导块;1号块为超级块(也称为专用块),它既是文件系统的控制块,也是对空闲盘块和I结点等资源的管理表。从2号块到第K号块为索引结点区,(K值由系统配置给定),用来存放该文件卷中所有文件的索引结点;从第K+1块至第N块为文件区,用来存放系统中所有的文件。第第8章章 现代操作系统实例现

10、代操作系统实例17超级块包括以下内容:(1)文件系统大小。(2)空闲盘块数目。(3)空闲索引结点数目。(4)空闲索引结点索引表。(5)封锁标记。(6)专用块修改标记。(7)其它信息。第第8章章 现代操作系统实例现代操作系统实例182 2文件的目录结构文件的目录结构文件的目录结构文件的目录结构 UNIX系统的目录结构采用了将文件名与文件描述信息分开的方法。文件目录由文件名和该文件的索引结点号构成。其中,文件名占14个字节,索引结点号占2个字节。因此,在1KB的盘块中就可以存放64(1K/16)个目录项。这样就节省了系统查找及访问文件的时间。第第8章章 现代操作系统实例现代操作系统实例19文件名(

11、14B)磁盘索引结点号(2B)F1.c45Myfile38F6.c67ABC56 UNIX一个文件的磁盘索引结点占64个字节,主要包括文件标识符、文件存取权限、文件物理地址、文件长度、文件连接系数、文件存取时间等一些文件的重要信息。第第8章章 现代操作系统实例现代操作系统实例203 3文件的物理结构文件的物理结构文件的物理结构文件的物理结构 UNIX系统文件的物理结构采用混合索引方式,对分配给文件的磁盘块进行管理。在UNIX文件系统的索引结点中,存在一项i.addr13,用于存放该文件的磁盘块号。如图8-7示出了UNIX系统的混合索引文件结构。第第8章章 现代操作系统实例现代操作系统实例21(

12、1)直接寻址i.addr0 i.addr9这10项。直接从索引结点中找出该文件所在的磁盘块号,访问速度较快。(2)一次间接寻址方式i.addr10这一项中存放的磁盘块号。(3)二次间接寻址方式i.addr11存放的磁盘块号,采用两级索引的方式。(4)三次间接寻址方式i.addr12存放的磁盘块号,采用三级索引的方式。第第8章章 现代操作系统实例现代操作系统实例224 4磁盘空间的管理方式磁盘空间的管理方式磁盘空间的管理方式磁盘空间的管理方式 UNIX系统对于空闲盘块的管理,采用成组链接法。该方法把第一组中的所有空闲盘块号放入超级块的空闲盘块号栈中。5系统为打开文件建立的数据结构 UNIX系统打

13、开文件的操作,就是由操作系统在内存为文件建立相应的数据结构。系统为打开文件建立的数据结构有三个,即:用户文件描述符表、文件表和内存索引结点。第第8章章 现代操作系统实例现代操作系统实例23 fp fp fp fp fp fp用户文件描述符表内存索引结点文件表图8-7 UNIX打开文件在内存的三个数据结构及三种读写方式 第三种方式第二种方式第一种方式用户一 用户二 用户三 用户四 用户五 用户六第i个内存索引结点第j个内存索引结点第k个内存索引结点第l个内存索引结点f_offsetf_inodef-flagf-countf_offsetf_inodef-flagf-countf_offsetf_

14、inodef_offsetf_inodef_offsetf_inodefpfpfpfpfpfp第第8章章 现代操作系统实例现代操作系统实例248.1.7 UNIX系统的设备管理系统的设备管理 UNIX系统把设备分为两类,即字符设备和块设备。在UNIX系统中有两种类型的I/O,即:缓冲I/O和无缓冲I/O。1缓冲高速缓存 UNIX系统中的缓冲Cache实际上是一个磁盘Cache。对于磁盘的I/O操作通过缓冲Cache处理。第第8章章 现代操作系统实例现代操作系统实例252 2字符队列字符队列字符队列字符队列 缓冲Cache可支持像磁盘、磁带这样的块设备。另一种缓冲则适用于面向字符的设备,如终端、

15、打印机等。字符队列可以由I/O设备写、处理器读或由处理器来写、I/O设备读。3无缓冲I/O 无缓冲I/O是进程进行I/O的最快的方法,它在设备和进程空间之间使用DMA,进行无缓冲I/O的进程在主存中被锁起来,不能被换出。通过给高端内存加锁,减少了交换的机会,但也降低了整个系统的性能。同时,I/O设备也固定于一个进程,在传输中,不能为其他进程使用。第第8章章 现代操作系统实例现代操作系统实例264 4UNIXUNIX设备设备设备设备 UNIX系统本身可识别如下5种设备,即:磁盘驱动器、磁带驱动器、终端、通信线、打印机。5磁盘的读磁盘的读/写方式写方式(1)读方式一般读方式。提前读方式。(2)写方

16、式一般写方式。异步写方式。延迟写方式。第第8章章 现代操作系统实例现代操作系统实例278.2 Windows 2000操作系统操作系统 8.2.1 Windows 2000概述 Windows操作系统家族是微软公司的核心产品之一,其产品包括Windows 95、Windows98、Windows Me等桌面型操作系统以及Windows NT、Windows2000服务器操作系统。Windows 2000是一个商用多用户操作系统,其开发目标是开发工作站和服务器上的32位操作系统,以充分利用32位微处理器等硬件的新特性,并使它很容易适用将来的硬件变化,增加它的兼容性,同时,又不影响已有的应用程序的

17、兼容性。第第8章章 现代操作系统实例现代操作系统实例288.2.2 Windows 20008.2.2 Windows 2000中的进程和线程的特点中的进程和线程的特点中的进程和线程的特点中的进程和线程的特点 Windows 2000操作系统对CPU的管理可体现为它的进程和线程模型。它具有以下特点:1它是多任务(多进程)、多线程、对称多处理的。2由于采用了客户/服务器模型。3Windows 2000的进程以及线程全部作为对象实现,并通过对象服务访问。4进程管理程序在它所管理的子进程之间不具有父进程/子进程或其他关系。5在该系统中,基本的调度实体是线程,采用动态优先级多级调度队列算法,允许可抢占

18、CPU,但核心代码不可被抢占。6可以在进程间共享对象,以及具有灵活的内部进程通信能力。7Windows NT原设计可以Intel、MIPS等多种CPU上运行,但出于市场因素的考虑,Windows 2000只在Intel上运行。第第8章章 现代操作系统实例现代操作系统实例298.2.3 Windows 2000中进程的实现中进程的实现1进程的构成 Windows 2000中的进程由以下几部分组成:(1)该进程所执行的程序。(2)一个由该进程专用的地址空间。(3)系统资源。(4)至少有一个线程。2进程的实现 在Windows 2000中,每个进程由一个进程对象结构表现,并有一个执行现场。进程执行现

19、场包括进程的虚地址空间、该进程可见的资源集合、该进程的所有线程的集合。第第8章章 现代操作系统实例现代操作系统实例308.2.4 Windows 2000中线程的实现中线程的实现 1线程的构成 在Windows 2000中,一个线程由以下几部分构成:(1)线程标识符。(2)一组易变寄存器的内容,用来表示CPU的状态。(3)两个栈。(4)一个供该线程专用的存储区域。第第8章章 现代操作系统实例现代操作系统实例312 2线程的状态线程的状态线程的状态线程的状态 Windows 2000的线程状态共有以下六个:(1)就绪(ready)。(2)备用(standby)。(3)运行(running)。(4

20、)等待(waiting)。(5)转换(transition)。(6)终止(terminated)。第第8章章 现代操作系统实例现代操作系统实例328.2.5 Windows 2000 的调度算法的调度算法 Windows 2000/NT中,基本的调度实体是线程。线程调度算法采用多级调度队列动态优先级算法。实现该调度算法的是内核中的一个数据结构,称为“调度程序数据库”。Windows 2000是抢占式多任务的操作系统。运行内核代码的线程不能被抢占但内核的大部分是可被高级中断所中断的。第第8章章 现代操作系统实例现代操作系统实例338.2.6 Windows 2000的内存管理的内存管理Windo

21、ws 2000的内存管理采用页式虚存。在功能和用户界面上,具有如下特点:1提供32位虚地址2内存功能强大3丰富强大的用户界面第第8章章 现代操作系统实例现代操作系统实例348.2.7 Windows 2000的文件系统的文件系统 1 Windows 2000文件系统的特点Windows 2000文件系统具有以下特点:(1)兼容性和可扩充性。(2)功能强大。2 Windows 2000文件系统的实现(1)Windows 2000文件系统的整体实现机制采用了面向对象的模型。文件对象由I/O管理器进行管理。(2)NTFS、FAT、HPFS等文件系统,称为文件系统驱动程序。(3)用户打开文件表和系统打

22、开文件表在Windows 2000中,体现为每个进程设置一个进程对象表,以及它所指向的具体对象体。第第8章章 现代操作系统实例现代操作系统实例358.2.8 Windows 2000设备管理的特点设备管理的特点Windows 2000中的设备管理具有以下特点:1支持进程级异步I/O操作。2具有与块设备管理相关的文件系统特点。3允许系统管理员动态地向系统中增加或从系统中删除设备。4提供服务程序,简化了设备驱动程序的开发工作。5分层驱动程序模型提供可扩充性,使设备的动态增删更容易实现。第第8章章 现代操作系统实例现代操作系统实例368.3 分布式操作系统分布式操作系统 分布式系统泛指各种包含多个计

23、算机(处理器)的信息处理系统,因此,并行计算机系统和网络系统也都属于分布式系统。多处理机系统的当前趋势是研究并解决若干物理处理机的分布及处理问题。构造这样的系统,有两种基本类型:第一种是紧密耦合系统,其中的处理机共享存储空间和时钟。第二种是松散耦合系统,其中的处理机不共享存储区和时钟。配置在分布式系统上的操作系统称为分布式操作系统。第第8章章 现代操作系统实例现代操作系统实例378.3.1 分布式操作系统的特性分布式操作系统的特性分布式操作系统具有以下特性:1透明性2可靠性3高性能4伸缩性第第8章章 现代操作系统实例现代操作系统实例388.3.2 进程迁移进程迁移进程迁移就是将一个进程的状态,

24、从一台机器转移到另一台机器上,从而使该进程能在目标机上执行。进程迁移主要有以下四方面的原因:1负载共享2通信性能3可获得性4利用特定资源第第8章章 现代操作系统实例现代操作系统实例398.3.3 分布式进程管理分布式进程管理 在分布式系统中,要实现进程的同步,主要采用了以下方法:1事件定序这种算法将事发前关系扩充成为系统中所有事件的全序关系。2Lamport算法该算法基于分布式队列的概念,算法如下:第第8章章 现代操作系统实例现代操作系统实例40(1)当进程Pi请求访问某个资源时,该进程把请求消息挂在自己的请求队列上,并发送一个Request(Ti,i)消息给所有其它进程。(2)当进程Pj收到

25、Request(Ti,i)消息时,将这个消息放入自身数组qi中,并传送reply(Tj,j)给所有其它进程。(3)进程Pi满足以下两个条件,就可以访问一个资源:条件一:Pj自身请求访问该资源的消息已处于请求队列的最前面;条件二:Pj已接收到从所有其它进程发来的响应消息,这些响应消息上邮戳的时间晚于(Ti,i)。这就说明,所有其它进程或者都不访问该资源,或者要求访问,但其时间较晚。(4)Pi通过发送Release(Ti,i)消息来释放它所占用的资源。该消息也置入其自身的数组项中,并传递给所有其它进程。(5)当进程Pj收到进程Pi的Release消息后,从自己的队列中消去Pi的Release(Ti

26、,i)消息。为保证互斥,该算法需要3(N-1)条消息,其中(N-1)个Request消息,(N-1)个Reply消息以及(N-1)个Release消息。这种算法满足互斥要求,且公平、无死锁,不会产生饥饿。第第8章章 现代操作系统实例现代操作系统实例413 3RicartRicart算法算法算法算法Ricart算法与Lamport算法的假设相同。每个站点都有一个进程负责控制资源的分配。该进程有一个数组q并遵循以下规则:(1)当进程Pi请求访问资源时,它发出一个请求Request(Ti,i)。时戳为当前本地时钟的值。将这条消息放入自身数组qi中,然后将消息发送给所有其它进程。(2)当进程Pj收到R

27、equest(Ti,i)后,按下列规则,进行处理。如果Pj正处于临界段,则延迟发送Reply消息;如果Pj并不等待进入临界段,就发送Reply t(Tj,j)消息给所有其它进程;第第8章章 现代操作系统实例现代操作系统实例42如果如果PjPj等待进入其临界段,且收到的消息在等待进入其临界段,且收到的消息在PjPj的的RequestRequest之后,则将到来的消息放入其数组的之后,则将到来的消息放入其数组的qiqi中,并延迟发送中,并延迟发送ReplyReply消息。消息。如果如果PjPj等待进入其临界段,但收到的消息在等待进入其临界段,但收到的消息在PjPj的的RequestRequest之

28、前,则将到来的消息放入其数组的之前,则将到来的消息放入其数组的qiqi中,并发送中,并发送ReplyReply消消息给进程息给进程PiPi。(3 3)如果进程)如果进程PiPi从所有其它进程都收到了从所有其它进程都收到了ReplyReply消息,消息,它就可以访问资源,进入该临界段。它就可以访问资源,进入该临界段。(4 4)当进程)当进程PiPi离开临界段时,它给每个挂起的离开临界段时,它给每个挂起的RequestRequest发送一个发送一个ReplyReply消息,从而释放资源。消息,从而释放资源。在本算法中,需要在本算法中,需要2 2(N-1N-1)条消息,其中()条消息,其中(N-1N

29、-1)个)个RequestRequest消息,表示进程消息,表示进程PiPi要进入临界段;(要进入临界段;(N-1N-1)个)个ReplyReply消息以允许其它进程的访问。消息以允许其它进程的访问。本算法利用时间戳来实现进程的同斥,可以避免死锁及饥本算法利用时间戳来实现进程的同斥,可以避免死锁及饥饿。饿。434 4令牌方法令牌方法令牌方法令牌方法 令牌本身是一种特定格式的报文,通常长度为1B。它是为了实现进程的互斥及象征存取权利,在系统设置的。它不断地在由进程组成的逻辑环中循环。环中的每一个进程都有惟一的前趋和后继。在使用令牌传送时,必须满足以下两点:(1)逻辑环应能够及时发现环路中某进程失

30、效或退出,以及通信链路的故障。一旦发现这种进程或故障,应立即撤消该进程,对对逻辑环进行重构。(2)保证逻辑环中在任何时候都有令牌在循环。一旦发现令牌丢失,应立即选择一个进程,用来产生一个新的令牌。第第8章章 现代操作系统实例现代操作系统实例44本章小结本章小结 本章主要介绍了目前常用的操作系统UNIX、Windows系统的内核结构,对分布式操作系统作了简要介绍,同时对于操作系统的安全性提出了要求。UNIX系统具有多用户多任务、可移植性、树型文件系统结构、I/O重定向和管道技术、非富的实用程序、电子邮件等特点。属于层次结构的操作系统模型。UNIX系统中,进程的结构也称为进程实体,它由三部分构成:

31、用户级上下文、寄存器上下文和系统级上下文。该系统是分时系统,它的进程调度采用动态优先数轮转调度算法。进程的状态共有9个,它们在一定的情况下可以转换。内存管理采用求请调页存储管理方式,支持内外存的对换功能。UNIX系统将文件分为三类,即:普通文件、目录文件和特别第第8章章 现代操作系统实例现代操作系统实例45文件(即设备文件)。UNIX系统的目录结构为有向非循环图结构。UNIX系统中,文件是以块为单位存放在介质上的。文件目录由文件名和该文件的索引结点号构成。其中,文件名占14个字节,索引结点号(或索引结点指针)占2个字节。文件的物理结构采用混合索引方式,对于长度较小的文件具有较快的读写速度,同时

32、又具有支持大文件的功能。对于空闲盘块的管理,采用成组链接法。系统为打开文件建立的数据结构有三个,即:用户文件描述符表、文件表和内存索引结点。把设备分为两类,即字符设备和块设备。Windows 2000操作系统具有多进程、多线程的特点,采用了客户/服务器模型。进程由以下几部分组成:程序、该进程专用的地址空间、系统资源、该进程的线程。线程由以下几部分构成:线程标识符、一组易变寄存器、两个栈、专用的存储区域。第第8章章 现代操作系统实例现代操作系统实例46 Windows 2000/NT中,基本的调度实体是线程。线程调度算法采用多级调度队列动态优先级算法。内存管理采用页式虚存。文件系统的整体实现机制采用了面向对象的模型。分布式系统泛指各种包含多个计算机(处理器)的信息处理系统,多处理机系统有两种基本类型:第一种是紧密耦合系统,第二种是松散耦合系统。配置在分布式系统上的操作系统称为分布式操作系统。分布式操作系统相对于集中式操作系统,具有透明性、可靠性、高性能、伸缩性的特点。进程迁移是分布式系统区别于其它系统的一个非常重要的功能。分布式进程管理及实现进程同步、互斥主要采用了以下方法:事件定序、Lamport算法、Ricart算法、令牌方法。第第8章章 现代操作系统实例现代操作系统实例47

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁