इम्युलेटिंग लिनस टोरवाल्ड्स: स्क्रॅचपासून आपली स्वतःची ऑपरेटिंग सिस्टम तयार करा (सहावी)

बरं, थोड्या कंसानंतर आम्ही आमची पाठ्य श्रृंखला शिकवितो. जर आपण मागील कोडकडे परत आलो तर आपल्याकडे विभागातील ISR शून्य असणे आवश्यक आहे. आता आम्ही उर्वरित ISR भरणे आवश्यक आहे ज्यासाठी आम्ही संदेश पोस्ट केला होता (प्रथम 32) आता आम्ही प्रोग्रामिंग व्यत्यय सुरू ठेवणार आहोत, आम्ही आयआरक्यू करणार आहोत ज्यांना देखील म्हणतात विनंत्या व्यत्यय आणतात. हे आयआरक्यू कीबोर्ड, उंदीर, प्रिंटर इत्यादी हार्डवेअर डिव्हाइसद्वारे व्युत्पन्न केले जातात. सुरुवातीला प्रथम 8 आयआरक्यू आपोआप आयडीटी पोझिशन्स 8-15 वर मॅप केले जातात आपण अपवादांसाठी प्रथम 32 वापरल्यामुळे आम्हाला त्यांचा रीमॅप करावा लागेल. आम्ही 32 ते 45 पर्यंत आयआरक्यू ठेवू. यासाठी प्रथम आयआरक्यू पुन्हा तयार केला पाहिजे:

void ND::IRQ::Remap(int pic1, int pic2)
{
#define PIC1 0x20
#define PIC2 0xA0
#define ICW1 0x11
#define ICW4 0x01
/* send ICW1 */
ND::Ports::OutputB(PIC1, ICW1);
ND::Ports::OutputB(PIC2, ICW1);
/* send ICW2 */
ND::Ports::OutputB(PIC1 + 1, pic1); /* remap */
ND::Ports::OutputB(PIC2 + 1, pic2); /* pics */
/* send ICW3 */
ND::Ports::OutputB(PIC1 + 1, 4); /* IRQ2 -> connection to slave */
ND::Ports::OutputB(PIC2 + 1, 2);
/* send ICW4 */
ND::Ports::OutputB(PIC1 + 1, ICW4);
ND::Ports::OutputB(PIC2 + 1, ICW4);
/* disable all IRQs */
ND::Ports::OutputB(PIC1 + 1, 0xFF);
}

आता आम्ही आयआरक्यू स्थापित करण्यासाठी फंक्शन तयार करतो:

void ND::IRQ::Install()
{
ND::Screen::SetColor(ND_SIDE_FOREGROUND,ND_COLOR_BLACK);
ND::Screen::PutString("\nInstalling IRQ...");
ND::IRQ::Remap(0x20,0x28);
ND::IDT::SetGate(32,(unsigned)ND::IRQ::IRQ1,0x08,0x8E);
ND::IDT::SetGate(33,(unsigned)ND::IRQ::IRQ2,0x08,0x8E);
ND::IDT::SetGate(34,(unsigned)ND::IRQ::IRQ3,0x08,0x8E);
ND::IDT::SetGate(35,(unsigned)ND::IRQ::IRQ4,0x08,0x8E);
ND::IDT::SetGate(36,(unsigned)ND::IRQ::IRQ5,0x08,0x8E);
ND::IDT::SetGate(37,(unsigned)ND::IRQ::IRQ6,0x08,0x8E);
ND::IDT::SetGate(38,(unsigned)ND::IRQ::IRQ7,0x08,0x8E);
ND::IDT::SetGate(39,(unsigned)ND::IRQ::IRQ8,0x08,0x8E);
ND::IDT::SetGate(40,(unsigned)ND::IRQ::IRQ9,0x08,0x8E);
ND::IDT::SetGate(41,(unsigned)ND::IRQ::IRQ10,0x08,0x8E);
ND::IDT::SetGate(42,(unsigned)ND::IRQ::IRQ11,0x08,0x8E);
ND::IDT::SetGate(43,(unsigned)ND::IRQ::IRQ12,0x08,0x8E);
ND::IDT::SetGate(44,(unsigned)ND::IRQ::IRQ13,0x08,0x8E);
ND::IDT::SetGate(45,(unsigned)ND::IRQ::IRQ14,0x08,0x8E);
ND::IDT::SetGate(46,(unsigned)ND::IRQ::IRQ15,0x08,0x8E);
ND::IDT::SetGate(47,(unsigned)ND::IRQ::IRQ16,0x08,0x8E);
ND::Screen::SetColor(ND_SIDE_FOREGROUND,ND_COLOR_GREEN);
ND::Screen::PutString("done");
asm volatile("sti");
}

