【译文】使用BPF控制内核的ops结构体 Posted on 2020-02-08 | In 中文 | Linux内核5.6版本的众多令人惊喜的功能之一是:TCP拥塞控制算法(congestion control algorithm)可作为用户空间的BPF(Berkeley Packet Filter)程序进行加载和执行。网络开发者Toke Høiland-Jørgensen将这项功能描述为“内核正... Read more »
【译文】将Restartable Sequcences (rseq)引入Linux的五年之旅 Posted on 2020-01-23 | In 中文 | 并发控制算法与per-CPU数据成对出现,是确保底层库和高性能应用程序在当今硬件上正确扩展不可或缺的一部分。这些算法保证在并发访问时,用户空间的数据结构始终保持一致,并且用户数据的修改是执行完全的,使得线程观察到的是之前或之后的状态,而非中间状态。设计这些算法的方法有很多种,最常见的也是扩展性... Read more »
【译文】在.NET上通过Wasmtime使用WebAssembly Posted on 2020-01-18 | In 中文 | 概述来自字节码联盟(Bytecode Alliance)的WebAssembly(以下简称wasm)运行时——Wasmtime,最近添加了针对.NET Core的早期预览版本API,开发者可以在他们的.NET程序中使用该API直接编程加载和运行wasm代码。那么问题来了,.NET Core已经是... Read more »
Midori博客系列翻译(6)——性能文化 Posted on 2019-03-13 | In 中文 | 在本文中,我将聊聊“性能文化”。性能是软件工程的关键支柱之一,并且很难做正确,有时甚至都难以识别,正如一位著名的法官曾经说过的那样,“我一眼就能看出来(I know it when I see it)”。我之前已详细地聊到了性能和文化,但两者之间的交互才会变得更有趣。能够做好这一点的团队几乎从一... Read more »
Midori博客系列翻译(5)——错误模型 Posted on 2019-03-09 | In 中文 | Midori是由基于C#,通过AOT编译的且类型安全的语言编写而成的操作系统。除了其微内核部分之外,整个系统都由该语言而成,包括驱动程序、域内核和所有的用户态代码。我在前面的文章中已经提及该语言设计的一些方面,现在是时候正面介绍的时候了。整个语言需要巨大的空间来覆盖,也需要一系列的文章来分析。那从... Read more »
Midori博客系列翻译(4)——安全的原生代码 Posted on 2019-02-17 | In 中文 | 在我的第一篇Midori文章中,我描述了安全是我们所做的一切的基础。 我提到我们使用安全代码构建了操作系统,但仍然保持与使用C和C++编写的Windows和Linux等操作系统相比有竞争力的性能。 系统架构在许多方面发挥了关键作用,关于这点我将在未来的帖子中继续讨论。 但是,在系统的基石部分... Read more »
Midori博客系列翻译(3)——一切皆异步 Posted on 2018-11-25 | In 中文 | Midori由大量通过强类型消息传递接口相互连接的,超轻量级细粒度进程构建而成。我们传统上常见的程序是可能带有一些内部线程的单一宏进程。而在Midori中,进程则由数十个小型进程所表示,从而实现自然,安全和大部分的自动并行化。同时,在Midori中,显然同步阻塞是不允许的,这意味着包括所有文件和网... Read more »
Midori博客系列翻译(2)——对象即安全权能 Posted on 2018-11-18 | In 中文 | 在上一篇博客中,我们已经看到Midori是如何建立在类型,内存和并发安全的基础之上的。 在本文中,我们将看到它们又是使一些新颖的方法来实现安全变得可能,也就是说,这些方法让我们的系统消除了环境权限和访问控制问题,有利于编织到系统及其代码的结构中的权能之上。 与我们的许多其他原则一样,这种保证是... Read more »
Midori博客系列翻译(1)——三类安全性的故事 Posted on 2018-10-24 | In 中文 | Midori建立在三类安全性的基础之上,这包括:类型安全、内存安全和并发安全。 它们“从构造”上消除了的各类错误,并在可靠性、安全性和开发人员生产力等方面取得了重大改进。 另外,它们还从根本上允许我们以新颖强大的方式,依赖类型系统来提供新的抽象、执行最新的编译器优化等。 回顾过去,我们项目的... Read more »
Midori博客系列翻译(0)——介绍 Posted on 2018-10-20 | In 中文 | 已经离开了足够长的时间,因此我觉得在博客中谈论以前在微软的“Midori”项目是安全的。在接下来的几个月里,我将发表十余篇文章,以涵盖这个项目最有趣的方面,以及我认为的主要教训。Midori是一个研究/孵化项目,它的目标是在整个微软软件栈上的探索可能的创新。其涵盖了包括编程语言、编译器、操作系... Read more »