はじめに
Pythonで何か開発をしたいなと思い、色々考えてみた結果小さなOSを作ってみることにしました。
Windowsはアセンブリ言語やC言語で実装されていると聞きました。なので、Pythonでもある程度はできるんじゃないか、と思い立ったのがきっかけです。
目標
とりあえず、以下のことを目標としました。
- ブートローダーを作る
- カーネルを作る
- シェルを作る
- UIを作る
- ファイルシステムを作る
- ネットワーク通信を実装する
- セキュリティ管理を実現する
OSの機能には以下のようなものがあります。
- ハードウェアの管理と制御
- ソフトウェアの管理
- ファイルの管理
- タスク管理
- メモリ管理
- UIの提供
- ネットワーク通信
- セキュリティ管理
これらの機能を上記の目標を達成する中で実装する、というのが目標です。
要件
また、自分なりに以下の要件を設定しました。
- Pythonシステムで閉じている
- 再起動する際データを保っているようにする
- GUIとCUIどちらも使えるようにする
- ネットワーク通信以外の機能はできるだけ外部に頼らず実装する
これらの要件を満たしつつ開発を進めていこうと思います。
展望
とりあえずリポジトリは立てました。
少しずつ進めていきたいと思います。
参考文献
OSの役割や機能を具体例付きで7つ紹介!【わかりやすく解説】 | Webpia
ブートローダとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
カーネルとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典