集成保护和分散式抽象的可扩展操作系统

上传人:ji****n 文档编号:47338048 上传时间:2018-07-01 格式:PDF 页数:5 大小:162.62KB
返回 下载 相关 举报
集成保护和分散式抽象的可扩展操作系统_第1页
第1页 / 共5页
集成保护和分散式抽象的可扩展操作系统_第2页
第2页 / 共5页
集成保护和分散式抽象的可扩展操作系统_第3页
第3页 / 共5页
集成保护和分散式抽象的可扩展操作系统_第4页
第4页 / 共5页
集成保护和分散式抽象的可扩展操作系统_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《集成保护和分散式抽象的可扩展操作系统》由会员分享,可在线阅读,更多相关《集成保护和分散式抽象的可扩展操作系统(5页珍藏版)》请在金锄头文库上搜索。

1、 )本课题得到国防预研基金项目( 8J15. 15. K0321) 十五国防基础研究项目和西北工业大学博士创新基金资助G施笑安讲师 博士生 主要研究方向为网络与分布式软件 实时嵌入式操作系统 自适应计算G周兴社博士导师 教授 研究方向为网络与分布式计算G林奕博士生 研究分布式计算G李晖硕士生 研究分布式计算G计算机科学2003Vol. 30N. 5集成保护和分散式抽象的可扩展操作系统 )施笑安周兴社林奕李晖(西北工业大学计算机科学与工程系西安710072)Integrated Protection and Decentralizing Abstractions with Extensible

2、Operating SystemsSI Xiao-AnZOU Xing-SheLIN YiLI ui(Dept. of Computer Science and Engineering Northwestern Polytechnical University Shanxi Xian 710072)AbstractProtection and abstraction are traditional advantages of operating system that provide for application-programmer. ow to change Protection and

3、 abstraction in order to ensure the new Extensible Operating Systemshaving high performance and good flexibility is the most crucial problem to build Extensible Operating Systems. Webring forward a new approach-Protected Decentralizing abstractions integrating Decentralizing OS abstractions andProte

4、cted abstractions and use it to implement a prototype library operating system - EXLinux /LibOS . A novelway to safely share user-level abstractions in the prototype enables unprivileged and untrusted applications to bedefined and securely shared generic abstractions at run-time in which the same ab

5、straction is invoked repeatedly.KeywordsDecentralizing abstractions Protect Library operating systems Kernel1概述传统操作系统为程序员的开发应用提供了两个特别的好处 抽象和保护G抽象提供了一个很方便的硬件接口 使用抽象来虚拟资源以支持共享 使用户产生了没有共享资源的错觉 提高了系统的一致性并增强了功能G选择哪一种内核抽象是很重要的 通常每种类型只有一种单一的抽象支持 并且该抽象通常是难以扩展或替代的;为了支持系统的完整性 防止错误和恶意的任务 保护限制物理资源的访问G保护通常内含在系统提

6、供的抽象中 在多任务共享资源时是最影响操作系统性能的因素3 G如何对现有操作系统的抽象和保护方法进行改造 以保证新一代的可扩展操作系统构造具有高性能和更好的柔性 是当前可扩展操作系统设计时所面临的主要问题G可扩展操作系统由一套接口和实现组成1 可以根据应用的需要而灵活改变 它缓解了核心提供的服务不能满足应用需求的矛盾G可扩展操作系统设计目标主要是 提高操作系统的性能 使系统能更好地满足应用需求 并提供更多的功能;提高操作系统的柔性 使操作系统适应应用需求的不可预测性或特殊的功能7 G本文提供一种新的集成保护和分散式抽象的方法设计可扩展操作系统 分四个部分进行了论述G首先对传统的操作系统抽象进行

