Blink 1.0正式发布, 最小的x86 Linux模拟器

ChatGPT狂飙160天,世界已经不是之前的样子。

新建了人工智能中文站https://ai.weoknow.com
每天给大家更新可用的国内可用chatGPT资源


Blink 1.0 已正式发布。

Blink 是无特权用户空间虚拟机,支持在任何 POSIX 平台上模拟 x86-64-linux 二进制文件,声称是最小的 x86 Linux 模拟器。

总的来说,它是一个 220kb 的无依赖静态二进制文件,实现了大约 600 条 x86 指令和 180 条 Linux 系统调用。因此 Blink 在运行简单的命令行程序方面相当出色。

./configure        # use `./configure --help | less` for help
make -j8           # build blink and blinkenlights
doas make install  # doas is modern sudo
blink program      # use `man blink` for help

Blink 包含一个简洁的 JIT,在某些情况下,对于像临时程序 (ephemeral programs) 这样的用例,它比 Qemu 快 2 倍。原因在于 Blink 的基线 JIT,它使用 printf 风格的 DSL 快速生成代码。这意味着 Blink 拥有一个易于使用的代码库(只有 63,500 行 ANSI C11 代码)。

虽然 Blink 是命令行工具,但它也有一个 TUI 界面(称为 blinkenlights),支持实时调试和可视化程序。

下面是一个运行裸机 Game of Life 演示的示例,该演示程序采用 Rust 编写,它以 i8086 模式从 BIOS 启动,引导至长模式,然后绘制到 Blinkenlight 基于文本的 CGA 显示器。

man blinkenlights
blinkenlights -jmr third_party/gameoflife/gameoflife.bin
# Press CTRL-T several times for Turbo mode

Blink 最适合用于命令行程序,当然它也支持模拟 GUI 应用程序。下图是 Blink 在 Debian Linux 上运行 Emacs GUI 的屏幕截图:

详情查看 Release Notes:https://github.com/jart/blink/releases/tag/1.0.0


ChatGPT狂飙160天,世界已经不是之前的样子。

新建了人工智能中文站https://ai.weoknow.com
每天给大家更新可用的国内可用chatGPT资源

猜你喜欢

转载自blog.csdn.net/zyqytsoft/article/details/131075680