スクリプト言語で書かれたOSを作成するのは良い考えですか?
たとえば、Pythonを使用してOSを作成するのはどうですか?
スクリプト言語で書かれたOSを作成するのは良い考えですか?
たとえば、Pythonを使用してOSを作成するのはどうですか?
回答:
それは単に悪い考えではありません。それはほとんど不可能です。
IO機能がホストオペレーティングシステムに完全に依存する言語でIOをどのように実装しますか?
どのようにして、有用な割り込みプリミティブなしでプリミティブスケジューリングを実装できますか?
特定のバイトをアドレス指定できない言語でデバイスドライバーを作成するにはどうすればよいでしょうか。
編集:-少し明確にするために。マシンと直接対話する「実際の」OSを「スクリプト」言語で作成することはできません。ただし、スクリッティング言語に十分な柔軟性がある場合は、使用可能な「仮想マシン」を作成できます。たとえば、ドナルド・クヌースの理論的なMIX(s)マシンの実装と、pacman を実行するのに十分なZX80 エミュレーターは、JavaScriptで記述されています。
どのように決定する前に、何を指定する必要があります。この新しいOSは何をしますか?どこで実行されますか?なぜ誰かがそれを使うのを邪魔するのでしょうか?など次に、OSの品質を判断します。速度、セキュリティ、スレッディング、メモリ管理、マルチタスク、ファイル形式、言語サポート、サポートされているプロセッサなど。
上記の質問に答え、OSの多くの品質を検討することで、目標を達成するために使用するツールを決定できます。
今、本当にそうしたいですか?
Linuxの一部の記述にPythonが一部使用されたと思います-参照:Windows、Mac OS X、Linuxで記述されている言語は何ですか?
私はこれが適切な答えではないことを知っていますが、このプロジェクトは、JavaScriptで書かれたカーネルを使用して動作するオペレーティングシステムを示しています。
https://github.com/charliesome/jsos/
VGAおよびキーボード用のドライバーも、割り込みを使用してJavaScriptで記述されています。しばらく前にOpenGL 1.1の実装を自分で開発しましたが、かなりうまく動作します。
いいえ、それは不可能です(排他的に)
どうして?以下を検討してください。
スクリプト言語とは何ですか?
「スクリプト言語」の定義について、次の2つの仮定をしてみましょう。
オペレーティングシステムとは何ですか?
オペレーティングシステムの主な目的を次のように簡略化できると仮定します。
これらの定義によって、スクリプト言語をオペレーティングシステムにすることは論理的に不可能です。どうして?
Cなどの「生の」言語で最小量のコードを書くことは可能ですが、生のコンパイル済み言語は常に定義上必要になります。 これが整ったら、OSの他の部分をスクリプト言語で実装できますが、スクリプト言語を単独で使用することはできません。
原則として、Pythonでオペレーティングシステムを作成できることを維持する必要があります。Pythonから低レベルの言語コンパイラを作成し、コンピュータの低レベル部分へのアクセスを提供するモジュールを標準ライブラリに追加する必要があります。しかし、これらの2つの部品が配置されていれば、それは可能です。
しかしながら、