Kursus Desain Sistem Operasi Universitas Wuhan Pekerjaan Rumah: Mereproduksi Kernel Sistem Operasi
Referensi: Sistem Operasi Homemade 30 Hari
Semua proses percobaan ini dan masalah yang dihadapi di tengah, prinsip -prinsip dan solusi dicatat di sini. Tugas dan konten kode setiap hari diperbarui di folder yang sesuai. Direktori yang sesuai hanyalah file kode akhir yang diselesaikan pada hari itu.
Setiap konten folder dapat dijalankan secara langsung tanpa instalasi tambahan, dan dijalankan di bawah sistem operasi Windows
Jalankan program pada hari {day}
make -C day{DAY}Misalnya, jalankan pada hari ke 10
make -C day10Hapus file yang dihasilkan
make -C day{DAY} cleanQEMU akan memiliki kesalahan dalam beberapa simulasi status sistem operasi di komputer saya, dan akan ada gangguan pengecualian pada Day10 dan Day11 untuk keluar.
Input keyboard Day7 macet, dan input huruf diulang dan tidak dapat terganggu di masa depan. Ini karena metode input Cina. Beralih ke metode input bahasa Inggris ketika input dapat menyelesaikannya, tetapi situasi ini tidak terjadi pada teman sekamar dan komputer teman sekelas saya. Itu tidak muncul di sistem operasi WIN10 dari mesin virtual VMware saya, jadi kesalahan ini tidak dapat direproduksi. Jika Anda mengalami kesalahan ini, Anda dapat mengkompilasi file gambar floppy disk IMG dan mengimpor mesin virtual VMware. Lihat Blog Day1 untuk metode penggunaan terkait.
Silakan beralih ke metode input bahasa Inggris saat memasukkan keyboard, jika tidak, situasi abnormal akan terjadi.
Day1
Area startup dasar
Day10
Buffer input dan output, IDT GDT, pemrosesan interupsi, manajemen memori, gambar grafik, input mouse, pemrosesan overlay
Day20
Optimalisasi Jendela, Pengatur Waktu, Optimalisasi Pemrosesan Interupsi, Penjadwalan Proses Multi-Task, Jendela Baris Perintah, Optimalisasi Input Keyboard, Eksekusi Aplikasi, API
Dukung Dir MEM Tipe CLS Hello Directive
Day30
Penggunaan Dasar
Perintah terkait baris perintah
Dir: Lihat File Direktori
mem: melihat memori dan tersisa
CLS: konten konsol yang jelas
NCST: Gunakan NCST + Perintah berikut untuk menjalankan program tanpa mempengaruhi input konsol saat ini
Star1: Gambar sedikit (bintang)
Bintang: Gambarlah banyak titik
Walk: Pindahkan kursor (atas, bawah, kiri dan kanan)
warna, warna2: dua cakram warna
notrec: jendela non-rec
BBALL: Lingkaran yang digambar oleh garis
Invader: aplikasi masturbasi alien
Langmode + {Mode}: Switching Mode Bahasa, Langmode 0 adalah mode bahasa Inggris, 1 adalah mode Jepang, dan 2 adalah mode EUC Jepang
Ketik + {FileName}: Lihat Konten File (Perhatikan bahwa Langmode, Langmode akan muncul dalam kode yang kacau jika salah, dan jangan mencoba melihat beberapa gambar format aneh)
TVIEW + {fileName}: Buat kotak teks baru untuk melihat konten file
mmmlplay + {filename}: buka pemutar musik
mmlplay daigo.mmlgview + {fileName}: pratinjau gambarnya
gview night.bmp
gview fujisan.jpgcalc + {format}: kalkulator
Input keyboard saya sendiri tampaknya sedikit masalah, sedikit aneh
Gambar berikut adalah beberapa demonstrasi fungsi
Informasi Terkait Eksperimen Kursus