Sistem operasi sederhana yang dapat berjalan pada prosesor multi-core x86-64.
Ini adalah pekerjaan rumah saya yang dilakukan dalam kursus Eksperimen Sistem Operasi. Karena kelas hanya berbicara tentang desain sistem operasi pada CPU inti tunggal 32-bit, dan saya lebih tertarik pada sistem operasi yang berjalan pada prosesor multi-core, saya memilih untuk menulis sistem operasi pada multi-prosesor simetris x64.
Dikembangkan menggunakan Ubuntu 16.04. Ketergantungan Instalasi:
apt install make gcc gdb qemu
berlari
make qemu

Menyediakan API Proses/Utas untuk aplikasi, proses pendukung/pembuatan utas, menunggu, membatalkan, tidur, dan operasi lainnya.
Mengimplementasikan teknologi copy-on-write memori selama pembuatan proses.
Hindari kondisi ras ketika beberapa CPU mengeksekusi instruksi melalui mekanisme mutex sinkron yang tepat.
Gunakan Lapic/Ioapic untuk mewujudkan startup dan mengganggu kontrol CPU multi-core.
Simpan variabel yang terkait dengan CPU tertentu melalui variabel thread_local.
| nomor seri | nama |
|---|---|
| 0 | garpu |
| 1 | KELUAR |
| 2 | thread_create |
| 3 | thread_exit |
| 4 | wait_process |
| 5 | wait_thread |
| 6 | get_pid |
| 7 | get_tid |
| 8 | Kill_process |
| 9 | Kill_thread |
| 10 | tidur |
| 11 | membuka |
| 12 | Menutup |
| 13 | membaca |
| 14 | Menulis |
| 15 | untlink |
| 16 | readdir |
| 17 | Stat |
| 18 | mkdir |
| 19 | rmdir |
| 20 | lseek |
| dua puluh satu | EXEC |
Menerapkan mekanisme sinyal.
Menerapkan dukungan untuk sistem file yang umum digunakan.
Tumpukan Protokol TCP/IP.