大厂Data+Agent 秘籍:腾讯/阿里/字节解析如何提升数据分析智能。 了解详情
写点什么

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:272067
用户头像

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

关注

评论

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

C/C++:const常量真的可以用指针修改吗

韩小非

c c++ 指针 常量 编译器优化

奈学教你五分钟学会分布式事务

奈学教育

分布式系统

Trie 字典树

田镇珲

LeetCode Trie

内存屏障的来历

HackMSF

cpu 并发

做正确的事情什么时候都不晚

Neco.W

学习 导师

中小型城市商业银行数字化转型实践(四)业务中台建设思路和路径

泡菜小仙

行业资讯 银行数字化转型

「翻译」测试用例最佳实践

HackMSF

翻译 单元测试

话说 Java vs C#

申扬科技

产品周刊 | 第 18 期(20200607)

八味阁

产品 产品经理 产品设计 产品推荐

食堂就餐卡系统设计

游戏夜读 | 核心能力是什么?

game1night

推荐几款有意思的小众App(06.06)

静陌

test

PQY

Spark Launcher Java API提交Spark算法

杨仪军

spark spark launcher

对文化的态度,早在日常中

zhoo299

历史 随笔 文化

我是这样给同事分析幂等性问题的

架构精进之路

幂等性 服务设计

npm常用命令

阡陌r

Vue

缓存一致性协议的工作方式

HackMSF

缓存 并发

【摘】Git-从零单排 03期

卡尔

git 效率工具 工具链

新媒体小编一年工作心得

彭宏豪95

职场 感悟 工作

Backend Roadmap

陈皮

Backend Developer

B端产品经理养成记(3):访谈

涛哥 数字产品和业务架构

产品经理

当代社畜在维权中成长 | 记初次打官司

张鸱鸺

个人成长 随笔杂谈 维权 民事诉讼

愿你也能穿越熊熊烈火,飞往你的山

Janenesome

读书笔记 思考

初识 Docker 与安装 | Docker 系列

AlwaysBeta

Docker

听说用 Lombok 可以早点下班?

武培轩

Java 程序员 工具 后端 IDEA

游戏夜读 | 终端设备之争?

game1night

线上故障处理实践

心平气和

故障分析 故障定位

UML统一建模语言

哼哼

练习--食堂就餐卡系统技术方案设计

jason

现在的我们想要获得成功,除了付出努力之外,还要具备见识。

叶小鍵

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