现代操作系统实例.ppt

上传人:牧羊曲112 文档编号:5003497 上传时间:2023-05-28 格式:PPT 页数:47 大小:315.49KB
返回 下载 相关 举报
现代操作系统实例.ppt_第1页
第1页 / 共47页
现代操作系统实例.ppt_第2页
第2页 / 共47页
现代操作系统实例.ppt_第3页
第3页 / 共47页
现代操作系统实例.ppt_第4页
第4页 / 共47页
现代操作系统实例.ppt_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《现代操作系统实例.ppt》由会员分享,可在线阅读,更多相关《现代操作系统实例.ppt(47页珍藏版)》请在三一办公上搜索。

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

2、务2可移植性3树型文件系统结构4I/O重定向和管道技术5非富的实用程序6电子邮件,第8章 现代操作系统实例,4,8.1.3 UNIX系统的内核结构,第8章 现代操作系统实例,5,第8章 现代操作系统实例,6,8.1.4 UNIX系统中的进程管理,1UNIX进程的结构(1)用户级上下文用户级上下文主要成分是用户程序。包括正文段即代码(text)、数据段(data)两部分。(2)寄存器上下文寄存器上下文主要是由CPU中的一些寄存器的内容组成的。(3)系统级上下文,第8章 现代操作系统实例,7,系统级上下文包括操作系统为管理该进程所用的信息,可分为静态和动态两部分。它包括:proc结构:该结构常驻内

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

4、置优先数;对用户态进程计算优先数。,第8章 现代操作系统实例,9,3进程状态及转换,UNIX System 5进程的状态存放在进程的proc结构中。这些进程的状态共有9个,它们是:(1)用户态执行。(2)核心态执行。(3)内存中睡眠。(4)睡眠且换出。(5)内存中就绪。(6)就绪且换出。(7)僵死。(8)被剥夺状态。(9)创建。,第8章 现代操作系统实例,10,第8章 现代操作系统实例,11,4Unix系统中进程的家族关系,Unix的内核中设置了一个0进程,它是惟一一个在系统引导时被创建的进程。在系统初启时,由0进程再创建1进程及其它核心进程,然后1号进程又为每个终端创建命令解释进程;用户输入

5、命令后又创建若干进程,这样便形成了一棵进程树。以后0号进程作为系统的对换及调度进程,1号进程成为系统始祖进程,同时又创建其它进程。系统中除0进程以外,所有其它进程都是由fork创建的。,第8章 现代操作系统实例,12,8.1.5 UNIX系统的内存管理,UNIX系统采用求请调页存储管理方式,支持内外存的对换功能。内存空间的分配和回收均以页为单位进行。1交换 将内存中处于睡眠状态的某些进程调到外存交换区中,而将交换区中的就绪进程重新调入内存。为实现这种策略,系统内核应具有交换空间的管理、进程换出和进程换入这三个功能。,第8章 现代操作系统实例,13,2请求分页,UNIX系统为实现请求分页的功能,

