OS 2020
OS 2020は32ビットOSです。
Cおよびアセンブリ(NASM)で記述され、カスタムブートローダー、LIBC、FAT32ファイルシステムを提供します。
いくつかのスクリーンショット



特徴
このOSは、「Octos」という名前の古いOSを改善することを目的としています。
改善のリストは次のとおりです。
- ブートシステム:2段階のブートローダーが実装されているため、2つのブートローダーがあり、OSは動的にロードされます。実行時にチャンクの終わりを検出します
- ライブラリ:OctosはC ++で書かれており、カスタム標準ライブラリがありました。 OS 2020にはLIBC(完全に実装されていませんが、このファイルを詳細については参照)とLIBKには、LIBCがメインIO /文字列関数を収集し、LIBKはSYSCALLSやデータ構造やパス機能などのUTILなどのシステム関連関数を処理します。
- Syscalls:主な目標は、ユーザーモードを作成することではなく、アプリにSyscallsを提供することです
- ファイルIO:このOSは、OSのファイルシステムを取得または交換するためのFAT32ドライバーにスクリプトを提供します(詳細についてはこのファイルを参照)
- アプリ:OS 2020には、LS、CAT、エコー、入力リダイレクトのあるシェルなどのLinuxからインスピレーションを受けたいくつかのプロセス(アプリと呼ばれる)が含まれています。
- メモリ:C ++コンストラクター /デストラクタのために、Octosはメモリリークに苦しんでいました。 OS 2020はコンストラクターを使用せず、Cを使用しません。
建築
- ドキュメント:ドキュメント
- SRC/STAGE1:最初のブートローダーチャンク(フルASM)
- SRC/STAGE2:2番目のブートローダーチャンク
- SRC/カーネル:コアチャンク
- SRC/LIB:LIBCとLIBK
依存症
- GCCクロスコンパイラ(i386用)
- nasm
- mtools(fsのためにあなたのパスに /sbinを追加)
- Qemu-System-I386(オプション、テストする)
- objcopy(オプション、デバッグする)
- GDB(オプション、デバッグする)
- Xterm(オプション、デバッグする)