7、了讨论 其次 具体介绍了可扩展操作系统中使用的分散式操作系统抽象方法G接着我们针对分散式抽象设计了一种保护分散式抽象的方法G最后使用该方法设计了一个可扩展操作系统的原型 Exlinux/LibOSG2传统操作系统抽象方法传统操作系统(包括微内核)的抽象被分为四个部分 进程抽象 虚拟内存抽象 文件系统抽象和通讯抽象G这四部分抽象包含了七个抽象语意 保护 安全 并发 一致性 命名 原子性和持久性 无论在什么机制中实现抽象都必须考虑这些特性G但传统操作系统在简化操作系统抽象实现的同时也限制了灵活性和性能G只提供一组抽象从而限制了灵活性G性能也因为不灵活和不柔性而受到限制! G如标准操作系统对系统的抽

8、象设置所有相关的状态到特权级地址空间 使用户级的程序只能够通过一个固定的系统调用接口进行存取 G这个集中模型使它容易确保共享状态的一致性 并保证非授权的访问不能发生G然而 粗糙的接口迫使任务使用预定义抽象目标来预先决定策略 这明显地导致性能的降低! G这些问题可以通过分散操作系统各部分来解决G使用适当的分布式控制 应用程序可以根据它们的需要更好地使用抽象G3分散式操作系统的抽象方法利用分布式的固有特性可实现操作系统抽象及其特性G为更好地解释在分布式下如何实现抽象及其语义 下面对分布环境下使用的分散式抽象机制及其实现进行了具体讨论G分散式抽象的可扩展操作系统基本特征如图1所示 它有如下特征 “分

9、离 和传统操作系统相反 它对每一个进程的抽象状 态分别进行维护G这使进程可以拥有并保护自己的抽象状态G就象在微内核中一样 实际效果是操作系统代码中的错误不再和系统冲突 仅和与其相关的应用程序有关G“最小化授权 最小化授权遵循最少权限原则G每一个抽 象都能对其内部状态进行控制G任何对其它抽象状态进行的修改必须通过明确的接口来实现G“501“局部信息 可以使分布式操作系统的大部分工作将使用局部信息 这样具有可靠性和可升级的优点 抽象将更少地依赖于中央信息库 分离改变 和传统操作系统的单点修改相反 分布式操作系统分离改变 这意味着一个进程抽象实现的改变并不直接影响其它进程 这使得一个抽象可以根据具体

10、使用来优化 给灵活性和性能的改善留有余地 图 分散式抽象的可扩展操作系统基本特征分散式系统抽象的特性有了这些共享状态的方法 可以实现传统操作系统的一些重要特性 保护把抽象状态存储在不同的保护域可以实现保护 或者对抽象使用分离的保护域 或者进程拥有多个保护域 每个域包含抽象的一部分 在同一抽象中提供了错误分离 并发性控制并发性控制通过标准分布式算法或者通过传统的操作系统的临界区 非封锁同步等单个点上的串行化来实现 访问控制访问控制可以通过最小权限实现 每一进程或抽象都有对自己状态访问的权利 如果需要修改或作用于另一抽象 必须通过明确的接口并且拥有信用证才能实现 这个方法提供了比传统操作系统更好的

11、安全性 因为错误的影响只限于相关的抽象 一致性获得一致性的最简单办法就是仅保留一份数据备份 或者把所有数据放在一个位置 或者使用注册表把数据放在不同位置 当一个应用程序需要访问新数据时 它将检查注册表 注册表指向数据的拥有者或其位置 或者对不知道的信息做出反应 原子性原子性的实现同传统的实现类似 在传统操作系统中 通过把抽象状态隐藏起来直到原子操作完成来实现原子性 如果原子操作被取消 可以通过全局信息和扩展的权限来回滚任何抽象状态 在分布式操作系统下缺乏这些特性 这使得修改多个抽象时实现原子性变得困难 持久性通过集中的方法或令牌的形式可以实现状态的持久性 集中的方法 即通过状态的生存期或者在一

