面向对象操作系统的设计.ppt
《面向对象操作系统的设计.ppt》由会员分享,可在线阅读,更多相关《面向对象操作系统的设计.ppt(40页珍藏版)》请在三一办公上搜索。
1、第10章 面向对象操作系统的设计,10.1 面向对象的基本概念10.2 面向对象和操作系统10.3 面向对象操作系统的分类,10.1 面向对象的基本概念“面向对象”或“对象”的概念起源于20世纪60年代末期。进入80年代以后,随着计算机软、硬件技术的发展,面向对象技术在数据库、程序设计语言、CAD/CAM、人工智能技术、程序设计以及操作系统和计算机网络通信等几乎所有的软件领域都受到了极大重视和广泛研究。特别是在操作系统领域中,由于面向对象技术除了在设计方法上更接近于设计人员脑子中的“思维形象”之外,它还具有隐蔽数据以及由消息激活对象等特性,从而它比传统技术更容易应用于分布式操作系统的设计与实现
2、。因此,许多面向对象的操作系统都正在被研究和开发,以便用作分布式网络操作系统。,例如Windows NT,Solaris 2.x和mache等。这些系统的共同特点是:使用面向对象技术设计和实现操作系统,从而使得所实现的操作系统能够管理一个超大规模的、开放式的、自我发展的以及分布式的计算环境。这里,首先介绍面向对象的基本概念。,1.对象和面向对象对象可分为物理对象、抽象对象和计算机对象三个层次。计算机对象是把抽象对象的属性、特征和行为数据化和过程化的结果。本书中所述对象都指计算机对象。对象是一个由一组数据集以及对这些数据集进行操作的封装模块。对象接收其他对象发来的消息,并由对象自己根据本身的状态
3、和所具有的功能决定是否根据接收到的消息进行操作。另外,对象一般具有自己的存储结构,对存储内容的访问、操作和变更只能由对象自己完成。再者,为了区别不同的对象,系统内的每一个对象都具有唯一的对象名。因此,一般,一个对象由对象名、表示存储内容的对象状态以及对存储数据进行操作的过程集合组成。,把系统以及系统中的元素用对象及对象的集合表示来构造的系统就是面向对象的系统。面向对象的系统具有两个重要特性,即封闭性(encapsulation)和继承性(inheritance)。封闭性对应于系统中对象的分类抽象化,即每一种类型的对象都定义有对该类对象的属性及操作方法,且只允许按定义的方法对该类对象进行操作。换
4、句话说,一种类型对象的动态性质封闭于该类对象的属性和方法之中。继承性对应于系统的一般化,即具有某些共同属性的对象所组成的类(class)可继承它们的超类(superclass)所具有的属性和操作。,2.对象的动作被激活的对象在系统中怎样动作呢?一个面向对象的系统应具备以下两种功能:第一,向其他对象发送消息。这是对象间相互通信的唯一手段。第二,能生成或创建新的对象。这是用对象来描述系统变化所必须的手段。3.消息面向对象的系统中环境对某一对象发出消息以激活该对象,从而通知它需要做什么。消息中一般包含请求对象的标识符以及完成该工作所必需的信息,例如参数值等。另外,请求对象的对象名也可包含在消息中。,
5、4.类和实例具有相同属性和行为的对象集合称为类。换句话说,属于同一类中的对象具有相同的存储结构,使用相同的过程集合对数据进行操作。每一个类都具有一个反映其特征的型(type),型提供选择和区分对象操作的依据。类也可以被看作是对象,而且,类具有分层构造特点,即从具有共同属性和行为特征的对象的集合中,可进一步抽出具有某些特殊属性或行为特征的对象构成该类的子类;而该类又是该子类的超类。这些超类、类、子类等构成类的层次结构,子类继承其所有高层超类的属性和行为特征,但反过来,超类或类不具有子类所具有的独特的属性与行为特征。,一个类中的对象即是该类的一个实例,实例具体描述一个对象。一般来说,一个类中有多个
6、实例。类和实例的关系近似于数据结构与具体数据的关系。5.过程或方法过程或方法是定义于某一特定类的操作与法则。一种类型的对象只能被事先定义好的过程或方法所操作。不过,不同类型的对象可以分别包含同一过程或方法。例如,在实数子类和二进制数子类中定义“+”法,则实数子类中的对象和二进制数子类中的对象都可使用该方法改变自身的状态。显然,对于同一消息(1,1),实数子类的输出结果是2,而二进制子类的输出结果将是0。关于对象的几个主要关键词如图10.1所示。,图10.1 关于面向对象技术的几个关键词,10.2 面向对象和操作系统本节主要讲述为什么要把面向对象技术引入操作系统和怎样用面向对象技术开发操作系统。
7、10.2.1 面向对象技术的引入面向对象技术最初在操作系统中出现是在20世纪60年代后期,J.Dennis等从资源保护的角度出发提出了权能(capability)的概念,权能的概念也是造成面向对象概念产生的重要因素之一。,在操作系统中,无论是软件资源还是硬件资源,传统的设计方法都是使用相应的表格或队列链等数据结构以及相应的标识符(或过程名)来描述它们。对这些资源的访问和使用顺序则是由进程中的程序来规定的。也就是说,对操作系统资源数据的使用是依靠程序员或设计人员所设计的算法来决定的。设计人员必须保证这些算法的正确性,否则将会由于不当的访问操作带来不可估量的恶果。首先开始解决资源保护问题的尝试是分
8、段。分段把一个进程的逻辑地址空间分成多个不连续的段,且每个段具有独立的逻辑意义和连续的段内地址。从而,可以使用段表来进行地址变换和段内数据保护。例如,可以使用段表中的相应栏目来设置进程对某个段的读写权限,从而起到保护该段的作用。,但是,由于段表是从属于进程的,因此,对于同一段程序来说,在不同的进程中具有不同的段号,即其逻辑地址只在一个进程内有效。这样,对逻辑地址的访问权限就掌握在进程手中而不是段中或系统中。再者,对于长期保存的数据文件来说,文件系统中设置有文件名和读写权限检验等。这种保护方式又完全不同于对段的读写保护方式。是否有一种不依赖于上下文关系和长期、短期之分的统一的数据保护方法呢?J.
9、Dennis在1966年提出了对系统内的所有“物体”赋予权能,实施统一保护的概念。,权能包括对象名和访问权。从权能的眼光看,系统内的所有物体都是对象,而每一个对象在访问另一个对象时,都必须提出自己的权能,只有被访问对象和操作在该权能限定的范围内,该访问才是正确的。对于各用户或进程来说,系统为每个用户或进程设置一张权能表。该表中含有允许该用户或进程访问的所有对象的权能。这样,由权能表就规定了该用户或进程可以操作和访问的范围以及封闭了各个对象。再者,操作系统严格限制用户或进程任意修改权能表,从而保证了系统的完整性。如果把用户和进程也看作对象(它们的确是对象),则可以认为由权能表把该对象可以使用的数
10、据和操作封闭起来了。,另外,可以把权能表赋给任何一个过程,从而把过程的操作领域和操作进行封闭保护。图10.2是使用权能表进行地址变换的例子。在图10.2中,由于每个段都被看作一个对象,因此,在一个进程是否可访问某段时除了给出段内相对地址之外,还必须提出它所访问对象的权能,以验证它是否有权访问该对象。权能中的对象名又进一步指向该对象的描述信息,例如对象数据在存储空间的位置、长度等。由对象描述信息和段内相对地址l就可得到实际要访问的物理地址。,图10.2 使用权能表进行地址变换,使用权能表的另一个好处就是做到了单级寻址,即无论待访问指令是在内存中还是在外存内,都可以通过权能表所指示的对象而找到它们
11、。这样就可以把文件系统也纳入进程的逻辑空间中。使用权能表的面向对象系统有hydra、starOS等。引入面向对象概念的另一个重要原因是“对象”比起“算法+数据结构”方式更接近于人的思维。这表现在两个方面:第一方面是用户使用面向对象的工具作为开发环境;另一方面是系统设计人员使用面向对象的概念设计出性能好、结构清晰和能力强的操作系统。,进入20世纪80年代中后期以来,为用户提供友好用户接口的面向对象开发环境不断被开发出来。这些开发环境为用户提供各种直观的对象如窗口、按钮、菜单、翻滚条等。用户通过键盘或鼠标对这些对象进行操作。这些对象都含有自己的数据和过程以允许用户对其进行直接操作,而不必不停地激活
12、应用程序。另外,这些对象还向系统发送消息或事件以驱动其他对象完成相应的功能。面向对象的操作系统得到广泛重视和研究的另一个重要因素是它适合于超大规模的、开放式分布环境。由于面向对象技术采用对象间发送消息来驱动对象完成特定功能方法,且对象的定义不受距离和系统的限制,因此,面向对象的概念被广泛地用于分布式操作系统或网络操作系统。,10.2.2 面向对象操作系统的设计方法用面向对象方法设计操作系统除了增强系统的安全功能之外,还具有以下几个好处:(1)通过对象的复用性降低开发操作系统的难度。操作系统中所设计的各类对象在第一次设计和开发时,经过了设计、编码、测试和在开发出来后的使用中得到了提高和改进。复用
13、这些软件既可以节省开发成本,又能提高系统的可靠性。面向对象设计技术的使用将会极大地降低操作系统的开发难度。(2)系统将具有更好的可扩展性以及可维护性。由于面向对象技术的封装特性,对象和对象之间的边效应很小。这有利于产品的升级维护和更新。更重要的是,对于新的应用对象,面向对象系统可以很方便地将其链接到一起。,(3)方便设计和系统组织,因为面向对象的思想与概念更接近于现实世界。操作系统中的对象是对操作系统管理信息和资源的抽象。对象拥有自己的状态或存储空间,而且,其状态也就是存储内容,只能由预定义好的操作来改变。而改变对象状态的操作又需要其他对象发来相应的消息后才能被启动。因此,也可以认为操作系统中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 操作系统 设计
链接地址:https://www.31ppt.com/p-5456291.html