biscuit は go で POSIX 準拠の OS カーネルを実装するという、MIT のプロジェクトです。
Biscuit is a monolithic, POSIX-subset operating system kernel in Go for x86-64 CPUs.
https://pdos.csail.mit.edu/projects/biscuit.html
github
https://github.com/mit-pdos/biscuit
n月刊ラムダノート Vol.2, No.1(2020)
#3 Biscuitで学ぶ、GoならわかるOS実装(渋川よしき)
https://www.lambdanote.com/collections/n/products/nmonthly-vol-2-no-1-2020
macOS Catalina 上で docker を用いて実行します。
まず clone
% git clone https://github.com/mit-pdos/biscuit.git
% cd biscuit
biscuit/Dockerfile を以下の内容で作成します
FROM amd64/golang:1.15 RUN apt-get update && apt-get install -y \ vim \ qemu-system \ && rm -rf /var/lib/apt/lists/* COPY . /home WORKDIR /home/biscuit RUN cd ../src && \ bash ./make.bash RUN make clean ENV GOPATH /home/biscuit
docker image を作成
% docker build -t test_biscuit_image .
作成したイメージでコンテナを作り、bashでログインします
% docker run -it test_biscuit_image bash
コンテナ内で、以下のコマンドを打つと biscuit に入れます
# LANG=C make qemu CPUS=2
go 言語の学習でオススメ書籍
docker の学習でオススメ書籍
コメント