Asm चे वाक्य स्टि आम्ही आयआरक्यू सक्रिय करतो. बरं आता आम्ही आयएसआरसारखे काहीतरी घेऊन जाऊ. मूलभूत आयआरक्यूची कार्येः

void ND::IRQ::IRQ1()
{
asm volatile(
"cli \n"
"pushl 0\n"
"pushl 32\n"
"jmp ND_IRQ_Common"
);
}

एक सामान्य भाग (ISR प्रमाणेच):

extern "C"
void ND_IRQ_Common()
{
asm volatile(
"pusha \n"
"push %ds\n"
"push %es\n"
"push %fs\n"
"push %gs\n"
"movw $0x10, %ax \n"
"movw %ax, %ds \n"
"movw %ax, %es \n"
"movw %ax, %fs \n"
"movw %ax, %gs \n"
"movl %esp, %eax \n"
"push %eax \n"
"movl $ND_IRQ_Handler, %eax \n"
"call *%eax \n"
"popl %eax \n"
"popl %ds \n"
"popl %es \n"
"popl %fs \n"
"popl %gs \n"
"popa \n"
"addl 8, %esp \n"
"iret \n"
);
}

आणि मूलभूत हँडलरः

extern "C"
void ND_IRQ_Handler(struct regs* r)
{
void (*handler)(struct regs *r);
if(r->int_no >= 40)
{
ND::Ports::OutputB(0xA0,0x20);
}
ND::Ports::OutputB(0x20,0x20);
}

यासह अद्याप त्यांनी काहीही केले नाही तरीही आम्ही आधीपासूनच आयआरक्यू सक्रिय केला पाहिजे. पुढील अध्यायात आपण घड्याळ किंवा कीबोर्ड यासारख्या आयआरक्यूज् मधून डेटा कसा मिळवायचा ते पाहू.

नेक्स्टडिव्हल-आयआरक्यू
आणि यासह आजची पोस्ट संपेल. आपण आता पाहू शकता की मी इतर समस्यांमुळे नियमितपणे कमी लिहितो. तरीही माझ्याकडे संपूर्ण ऑपरेटिंग सिस्टम होईपर्यंत मी सुरू ठेवेल


लेखाची सामग्री आमच्या तत्त्वांचे पालन करते संपादकीय नीति. त्रुटी नोंदविण्यासाठी क्लिक करा येथे.

22 टिप्पण्या, आपल्या सोडा

आपली टिप्पणी द्या

आपला ई-मेल पत्ता प्रकाशित केला जाणार नाही.

*

