- x86 ऑपरेटिंग सिस्टम को सीधे विकसित करने के तरीके पर एक व्यावहारिक गाइड
- तकनीकी विवरण देते हुए भी कोड उदाहरणों या सैंपल के जरिए बहुत अधिक जानकारी उजागर न करने के उद्देश्य से लिखी गई
- ऑपरेटिंग सिस्टम के सिद्धांत या किसी विशेष ऑपरेटिंग सिस्टम के काम करने के तरीके की व्याख्या नहीं करती
- शुरुआती चैप्टर विस्तृत और ठोस रूप से समझाते हैं ताकि कोड लिखने की आदत जल्दी बन सके
- बाद के चैप्टर अवधारणाओं और आवश्यकताओं का खाका देते हैं, और implementation व design पाठक को स्वयं करने के लिए प्रेरित करते हैं
- अगर ऑपरेटिंग सिस्टम थ्योरी सीखनी हो तो Andrew Tanenbaum की Modern Operating Systems की सिफारिश
मुख्य चैप्टर सामग्री
- शुरुआती चैप्टर
- 2~3 अध्याय: डेवलपमेंट environment सेट करना और virtual machine में OS kernel boot करना → C भाषा में कोड लिखना शुरू
- 4 अध्याय: स्क्रीन आउटपुट और serial port आउटपुट
- 5 अध्याय: segmentation
- 6 अध्याय: interrupt और input handling
- functional kernel डेवलपमेंट के बाद की प्रक्रिया
- 7 अध्याय: user mode application support की तैयारी
- 8~9 अध्याय: paging के जरिए virtual memory सेटअप
- 10 अध्याय: memory allocation
- 11 अध्याय: user application चलाना
- उन्नत विषय
- 12 अध्याय: file system
- 13 अध्याय: system call
- 14 अध्याय: multitasking
किताब की पृष्ठभूमि और डेवलपमेंट प्रक्रिया
- यह किताब और OS kernel स्वीडन के Royal Institute of Technology के एक उन्नत individual course के माध्यम से विकसित किए गए
- लेखकों ने पहले OS theory का कोर्स किया था, लेकिन वास्तविक kernel डेवलपमेंट का अनुभव कम था
- theory को वास्तव में implement करके और उसे गहराई से समझने के लिए नया course शुरू किया गया और यह किताब लिखी गई
- x86 architecture लंबे समय तक सबसे व्यापक रूप से इस्तेमाल होने वाला hardware architecture रहा है, और इसके लिए बहुत सारी reference material और emulator उपलब्ध हैं
- hardware details का documentation अक्सर जटिल और समझने में कठिन था
डेवलपमेंट तरीका
- लगभग 6 हफ्तों तक full-time काम
- छोटे-छोटे चरणों में implementation और हर चरण पर manual testing → bug के कारणों की पहचान आसान
- ज़्यादातर कोड pair programming के जरिए लिखा गया → bug कम होने की उम्मीद
लक्षित पाठक
- जिन पाठकों के पास निम्नलिखित पृष्ठभूमि ज्ञान है, उनके लिए उपयुक्त:
- UNIX/Linux और system programming से परिचित
- C भाषा से परिचित
- computer systems और hexadecimal notation आदि की समझ
- शुरुआती लोग भी इसे learning tool की तरह इस्तेमाल कर सकते हैं, लेकिन कठिनाई स्तर ऊँचा है
1 टिप्पणियां
Hacker News राय
मुझे osdev बहुत पसंद है। अंतिम लक्ष्य क्या है, यह नहीं पता, लेकिन यह बात बहुत शानदार है कि आप जो चाहें बना सकते हैं
बहुत से लोग अपनी पसंद के alternatives सुझाते हैं, लेकिन मैं अब भी Project Oberon का बड़ा प्रशंसक हूँ
इस किताब में osdev tutorials की वही पारंपरिक कमी है
मेरी पसंदीदा OS किताब अब भी Operating Systems: Three Easy Pieces है
धन्यवाद! यह इस विषय पर एक शानदार resource लग रही है
यह टिप्पणी 2000s की nostalgia जगा देती है
किताब अच्छी है। GitHub पर issues देखना अच्छा रहेगा
काश जापान की operating system development पर लिखी गई दो किताबों का अंग्रेज़ी अनुवाद हो जाता
मैं सोच रहा हूँ कि छोटे लाल OS किताब का manual कहाँ है
OS development की बात करें तो games सीखने को मज़ेदार बना देते हैं