"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > अपना खुद का ऑपरेटिंग सिस्टम बनाएं (वास्तव में!): शुरुआती लोगों के लिए सी प्रोग्रामिंग

अपना खुद का ऑपरेटिंग सिस्टम बनाएं (वास्तव में!): शुरुआती लोगों के लिए सी प्रोग्रामिंग

2024-11-08 को प्रकाशित
ब्राउज़ करें:971

अपना खुद का ऑपरेटिंग सिस्टम बनाएं: एक C कंपाइलर और MinGW-w64 जैसे टूल इंस्टॉल करें। कर्नेल को लोड करने के लिए असेंबली भाषा का उपयोग करके एक बूटलोडर लिखें। कमांड इंटरप्रेटर सहित C में कर्नेल बनाएं। बूटलोडर और कर्नेल को "os.img" फ़ाइल में संयोजित करने के लिए मेकफ़ाइल का उपयोग करें। वर्चुअल मशीन या वर्चुअलबॉक्स जैसे हार्डवेयर पर "os.img" फ़ाइल चलाएँ।

Build Your Own Operating System (Really!): C Programming for Beginners

अपना खुद का ऑपरेटिंग सिस्टम बनाएं (वास्तव में): शुरुआती लोगों के लिए सी प्रोग्रामिंग

कंप्यूटर की दुनिया में, संचालन प्रणाली (ओएस) ) सबसे महत्वपूर्ण सॉफ्टवेयर में से एक है। यह हार्डवेयर संसाधनों के प्रबंधन और उपयोगकर्ताओं को कंप्यूटर के साथ इंटरैक्ट करने के लिए एक इंटरफ़ेस प्रदान करने के लिए जिम्मेदार है। हालांकि एक ऑफ-द-शेल्फ ऑपरेटिंग सिस्टम का उपयोग करना सुविधाजनक है, लेकिन शुरुआत से अपना खुद का ऑपरेटिंग सिस्टम बनाने से आपको अपने कंप्यूटर की आंतरिक कार्यप्रणाली के बारे में जानकारी मिल सकती है। इस लेख में, हम आपको सी प्रोग्रामिंग भाषा का उपयोग करके अपना स्वयं का ऑपरेटिंग सिस्टम बनाने के लिए चरण-दर-चरण मार्गदर्शन करेंगे, जिससे आपको ऑपरेटिंग सिस्टम डिज़ाइन की जटिलता और शक्ति के बारे में जानकारी मिलेगी।

चरण एक: कंपाइलर और उपकरण स्थापित करें

शुरू करने से पहले, आपको एक सी कंपाइलर और कुछ अतिरिक्त उपकरण स्थापित करने की आवश्यकता होगी। शुरुआती लोगों के लिए, MinGW-w64 एक अच्छा विकल्प है, जो विंडोज़ सिस्टम के लिए पूर्ण C संकलन वातावरण प्रदान करता है। आप Linux और macOS के लिए विकल्प भी पा सकते हैं।

चरण 2: बूट लोडर लिखें

बूट लोडर ऑपरेटिंग सिस्टम का पहला भाग है और कंप्यूटर शुरू होने पर कर्नेल को लोड करने के लिए जिम्मेदार है। हम असेंबली भाषा में एक सरल बूटलोडर लिखेंगे क्योंकि यह हमें हार्डवेयर के साथ सीधे इंटरैक्ट करने की अनुमति देता है। कोड इस तरह दिखता है:

; 入口点
entry:
    ; 加载内核到内存
    mov eax, 0x1000
    mov ebx, 0x100000
    mov ecx, 0x10000
    rep movsb

    ; 跳转到内核入口点
    jmp 0x1000

चरण 3: कर्नेल का पहला संस्करण

अब, आइए कर्नेल का पहला संस्करण लिखें। इसमें एक सरल कमांड दुभाषिया होगा जो हमें कमांड दर्ज करने और सिस्टम के साथ बातचीत करने की अनुमति देता है। कर्नेल कोड इस तरह दिखता है:

#include 

int 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 चलाने के लिए:

  1. एक नई वर्चुअल मशीन बनाएं और ओएस प्रकार के रूप में "अन्य" चुनें।
  2. कम से कम 512एमबी रैम आवंटित करें।
  3. os.img फ़ाइल को वर्चुअल डिस्क के पहले IDE चैनल में जोड़ें।
  4. वर्चुअल मशीन प्रारंभ करें।

आपका ऑपरेटिंग सिस्टम अब वर्चुअलबॉक्स में चलना चाहिए। आप कमांड प्रॉम्प्ट का उपयोग करके इसके साथ इंटरैक्ट कर सकते हैं।

निष्कर्ष

अपना खुद का ऑपरेटिंग सिस्टम बनाना एक रोमांचक और चुनौतीपूर्ण अनुभव है। इस गाइड का पालन करके, आप ऑपरेटिंग सिस्टम डिज़ाइन के मूल सिद्धांतों को समझेंगे और उस उपलब्धि की भावना का अनुभव करेंगे जो स्क्रैच से सॉफ़्टवेयर बनाने के साथ आती है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3