*

  1. डेटा जबाबदार: मिगुएल Áन्गल गॅटन
  2. डेटाचा उद्देशः नियंत्रण स्पॅम, टिप्पणी व्यवस्थापन.
  3. कायदे: आपली संमती
  4. डेटा संप्रेषण: कायदेशीर बंधन वगळता डेटा तृतीय पक्षास कळविला जाणार नाही.
  5. डेटा संग्रहण: ओकेन्टस नेटवर्क (EU) द्वारा होस्ट केलेला डेटाबेस
  6. अधिकारः कोणत्याही वेळी आपण आपली माहिती मर्यादित, पुनर्प्राप्त आणि हटवू शकता.

  1.   aitor_cz म्हणाले

    थोडक्यात Adड्रियन, मला थोडा वेळ मिळाल्याबरोबर (आता मी बर्‍यापैकी व्यस्त आहे, ऑपरेटिंग सिस्टमसह इतर गोष्टींमध्ये) मी चरण-दर-चरण ट्यूटोरियलची चाचणी घेण्यास सुरूवात करीन.

  2.   रुबी म्हणाले

    या शिक्षिकेबद्दल मनापासून आभार.

  3.   सासुके म्हणाले

    एक प्रश्न मी या प्रोग्रामिंग भाषांवर आधारित प्रकल्प करीत आहे
    * एचटीएमएल 5
    * सीएसएस 3
    * जावा
    माझा प्रश्न आहे की मी हा प्रकल्प कार्यान्वित करण्यायोग्य होऊ इच्छितो, जेणेकरुन वापरकर्ते त्याचा उपयोग लिनक्स आणि विंडोज सारख्या ऑपरेटिंग सिस्टममध्ये करतात, मी हे कसे करावे ते सांगू शकाल का?

    1.    अ‍ॅड्रियनअरोयोस्ट्रिट म्हणाले

      याचा यात काहीही संबंध नाही परंतु तरीही मी तुम्हाला उत्तर देतो. मी गृहित धरतो की ते HTML5, CSS3 आणि जावास्क्रिप्ट जावा नसतील, कारण HTML5 आणि जावा प्राणघातकपणे एकत्र येतात. एचटीएमएल 5 सह आपण इंटरनेट वरून प्रवेश करण्यापूर्वी वेबसाइट तयार करू शकता. आपण हे स्थानिक बनवू इच्छित असल्यास आपण ते फायरफॉक्स ओएस आणि क्रोम ओएस अ‍ॅप म्हणून पॅकेज करू शकता. आपणास काय पाहिजे आहे की प्रत्येक ऑपरेटिंग सिस्टममध्ये एक्सयूएल धावणाराकडे एक एक्झिक्युटेबल आहे जे गेको इंजिनसह एक्सयूएल (आणि म्हणून घटकांच्या आत एचटीएमएल 5) चालवण्याचे साधन आहे.

    2.    सोद पेरेझ म्हणाले

      जावा फ्रेम किंवा पॅनेल हा एक चांगला पर्याय आहे मी जावा फ्रेम क्लासेसचा वापर करुन विंडोजमध्ये काही एक्झिक्युटेबल अॅप्स वेब ब्राउझर म्हणून तयार केले आहेत परंतु कोणत्याही पृष्ठासाठी वापरण्याऐवजी मी त्यास कोडमध्ये एक थेट मार्ग देतो आणि मी php सह जावा वाक्ये कार्यान्वित करतो. स्टीलची काळजी घेणारी .ar च्या माध्यमातून. जरी अ‍ॅड्रियन जावा म्हटल्याप्रमाणे एचटीएमएल 5, सीएसएस 3 आणि जावास्क्रिप्ट वापरण्याची मी शिफारस करतो, एचटीएमएल 5 ने हे घातक आहे आणि यामुळे मला बर्‍याच डोकेदुखी आणल्या

  4.   लुबान म्हणाले

    आपली स्वतःची प्रोग्रामिंग भाषा कशी बनवायची याबद्दलचे ट्यूटोरियल छान होईल

  5.   इवान म्हणाले

    ऑपरेटिंग सिस्टम कसे तयार करावे यावरील लेखांची ही मालिका खूप चांगली आहे, आपण बर्‍याच गोष्टी शिकता. मी पुढच्या एंट्रीची वाट पाहत आहे, मला आधीपासूनच ओएसमध्ये एक कीबोर्ड हवा आहे. मी गिट कोडसह गोंधळात टाकत आहे, आणि 0x60 आणि 0x64 पोर्ट सह कार्य करण्यासाठी मी ते मिळवलेले नाही. तरीही मला वाटले की कीबोर्डसाठी एक व्यत्यय आहे ज्याने आपल्याला दाबलेली कळ दिली.

    1.    अ‍ॅड्रियनअरोयोस्ट्रिट म्हणाले

      आपण कोणत्याही व्यत्ययाशिवाय कीबोर्ड इनपुट मिळवू शकता, परंतु आपण एनडी :: पोर्ट्स :: इनपुटबी 0x60 पोर्टवर वाचले पाहिजे. तथापि हे करण्याचा उत्तम मार्ग म्हणजे आयआरक्यू इंटरप्ट्स आहे. मी सध्या ते करण्याचा प्रयत्न करीत आहे आणि त्या कारणास्तव सुरू ठेवण्यास यास थोडा कालावधी लागत आहे.

      1.    कार्लोसॉर्टा म्हणाले

        हाय अ‍ॅड्रियन, मी कोड तपासत आहे आणि मी काय करतो आणि त्या मला काही गोष्टी समजून घेण्यासाठी किती चांगल्या प्रकारे मदत करते याबद्दल मी प्रभावित झालो आहे.

        हे कसे कार्य करते याबद्दल माझ्याकडे काही छोटे प्रश्न आहेत आणि आपल्या जीआयटी कडून मला मिळालेला स्रोत हा आहे:

        १.- आयआरक्यू भागात तुम्ही नमूद केले आहे की आयडीटीच्या ० ते 1२ मधील पदे अपवादांसाठी आणि (२ (० एक्स २०) ते (0 (० एक्स २ डी) पर्यंत आयआरक्यूसाठी वापरली गेली होती, परंतु आयआरक्यू एकूण १ are आहेत, उर्वरित भाग नाहीत 32x32 ते 0x20 पर्यंत?

        2.- आयआरक्यू भागात, लक्षात ठेवा की सेटगेट्स आयडीटी विभागात पाठविले गेले होते; जेव्हा आपण त्यांना विभक्त करता तेव्हा लक्षात घ्या की ते आता 0 ने भागाकाराचा अपवाद तयार करीत नाही, म्हणून केलेल्या प्रत्येक सुधारणासाठी आयडीटी फ्लश () जोडणे आवश्यक आहे. टायमर सेट करतेवेळी आयडीटी का बदलली जाते आणि 0 मधील विभागणे काम करणे थांबवते का?

        - कोड कार्यान्वित होत आहे हे सूचित करण्यासाठी काही मुद्रणासह कोड शोधण्याचा मी प्रयत्न करीत होतो (म्हणजेच चरण-दर-डिबग होऊ नये म्हणून) आणि मला समजले की कोणताही आयआरक्यू चालू नाही, मला आणखी काही नोंदवावे लागेल का? आयआरक्यू व्यत्यय व्युत्पन्न केले?

        1.    कार्लोसॉर्टा म्हणाले

          मला हे दुवे माहितीसह सापडल्याचे नमूद करणे विसरलो:
          http://arstechnica.com/civis/viewtopic.php?f=20&t=899001
          http://www.superfrink.net/athenaeum/OS-FAQ/os-faq-pics.html
          http://orga2.exp.dc.uba.ar/data/downloads/clasespracticas/interrupciones2_clase_17.pdf
          http://www.intel-assembler.it/PORTALE/4/231468_8259A_PIC.pdf

          स्पष्टपणे आयआरक्यू हाताळण्यासाठी, पीआयसी, एपीआयसी, आयओएपिक असल्यास कोणत्या प्रकारचा हँडलर वापरला जातो हे विचारात घेणे आवश्यक आहे. . .etc. आयआरक्यू व्यवस्थापनास डायनॅमिक करण्याचा एक मार्ग आहे किंवा आपल्याला नशीब आजमावण्याची आवश्यकता आहे?

  6.   कार्लोसॉर्टा म्हणाले

    शुभ दुपार Adड्रियन.

    मी पाहिले की मला आयआरक्यूमध्ये समस्या आहे आणि म्हणूनच कोड प्रगत होऊ शकला नाही, मी प्रोजेक्टची एक प्रत घेतली आणि तिचे विश्लेषण करण्यास सुरवात केली; मी व्यत्यय आणण्याच्या क्षणी, स्ट्रक्चरच्या नोंदणी नोंदी छापण्यासाठी स्क्रीन प्रिंटिंगमध्ये एक कार्य जोडले; मला बर्‍याच गोष्टी आढळल्या, त्यापैकी रेजिस्ट्री चालू आहे आणि तरीही मला ते का सापडत नाही; कीबोर्डमध्ये व्यत्यय आणण्यासाठी टाइमर इंटरप्ट बदलण्यासाठी चाचणी घ्या आणि ते करावे परंतु मला समस्या सापडत नाही, आपण मला मदत करू शकता आणि या चांगल्या पोस्टसह सुरू ठेवू शकता? 😀

    मी दुवा सोडतो (यात काही बदल आहेत कारण मी मॅगेया वापरतो आणि मी ग्रब 2 वापरतो, मी याची चाचणी घेण्यासाठी व्हर्च्युअलबॉक्स वापरत आहे)
    https://www.mediafire.com/?93psrgaoozatse8

    आपल्या लक्ष देणार्‍या प्रतिसादाची वाट पहात आहे आणि आपल्याकडे काही प्रश्न असल्यास किंवा मला काही मदत हवी असेल तर 🙂

    1.    कार्लोसॉर्टा म्हणाले

      मी हे सांगण्यास विसरलो की मी कर्नेलपॅनिक देखील तपासले कारण आयएसआर कार्य करत नाहीत आणि मला स्टॅकच्या शीर्षस्थानी तीच समस्या आहे ज्यामध्ये मूल्य गळत आहे आणि मला माहित नाही की ते माझे कंपाईलर आहे की काही समस्या आहे, मी वापरतो मॅसीया 4.8.2 सह जीसीसी 4

    2.    अ‍ॅड्रियनअरोयोस्ट्रिट म्हणाले

      मला खरोखर आवडेल की तुम्ही मला या प्रकल्पात मदत केली. मी खरोखर टाइमरमध्ये अडकलो आहे आणि ते का कार्य करत नाही हे मला समजत नाही. मी बर्‍याच गोष्टी सुधारित करण्याच्या चाचण्या केल्या आणि त्या यशस्वी झाल्या नाहीत. सध्या मी कोड संपादित करू शकत नाही (मी सुट्टीवर आहे) परंतु मी शक्य तितक्या लवकर याकडे लक्ष वेधून घेत आहे. मी आपल्याला या समस्येच्या माहितीसह एक दुवा देतो जी काहीतरी सामान्य वाटली आहे: http://wiki.osdev.org/I_Cant_Get_Interrupts_Working

      अपवादांबद्दल, मला वाटते की मला आठवतंय की त्यांना सक्रिय करण्यासाठी तुम्हाला एएसएम मध्ये "स्ट्रीट" वर कॉल करावा लागला असला तरी हे स्पष्ट आहे की कुठेतरी काहीतरी गडबड आहे.

      1.    कार्लोसॉर्टा म्हणाले

        तुमच्या उत्तराबद्दल धन्यवाद आणि हो, खरोखर व्यत्यय अयशस्वी होत होते परंतु स्टॅकमध्ये कोड समाविष्ट करणे आणि कास्टिंग समस्या होती, मी दुवा तपासून पाहतो आणि मी चाचण्या करत आहे. जर मी त्याचे निराकरण केले तर मी आपणास कळवीन आणि तसे केले नाही तर मी तुम्हाला प्रगतीची माहिती देईन. सुट्टीच्या शुभेच्छा 🙂

      2.    कार्लोसॉर्टा म्हणाले

        एकत्रित कोड पाहण्याचा कोणताही मार्ग राहणार नाही? काहीतरी विचित्र होते आणि मला काय सापडत नाही? या स्क्रीनकडे पहा (मी दुवा शेवटी देतो), आयआरक्यू 2 फंक्शन (कीबोर्ड) पासून हे काहीतरी विचित्र आहे ) ते स्टॅक मूल्यात 0 आणि 0x20 मध्ये प्रवेश करते (32, म्हणून चाचणी करण्यासाठी ते फिट करा) त्यानंतर पुशल (32-बिट जीपीआर नोंदणी) त्यानंतर विभाजन नोंदणी आणि नंतर स्टॅकच्या शीर्षस्थानी आणि नंतर आयआरक्यू हँडलर कॉल करते. मी प्रत्येक स्टॅक पहायला सुरुवात केली आणि वरवर पाहता ती क्रमाने आहे परंतु आपण व्हीएमचे आउटपुट पाहू शकले तर आपल्याला हे दिसून येईल की त्यात आणखी एक घटक स्टॅक आहे, मला कुठे सापडत नाही, मला फक्त ते माहित आहे की ते 0x10 आहे आणि रचना ऑर्डर नाही. ही रेकॉर्ड स्ट्रक्चर आहे.

        संरचनेचे नियम {
        uint32_t जीएस, एफएस, एसएस, डीएस; / * सेकंदाला शेवटचा धक्का दिला * /
        uint32_t एडी, एएससी, ईबीपी, ईएसपी, ईबीएक्स, एडीएक्स, एक्क्स, ईएक्स; / * 'पुशल' द्वारे ढकलले * /
        uint32_t int_no, चूक_कोड; / * त्रुटी कोड * /
        uint32_t eip, cs, eflags, useresp, ss; / * ब्रेकवर स्टॅक केलेले * /
        };

        हे मला त्रास देते की हे आणखी एक घटक वरच्या बाजूस ठेवते आणि वरवर पाहता सर्व काही स्टॅक केलेले असल्यास ते कोठे स्टॅक केलेले आहे ते मला सापडत नाही. ते काय असू शकते याची आपल्याला कल्पना आहे का?

        http://www.subeimagenes.com/img/sin-titulo-1036729.jpg

  7.   कार्लोसॉर्टा म्हणाले

    कार्य करण्यासाठी कीबोर्ड व्यत्यय मिळवा परंतु टाइमर व्यत्यय आणू नका; त्रुटी संकलित करण्याच्या मार्गावर होती, मी अंतिम ऑब्जेक्ट पाहण्यासाठी ऑब्जेक्टम्प वापरला आणि हे निष्पन्न झाले की "एएसएम अस्थिर" वापरुन प्रविष्ट केलेले प्रत्येक फंक्शन देखील पुश एबीपी, मूव्ह ईबीपी, इएसपी सह होते. नंतर प्रारंभिक स्टॅक पुनर्संचयित करण्यासाठी त्यामध्ये फक्त एक पॉप इबीपी जोडा आणि हे अपयशी ठरल्याशिवाय तर्क वितरीत करेल. येथे मी ज्यांना ते तपासू इच्छित आहेत त्यांच्यासाठी कोड जोडला आहे आणि टाइमरद्वारे व्यत्यय का निर्माण होत नाही हे आपल्याला माहिती असल्यास, मला ते जाणून घेण्यास आवडेल आणि मी मल्टीटास्किंगबद्दल जेथे चर्चा करतो तेथे एक दुवा जोडला आहे. http://www.jamesmolloy.co.uk/tutorial_html/9.-Multitasking.html
    पुढील दिवेल
    https://www.mediafire.com/?kmo83dxyzc7c3cz

    1.    अ‍ॅड्रियनअरोयोस्ट्रिट म्हणाले

      मला समजले. हे दुसर्‍या साइटमधील एक बग होते ज्याने टाइमर पीआयसीच्या सक्रियतेवर परिणाम केला, विशेषत: आयआरक्यू रीमॅपमध्ये मला सुधारित करायच्या दोन ओळी होत्या. मला वेबसाइटवर एक कोड दिसला त्या वस्तुस्थितीबद्दल धन्यवाद की त्या टप्प्यावर काहीतरी वेगळंच आहे आणि क्लिक करा! बदल या धर्तीवर होताः
      एनडी :: पोर्ट्स :: आउटपुटबी (पीआयसी 1 + 1, 0 एक्सएफएफ);
      एनडी :: पोर्ट्स :: आउटपुटबी (पीआयसी 2 + 1, 0 एक्सएफएफ);

      आपल्याला 0xFF चे मूल्य (ते असे म्हणायचे आहे की ते अक्षम असल्याचे दर्शविते) 0x00 मध्ये बदलले होते (मी म्हणेन की ते सक्षम केलेले दर्शवते) जरी मला खरोखर खात्री नाही, परंतु ते कार्य करते. मी गिटहब वर कोड अद्यतनित केला आहे. या समस्येमुळे मी थोड्यावेळ सोडून दिलेल्या प्रकल्पात मला मदत केल्याबद्दल त्यांचे मनापासून आभार. एच

      1.    कार्लोसॉर्टा म्हणाले

        आपले स्वागत आहे, मी या विषयाच्या पुढील अद्यतनाची अपेक्षा करतो आणि आपण माझ्यासाठी कशासाठीही मोजू शकता Y (वाई)

      2.    कार्लोसॉर्टा म्हणाले

        कीबोर्ड स्ट्रिंग कॅप्चर दिनचर्या बदला; कारण की रिलीझ केल्यावर हे वाचत आहे आणि हे बफरमध्ये 0 माउंट करते, जे वाचनात अडचण देते आणि शेवटी '\ n' मध्ये बदलते »जेणेकरून योग्य मुद्रण कार्य करते

  8.   सोद पेरेझ म्हणाले

    नमस्कार, मी तुमची संपूर्ण पोस्ट वाचली आहे, जरी प्रत्यक्षात ती 2 पोस्टपेक्षा जास्त नसली तरी ती खरोखरच खूप चांगली आहे, सर्व काही जतन करा परंतु मला हे समजण्यासाठी खरोखरच सी ++ आणि पोस्क्सचा अभ्यास करणे आवश्यक आहे कारण मला "सी" बद्दल माहित आहे (त्या प्रोग्रामिंग भाषेमुळे मी मोहित झाले आहे) जरी सी ++ सी ओओ आहे परंतु मी त्यावर खरंच कधीच काम केले नाही, गूगलमधील काही शिकवण्या मला वाचा आणि मग मी हे खूपच मनोरंजक आणि एक प्रश्न परत करीन, विंडो स्टार्टअप लिनक्स प्रमाणेच आहे का?

    1.    अ‍ॅड्रियनअरोयोस्ट्रिट म्हणाले

      विंडोजमध्ये बूट करणे या अर्थाने समान आहे की x86 प्रोसेसरसह सिस्टमला बूट करण्याचा हा मार्ग आहे आणि त्यावरील निर्मित ऑपरेटिंग सिस्टमचा फारसा प्रभाव नाही. आम्ही तरीही स्वत: ला बूट करत नाही आहोत, आमच्यासाठी GRUB सुरू करीत आहे. Linux बूट करण्यासाठी डिझाइन केलेले GRUB विंडोज बूट करू शकते आणि या प्रकरणात नेक्स्टडिव्हल.

      1.    शांत म्हणाले

        ठीक आहे धन्यवाद, याचा अर्थ असा की मला जे करायचे आहे ते शक्य आहे मी आधीच सी ++ चा अभ्यास करीत आहे आणि मी काही अ‍ॅप्स तयार केले आहेत आणि तुमची सिस्टीम पेंड्राइव्हवर स्थापित केली आहे आणि मी त्याचा अधिक तपशीलवार अभ्यास करत आहे ही एक चांगली पोस्ट आहे