MINIX From Scratch - MINIX 3を動かしながら学習するためのプロジェクト

[PR]記事内のアフィリエイトリンクから収入を得る場合があります
  • URLをコピーしました!

S 20230227 174513

1987年にオランダのアムステルダム自由大学の教授、アンドリュー・S・タネンバウム氏によって開発されたオペレーティングシステム「MINIX」。Linuxにも影響を与え、2005年には最新版の「MINIX 3」が公開されています。

MINIXを題材とした教科書が出版されていることもあり、今でもOSを学ぶ最良の方法の1つだとも評価されていますが、書籍に掲載されているソースコードをコンパイルできるMINIX 3プロジェクトが存在しないという問題があるようです。

この問題を解決すべく開発が進められているのが「MINIX From Scratch」です。

プロジェクトは、「Design and Implementation (3e)(v3.1.0)」で参照されているコードをコンパイルし、初心者が、本の内容を動かしながら学べる事を目的としています。

コードの閲覧、編集、再コンパイル、実行を容易するための試みだと説明されています。

以下実行方法を説明します。

目次

MINIX 3を起動してみよう

MINIX From Scratchプロジェクトからダウンロードできるイメージファイルはqemuで実行可能です。単に起動するだけならばqemuが実行可能なOS(LinuxやmacOS)で実行可能です。

以下の手順を実行します。

  • ソースコードをgit cloneする。
    git clone https://github.com/o-oconnell/minixfromscratch.git
    
  • GitHubのリリースページからイメージファイル(minix3.1.0-book-version-harddisk.img.zip)をダウンロードして展開。先ほどcloneしたフォルダの中にコピーする。
  • 以下のコマンドで実行。
    cd minixfromscratch
    ./qemuminix3.sh
    

これでMINIX 3を起動することができます。ユーザー名root、パスワードなしでログインできます。

S 20230227 174706

lsdfなどのコマンドを実行することができます。

なお、QEMUを終了する前に必ずCtrl+Alt+Delを実行する必要があるとのこと。そうしないとファイルが壊れる可能性があるそうです。

MINIX 3のファイルを自分好みのエディタで変更したい

MINIX 3に格納されている各種のソースコードはMINIX 3上のエディタ(viなど)を使って編集する事ができます。

しかしLinux環境では、MINIX 3のイメージファイルをLinuxに直接マウントして、内部のファイルをLinuxのエディタを使って編集する事ができます。

その手順は以下の通りです。

  • rootユーザーで./mountminix3.shを実行。root、usr、homeパーティションがマウントされる。
  • MINIXのコードを好みのエディタで編集する。
  • ./umountminix3.shでマウント解除。
  • ./qemuminix3.shでMINIXを起動する。

この手順を繰り返すことで、MINIXの気になるソースコードを変更し、その結果がどうなるかを動かしながら確認する事ができます。

MINIXはオペレーティングシステムのほか、サイバーシステムやネットワーキング、システム管理、コンピュータアーキテクチャ、コンパイラ、ファイルシステム、ハードウェア、Bashスクリプト、データ構造とアルゴリズムを学習するのに役立つとのことです。

まとめ

MINIX From Scratchプロジェクトによって、モダンな環境で手軽にMINIX 3を実行することができます。MINIX 3に興味がある方は実際に動かしてみてはいかがでしょうか。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次