Blink 1.0 已正式發(fā)布。
Blink 是無特權(quán)用戶空間虛擬機,支持在任何 POSIX 平臺上模擬 x86-64-linux 二進制文件,聲稱是最小的 x86 Linux 模擬器。
總的來說,它是一個 220kb 的無依賴靜態(tài)二進制文件,實現(xiàn)了大約 600 條 x86 指令和 180 條 Linux 系統(tǒng)調(diào)用。因此 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 風(fēng)格的 DSL 快速生成代碼。
這意味著 Blink 擁有一個易于使用的代碼庫(只有 63,500 行 ANSI C11 代碼)。
雖然 Blink 是命令行工具,但它也有一個 TUI 界面(稱為blinkenlights),支持實時調(diào)試和可視化程序。
下面是一個運行裸機 Game of Life 演示的示例,該演示程序采用 Rust 編寫,它以 i8086 模式從 BIOS 啟動,引導(dǎo)至長模式,然后繪制到 Blinkenlight 基于文本的 CGA 顯示器。
man blinkenlights blinkenlights -jmr third_party/gameoflife/gameoflife.bin # Press CTRL-T several times for Turbo mode
Blink 最適合用于命令行程序,當然它也支持模擬 GUI 應(yīng)用程序。
下圖是 Blink 在 Debian Linux 上運行 Emacs GUI 的屏幕截圖:
審核編輯:劉清
-
DSL
+關(guān)注
關(guān)注
2文章
58瀏覽量
38293 -
Linux系統(tǒng)
+關(guān)注
關(guān)注
4文章
593瀏覽量
27392 -
BIOS
+關(guān)注
關(guān)注
5文章
469瀏覽量
45682 -
模擬器
+關(guān)注
關(guān)注
2文章
874瀏覽量
43208 -
虛擬機
+關(guān)注
關(guān)注
1文章
914瀏覽量
28160
原文標題:Blink 1.0正式發(fā)布, 最小的x86 Linux模擬器
文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論