Saya benar-benar ingin memahami bagaimana sistem operasi bekerja di belakang layar. Namun, saya berpikir bahwa kernel dari kebanyakan OS open-source di luar sana terlalu kompleks untuk tujuan pembelajaran, bahkan untuk dipelajari oleh programmer penuh waktu. Apakah ada OS "sederhana" yang dibuat hanya untuk tujuan belajar?
operating-systems
DotNetStudent
sumber
sumber
Jawaban:
Minix Andrew Tanenbaum (lihat Desain dan Implementasi Sistem Operasi ) dimaksudkan untuk tujuan yang persis seperti ini. Kemungkinan lain (walaupun cukup tanggal) adalah membaca Lion's Book , yang mencakup Unix V6 (Unix penuh, tetapi versi yang cukup lama sehingga masih cukup sederhana untuk dipelajari dengan cukup mudah). Kelemahan yang jelas dari yang terakhir adalah bahwa C yang digunakannya cukup usang, sehingga bahkan programmer C yang cukup berpengalaman mungkin menemukan bagian yang agak sulit dibaca, dan Anda tidak dapat merencanakan kompiler modern yang mencerna kode.
sumber
Anda harus mempertimbangkan Unix-a-like, sistem operasi Xv6 modern, yang digunakan dalam kursus OS di MIT. Tampaknya memiliki beberapa materi kursus yang terkait dengannya, juga.
Ini berjalan di emulator Bochs dan Qemu x86. Saya melakukan bagian itu. Itu menyenangkan.
sumber
Minix adalah pilihan yang bagus dan dijelaskan dalam salah satu respons lainnya.
Xinu
Juga pertimbangkan XINU - XINU Is Not Unix.
Apakah juga UNIX dieja mundur.
Ada buku karya Douglas Comer yang saya pikir ditulis dengan baik, berilustrasi dengan baik, dan cakupannya bagus.
Ada Xinu Tertanam dan situs web tentang mengajar dengan Xinu.
http://xinu.mscs.mu.edu/Teaching_With_Xinu
FreeRTOS
OS bertubuh kecil lainnya yang mendapat banyak cinta hari ini adalah FreeRTOS. Ini berjalan di hampir semua hal. Jika Anda berasal dari Mars dan memiliki prosesor atau papan eval di mana itu tidak berjalan, Anda bisa membaca sekitar 10 halaman dokumentasi, memodifikasi sekitar lima file yang berkaitan dengan interupsi, timer, dan UART dan Anda akan berjalan.
http://www.freertos.org/
Mereka mengklaim mendukung 31 arsitektur dan 18 rantai alat. Pengalaman saya pada akhir 2009 itu baik, dan saya mendengarnya telah banyak meningkat sejak saat itu.
Tautan Lainnya
Pertanyaan serupa tentang yang mungkin memiliki informasi bermanfaat untuk Anda terdapat di sini:
/programming/254149/how-do-you-write-a-basic-operating-system
Linux dan banyak desain sistem operasi lainnya dipengaruhi oleh UNIX, jadi video ini adalah tempat perancang asli (Kernigan, Richie, dan Thompson dan lainnya) informatif dan mendapatkan ide-ide desain langsung dari sumbernya.
http://techchannel.att.com/play-video.cfm/2012/2/22/AT&T-Archives-The-UNIX-System
Ada buku teks sistem operasi klasik tetapi sering direvisi:
Silberschatz, Galvin, Gagne: Konsep Sistem Operasi, Edisi ke-7
Mungkin ada edisi yang lebih baru juga. Saya jarang menautkan ke buku melalui penjual buku, tetapi pratinjaunya sangat murah hati, jadi untuk mempelajari lebih lanjut tentang sistem operasi, silakan periksa:
http://www.amazon.com/Operating-System-Concepts-Abraham-Silberschatz/dp/0470128720
sumber
Di universitas saya, kami telah mempelajari NachOS . Ini adalah OS open source yang bagus untuk belajar. Anda juga dapat menemukan banyak latihan universitas di NachOS untuk belajar.
sumber
Lihatlah KOS (Kid OD) dan SOS (Simple OS). Keduanya adalah Sistem Operasi yang dirancang untuk mengajarkan internal OS. KOS adalah "bapak" SOS, dan dibangun berdasarkan pengalaman yang diperoleh dari KOS.
Proyek-proyek ini adalah dasar dari banyak artikel pendidikan di Linux Magazine France.
Di situs web KOS, Anda juga dapat menemukan halaman tempat Anda dapat mengunduh sumber OS sederhana lainnya.
sumber
Jika Anda termasuk dalam rangkaian teknologi .NET, Anda dapat melihat Singularity . Itu belum diperbarui sejak 2008, tetapi dapat diunduh dalam sumber dan formulir ISO dari CodePlex di sini .
sumber
Orang-orang dapat memahami semua versi CP / M dan DOS awal. Setelah itu semuanya menjadi tidak terkendali dan tidak ada yang tahu segalanya lagi. Mereka tidak dirancang untuk belajar bagaimana OS bekerja tetapi banyak orang melakukan belajar bahwa dari OS tersebut.
sumber
Pergi membaca buku tentang pemrograman dalam assembler. Anda tidak harus menjadi mahir dalam hal itu tetapi itu akan mengajarkan Anda banyak pekerjaan dalam komputer.
sumber