首页 《操作系统原理及应用(Linux)(第二版)》-王红-电子教案 第8章 现代操作系统实例

《操作系统原理及应用(Linux)(第二版)》-王红-电子教案 第8章 现代操作系统实例

举报
开通vip

《操作系统原理及应用(Linux)(第二版)》-王红-电子教案 第8章 现代操作系统实例第8章现代操作系统实例本章学习目标 掌握UNIX系统的内核管理方法 了解Windows系统的内核管理方法 了解分布式操作系统特性及进程管理方式第8章现代操作系统实例*教学内容8.1UNIX操作系统8.2WINDOWS2000操作系统8.3分布式操作系统8.1UNIX操作系统8.1.1UNIX操作系统的发展UNIX是目前最流行的操作系统之一,于1969年,在美国的电报电话公司(AT&T)贝尔实验室诞生的。最初的UNIX系统是用汇编语言编写的,1973年,Ritchie又用C语言重写了UNIX。第8章现代操作系...

《操作系统原理及应用(Linux)(第二版)》-王红-电子教案 第8章 现代操作系统实例
第8章现代操作系统实例本章学习目标 掌握UNIX系统的内核管理方法 了解Windows系统的内核管理方法 了解分布式操作系统特性及进程管理方式第8章现代操作系统实例*教学内容8.1UNIX操作系统8.2WINDOWS2000操作系统8.3分布式操作系统8.1UNIX操作系统8.1.1UNIX操作系统的发展UNIX是目前最流行的操作系统之一,于1969年,在美国的电报电话公司(AT&T)贝尔实验室诞生的。最初的UNIX系统是用汇编语言编写的,1973年,Ritchie又用C语言重写了UNIX。第8章现代操作系统实例*8.1.2UNIX操作系统的特点1.多用户多任务2.可移植性3.树型文件系统结构4.I/O重定向和管道技术5.非富的实用程序6.电子邮件第8章现代操作系统实例*8.1.3UNIX系统的内核结构第8章现代操作系统实例*第8章现代操作系统实例*8.1.4UNIX系统中的进程管理1.UNIX进程的结构(1)用户级上下文用户级上下文主要成分是用户程序。包括正文段即代码(text)、数据段(data)两部分。(2)寄存器上下文寄存器上下文主要是由CPU中的一些寄存器的内容组成的。(3)系统级上下文第8章现代操作系统实例*系统级上下文包括操作系统为管理该进程所用的信息,可分为静态和动态两部分。它包括:proc结构:该结构常驻内存,内容包括经常需要访问的往息,如进程标识符、进程状态等。user结构:该结构暂驻内存,进程处于执行状态时调入内存。它包含了进程的一些私有信息,如,进程表项指针、有效用户标识符等各种资源表格。进程区表:从虚拟地址到物理地址的映射。核心栈:核心态执行时过程调用的栈结构。若干寄存器级上下文。第8章现代操作系统实例*2.进程调度算法UNIX系统是分时系统,它的进程调度采用动态优先数轮转调度算法。优先数越小,优先级别越高。例如,对换进程的优先数是0,而等待磁盘I/O进程的优先数是20。UNIXS-5中进程的优先级分为两大类:用户优先级类和核心优先级类。核心用两种方式改变进程的优先级:对核心态进程设置优先数;对用户态进程计算优先数。第8章现代操作系统实例*3.进程状态及转换UNIXSystem5进程的状态存放在进程的proc结构中。这些进程的状态共有9个,它们是:(1)用户态执行。(2)核心态执行。(3)内存中睡眠。(4)睡眠且换出。(5)内存中就绪。(6)就绪且换出。(7)僵死。(8)被剥夺状态。(9)创建。第8章现代操作系统实例*第8章现代操作系统实例*4.Unix系统中进程的家族关系Unix的内核中设置了一个0#进程,它是惟一一个在系统引导时被创建的进程。在系统初启时,由0#进程再创建1#进程及其它核心进程,然后1号进程又为每个终端创建命令解释进程;用户输入命令后又创建若干进程,这样便形成了一棵进程树。以后0号进程作为系统的对换及调度进程,1号进程成为系统始祖进程,同时又创建其它进程。系统中除0#进程以外,所有其它进程都是由fork创建的。第8章现代操作系统实例*8.1.5UNIX系统的内存管理UNIX系统采用求请调页存储管理方式,支持内外存的对换功能。内存空间的分配和回收均以页为单位进行。1.交换将内存中处于睡眠状态的某些进程调到外存交换区中,而将交换区中的就绪进程重新调入内存。为实现这种策略,系统内核应具有交换空间的管理、进程换出和进程换入这三个功能。第8章现代操作系统实例*2.请求分页UNIX系统为实现请求分页的功能,配置了四种数据结构,分别为:(1)页表。(2)磁盘块描述字。(3)页面数据表。(4)交换使用表。第8章现代操作系统实例*3.换页进程换页进程为核心进程。该进程的主要任务是增加内存中所有的有效页年龄,并将内存中长期不用的页面换出。4.缺页在UNIX系统中可能会出现两类缺页:有效缺页和保护性缺页。当出现缺页时,缺页处理程序可能要从盘上读一个页面到内存,并在I/O执行期间睡眠。第8章现代操作系统实例*8.1.6UNIX系统的文件管理UNIX系统中的文件子系统,既具有很强的功能,又具有灵活性。按文件的内部构造方式,UNIX系统将文件分为三类,即:普通文件、目录文件和特别文件(即设备文件)。UNIX系统的目录结构为有向非循环图结构。第8章现代操作系统实例*1.文件卷的组织结构UNIX系统中,文件是以块为单位存放在介质上的,存储介质可以是磁盘或磁带。通常把每个磁盘或磁带看作一个文件卷。上图示出了UNIX系统的文件卷结构。其中,0号块是系统的引导块或空闲,当该系统需引导时才有引导程序放在这里,其它一般文件系统都不使用引导块;1号块为超级块(也称为专用块),它既是文件系统的控制块,也是对空闲盘块和I结点等资源的管理表。从2号块到第K号块为索引结点区,(K值由系统配置给定),用来存放该文件卷中所有文件的索引结点;从第K+1块至第N块为文件区,用来存放系统中所有的文件。第8章现代操作系统实例* 0# 1# 2#3#……K# (K+1)#……N#超级块包括以下内容:(1)文件系统大小。(2)空闲盘块数目。(3)空闲索引结点数目。(4)空闲索引结点索引表。(5)封锁标记。(6)专用块修改标记。(7)其它信息。第8章现代操作系统实例*2.文件的目录结构UNIX系统的目录结构采用了将文件名与文件描述信息分开的方法。文件目录由文件名和该文件的索引结点号构成。其中,文件名占14个字节,索引结点号占2个字节。因此,在1KB的盘块中就可以存放64(1K/16)个目录项。这样就节省了系统查找及访问文件的时间。第8章现代操作系统实例*UNIX一个文件的磁盘索引结点占64个字节,主要包括文件标识符、文件存取权限、文件物理地址、文件长度、文件连接系数、文件存取时间等一些文件的重要信息。第8章现代操作系统实例* 文件名(14B) 磁盘索引结点号(2B) F1.c 45 Myfile 38 F6.c 67 ABC 56 …… ……3.文件的物理结构UNIX系统文件的物理结构采用混合索引方式,对分配给文件的磁盘块进行管理。在UNIX文件系统的索引结点中,存在一项i.addr[13],用于存放该文件的磁盘块号。如图8-7示出了UNIX系统的混合索引文件结构。第8章现代操作系统实例*(1)直接寻址i.addr[0]~i.addr[9]这10项。直接从索引结点中找出该文件所在的磁盘块号,访问速度较快。(2)一次间接寻址方式i.addr[10]这一项中存放的磁盘块号。(3)二次间接寻址方式i.addr[11]存放的磁盘块号,采用两级索引的方式。(4)三次间接寻址方式i.addr[12]存放的磁盘块号,采用三级索引的方式。第8章现代操作系统实例*4.磁盘空间的管理方式UNIX系统对于空闲盘块的管理,采用成组链接法。该方法把第一组中的所有空闲盘块号放入超级块的空闲盘块号栈中。5.系统为打开文件建立的数据结构UNIX系统打开文件的操作,就是由操作系统在内存为文件建立相应的数据结构。系统为打开文件建立的数据结构有三个,即:用户文件描述符表、文件表和内存索引结点。第8章现代操作系统实例*第8章现代操作系统实例* …… 第i个内存索引结点 …… 第j个内存索引结点 …… 第k个内存索引结点 …… 第l个内存索引结点 …… f_offsetf_inodef-flagf-count f_offsetf_inodef-flagf-count …… f_offsetf_inode …… f_offsetf_inode …… f_offsetf_inode fp fp fp fp fp fp8.1.7UNIX系统的设备管理UNIX系统把设备分为两类,即字符设备和块设备。在UNIX系统中有两种类型的I/O,即:缓冲I/O和无缓冲I/O。1.缓冲高速缓存UNIX系统中的缓冲Cache实际上是一个磁盘Cache。对于磁盘的I/O操作通过缓冲Cache处理。第8章现代操作系统实例*2.字符队列缓冲Cache可支持像磁盘、磁带这样的块设备。另一种缓冲则适用于面向字符的设备,如终端、打印机等。字符队列可以由I/O设备写、处理器读或由处理器来写、I/O设备读。3.无缓冲I/O无缓冲I/O是进程进行I/O的最快的方法,它在设备和进程空间之间使用DMA,进行无缓冲I/O的进程在主存中被锁起来,不能被换出。通过给高端内存加锁,减少了交换的机会,但也降低了整个系统的性能。同时,I/O设备也固定于一个进程,在传输中,不能为其他进程使用。第8章现代操作系统实例*4.UNIX设备UNIX系统本身可识别如下5种设备,即:磁盘驱动器、磁带驱动器、终端、通信线、打印机。5.磁盘的读/写方式(1)读方式一般读方式。提前读方式。(2)写方式一般写方式。异步写方式。延迟写方式。第8章现代操作系统实例*8.2Windows2000操作系统8.2.1Windows2000概述Windows操作系统家族是微软公司的核心产品之一,其产品包括Windows95、Windows98、WindowsMe等桌面型操作系统以及WindowsNT、Windows2000服务器操作系统。Windows2000是一个商用多用户操作系统,其开发目标是开发工作站和服务器上的32位操作系统,以充分利用32位微处理器等硬件的新特性,并使它很容易适用将来的硬件变化,增加它的兼容性,同时,又不影响已有的应用程序的兼容性。第8章现代操作系统实例*8.2.2Windows2000中的进程和线程的特点Windows2000操作系统对CPU的管理可体现为它的进程和线程模型。它具有以下特点:1.它是多任务(多进程)、多线程、对称多处理的。2.由于采用了客户/服务器模型,Windows2000体现为多个服务器进程。3.Windows2000的进程以及线程全部作为对象实现,并通过对象服务访问。4.进程管理程序在它所管理的子进程之间不具有父进程/子进程或其他关系。5.在该系统中,基本的调度实体是线程,采用动态优先级多级调度队列算法,允许可抢占CPU,但核心代码不可被抢占。6.可以在进程间共享对象,以及具有灵活的内部进程通信能力。7.WindowsNT原设计可以Intel、MIPS等多种CPU上运行,但出于市场因素的考虑,Windows2000只在Intel上运行。第8章现代操作系统实例*8.2.3Windows2000中的进程1.进程与线程Windows2000中的进程由以下几部分组成:(1)该进程所执行的程序。(2)一个由该进程专用的地址空间。(3)系统资源。(4)至少有一个线程。2.进程的管理在Windows2000中,每个进程由一个进程对象结构表现,并有一个执行现场。进程执行现场包括进程的虚地址空间、该进程可见的资源集合、该进程的所有线程的集合。第8章现代操作系统实例*3.进程的同步与互斥Windows2000中提供了互斥对象、信号量对象和事件对象等3种不同对象和相应的系统调用,用于进程和线程的同步。4.进程通信有以下几种:信号(Signal)通信、共享存储区、管道通信、邮件槽通信、Windows套接字、剪贴板。8.2.4Windows2000中线程的实现1.线程的构成在Windows2000中,一个线程由以下几部分构成:(1)线程标识符。(2)一组易变寄存器的内容,用来表示CPU的状态。(3)两个栈。(4)一个供该线程专用的存储区域。第8章现代操作系统实例*2.线程的状态Windows2000的线程状态共有以下六个:(1)就绪(ready)。(2)备用(standby)。(3)运行(running)。(4)等待(waiting)。(5)转换(transition)。(6)终止(terminated)。第8章现代操作系统实例*8.2.5Windows2000的调度算法Windows2000/NT中,基本的调度实体是线程。线程调度算法采用多级调度队列动态优先级算法。实现该调度算法的是内核中的一个数据结构,称为“调度程序数据库”。Windows2000是抢占式多任务的操作系统。运行内核代码的线程不能被抢占但内核的大部分是可被高级中断所中断的。第8章现代操作系统实例*8.2.6Windows2000的内存管理Windows2000的内存管理采用页式虚存。在功能和用户界面上,具有如下特点:1.提供32位虚地址2.内存功能强大3.地址空间分布及地址转换第8章现代操作系统实例*8.2.7Windows2000的文件系统1.Windows2000文件系统的特点Windows2000文件系统具有以下特点:(1)兼容性和可扩充性。(2)功能强大。2.Windows2000文件系统的实现(1)Windows2000文件系统的整体实现机制采用了面向对象的模型。文件对象由I/O管理器进行管理。(2)NTFS、FAT、HPFS等文件系统,称为文件系统驱动程序。(3)用户打开文件表和系统打开文件表在Windows2000中,体现为每个进程设置一个进程对象表,以及它所指向的具体对象体。第8章现代操作系统实例*3.Windows的NTFS文件格式Window2000支持文件分配表(FAT)形式的文件系统和NTFS文件系统。Window2000还支持CDFS。CDFS是CD-ROM的文件系统,用于读取CD-ROM。NTFS(WindowsNT文件系统)以簇为单位分配磁盘卷上的空间。簇的大小是磁盘格式化时确定的,该系统采用逻辑簇号作为磁盘地址。8.2.8Windows设备管理1.Windows2000中的设备管理具有以下特点:(1)支持进程级异步I/O操作。(2)具有与块设备管理相关的文件系统特点。(3)允许系统管理员动态地向系统中增加或从系统中删除设备。(4)提供服务程序,简化了设备驱动程序的开发工作。(5)分层驱动程序模型提供可扩充性,使设备的动态增删更容易实现。第8章现代操作系统实例*2.Windows2000的I/O系统结构Windows2000I/O系统由一些执行体组件和设备驱动程序组成。这些执行体组件和设备驱动程序有以下几点:(1)I/O管理器把把程序和系统组件连接到各种虚拟的、逻辑的和物理的设备上,并且定义了一个支持设备驱动程序的基本构架。(2)设备允动程序为某种类型的设备提供一个I/O接口。(3)即插即用管理器通过与I/O管理器和总线驱动程序的协同工作检测硬件资源的分配,并且检测相应硬件设备的添加和删除。(4)电源管理器通过与I/O管理器的协同工作检测整个系统和单个硬件设备,完成不同电源状态的转换。(5)WMI支持例程允许驱动程序使用这些支持例程作为媒介,与用户态运行的WMI服务通讯。(6)注册表存储基本硬件设备的描述信息以及驱动程序的初始化和配置信息。(7)硬件抽象层(HAL)I/O访问例程把设备驱动程序与多种多样的硬件平台隔离开来。8.3分布式操作系统分布式系统泛指各种包含多个计算机(处理器)的信息处理系统,因此,并行计算机系统和网络系统也都属于分布式系统。多处理机系统的当前趋势是研究并解决若干物理处理机的分布及处理问题。构造这样的系统,有两种基本类型:第一种是紧密耦合系统,其中的处理机共享存储空间和时钟。第二种是松散耦合系统,其中的处理机不共享存储区和时钟。配置在分布式系统上的操作系统称为分布式操作系统。第8章现代操作系统实例*8.3.1分布式操作系统的特性分布式操作系统具有以下特性:1.透明性2.可靠性3.高性能4.伸缩性第8章现代操作系统实例*8.3.2进程迁移进程迁移就是将一个进程的状态,从一台机器转移到另一台机器上,从而使该进程能在目标机上执行。进程迁移主要有以下四方面的原因:1.负载共享2.通信性能3.可获得性4.利用特定资源第8章现代操作系统实例*8.3.3分布式进程管理在分布式系统中,要实现进程的同步,主要采用了以下方法:1.事件定序这种算法将事发前关系扩充成为系统中所有事件的全序关系。2.Lamport算法该算法基于分布式队列的概念,算法如下:第8章现代操作系统实例*该算法基于分布式队列的概念,并含有以下假定:①分布式系统由N个站点组成,每个站点都有惟一的编号1~N。每个站点都只有一个进程负责进程互斥访问资源。②按发送的顺序接收从一个进程到另一个进程的消息。③每条消息都在有限时间内正确地送到目的地。④网络是全互连的,任意两个进程间可以直接传递消息,不需另一个节点中转。第8章现代操作系统实例*3.Ricart算法Ricart算法与Lamport算法的假设相同。每个站点都有一个进程负责控制资源的分配。该进程有一个数组q并遵循以下规则:(1)当进程Pi请求访问资源时,它发出一个请求Request(Ti,i)。时戳为当前本地时钟的值。将这条消息放入自身数组q[i]中,然后将消息发送给所有其它进程。(2)当进程Pj收到Request(Ti,i)后,按下列规则,进行处理。如果Pj正处于临界段,则延迟发送Reply消息;如果Pj并不等待进入临界段,就发送Replyt(Tj,j)消息给所有其它进程;第8章现代操作系统实例*如果Pj等待进入其临界段,且收到的消息在Pj的Request之后,则将到来的消息放入其数组的q[i]中,并延迟发送Reply消息。如果Pj等待进入其临界段,但收到的消息在Pj的Request之前,则将到来的消息放入其数组的q[i]中,并发送Reply消息给进程Pi。(3)如果进程Pi从所有其它进程都收到了Reply消息,它就可以访问资源,进入该临界段。(4)当进程Pi离开临界段时,它给每个挂起的Request发送一个Reply消息,从而释放资源。在本算法中,需要2(N-1)条消息,其中(N-1)个Request消息,表示进程Pi要进入临界段;(N-1)个Reply消息以允许其它进程的访问。本算法利用时间戳来实现进程的同斥,可以避免死锁及饥饿。*4.令牌方法令牌本身是一种特定格式的报文,通常长度为1B。它是为了实现进程的互斥及象征存取权利,在系统设置的。它不断地在由进程组成的逻辑环中循环。环中的每一个进程都有惟一的前趋和后继。在使用令牌传送时,必须满足以下两点:(1)逻辑环应能够及时发现环路中某进程失效或退出,以及通信链路的故障。一旦发现这种进程或故障,应立即撤消该进程,对对逻辑环进行重构。(2)保证逻辑环中在任何时候都有令牌在循环。一旦发现令牌丢失,应立即选择一个进程,用来产生一个新的令牌。第8章现代操作系统实例*本章小结本章主要介绍了目前常用的操作系统UNIX、Windows系统的内核结构,对分布式操作系统作了简要介绍,同时对于操作系统的安全性提出了要求。UNIX系统具有多用户多任务、可移植性、树型文件系统结构、I/O重定向和管道技术、非富的实用程序、电子邮件等特点。属于层次结构的操作系统模型。UNIX系统中,进程的结构也称为进程实体,它由三部分构成:用户级上下文、寄存器上下文和系统级上下文。该系统是分时系统,它的进程调度采用动态优先数轮转调度算法。进程的状态共有9个,它们在一定的情况下可以转换。内存管理采用求请调页存储管理方式,支持内外存的对换功能。UNIX系统将文件分为三类,即:普通文件、目录文件和特别第8章现代操作系统实例*文件(即设备文件)。UNIX系统的目录结构为有向非循环图结构。UNIX系统中,文件是以块为单位存放在介质上的。文件目录由文件名和该文件的索引结点号构成。其中,文件名占14个字节,索引结点号(或索引结点指针)占2个字节。文件的物理结构采用混合索引方式,对于长度较小的文件具有较快的读写速度,同时又具有支持大文件的功能。对于空闲盘块的管理,采用成组链接法。系统为打开文件建立的数据结构有三个,即:用户文件描述符表、文件表和内存索引结点。把设备分为两类,即字符设备和块设备。Windows2000操作系统具有多进程、多线程的特点,采用了客户/服务器模型。进程由以下几部分组成:程序、该进程专用的地址空间、系统资源、该进程的线程。线程由以下几部分构成:线程标识符、一组易变寄存器、两个栈、专用的存储区域。第8章现代操作系统实例*Windows2000/NT中,基本的调度实体是线程。线程调度算法采用多级调度队列动态优先级算法。内存管理采用页式虚存。文件系统的整体实现机制采用了面向对象的模型。分布式系统泛指各种包含多个计算机(处理器)的信息处理系统,多处理机系统有两种基本类型:第一种是紧密耦合系统,第二种是松散耦合系统。配置在分布式系统上的操作系统称为分布式操作系统。分布式操作系统相对于集中式操作系统,具有透明性、可靠性、高性能、伸缩性的特点。进程迁移是分布式系统区别于其它系统的一个非常重要的功能。分布式进程管理及实现进程同步、互斥主要采用了以下方法:事件定序、Lamport算法、Ricart算法、令牌方法。第8章现代操作系统实例*
本文档为【《操作系统原理及应用(Linux)(第二版)》-王红-电子教案 第8章 现代操作系统实例】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
希望
暂无简介~
格式:ppt
大小:265KB
软件:PowerPoint
页数:0
分类:工学
上传时间:2019-11-04
浏览量:29