始めましょう!
C言語とx86アセンブリ
もちろん、簡単なアセンブリの基礎は必要です。 C言語については、ソースファイルから実行可能ファイルまでのプロセスを理解するために多くの知識を必要としません。
基本的なlinuxコマンド
単純なカーネルコンパイルでは、 nasmなどのlinuxの下でいくつかのツールを使用しました。もちろん、 gccを含むwindowsにもあります。ただし、コンパイルプロセスはlinux仮想マシンで行われます。
どのツールを使用しますか?
Notepad++ 、 sublimeなどのテキストエディター、最も単純なメモ帳は問題ありません。sublimeツール自体を16形式で表示でき、仮想マシンには解析に役立つツールもあります。linux Virtual Machineでは、ここでUbuntu i386を使用しています。ツールnasm 、 vim 、 gcc 、 readelfなどをインストールする必要があります。もちろん、心配する必要はありません。これらのツールまたは資料を使用する場合、記事にはハイパーリンクがあります。ダウンロードして確認できます。同時に、あなたが読むためにインターネット上に多くの情報もあります。
最終結果は何ですか?
最後に、もちろん、それは非常に完全なオペレーティングシステムではありません。これは、 C言語とアセンブリの関係だけでなく、 OSの研究探査と理解のようなものであり、最後に、ハードウェアとソフトウェアがどのように対処するかを理解しています。
7部分で、電源オンとパワーオンのみを完了し、メインブートセクターをロードしてから、より多くの情報をメモリにロードしました。最後に、実際のモードから保護モードへのエントリを実現しました。それはすべてですが、オペレーティングシステムのプロトタイプはほぼ同じです。
プロセス全体を通して、いくつかのビデオと電子教科書を参照しました
[1] 「 30日間の自家製オペレーティングシステム」
[2] 「 Orangesオペレーティングシステムの実装」
[3] 51CTO
等
主なリファレンスは電子書籍です[2] 。 [1]のコンテンツはより包括的であり、最終結果はより完全になります。
ソースファイルとメモは、 GitHubにアップロードされます。ご質問がある場合は、 [email protected]に連絡することもできます。各フォルダーは独立した構造であり、コンパイルされたバイナリファイルはアップロードされませんが、ソースコードとツールはアップロードされます。