写点什么

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

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

关注

评论

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

加码布局版式文档垂直赛道,福昕船舶图纸管理系统重磅发布

联营汇聚

技术分享 | Javaer 如何做单元测试?

LigaAI

Java 单元测试 LigaAI

图解|高性能服务器设计之缓存系统一致性

C++后台开发

redis 后端开发 Linux服务器开发 高性能服务器 系统缓存

F5 NGINX 核心人员倾力打造,搞懂 NGINX 这一本就够了

图灵教育

nginx 程序员 服务器 计算机

数据库治理的云原生之道 —— Database Mesh 2.0

SphereEx

Apache 数据库 开源 ShardingSphere SphereEx

华为AppCube通过中国信通院“低代码开发平台通用能力要求”评估!

华为云开发者联盟

低代码 华为云 AppCube

大数据ETL自动化调度运维专家-TASKCTL

敏捷调度TASKCTL

Docker 大数据 程序员 DevOps 数据仓库

HashSet源码分析-基础结构

zarmnosaj

5月月更

【智人智语】史赛克全球数字化、机器人及赋能技术总裁柯若博:世界智能大会是一个非常重要的盛会

InfoQ 天津

如何实现24/7客户服务自动化?建设智能客服知识库

小炮

元宇宙的十大经济规则

CECBC

大数据培训用SQL来实现用户行为漏斗分析

@零度

大数据开发

【云堡垒机】云堡垒机很贵吗?怎么收费?

行云管家

网络安全 数据安全 堡垒机 云堡垒机

元宇宙用户已准备就绪,但技术瓶颈仍制约其真正“落地”

CECBC

虚拟化解决方案 virtio 的技术趋势与 DPU 实践解读 | 龙蜥技术

OpenAnolis小助手

虚拟化 技术分享 DPU 龙蜥大讲堂 云豹智能

4种Springboot RestTemplate 服务里发送HTTP请求用法

华为云开发者联盟

Java Rest HTTP

带你学习MindSpore中算子使用方法

华为云开发者联盟

模型 mindspore 算子

从Oracle日志解析学习数据库内核原理

沃趣科技

oracle 数据库内核

详解SQL操作的窗口函数

华为云开发者联盟

sql 窗口函数 AP场景

【等保】等保测评中双因素认证是什么意思?等于双因子认证吗?

行云管家

网络安全 等保 双因子认证 等级保护

揭秘亚马逊云科技软件开发工程师团队

亚马逊云科技 (Amazon Web Services)

软件开发 工程师

低碳数据中心建设思路及未来趋势

H3C-Navigator

【技术干货】代码示例:使用 Apache Flink 连接 TDengine

TDengine

数据库 tdengine

AI简报-增强版GAN图像超分:ESRGAN

AIWeker

人工智能 深度学习 5月月更 AI简报

谁需要实验室内部管理系统?

低代码小观

实验室管理系统 数据管理系统 LIMS实验室信息管理系统 企业管理工具 检查系统服务

二、KVM架构概述

穿过生命散发芬芳

kvm 5月月更

敏捷领导力(CAL E+T+O)认证在线培训 | 2022年8月18-20日

ShineScrum

敏捷 敏捷领导力 CAL 世界级敏捷领导力大师

GraphQL初探

RingCentral铃盛

JavaScript graphql

周六晚8点,如何基于 eBPF 技术构建应用可观测平台?

OpenAnolis小助手

Linux 直播 内核 龙蜥社区 sig

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