写点什么

Verve 已经发布——一种类型安全的操作系统

  • 2010-12-20
  • 本文字数:935 字

    阅读完需:约 3 分钟

最近微软研究院发布了一篇通告,声明 Verve 的发布,它是来自于 Singularity 项目的一种操作系统,基本前提是要使用类型化汇编语言(Typed Assembly Language,TAL)和 Hoare 逻辑达到高级的保密性(security)和安全性(safety)。Verve 操作系统由内核(nucleus)、核心(kernel)和一个或多个应用程序组成。

尽管为了便于自动编译成 TAL,Verve 是由 C#编写的,但它还是执行了二次检查来验证类型安全性。内核本身是用汇编语言编写的,并用断言加上了手工的注解。它还使用 Boogie 根据规范来验证汇编语言,并确保它可以与 TAL 代码和硬件安全地交互。

Verve 的成功之处

  • 它是第一个能够从机制上验证以保证安全性的操作系统,其中包括的所有汇编语言指令都在启动时经过了静态验证,然后才会运行。
  • 它可以运行在一般的硬件上,从而支持真正的语言特性,像类、虚拟方法、数组和先发线程(pre-emptive threads)等等。
  • 高效,这是通过使用 Bartok 的对象、方法表和数组的本地布局达到的。
  • 它演示了自动化技术、TAL 和自动化定理证明,从而验证了操作系统中和运行时复杂的低级代码的安全性。
  • 它演示了少量带有自动化定理证明功能,经过验证的代码它能够支持任意数量的 TAL 代码。

有了类型安全验证的代码,如果想要访问内存,只能通过对象引用和关联的特性——像字段和属性——达到。通过定义好的路径——在当前情况下是运行时——访问内存,核心可以验证代码并没有访问不该访问的内存位置。本质上,类型安全性意味着,除非程序的操作对于类型是合法的,否则就无法在对象上执行操作。类型安全性为高级编程语言(像 Java 和 C#)中的保密性提供了最基本的要素,并且当扩展到操作系统级别时,会得到效率,并转化为性能。

Verve 的局限

  • 缺少对很多 C#特性的支持,像异常处理等
  • 不支持标准的.NET 类库,因为它包含了不安全的代码
  • 缺少对代码的动态载入
  • 只能在单处理器上运行
  • 缺少全面的隔离机制,像 Singularity SIPS、Java Isolates 和 C# AppDomains
  • Verve 使用经过验证的垃圾回收器,它会在回收的过程中把一切操作停止,并禁用中断。

尽管 Verve 还有很多局限性,但它的创建者觉得只有对多处理器的支持是明显的障碍,因为那可能需要对当前的结构进行本质上的修改。

查看英文原文: Announcing Verve – A Type-Safe Operating System

2010-12-20 07:272261
用户头像

发布了 340 篇内容, 共 147.0 次阅读, 收获喜欢 13 次。

关注

评论

发布
暂无评论
发现更多内容

网站是什么?

insight

网站

npm version 使用详解

Leo

大前端 npm 语义化 版本控制

网络编程方法

Ya

方法论 网络编程 socket

稀缺:我们为什么会陷入贫穷与忙碌

insight

读书笔记

JCJC错别字检测JS接口新增CORS跨域支持

田春峰-JCJC错别字检测

怎么写出bug的

三爻

Java并发编程系列——线程的等待与唤醒

孙苏勇

Java Java并发 并发编程 线程

学会打破确定性思维,才能做得更好

松花皮蛋me

高效工作 10X工作法 精益开发

媒体的经营 02 | 媒体/内容行业的主要变现方式

邓瑞恒Ryan

创业 投资 商业

媒体的经营 03 | 很显然,媒体卖广告是最没有前途的

邓瑞恒Ryan

创业 媒体 商业模式

专家的直觉和你的直觉

池建强

书摘 直觉

【奖项公布】致内测用户——亲爱的1号创作者们~

InfoQ写作社区官方

写作平台 1号创作者 奖品 热门活动

Gary的唠叨(二):先算是非,后算得失

小盖

Gary的唠叨 感悟

对开发人员有用的定律、理论、原则和模式

松花皮蛋me

Java 设计模式

小技巧:ssh -D 让终端访问或下载快一点

肖飞码字

Linux Shell

【获奖名单公示】作为一名技术人,我为什么要写作?

InfoQ写作社区官方

程序员 写作 写作平台 热门活动

深度工作

insight

读书笔记

我为什么不愿在公众号发文章,却愿在写作平台发

小天同学

微信公众平台 产品 反馈 写作平台

原创 | DDD与分层

编程道与术

回"疫"录(5):不见面,云拜年

小天同学

疫情 回忆录 现实纪录 纪实

程序员陪娃漫画系列——夜宵

孙苏勇

程序员 生活 陪伴 漫画

这一战,必战,若一去不返,便一去不返

霍太稳@极客邦科技

创业 项目管理 团队建设 InfoQ

如何高效开会

熊斌

效率 效率工具

网站架构方法

Ya

架构 方法论 网站 大型软件

您到底要说什么?

水色

人生一大误区:做到80%就不错了

池建强

个人成长 自我管理

死磕Java并发(5):线程详解,Java开发这么久,这些线程的基础知识你确定都会了?

Seven七哥

Java Java并发 线程

香港上市"失效"、传言申请科创板,聊聊半年亏损52亿的旷视科技 | IPO招股书系列(4)

赵新龙

IPO 旷视科技 上市 招股说明书 科创板

3000字长文教你大数据该怎么学!

老蒙

Java 大数据 spark 学习 开源

夏天将来,愿我们有足够的知识继续前进

Amon Lee

说说疫情下的新常态该怎么应对

CD826

疫情 新常态

Verve已经发布——一种类型安全的操作系统_.NET_James Vastbinder_InfoQ精选文章