开源微内核seL4

微内核

越大的系统潜在的bug就越多,所以微内核在减少bug方面很有优势,seL4是世界上最小的内核之一。但是seL4的性能可以与当今性能最好的微内核相比。
作为微内核,seL4为应用程序提供少量的服务,如创建和管理虚拟内存地址空间的抽象,线程和进程间通信IPC。这么少的服务靠8700行C代码搞定。seL4是高性能的L4微内核家族的新产物,它具有操作系统所必需的服务,如线程,IPC,虚拟内存,中断等。

形式验证

除了微内核,seL4另一大特色是完全的形式验证。

seL4的实现总是严格满足上一抽象层内核行为的规约,它在任何情况下都不会崩溃以及执行不安全的操作,甚至可以精确的推断出seL4 在所有情况下的行为,这是了不起的。
研究发现常用的攻击方法对seL4无效,如恶意程序经常采用的缓存溢出漏洞。
使用面向过程语言Haskell实现了一个内核原型,用它来参与形式验证,最后根据它,用C语言重新实现内核,作为最终内核。 顺便提一句,seL4有两只team,kernel team和verification team,而连接这两个team的是 Haskell prototype。

在用C开发内核的过程中,seL4对使用C进行了如下限制
1. 栈变量不得取引用,必要时以全局变量代替
2. 禁止函数指针
3. 不支持union

对seL4的formal verification(形式验证)分为两步:abstract specifica

  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值