Ini adalah implementasi saya dari laboratorium dari sistem pascasarjana sistem operasi MIT 6.828. (MIT dengan anggun menawarkan materi kursus mereka kepada publik).
Berikut ini dikutip dari situs web.
Laboratorium ini dibagi menjadi 6 bagian utama yang saling membangun, berpuncak pada sistem operasi primitif di mana Anda dapat menjalankan perintah sederhana melalui cangkang Anda sendiri. Kami memesan kuliah terakhir untuk Anda demo sistem operasi Anda ke seluruh kelas.
Sistem operasi yang akan Anda bangun, yang disebut JOS, akan memiliki fungsi seperti Unix (misalnya, garpu, eksekutif), tetapi diimplementasikan dalam gaya exokernel (yaitu, fungsi UNIX sebagian besar diimplementasikan sebagai perpustakaan tingkat pengguna alih-alih bawaan ke kernel). Bagian utama dari sistem operasi JOS adalah:
- Booting
- Manajemen memori
- Lingkungan pengguna
- Preemptive multitasking
- Sistem file, spawn, dan shell
- Driver jaringan
- Proyek terbuka
Kami akan menyediakan kode kerangka untuk potongan -potongan JOS, tetapi Anda harus melakukan semua kerja keras.
Lihat halaman web lab untuk konfigurasi penuh.
Cara sederhana untuk mencoba proyek ini adalah dengan menggunakan gambar Docker.
Docker Build -t Jos.
Itu bisa digunakan dengan:
docker run -v $(pwd):/to_build -it jos
Ini membuka shell di lingkungan dengan kompiler dan qemu yang tepat.
make
make qemu-nox
TODO: Tambahkan GDB dan QEMU dengan x