ゼロからオペレーティングシステムを書くことは、複雑で挑戦的な作業ですが、やりがいのある教育的な経験でもあります。次のように、従うことができる手順の概要です。

開発環境を選択します。オペレーティングシステムを作成およびテストするには、コンピューターと開発環境が必要です。AMD64アーキテクチャのコードをコンパイルできるクロスコンパイラをインストールする必要があります。

オペレーティングシステムの計画：オペレーティングシステムを使用したい機能、必要なハードウェアサポート、エミュレートしたい他のオペレーティングシステム、および作成するために必要なリソースを決定します。

ブートローダーの作成：ブートローダーは、コンピューターが起動したときに実行される最初のコードです。システム環境をセットアップし、ハードウェアを初期化し、コントロールをオペレーティングシステムカーネルに転送します。

カーネルの作成：カーネルはオペレーティングシステムの中核であり、システムリソースの管理、プロセスのスケジューリング、システムサービスの提供を担当します。割り込み処理やプロセス管理などの基本機能を実装してから、それに基づいて構築します。

システムコールの実装：システム呼び出しは、カーネルとユーザーレベルのプロセス間のインターフェイスです。ユーザーレベルのプロセスがカーネルからシステムサービスをリクエストできるようにします。

デバイスドライバーの開発：オペレーティングシステムでは、ディスクコントローラー、ネットワークカード、ビデオカードなど、ハードウェアと通信するためのデバイスドライバーが必要です。低レベルでハードウェアと通信するコードを作成する必要があります。

ファイルシステムの実装：ファイルシステムにより、オペレーティングシステムがディスク上のデータを保存および取得できます。既存のファイルシステムの使用または独自のカスタムファイルシステムの作成を検討してください。

ユーザーレベルのアプリケーションの書き込み：最後に、シェル、テキストエディター、その他のユーティリティなど、オペレーティングシステムの上に実行されるアプリケーションを作成する必要があります。

これは、オペレーティングシステムをゼロから書くことに伴う手順の高レベルの概要です。各ステップには多くのサブタスクがあり、途中で多くの決定が行われます。さらにガイダンスを提供し、プロセスを進めるにつれてご質問にお答えいたします。
Writing an operating system from scratch is a complex and challenging task, but it can also be a rewarding and educational experience. Here's an overview of the steps you could follow:

Choose a development environment: You'll need a computer and a development environment to write and test your operating system. You'll need to install a cross-compiler that can compile code for the AMD64 architecture.

Plan your operating system: Determine what features you want your operating system to have, what hardware support it will require, what other operating systems you'd like to emulate, and what resources you'll need to create it.

Create a bootloader: The bootloader is the first code that runs when your computer starts up. It sets up the system environment, initializes hardware, and transfers control to the operating system kernel.

Create a kernel: The kernel is the core of your operating system, responsible for managing system resources, scheduling processes, and providing system services. Start by implementing basic functionality like interrupt handling and process management, and then build upon it.

Implement system calls: System calls are the interface between the kernel and user-level processes. They allow user-level processes to request system services from the kernel.

Develop device drivers: Your operating system will need device drivers to communicate with hardware, such as disk controllers, network cards, and video cards. You'll need to write code that communicates with hardware in a low-level manner.

Implement a file system: A file system allows your operating system to store and retrieve data on a disk. Consider using an existing file system or creating your own custom file system.

Write user-level applications: Finally, you'll need to write applications that run on top of your operating system, such as a shell, text editor, and other utilities.

This is a high-level overview of the steps involved in writing an operating system from scratch. There are many subtasks within each step and many decisions to be made along the way. I would be happy to provide further guidance and answer any questions you have as you progress through the process.