速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

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

关注

评论

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

PoseiSwap 将向 Zepoch 节点持有者发放新一轮空投,生态启动在即

股市老人

专科学历,有机会转行程序员吗?

程序员晚枫

程序员 面试 转行 学习计划

开心档之C++ 数组

雪奈椰子

华为云应用运维管理平台获评中国信通院可观测性评估先进级

YG科技

【深入了解系统性能优化】「实战技术专题」全方面带你透彻探索服务优化技术方案(系统服务调优)

洛神灬殇

JVM Java虚拟机 技术推荐 技术调优 开发实战

Nautilus Chain 推出全新 Layer3 DID 公民身份,限量 10 万枚免费发放

鳄鱼视界

PoseiSwap 将向 Zepoch 节点持有者发放新一轮空投,生态启动在即

大瞿科技

py基础知识点归纳总结

全栈若城

Python 学习 基础

Java程序性能分析:开篇之jps

javalover123

Java 性能优化 性能 后端

Python潮流周刊#9:如何在本地部署开源大语言模型?

Python猫

Python

Nautilus Chain 推出全新 Layer3 DID 公民身份,限量 10 万枚免费发放

BlockChain先知

Go 语言 context 都能做什么?

AlwaysBeta

Go Context go面试题

PoseiSwap 将向 Zepoch 节点持有者发放新一轮空投,生态启动在即

威廉META

豫园股份基于低代码敏捷式开发的实践与落地

明道云

应用在虚机和容器场景下如何优雅上下线

YG科技

高效联调,可靠发布!华为云推出CodeArts Release发布管理服务

YG科技

Nautilus Chain 推出全新 Layer3 DID 公民身份,限量 10 万枚免费发放

威廉META

PoseiSwap 将向 Zepoch 节点持有者发放新一轮空投,生态启动在即

鳄鱼视界

es笔记四之中文分词插件安装与使用

Hunter熊

中文分词 elasticsearch

免费搭建一个有脾气的聊天机器人,1行Python代码就够了!

程序员晚枫

Python 微信 机器人

【分布式技术专题】「分布式技术架构」实践见真知,手把手教你如何实现一个属于自己的RPC框架(架构技术引导篇)

洛神灬殇

RPC 架构分析 分布式服务

Nautilus Chain 推出全新 Layer3 DID 公民身份,限量 10 万枚免费发放

股市老人

PoseiSwap 将向 Zepoch 节点持有者发放新一轮空投,生态启动在即

西柚子

我在AIGC和数字中台方面的架构升级设计

软件工程师-罗小东

趣解领域驱动设计-从地心说到日心说

凡语

领域驱动设计

2023-07-01:redis过期策略都有哪些?LRU 算法知道吗?

福大大架构师每日一题

redis 福大大架构师每日一题

PoseiSwap 将向 Zepoch 节点持有者发放新一轮空投,生态启动在即

BlockChain先知

PixelForce - AI绘画释放产品魅力

原力在线

C++中fork函数的使用及原理

梦笔生花

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