अपना खुद का ऑपरेटिंग सिस्टम बनाएं: एक C कंपाइलर और MinGW-w64 जैसे टूल इंस्टॉल करें। कर्नेल को लोड करने के लिए असेंबली भाषा का उपयोग करके एक बूटलोडर लिखें। कमांड इंटरप्रेटर सहित C में कर्नेल बनाएं। बूटलोडर और कर्नेल को "os.img" फ़ाइल में संयोजित करने के लिए मेकफ़ाइल का उपयोग करें। वर्चुअल मशीन या वर्चुअलबॉक्स जैसे हार्डवेयर पर "os.img" फ़ाइल चलाएँ।
अपना खुद का ऑपरेटिंग सिस्टम बनाएं (वास्तव में): शुरुआती लोगों के लिए सी प्रोग्रामिंग
कंप्यूटर की दुनिया में, संचालन प्रणाली (ओएस) ) सबसे महत्वपूर्ण सॉफ्टवेयर में से एक है। यह हार्डवेयर संसाधनों के प्रबंधन और उपयोगकर्ताओं को कंप्यूटर के साथ इंटरैक्ट करने के लिए एक इंटरफ़ेस प्रदान करने के लिए जिम्मेदार है। हालांकि एक ऑफ-द-शेल्फ ऑपरेटिंग सिस्टम का उपयोग करना सुविधाजनक है, लेकिन शुरुआत से अपना खुद का ऑपरेटिंग सिस्टम बनाने से आपको अपने कंप्यूटर की आंतरिक कार्यप्रणाली के बारे में जानकारी मिल सकती है। इस लेख में, हम आपको सी प्रोग्रामिंग भाषा का उपयोग करके अपना स्वयं का ऑपरेटिंग सिस्टम बनाने के लिए चरण-दर-चरण मार्गदर्शन करेंगे, जिससे आपको ऑपरेटिंग सिस्टम डिज़ाइन की जटिलता और शक्ति के बारे में जानकारी मिलेगी।
चरण एक: कंपाइलर और उपकरण स्थापित करें
शुरू करने से पहले, आपको एक सी कंपाइलर और कुछ अतिरिक्त उपकरण स्थापित करने की आवश्यकता होगी। शुरुआती लोगों के लिए, MinGW-w64 एक अच्छा विकल्प है, जो विंडोज़ सिस्टम के लिए पूर्ण C संकलन वातावरण प्रदान करता है। आप Linux और macOS के लिए विकल्प भी पा सकते हैं।
चरण 2: बूट लोडर लिखें
बूट लोडर ऑपरेटिंग सिस्टम का पहला भाग है और कंप्यूटर शुरू होने पर कर्नेल को लोड करने के लिए जिम्मेदार है। हम असेंबली भाषा में एक सरल बूटलोडर लिखेंगे क्योंकि यह हमें हार्डवेयर के साथ सीधे इंटरैक्ट करने की अनुमति देता है। कोड इस तरह दिखता है:
; 入口点 entry: ; 加载内核到内存 mov eax, 0x1000 mov ebx, 0x100000 mov ecx, 0x10000 rep movsb ; 跳转到内核入口点 jmp 0x1000
चरण 3: कर्नेल का पहला संस्करण
अब, आइए कर्नेल का पहला संस्करण लिखें। इसमें एक सरल कमांड दुभाषिया होगा जो हमें कमांड दर्ज करने और सिस्टम के साथ बातचीत करने की अनुमति देता है। कर्नेल कोड इस तरह दिखता है:
#includeint main() { while (1) { char command[256]; // 提示用户输入命令 printf("> "); // 读取命令并执行它 scanf("%s", command); if (strcmp(command, "exit") == 0) { break; } else if (strcmp(command, "help") == 0) { printf("Available commands: exit, help\n"); } else { printf("Invalid command\n"); } } // 返回 0 以指示成功终止 return 0; }
चरण चार: सब कुछ एक साथ रखना
अब जब हमारे पास बूटलोडर और कर्नेल है, तो इसे एक साथ रखने का समय आ गया है। ऐसा करने के लिए, हमें एक मेकफ़ाइल बनाने की आवश्यकता है जो निर्माण प्रक्रिया को परिभाषित करती है:
bootloader: bootloader.asm nasm -f bin bootloader.asm kernel: kernel.c gcc -ffreestanding -o kernel kernel.c all: bootloader kernel dd if=bootloader of=os.img bs=512 count=1 dd if=kernel of=os.img bs=512 seek=1
Run make
कमांड संकलित करेगा और बूट लोडर और कर्नेल को लिंक करेगा, और ऑपरेटिंग सिस्टम छवि फ़ाइल बनाएगा ओएस .img
।
व्यावहारिक मामला: अपना ऑपरेटिंग सिस्टम चलाना
एक बार जब आपके पास एक ऑपरेटिंग सिस्टम छवि हो, तो आप इसे वर्चुअल मशीन या भौतिक हार्डवेयर का उपयोग करके चला सकते हैं। वर्चुअलबॉक्स में os.img
चलाने के लिए:
os.img
फ़ाइल को वर्चुअल डिस्क के पहले IDE चैनल में जोड़ें। आपका ऑपरेटिंग सिस्टम अब वर्चुअलबॉक्स में चलना चाहिए। आप कमांड प्रॉम्प्ट का उपयोग करके इसके साथ इंटरैक्ट कर सकते हैं।
निष्कर्ष
अपना खुद का ऑपरेटिंग सिस्टम बनाना एक रोमांचक और चुनौतीपूर्ण अनुभव है। इस गाइड का पालन करके, आप ऑपरेटिंग सिस्टम डिज़ाइन के मूल सिद्धांतों को समझेंगे और उस उपलब्धि की भावना का अनुभव करेंगे जो स्क्रैच से सॉफ़्टवेयर बनाने के साथ आती है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3