12、个没有其它进程访问的点上 服务器保存稳固的状态 命名可以在一个中心位置进行名字解析 或者可以传递请求直到解析出名字 使用一个传统的名字服务器 注册不同进程及抽象能解析的名字 相反 可以只注册根 它将把不能解析的名字通过服务器传递给其它进程来解析 从上面可以看出传统的操作系统过于严格 不允许用户级任务修改操作系统的抽象 分散式抽象操作系统结构通过将保护与管理相分离的方法 安全地使不信任的任务有效地控制硬件和软件的资源 2分散式抽象的可扩展操作系统该结构通过提供给不信任任务足够的对资源的控制来解决这个问题 它划分了传统操作系统界面的任务 将保护和管理分离 它们保护资源的同时把管理授权给任务 例如

13、每一个任务管理它自己的磁盘块高速缓存 但是可扩展操作系统允许在缓存中的页能被所有的任务安全地共享 因而 可扩展操作系统保护页和磁盘块而任务管理它们 当然 并不是所有的任务需要用户化的资源管理 而是直接和可扩展操作系统交换信息 我们希望大多数程序和资源库联系起来 这些资源库包含了在传统操作系统抽象之下的底层资源 但是 与传统的系统抽象使用方法不同 资源库的使用不是基于特权的 因而能随时对它进行修改和替换 我们称不带特权资源库为库操作系统(LIBRARY OPERATINGSYSTEM LibOS 我们希望 可扩展操作系统的管理方式有 助于操作系统的革新 面向任务的程序员比操作系统使用者在人数上多

14、出几个数量级 每一个程序员能够自定义一个LibOS而不会影响到系统的其它部分 LibOS也允许增量地 有选择地吸收操作系统新的特征 任务与LibOS相连并从中获取资料 这样操作系统新的功能性被有效地传播给任务 然而分散式控制 使它对互相不信任的任务共享系统的抽象非常困难 同时 在分散式抽象系统中 这种操作系统抽象用库来实现 并将它们的状态存放在共享内存中 这些抽象不能损害用户保护的内存区 不幸的是 这种机制常常不能提60 供所需的性能 O下面我们提出设计和实现保护分散式抽象机制的一种方法9在分散式抽象系统里共享用户级的抽象9通过提供存取方式接口保证它们的状态安全9任务能安全地共享高级的抽象O4

15、保护分散式抽象方法保护分散式抽象是一种新的安全方式9在分散式抽象系 统里共享用户级的抽象O能够使非特权 不信任的任务在运行 时进行定义并安全地共享生成的抽象O4. 1保护分散式抽象思想 保护分散式抽象机制接近与数据封装的概念9基于面向 对象的程序设计语言9一个抽象构成一个对象9它的状态位于 一个保护域9只能靠抽象的访问/保护方法被读或写O然而9保 护分散式抽象的接口及其状态都能在运行时定义O该机制提 供了较好的柔性9并消除了在内核里设置性能临界抽象的需 要O保护抽象的状态使用分散式抽象的分级命名能力保证9一 个抽象的状态与一个能力相连9它将允许用户的任务随时调 用抽象接口里的一个方法O没有这样

16、的能力9进程不能存取抽 象的状态O保护方式对状态拥有全部的权限并能毫无阻碍地 执行它们的任务9内核保证保护方法的控制传递O使系统中除 了这些方法的其它的实体也能在拥有该状态能力时运行O4. 保护分散式抽象基本设计 保护分散式抽象机制在分散式抽象的硬件保护机制之上 构成一个软件保护层O硬件保护层确保硬件抽象9而保护方法 保证软件抽象O一个保护的软件抽象由两部分组成:状态 对内存页 磁盘块等资源9抽象的定义希望能 被系统中别的进程安全地共享9安全地共享意味着在内核提 供的保证下进行共享9关于该状态的一套确定的常量将被保 持O这些常量被抽象的方法明确定义O保护方法 一组进程9能查询和更新状态9这些进程 是对保持常量的响应9它们定义抽象的组成并对保护的抽象 提供一个完全的接口O 保护分散式抽象使一个抽象的状态只能用于该抽象的方 法9这保证了状态的一致性9在更新时和存取时规则被严格遵 守O当使用一个抽象调用一个保护方法9内核接受该进程状态 的能力并使用将能力控制传递到请求的方法O该方法运行在 调用的上下文中9并能更新所需的状态O保

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

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号