ソフトウェア

1000行未満のコードでOSを自作する方法を解説する日本語サイトが公開中


「OSの開発」と聞くと、大企業や大規模組織にしか作れない複雑なものをイメージしがちです。「OS in 1,000 Lines」はOS専門家の怒田晟也氏が記した無料の教材で、OSの基本的な仕組みを学びつつ1000行未満のシンプルなコードでOSを作成することができます。

1,000行で作るオペレーティングシステム
https://seiya.me/blog/operating-system-in-1000-lines

はじめに | OS in 1,000 Lines
https://operating-system-in-1000-lines.vercel.app/ja/


「OS in 1,000 Lines」は最初から最後まで日本語で記述されており、解説を読みながらコードを書くことで「コンテキストスイッチ」「ページング」「ユーザーモード」「コマンドラインシェル」「ディスクデバイスドライバ」「ファイルの読み書き」という機能を備えたOSを作成できます。

解説は「C言語を理解している」「UNIX系のコマンド操作に慣れている」ということを前提に記されていますが、知識のある人ならRustやZigといったC言語以外のプログラミング言語でも実装可能とのこと。また、開発環境はmacOSかUbuntuが想定されており、Windowsの場合はWSL2を用いてUbuntuを起動することが推奨されています。なお、想定OS以外のシステムを使う場合でもコンパイラや逆アセンブラなどの必要なソフトウェアを用意すれば同様の手順でOSを開発可能です。開発環境の詳しい構築手順は開発環境の章に記されています。


「OS in 1,000 Lines」では「仕様がシンプルである」「近年、よく話題にあがる」といった理由から32ビットのRISC-Vを動作対象ハードウェアとして選定しています。また、RISC-Vコアを搭載した実機デバイスを用意せずとも開発できるように、仮想マシン「QEMU」を採用しています。

QEMUを用いることで、デバッグが簡単になるというメリットもあります。通常、OSを開発する際は「ちゃんとOSが動いているのかよく分からない」という状況が発生しがちだそうですが、QEMUに搭載されているデバッグ機能を用いることで実行中の命令を容易に確認できるというわけです。


なお、怒田氏は独自の「HinaOS」を用いてマイクロカーネルの設計について解説する書籍「自作OSで学ぶマイクロカーネルの設計と実装」もリリースしています。自作OSで学ぶマイクロカーネルの設計と実装はAmazon.co.jpでは税込3960円で入手可能です。

自作OSで学ぶマイクロカーネルの設計と実装 | 怒田晟也 |本 | 通販 | Amazon

この記事のタイトルとURLをコピーする

・関連記事
ブラウザで動作するマルチタスク対応DOSを自作した猛者が現れる - GIGAZINE

オープンソースでプライバシー特化な携帯電話を自作するプロジェクト「mikroPhone」 - GIGAZINE

メガドライブ相当のゲームをC言語のみで自作可能なOSSのゲーム機「VGS-Zero」 - GIGAZINE

「Raspberry Pi Pico 2」のRISC-VコアでLチカを実行&デバッグしてみた - GIGAZINE

AI自作レビュー、「USBケーブルの種類を見分けるAIモデル」をトレーニングしてAIカメラを作ってみた【Raspberry Pi AI Camera】 - GIGAZINE

in ソフトウェア, Posted by log1o_hf

You can read the machine translated English article here.