AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

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

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

关注

评论

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

如何运维多集群数据库?58 同城 NebulaGraph Database 运维实践

NebulaGraph

运维 数据库运维

前端报表如何实现无预览打印解决方案或静默打印

葡萄城技术团队

软件测试 | App结构概述

测吧(北京)科技有限公司

测试

Windows安装ElasticSearch

Geek_7ubdnf

elasticsearch

2023年中国网约车行业用户体验洞察

易观分析

用户体验 网约车

前端开发技术培训机构怎么选好?

小谷哥

Flink X Hologres 构建企业级 Streaming Warehouse

Apache Flink

大数据 flink 实时计算

嵌入式ARM设计编程(二) 字符串拷贝

timerring

arm

IoT设备数据的存储、解析和价值挖掘实践——实践类

阿里云AIoT

阿里云 物联网 IoT

ChatGPT时代的打工人众生相

脑极体

ChatGPT

新型掩码自编码器 AdaMAE,自适应采样

Zilliz

计算机视觉

Linux安装elasticsearch-head

Geek_7ubdnf

elasticsearch

最佳实践数据服务之设备数据格式ProtoBuf转JSON——实践类

阿里云AIoT

阿里云 物联网 IoT

研发提效:服务端技术方案模板参考

邴越

技术方案 模版

在前端培训机构怎么系统学习前端知识

小谷哥

Java开发技术培训应该怎么学习?

小谷哥

低代码如何快速提升客户体验

力软低代码开发平台

令人期待的 SysOM 2.0 OS 迁移、超异构计算系统直播又来了 | 第 63-64 期

OpenAnolis小助手

操作系统 系统运维 sig 龙蜥大讲堂 SysOM

JS常见错误和解决方法集锦

观纵科技

前端 js 错误处理

大数据培训去哪学靠谱?

小谷哥

华为云发布分布式编译构建系统CodeArts Build

华为云开发者联盟

云计算 华为云 企业号 2 月 PK 榜 华为云开发者联盟

前端培训班学习哪家比较好

小谷哥

无需依赖Docker环境制作镜像

tiandizhiguai

Docker k8s

轻舟已过万重山:华为之路,平板PC之变

脑极体

华为 PC

Blender的布局和工作区

Finovy Cloud

Blende

数字货币现货合约秒合约交易所系统开发案例

开发微hkkf5566

云小课|MRS基础操作之配置DataNode容量均衡

华为云开发者联盟

大数据 华为云 企业号 2 月 PK 榜 华为云开发者联盟

深思考联合昇腾推出AI智慧病理“慧眼”计划

极客天地

【2023年最新】轻松搞定MySQL数据库迁移

NineData

MySQL 数据库迁移 数据复制 数据迁移 SqlServer

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