1.000 Satırda İşletim Sistemi Gerçeklemek
(operating-system-in-1000-lines.vercel.app)- Bu kitap, küçük bir işletim sisteminin en baştan adım adım nasıl inşa edileceğini açıklıyor
- İşletim sistemi (OS) ya da çekirdek geliştirme dendiğinde gözünüz korkabilir, ancak OS’nin temel işlevleri (özellikle çekirdek) şaşırtıcı derecede basittir
- Linux da başlangıçta 8.413 satır kodla başladı; bugünün Linux çekirdeği çok büyük olsa da, hobi projesi gibi küçük bir kod tabanıyla yola çıkmıştı
Başlarken
- Temel context switch, paging, user mode, komut satırı shell’i, disk aygıt sürücüsü ve dosya okuma/yazma işlemlerini C diliyle gerçekleştireceğiz
- Bütün bunlar 1.000 satır kodla mümkün
- Kendi OS’nizi yaparken en zor kısım debugging’dir
printfdebugging’ini uygulayana kadar onu kullanamazsınız; ayrıca uygulama geliştirmede ihtiyaç duymadığınız çeşitli debugging tekniklerini ve becerilerini öğrenmeniz gerekir- Özellikle "en baştan" başladığınızda boot süreci ve paging gibi zor kısımlarla karşılaşırsınız
- Ama endişelenmeyin! OS debugging yöntemlerini de öğreneceksiniz
- Debugging ne kadar zorsa, başardığınızda alacağınız tatmin de o kadar büyüktür
- Hadi OS geliştirmenin heyecan verici dünyasına dalalım!
Diğer bilgiler
- Gerçekleme örnekleri GitHub’dan indirilebilir.
- Bu kitap CC BY 4.0 lisansı altında sunuluyor; gerçekleme örnekleri ve kaynak kodlar ise MIT lisansı altında
- C dili ve UNIX benzeri bir ortama aşina olmanız gerekir;
gcc hello.c && ./a.outkomutunu çalıştırabiliyorsanız hazırsınız demektir - Bu kitap, aslen Japonca yazılmış "Mikroçekirdeğin Tasarımı ve Gerçeklenmesi" kitabının eki olarak hazırlanmıştır
- Keyifli OS hacking’ler!
Kitabın içindekiler
- Intro
- Getting Started
- RISC-V 101
- Overview
- Boot
- Hello World!
- C Standard Library
- Kernel Panic
- Exception
- Memory Allocation
- Process
- Page Table
- Application
- User Mode
- System Call
- Disk I/O
- File System
- Outro
14 yorum
İşletim sistemi denen şeyi hep sadece kitaplardan görmüştüm; onu gerçek kodda görebilmek çok güzel.
Bu güzel kaynağı paylaştığınız için teşekkür ederim.
Harika kaynak, teşekkürler!!!!!!!!
Bu söz çok kıskandırıyor. Japonya'da uzmanlık kitapları gerçekten çok fazla ve çok iyi çıkıyor gibi görünüyor. Herhalde mesele nüfus sayısıdır?
Çevrilen kitaplara bakınca teknik olarak çok derine inen kitaplar pek yok gibi görünüyor, ama sadece farklı alanlardan kitapların çıktığı da anlaşılıyor. Muhtemelen pazar daha büyük olduğu için böyledir.
Güzel kaynak için teşekkürler.
Bir kez yapmayı deneyin ya da anlayacak seviyeye geldiğinizde, ileride Linux sisteminin nasıl çalıştığını görürsünüz; bu da Linux kullanırken işinize yarar.
2000’lerin başlarına kadar, bireylerin böyle küçük bir kernel yapmayı denemesi epey modaydı; ben de denemiştim ve bunun sayesinde birkaç yıl Linux kernel geliştirme işi yapabildim. Ülkede de işletim sistemi yapımıyla ilgili pek çok kitap çıkmıştı; iyi araştırırsanız bunu daha ayrıntılı anlatan kitaplar bulabilirsiniz.
İlgili alana geçiş yapmayacaksanız ve sadece hobi için yapacaksanız fena değildir ama ben olsam bugünlerde AI ya da k8s ile ilgili çalışmalar önerirdim. Hâlâ ara sıra KLDP gibi yerlerde kernel geliştiricisi olmak istediğini yazanlar oluyor; ama yorumlara bakınca herkesin söylediği tek şey yurt dışına gitmeleri gerektiği.
Muhtemelen ülke içinde kernel seviyesine yatırım yapan şirket olmadığı içindir sanırım..? hehe
Gerek olmadığı için yapmıyorlar mı, yoksa yapamadıkları için mi bilmiyorum ama gerçekten yok.
İyi kaynak için teşekkür ederim.
Tam da böyle kitaplar, wuxia romanlarında sözü edilen dövüş sanatları gizli el kitapları gibidir, değil mi? haha
Çok ilgi çekici görünüyor. Bir gün sistem programlamayı çalışmak istemiştim; başlangıç olarak işletim sisteminin nasıl çalıştığını programlama açısından anlayabileceğim beklentisini veriyor!
Hacker News görüşleri
Yazar, hafta sonunda doğrudan kendi işletim sistemini yapabilmek için bir kitap yazmış; C yerine Rust veya Zig gibi sevdiğiniz bir programlama dilini kullanabiliyorsunuz
"hobby" işletim sistemi programlama deneyimine dayanarak, GDB hata ayıklama kurulumunu mümkün olan en erken aşamada eklemek iyi olur
RISC-V için küçük bir işletim sistemi yapmanın harika olduğunu düşünüyor
Rust meraklıları için phil-opp'un rehberi eğlenceli bir alıştırma olabilir
RISC-V üzerine çalışmaya yeni başlamış; okuduğu kitabın sunduğu emülatörün QEMU'dan daha basit olduğunu ve garip bir lisansa sahip bulunduğunu söylüyor
xv6-riscv ile karşılaştırmanın ilginç olacağını düşünüyor
Düşük seviyeli tartışmalar her zaman ilgi çekici
İşletim sistemi yaparken en zor kısım hata ayıklama
İki projeden bahsediliyor
İyi bir kaynak; hafta sonunda okumak için kaydetmiş
Çekirdeği Nim ile...
Eğlenceli olacak gibi.