6、配置了四种数据结构,分别为:(1)页表。(2)磁盘块描述字。(3)页面数据表。(4)交换使用表。,第8章 现代操作系统实例,14,3换页进程,换页进程为核心进程。该进程的主要任务是增加内存中所有的有效页年龄,并将内存中长期不用的页面换出。4缺页 在UNIX系统中可能会出现两类缺页:有效缺页和保护性缺页。当出现缺页时,缺页处理程序可能要从盘上读一个页面到内存,并在I/O执行期间睡眠。,第8章 现代操作系统实例,15,8.1.6 UNIX系统的文件管理,UNIX系统中的文件子系统,既具有很强的功能,又具有灵活性。按文件的内部构造方式,UNIX系统将文件分为三类,即:普通文件、目录文件和特别文件(即

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

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

9、文件存取权限、文件物理地址、文件长度、文件连接系数、文件存取时间等一些文件的重要信息。,第8章 现代操作系统实例,20,3文件的物理结构,UNIX系统文件的物理结构采用混合索引方式,对分配给文件的磁盘块进行管理。在UNIX文件系统的索引结点中,存在一项i.addr13,用于存放该文件的磁盘块号。如图8-7示出了UNIX系统的混合索引文件结构。,第8章 现代操作系统实例,21,(1)直接寻址i.addr0 i.addr9这10项。直接从索引结点中找出该文件所在的磁盘块号,访问速度较快。(2)一次间接寻址方式i.addr10这一项中存放的磁盘块号。(3)二次间接寻址方式i.addr11存放的磁盘块

10、号,采用两级索引的方式。(4)三次间接寻址方式i.addr12存放的磁盘块号,采用三级索引的方式。,第8章 现代操作系统实例,22,4磁盘空间的管理方式,UNIX系统对于空闲盘块的管理,采用成组链接法。该方法把第一组中的所有空闲盘块号放入超级块的空闲盘块号栈中。5系统为打开文件建立的数据结构 UNIX系统打开文件的操作,就是由操作系统在内存为文件建立相应的数据结构。系统为打开文件建立的数据结构有三个,即:用户文件描述符表、文件表和内存索引结点。,第8章 现代操作系统实例,23,第8章 现代操作系统实例,24,8.1.7 UNIX系统的设备管理,UNIX系统把设备分为两类,即字符设备和块设备。在

11、UNIX系统中有两种类型的I/O,即:缓冲I/O和无缓冲I/O。1缓冲高速缓存 UNIX系统中的缓冲Cache实际上是一个磁盘Cache。对于磁盘的I/O操作通过缓冲Cache处理。,第8章 现代操作系统实例,25,2字符队列,缓冲Cache可支持像磁盘、磁带这样的块设备。另一种缓冲则适用于面向字符的设备,如终端、打印机等。字符队列可以由I/O设备写、处理器读或由处理器来写、I/O设备读。3无缓冲I/O 无缓冲I/O是进程进行I/O的最快的方法,它在设备和进程空间之间使用DMA,进行无缓冲I/O的进程在主存中被锁起来,不能被换出。通过给高端内存加锁,减少了交换的机会,但也降低了整个系统的性能。

12、同时,I/O设备也固定于一个进程,在传输中,不能为其他进程使用。,第8章 现代操作系统实例,26,4UNIX设备,UNIX系统本身可识别如下5种设备,即:磁盘驱动器、磁带驱动器、终端、通信线、打印机。5磁盘的读/写方式(1)读方式一般读方式。提前读方式。(2)写方式一般写方式。异步写方式。延迟写方式。,第8章 现代操作系统实例,27,8.2 Windows 2000操作系统,8.2.1 Windows 2000概述 Windows操作系统家族是微软公司的核心产品之一,其产品包括Windows 95、Windows98、Windows Me等桌面型操作系统以及Windows NT、Windows

13、2000服务器操作系统。Windows 2000是一个商用多用户操作系统,其开发目标是开发工作站和服务器上的32位操作系统,以充分利用32位微处理器等硬件的新特性,并使它很容易适用将来的硬件变化,增加它的兼容性,同时,又不影响已有的应用程序的兼容性。,第8章 现代操作系统实例,28,8.2.2 Windows 2000中的进程和线程的特点,Windows 2000操作系统对CPU的管理可体现为它的进程和线程模型。它具有以下特点:1它是多任务(多进程)、多线程、对称多处理的。2由于采用了客户/服务器模型。3Windows 2000的进程以及线程全部作为对象实现,并通过对象服务访问。4进程管理程序

14、在它所管理的子进程之间不具有父进程/子进程或其他关系。5在该系统中,基本的调度实体是线程,采用动态优先级多级调度队列算法,允许可抢占CPU,但核心代码不可被抢占。6可以在进程间共享对象,以及具有灵活的内部进程通信能力。7Windows NT原设计可以Intel、MIPS等多种CPU上运行,但出于市场因素的考虑,Windows 2000只在Intel上运行。,第8章 现代操作系统实例,29,8.2.3 Windows 2000中进程的实现,1进程的构成 Windows 2000中的进程由以下几部分组成:(1)该进程所执行的程序。(2)一个由该进程专用的地址空间。(3)系统资源。(4)至少有一个线

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

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

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

18、,体现为每个进程设置一个进程对象表,以及它所指向的具体对象体。,第8章 现代操作系统实例,35,8.2.8 Windows 2000设备管理的特点,Windows 2000中的设备管理具有以下特点:1支持进程级异步I/O操作。2具有与块设备管理相关的文件系统特点。3允许系统管理员动态地向系统中增加或从系统中删除设备。4提供服务程序,简化了设备驱动程序的开发工作。5分层驱动程序模型提供可扩充性,使设备的动态增删更容易实现。,第8章 现代操作系统实例,36,8.3 分布式操作系统,分布式系统泛指各种包含多个计算机(处理器)的信息处理系统,因此,并行计算机系统和网络系统也都属于分布式系统。多处理机系

19、统的当前趋势是研究并解决若干物理处理机的分布及处理问题。构造这样的系统,有两种基本类型:第一种是紧密耦合系统,其中的处理机共享存储空间和时钟。第二种是松散耦合系统,其中的处理机不共享存储区和时钟。配置在分布式系统上的操作系统称为分布式操作系统。,第8章 现代操作系统实例,37,8.3.1 分布式操作系统的特性,分布式操作系统具有以下特性:1透明性2可靠性3高性能4伸缩性,第8章 现代操作系统实例,38,8.3.2 进程迁移,进程迁移就是将一个进程的状态,从一台机器转移到另一台机器上,从而使该进程能在目标机上执行。进程迁移主要有以下四方面的原因:1负载共享2通信性能3可获得性4利用特定资源,第8

20、章 现代操作系统实例,39,8.3.3 分布式进程管理,在分布式系统中,要实现进程的同步,主要采用了以下方法:1事件定序这种算法将事发前关系扩充成为系统中所有事件的全序关系。2Lamport算法该算法基于分布式队列的概念,算法如下:,第8章 现代操作系统实例,40,(1)当进程Pi请求访问某个资源时,该进程把请求消息挂在自己的请求队列上,并发送一个Request(Ti,i)消息给所有其它进程。(2)当进程Pj收到Request(Ti,i)消息时,将这个消息放入自身数组qi中,并传送reply(Tj,j)给所有其它进程。(3)进程Pi满足以下两个条件,就可以访问一个资源:条件一:Pj自身请求访问

21、该资源的消息已处于请求队列的最前面;条件二:Pj已接收到从所有其它进程发来的响应消息,这些响应消息上邮戳的时间晚于(Ti,i)。这就说明,所有其它进程或者都不访问该资源,或者要求访问,但其时间较晚。(4)Pi通过发送Release(Ti,i)消息来释放它所占用的资源。该消息也置入其自身的数组项中,并传递给所有其它进程。(5)当进程Pj收到进程Pi的Release消息后,从自己的队列中消去Pi的Release(Ti,i)消息。为保证互斥,该算法需要3(N-1)条消息,其中(N-1)个Request消息,(N-1)个Reply消息以及(N-1)个Release消息。这种算法满足互斥要求,且公平、无

22、死锁,不会产生饥饿。,第8章 现代操作系统实例,41,3Ricart算法,Ricart算法与Lamport算法的假设相同。每个站点都有一个进程负责控制资源的分配。该进程有一个数组q并遵循以下规则:(1)当进程Pi请求访问资源时,它发出一个请求Request(Ti,i)。时戳为当前本地时钟的值。将这条消息放入自身数组qi中,然后将消息发送给所有其它进程。(2)当进程Pj收到Request(Ti,i)后,按下列规则,进行处理。如果Pj正处于临界段,则延迟发送Reply消息;如果Pj并不等待进入临界段,就发送Reply t(Tj,j)消息给所有其它进程;,第8章 现代操作系统实例,42,如果Pj等待

23、进入其临界段,且收到的消息在Pj的Request之后,则将到来的消息放入其数组的qi中,并延迟发送Reply消息。如果Pj等待进入其临界段,但收到的消息在Pj的Request之前,则将到来的消息放入其数组的qi中,并发送Reply消息给进程Pi。(3)如果进程Pi从所有其它进程都收到了Reply消息,它就可以访问资源,进入该临界段。(4)当进程Pi离开临界段时,它给每个挂起的Request发送一个Reply消息,从而释放资源。在本算法中,需要2(N-1)条消息,其中(N-1)个Request消息,表示进程Pi要进入临界段;(N-1)个Reply消息以允许其它进程的访问。本算法利用时间戳来实现进

24、程的同斥,可以避免死锁及饥饿。,43,4令牌方法,令牌本身是一种特定格式的报文,通常长度为1B。它是为了实现进程的互斥及象征存取权利,在系统设置的。它不断地在由进程组成的逻辑环中循环。环中的每一个进程都有惟一的前趋和后继。在使用令牌传送时,必须满足以下两点:(1)逻辑环应能够及时发现环路中某进程失效或退出,以及通信链路的故障。一旦发现这种进程或故障,应立即撤消该进程,对对逻辑环进行重构。(2)保证逻辑环中在任何时候都有令牌在循环。一旦发现令牌丢失,应立即选择一个进程,用来产生一个新的令牌。,第8章 现代操作系统实例,44,本章小结,本章主要介绍了目前常用的操作系统UNIX、Windows系统的

25、内核结构,对分布式操作系统作了简要介绍,同时对于操作系统的安全性提出了要求。UNIX系统具有多用户多任务、可移植性、树型文件系统结构、I/O重定向和管道技术、非富的实用程序、电子邮件等特点。属于层次结构的操作系统模型。UNIX系统中,进程的结构也称为进程实体,它由三部分构成:用户级上下文、寄存器上下文和系统级上下文。该系统是分时系统,它的进程调度采用动态优先数轮转调度算法。进程的状态共有9个,它们在一定的情况下可以转换。内存管理采用求请调页存储管理方式,支持内外存的对换功能。UNIX系统将文件分为三类,即:普通文件、目录文件和特别,第8章 现代操作系统实例,45,文件(即设备文件)。UNIX系

26、统的目录结构为有向非循环图结构。UNIX系统中,文件是以块为单位存放在介质上的。文件目录由文件名和该文件的索引结点号构成。其中,文件名占14个字节,索引结点号(或索引结点指针)占2个字节。文件的物理结构采用混合索引方式,对于长度较小的文件具有较快的读写速度,同时又具有支持大文件的功能。对于空闲盘块的管理,采用成组链接法。系统为打开文件建立的数据结构有三个,即:用户文件描述符表、文件表和内存索引结点。把设备分为两类,即字符设备和块设备。Windows 2000操作系统具有多进程、多线程的特点,采用了客户/服务器模型。进程由以下几部分组成:程序、该进程专用的地址空间、系统资源、该进程的线程。线程由

27、以下几部分构成:线程标识符、一组易变寄存器、两个栈、专用的存储区域。,第8章 现代操作系统实例,46,Windows 2000/NT中,基本的调度实体是线程。线程调度算法采用多级调度队列动态优先级算法。内存管理采用页式虚存。文件系统的整体实现机制采用了面向对象的模型。分布式系统泛指各种包含多个计算机(处理器)的信息处理系统,多处理机系统有两种基本类型:第一种是紧密耦合系统,第二种是松散耦合系统。配置在分布式系统上的操作系统称为分布式操作系统。分布式操作系统相对于集中式操作系统,具有透明性、可靠性、高性能、伸缩性的特点。进程迁移是分布式系统区别于其它系统的一个非常重要的功能。分布式进程管理及实现进程同步、互斥主要采用了以下方法:事件定序、Lamport算法、Ricart算法、令牌方法。,第8章 现代操作系统实例,47,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号