下一站 - Ihcblog!

远方的风景与脚下的路 | 子站点:ihc.im

0%

本系列文章主要记录我在尝试用 Rust 实现一个 Hypervisor 的过程。

为什么写这个系列?几个月前在我业余探索 KVM 的过程中我遇到了一些困难,而互联网上很多文章都没能很好地解释清楚,并且也没有一篇文章能够从零到一地构建一个 VMM 并讲清楚每个 Magic Number 的含义和原因。希望我的分享可以一定程度上让初学者少走一些弯路。当然,我也免不了会有一些错误理解,欢迎各位指正。

目录:

  1. Mini VMM in Rust - Basic
  2. Mini VMM in Rust - Mode Switch
  3. Mini VMM in Rust - Run Real Linux Kernel
  4. Mini VMM in Rust - Implement Virtio Devices

本文是系列的第一篇,主要做一些科普,并能跑起来一段实际的代码。

阅读全文 »

本文主要分析当前流行的 Trojan 协议,并针对当前中间人的特点,尝试提出一个更好的解决方案。

该方案的实现是 ShadowTLS,你可以在 Github 上找到完整代码和预编译二进制。

阅读全文 »

本系列文章主要介绍如何设计和实现一个基于 io-uring 的 Thread-per-core 模型的 Runtime。

我们的 Runtime 最终产品 Monoio 现已开源,你可以在 github.com/bytedance/monoio 找到它。

  1. Rust Runtime 设计与实现-科普篇
  2. Rust Runtime 设计与实现-设计篇-Part1
  3. Rust Runtime 设计与实现-设计篇-Part2
  4. Rust Runtime 设计与实现-组件篇
  5. Rust Runtime 设计与实现-IO兼容篇

本文是系列的第五篇。本来写四篇已经结束的,最近增加了 epoll 支持(!73),干脆写一下这块的设计吧。

阅读全文 »

本系列文章主要介绍如何设计和实现一个基于 io-uring 的 Thread-per-core 模型的 Runtime。

我们的 Runtime 最终产品 Monoio 现已开源,你可以在 github.com/bytedance/monoio 找到它。

  1. Rust Runtime 设计与实现-科普篇
  2. Rust Runtime 设计与实现-设计篇-Part1
  3. Rust Runtime 设计与实现-设计篇-Part2
  4. Rust Runtime 设计与实现-组件篇
  5. Rust Runtime 设计与实现-IO兼容篇

本文是系列的第四篇,前面该讲的设计基本讲完了,这里主要说说 channel 等组件。

阅读全文 »

本系列文章主要介绍如何设计和实现一个基于 io-uring 的 Thread-per-core 模型的 Runtime。

我们的 Runtime 最终产品 Monoio 现已开源,你可以在 github.com/bytedance/monoio 找到它。

  1. Rust Runtime 设计与实现-科普篇
  2. Rust Runtime 设计与实现-设计篇-Part1
  3. Rust Runtime 设计与实现-设计篇-Part2
  4. Rust Runtime 设计与实现-组件篇
  5. Rust Runtime 设计与实现-IO兼容篇

本文是系列的第三篇,继续讲一些 Runtime 上的设计取舍。

阅读全文 »

本系列文章主要介绍如何设计和实现一个基于 io-uring 的 Thread-per-core 模型的 Runtime。

我们的 Runtime 最终产品 Monoio 现已开源,你可以在 github.com/bytedance/monoio 找到它。

  1. Rust Runtime 设计与实现-科普篇
  2. Rust Runtime 设计与实现-设计篇-Part1
  3. Rust Runtime 设计与实现-设计篇-Part2
  4. Rust Runtime 设计与实现-组件篇
  5. Rust Runtime 设计与实现-IO兼容篇

本文是系列的第二篇,开始以 Monoio 为例讲一些 Runtime 上的设计取舍,同时会参考和对比 Tokio 和 Glommio 的设计。

阅读全文 »

本系列文章主要介绍如何设计和实现一个基于 io-uring 的 Thread-per-core 模型的 Runtime。

我们的 Runtime 最终产品 Monoio 现已开源,你可以在 github.com/bytedance/monoio 找到它。

  1. Rust Runtime 设计与实现-科普篇
  2. Rust Runtime 设计与实现-设计篇-Part1
  3. Rust Runtime 设计与实现-设计篇-Part2
  4. Rust Runtime 设计与实现-组件篇
  5. Rust Runtime 设计与实现-IO兼容篇

本文是系列的第一篇,主要做一些科普啦~以及会写一个极简的 Runtime 作为例子。

阅读全文 »