Kode ini mungkin tidak terlihat begitu cocok di banyak tempat, dan akan dikembalikan cepat atau lambat. Gudang Baru Recover-OS. Tunggu aku kembali untuk mengisi lubang. Versi refactored: https://github.com/yiezias/recover-os
Proyek ini didasarkan pada versi arsitektur AMD64 (atau arsitektur x86_64) dari sistem operasi yang diimplementasikan oleh "Sistem Operasi Kebenaran Pemulihan". Ide dan kode utama konsisten dengan buku asli.
Sistem operasi yang diimplementasikan oleh "Operating System Truth Restore" berjalan pada prosesor arsitektur X86 32-bit, tetapi sekarang kami telah memasuki era 64-bit. Jadi saya menyalin Lihat kode dalam "Sistem Operasi Kebenaran Pemulihan" untuk mengimplementasikan versi 64-bit-nya.
$ make run dapat mengkompilasi dan memulai emulator Bochs.
Sistem operasi ini memiliki game 2048, Snake, dan mini lainnya.
Tulis kode dengan pemulihan:
(Terminal tidak menerapkan pengalihan input dan output, dan kucing di bawah ini berbeda dari kucing di bawah Linux)
(Tampilkan fungsi menulis file teks)

2048 Mini Game:

Snake serakah (drop bingkai itu serius, jadi saya tidak akan membiarkan animasinya pergi):

Buku-buku terkait yang paling mudah dipahami yang saya baca, detail, dan menarik. Bahkan jika tampaknya agak bertele-tele, penulis masih perlu mencoba berbagai cara untuk membuat pembaca mengerti (di mana saya dapat menemukan buku yang ramah). Di antara banyak buku terkait sistem operasi, saya akhirnya memilih yang ini Satu -satunya yang bisa mengerti Implementasi buku sistem operasi.
Terutama perbedaan antara arsitektur AMD64 dan X86
Di bawah arsitektur AMD64, fungsi umumnya menggunakan register untuk meneruskan parameter, dan konvensi panggilan fungsi di bawah x86 tidak memiliki nilai referensi. Tapi mudah untuk dipahami dengan sendirinya. Tulis fungsi C secara detail dan kompilasi menjadi perakitan dan kemudian Anda akan memahaminya dengan menulisnya di GCC. Pengetahuan ini diperlukan di banyak tempat selama proses pengembangan.
Mode panjang dapat dipahami sebagai 64-bit fitur Mode yang dilindungi, prosesor perlu beralih dari mode nyata ke mode yang dilindungi dan kemudian ke mode panjang.
Cara yang paling nyaman untuk mendapatkan informasi tentu saja adalah mesin pencari, tetapi mesin pencari sering tidak dapat menemukan konten yang mereka inginkan, dan informasi yang benar -benar otoritatif masih AMD atau dokumen Intel.
Sistem ini sepenuhnya meninggalkan metode mengganggu implementasi panggilan sistem dan menggunakan instruksi panggilan sistem cepat sysret Syscall untuk mengimplementasikannya. Untuk detailnya, silakan merujuk ke dokumen AMD atau Intel, dan kontennya tidak rumit.
Sistem file penulis tidak terasa tertulis dengan sangat baik. Di satu sisi, sistem file sudah cukup rumit, tetapi penulis sering menggunakan hampir ratusan jalur fungsi, dan beberapa kode dapat digunakan kembali, tetapi perlu diimplementasikan berulang kali, yang secara keseluruhan sangat membingungkan. Sistem file sistem ini setara dengan perubahan besar pada penulis, tetapi seharusnya tidak sulit untuk dipahami berdasarkan buku dan kode penulis. Sistem file sistem ini tidak menerapkan fungsi-fungsi tingkat direktori, tetapi tidak mempengaruhi implementasi fungsi lain dari sistem, sehingga dihilangkan.
Shell penulis diimplementasikan dalam kernel. Sistem ini menggunakan shell sebagai aplikasi, dan proses init menggunakan panggilan sistem EXECV untuk memuat shell direktori root. Banyak perintah bawaan dari sistem penulis juga secara langsung diimplementasikan sebagai aplikasi dalam sistem ini. Tetapi level kode serupa. Ada juga mini-game khusus yang dapat menghubungi antarmuka sistem operasi untuk mengimplementasikan aplikasi secara independen, dan sistem ini pada dasarnya selesai.