質問

これは本当に広大な質問であり、私は主に以下についてもっと学ぶことができるリソースを探しています。

PythonインタープリターはCで書かれており、Cで書かれたPython仮想マシンで実行されるバイトコードを生成します(右?)。私の質問は、これらの両方をPython自体に実装することが可能ですか?私がこれを使ってどこに行っているのかは、PythonでOSのようなものを書くことができる(技術的な)可能性、特に静的に何もコンパイルすることなく?

私が正しく理解していれば、PythonにはPythonでも記述する必要があるアセンブラーがありません。これらのことは、技術的に(実行可能に)できることですか?それとも、Pythonの動的なタイピングは何らかの問題を引き起こしますか?

マイクロプロセッサのアーキテクチャ、アセンブリ、マシンコードについて少し知っています。最近のEEグレードが学校で学んでいることです。しかし、私はPythonのような高レベルの言語の全体像を見て迷子になります。

役に立ちましたか?

解決

最初に、あらゆる言語、できればPythonでPythonコンパイラ(インタープリターではない)を書く必要があります。コンパイラの最初の実行は、通訳を通して実行する必要があります。

その後、コンパイラ自身をコンパイして、通訳を必要としないネイティブコンパイラになります。

その後、コンパイラを使用して、Pythonをネイティブコードにコンパイルできます。

このプロセスはブートストラップと呼ばれ、多くではないにしても、多くの言語の主要なコンパイラによって使用されています。

このプロセスの詳細については、こちらをご覧ください。 http://en.wikipedia.org/wiki/bootstrapping_(compilers)

オペレーティングシステムの作成に関しては、コンパイルされたコードを避けたい場合は、最小限のPythonインタープリターとして実装する必要があります。 Pythonインタープリターをマイクロカーネルとして書くと、Pythonで残りのオペレーティングシステムを書くことができます。 (編集:私はちょうど誤ってクリーズを説明しました、Jiaaroが言及した:))

他のヒント

インタープリターではなくコンパイラ。しかし、あなたは探しています パイキー.

ジェームズ・タウバーはまた、Pythonと呼ばれる概念Proof of ConceptOSを構築しました クリーズ, 、そして最近、それを機能させる努力を始めました パイキー (Pythonで書かれたPythonインタープリター)

OS実装の質問に関しては、OSを実装するにはシステムプログラミング言語が必要です。純粋なPythonですべてを行うことは、Pythonアセンブラーを夢見て、PythonをVMが必要としない直接実行可能バイナリに変換できない限り不可能です。

アセンブリでコーディングしてPythonを取得してもらいたい場合は、少しデートして実験的なものをご覧ください pyasm.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top