できるからです。
楽しい時間を過ごすことは、このプロジェクトの私の意欲です +私はそれと一緒にたくさんのクールな低レベルのものを学びます!
Cavosカーネルは、比較的単純なCで書かれたモノリシックX86_64で、あちこちに数ビットのIntelアセンブリがあります。 Limine Bootloaderを使用し、Root2とルートパーティションのExt2とともにBootingのFAT32ファイルシステムをレバレッジします。抽象化を避けながら、コード構造を清潔に保ち、かなり理解しやすくしようとしています。したがって、パフォーマンスの向上よりもコードの品質と明確さが優先されることがあります。
ユーザースペースは当時の私の主な焦点であり、カーネルは非常に安定しています。私はこのOSをできる限りLinuxに近づけ、その上に自分のものを追加しようとしています。これは、Linuxのようなシステム呼び出しで表示されます。それはランダムではありません、私はキャボスをできるだけバイナリに互換性があることを望んでいます!
いいえ! Cavosカーネルは、Linuxとソースコードやヘッダーを共有していません。 Linuxソースコードは、ユーザースペースアセンブリ中に引用されますが、一部のサードパーティ(移植)プログラムはヘッダーに依存しているためです。それでも、実際のコードは共有されていません。
これらの目標が満たされることはなく、完了するのに非常に長い時間がかかること(私たちは何年もの間話している)、またはまったく行われないかもしれません。さらに、このリストには実装または計画されたすべての機能が含まれるわけではなく、いつでも変更できます...
systemcall これに関するすべては、install.mdで見つけることができます。 OSの構築、未使用のバイナリやその他のものの清掃に関する詳細については、そこにアクセスしてください。
2024年3月2日土曜日。多くの回避策、「悪い」決定、そして圧倒的な「ちょうどワークス」のメンタリティを通じて、私は純粋にX86(32ビット)カーネルをつなぎ合わせました。まだ古いコードを保持しています(ページングなどの単純な概念をほとんど理解していなかったとき)、時代遅れの図書館、その他多くのものを保持しています。それは時々機能しましたが、私は満足していませんでした。
午後5時;その午後、私はすべてをx86_64アーキテクチャに移行し、実際の悪夢がデバッグするための多くの信頼性の問題を解決する長いプロセスを開始することにしました。私は基本的に特定のポイントに到達し、Quick&Dityソリューションが完全に回避可能な間違いにつながるだけであることを理解しました。
このプロジェクトは、GPL V3(GNU General Public License v3.0)の下でライセンスされています。詳細については、ライセンスファイルをご覧ください。