मैं ऑपरेटिंग सिस्टम और x86 आर्किटेक्चर का अध्ययन कर रहा हूं, और जब मैं विभाजन के बारे में पढ़ रहा था और पेजिंग कर रहा था कि मैं स्वाभाविक रूप से उत्सुक था कि आधुनिक ओएस मेमोरी प्रबंधन कैसे संभालते हैं। क्या मैंने पाया लिनक्स और सबसे अन्य ऑपरेटिंग सिस्टम अनिवार्य रूप से पेजिंग के पक्ष में विभाजन को दूर करते हैं। इसके कुछ कारण जो मुझे मिले वे थे सादगी और सुवाह्यता।
विभाजन (x86 या अन्यथा) के लिए क्या व्यावहारिक उपयोग हैं और क्या हम कभी भी इसका उपयोग करते हुए मजबूत ऑपरेटिंग सिस्टम देखेंगे या क्या वे पेजिंग आधारित प्रणाली का पक्ष लेते रहेंगे।
अब मुझे पता है कि यह एक लोडेड सवाल है लेकिन मैं उत्सुक हूं कि नए विकसित ऑपरेटिंग सिस्टम के साथ कैसे सेगमेंटेशन को संभाला जाएगा। क्या पेजिंग के पक्ष में इतनी समझ है कि कोई भी अधिक 'खंडित' दृष्टिकोण पर विचार नहीं करेगा? यदि हां, तो क्यों?
और जब मैं कहता हूं कि 'शून' विभाजन मुझे लग रहा है कि लिनक्स केवल इसका उपयोग करता है जहां तक यह है। उपयोगकर्ता और कर्नेल कोड / डेटा खंडों के लिए केवल 4 खंड। इंटेल डॉक्यूमेंट को पढ़ते हुए मुझे सिर्फ यह एहसास हुआ कि सेगमेंटेशन को अधिक मजबूत समाधानों को ध्यान में रखकर बनाया गया था। तब फिर से मुझे कई अवसरों पर बताया गया कि x86 कितना जटिल हो सकता है।
लिनक्स के लिए लिनक्स टोरवाल्ड की मूल 'घोषणा' से जुड़े होने के बाद मुझे यह दिलचस्प किस्सा मिला। उन्होंने यह कुछ पोस्ट बाद में कहा:
बस, मैं कहूंगा कि पोर्ट करना असंभव है। यह ज्यादातर C में है, लेकिन ज्यादातर लोग कॉल नहीं करते हैं कि मैं सी क्या लिखता हूं। यह 386 मुझे मिल सकता है, जो कि मुझे 386 के बारे में सिखाने के लिए एक प्रोजेक्ट था। जैसा कि पहले ही उल्लेख किया गया है, यह एक MMU का उपयोग करता है। , दोनों पेजिंग के लिए (अभी तक डिस्क नहीं) और विभाजन। यह ऐसा विभाजन है जो इसे वास्तव में 386 पर निर्भर करता है (हर कार्य में कोड और डेटा के लिए 64Mb खंड है - 4Gb में अधिकतम 64 कार्य। कोई भी व्यक्ति जिसे 64Mb / कार्य - कठिन कुकीज़ की आवश्यकता है)।
मुझे लगता है कि x86 के साथ मेरे खुद के प्रयोग ने मुझे यह सवाल पूछने के लिए प्रेरित किया। लिनस में स्टैकऑवरफ्लो नहीं था, इसलिए उन्होंने इसे लागू करने के लिए इसे लागू किया।