Operating System Tutorial Notes Study Material with Examples in Hindi

 Operating System Tutorial Notes Study Material with Examples in Hindi                                       

Operating System Tutorial Notes Study Material with Examples in Hindi:-In  this  cyberpoint9 tutorial (Especially Concept and History of  Operating System) we are going to describe about the  what is the Purpose  of  Operating System   in  cyber programming in Hindi. And also we will describe about  Operating System in Hindi.  And why we  use  Operating System. When ever we want to learn any thing the things become more earlier is somebody/tutorial/study material taught us through Examples. Here we have tried to describe each and every concept of Operating System in the light of cyberpoint9.com  best Hindi  Short tutorial using simple and best possible example. These examples are so simple that even a beginner who had never even heard about Operating System can easily learn and understand How  Operating System works in Computer Science and IT fIeld. This is  the best hindi  tutorial/Study Material  very beneficial for beginners  as well as Professional

You can also learn this article in English if you want please click here

 

                           ऑपरेटिंग सिस्टम : एक परिचय

[Operating System : An Introduction in Hindi]

 ऑपरेटिंग सिस्टम एवं इसके कार्य (Operating System and its Function in Hindi)

 ऑपरेटिंग सिस्टम एक प्रोग्राम है, जो कंप्यूटर हार्डवेयर को व्यवस्थित (Manage) करता है तथा कंप्यूटर यूजर (Computer User) और कंप्यूटर हार्डवेयर (Computer hardware) के मध्य एक इंटरफ़ेस (Interface) स्थापित करता है |

ऑपरेटिंग सिस्टम क्या है? (What Is An Operating System in Hindi)

ऑपरेटिंग सिस्टम, कंप्यूटर सिस्टम का एक आवश्यक तत्व है | ऑपरेटिंग सिस्टम का प्राथमिक उद्देश्य कंप्यूटर हार्डवेयर का आसन और सुविधाजनक ढंग से प्रयोग करने है |

परिभाषिक शब्दों में, ऑपरेटिंग सिस्टम एक सिस्टम सॉफ्टवेर (System Software) है, जो कंप्यूटर सिस्टम के हार्डवेयर रिसोर्सेस, जैसे- मेमोरी, प्रोसेसर और इनपुट/आउटपुट डिवाइसेज एवं सॉफ्टवेर को व्यवस्थित (Manage)  करता है |

ऑपरेटिंग सिस्टम, कंप्यूटर सिस्टम को प्रत्येक रीसोर्स की स्थिति (Status) का लेखा-जोखा रखता है तथा यह निर्णय भी लेता है, कि किसका, कब और कितनी देर के लिए कंप्यूटर रिसोर्स पर नियंत्रण (Control) होगा | एक कंप्यूटर सिस्टम के मुख्य रूपसे चार घटक (Components) होते हैं –

  • हार्डवेयर (Hardware)
  • ऑपरेटिंग सिस्टम ( Operating System)
  • एप्लीकेशन प्रोग्राम (Application Program) और
  • उसेर्स (Users)
Operating System Tutorial Notes Study Material with Examples in Hindi

Operating System Tutorial Notes Study Material with Examples in Hindi

उपरोक्त Fig.-1.01 में, कंप्यूटर सिस्टम में ऑपरेटिंग सिस्टम की स्थिति (Position) को दर्शाया गया है | इस चित्र से यह स्पष्ट होता है, ऑपरेटिंग सिस्टम सीधे-सीधे (Directly) कंप्यूटर हार्डवेयर रिसोर्सेस को नियन्त्रित करता है और अन्य प्रोग्राम्स, ऑपरेटिंग सिस्टम के माध्यम से कंप्यूटर सिस्टम को रिसोर्सेस को एक्सेस (Access) करते है |

इस प्रकार हम कह सकते हैं कि ऑपरेटिंग सिस्टम प्रयोगकर्ता एवं कंप्यूटर के मध्य संवाद स्थापित करने, कंप्यूटर के हार्डवेयर एवं अन्य सॉफ्टवेर को नियंत्रित करने, संचालित करने एवं स्मर्ति आदि कार्यो में होने वाली प्रकिया को सही प्रकार कार्य कराने का कार्य करता है | कुछ विशिष्ट ऑपरेटिंग सिस्टम MS-DOS (Microsoft Disk Operating System), Windows 9X, Windows XP, Windows-NT, UNIX, Linux है |

  • ऑपरेटिंग सिस्टम के कार्य (Functions of Operating System in Hindi)

ऑपरेटिंग सिस्टम के निम्नलिखित कार्य है—

  • प्रोसेस मैनेजमेंट (Process Management)
  • मेमोरी मैनेजमेंट (Main-Memory Management)
  • फाइल मैनेजमेंट (File Management)
  • सेकेंडरी-स्टोरेज मैनेजमेंट (Secondary Storage Management)
  • प्रोसेस मैनेजमेंट (Notes on Process Management in Hindi)

जब भी कोई प्रोग्राम एग्जिक्यूट कर रहा होता है, तो उस प्रोग्राम को प्रोसेस (Process) कहा जाता है |

रिसोर्सेस (Resources) के अन्तर्गत सीoपीoयूo का टाइम (CPU Time), मेमोरी (Memory), फाइल्स (Files) और इनपुट/आउटपुट (I/O) डिवाइसेस आते हैं | ये रिसोर्सेस किसी भी प्रोसेस को ऑपरेटिंग सिस्टम द्वारा  तब एलोकेट (Allocate) किए जाते हैं | जब प्रोसेस रन कर रहा होता है |

प्रोसेस दो प्रकार के होते हैं—ऑपरेटिंग सिस्टम के प्रोसेसेस (Operating System Process) और यूज़र के प्रोसेसेस (User Processes) | ऑपरेटिंग सिस्टम के प्रोसेसेस सिस्टम कोड (System Code)  को एग्जिक्यूट करते हैं, जबकि यूज़र के प्रोसेसेस (User Processes) यूज़र के कोड को एग्जिक्यूट करते हैं | ये सभी प्रोसेसेस CPU को मुल्तिप्लेक्सिंग (Multiplexing) द्वारा  विभाजित कर एक साथ (Concurrently) एग्जिक्यूट करते हैं | प्रोसेस मैनेजमेंट के संदर्भ में ऑपरेटिंग सिस्टम निम्नलिखित कार्यो के लिए उत्तरदायी होता है—

  • यूज़र और सिस्टम प्रोसेसेस को क्रिएट तथा डिलीट करना |
  • प्रोसेसेस को सस्पेन्ड (Suspend) और रिज्यूम (Resume) करना |
  • प्रोसेस कॉम्यूनिकेशन (Process Communication) के लिए मकेनिज्म (Mechanism) प्रदान करना |
  • प्रोसेस सिंक्रोनाइजेशन (Process Synchronization) के लिए मकेनिज्म (Mechanism) प्रदान करना |
  • डेडलॉक हैंडलिंग (Deadlock Handling) के लिए मकेनिज्म (Mechanism) प्रदान करना |
    • मेमोरी मैनेजमेंट (Notes on Memory Management in Hindi with Examples )

किसी भी आधुनिक कंप्यूटर सिस्टम में किसी भी ऑपरेशन को सम्पादित करने में मेमोरी की महत्वपूर्ण भूमिका होती है, क्योंकि मेमोरी ही वह जगह है, जहां से CPU और I/O डिवाइसेस डेटा को तेजी से एक्सेस कर सकते हैं | मेमोरी को वर्ड्स (Words) या बाइट्स (Bytes) का एक बहुत बड़ा ऐसे (Array) कहा जाता है, जिसमें प्रत्येक वर्ड (Word) या बाइट (Byte) का अपना एड्रेस होते है | इंस्ट्रक्शन-फेच साइकिल (Instruction Fetch Cycle) के समय CPU, मेमोरी से डेटा को रीड/राइट करता है | यहां तब की DMA के माध्यम से किए जानें वाले I/O ऑपरेशन्स भी मेमोरी में रीड/राइट ऑपरेशन करते हैं | अतः हम यह कहा सकते हैं कि मेमोरी एक बहुत बड़ा स्टोरेज डिवाइस है, जिसको CPU एड्रेस कर सकता है तथा सीधे-सीधे (Directly) एक्सेस कर सकता है | उदाहरणस्वरूप, यदि डिस्क में स्टोर्ड डेटा को प्रोसेस करना है तो सवप्रथम डेटा को डिस्क से मेमोरी में स्थानान्तरित करना होगा | इस स्थानान्तरित डेटा को प्रोसेस करने के लिए इन्सट्रक्शन्स (Instructions) निश्चित रूप से मेमोरी में विघमान होने चाहिएं, जो CPU द्वारा  एग्जिक्यूट किए जा सकें |

किसी भी प्रोग्राम को एग्जिक्यूट करने के लिए प्रोग्राम को मेमोरी में लोड किया जाता है, परन्तु इससे पूर्व प्रोग्राम को एबसॉल्यूट एड्रेस (Absolute Address) से मैप (Map) किए जाना आवश्यक होता है | जब प्रोग्राम एग्जिक्यूट करता है, तो यह प्रोग्राम इन्सट्रक्शन्स और डेटा को मेमोरी से एक्सेस करता है | अन्त में जब प्रोग्राम टरमिनेट होते है, तो मेमोरी का स्पेस खाली हो जाता है, जो अगले प्रोग्राम के लिए उपलब्ध होता है | अतः उसमें अगले प्रोग्राम को लोड कर एग्जिक्यूट किया जा सकता है |

ज्ञात हो, CPU का अधिकत उपयोग करने के लिए मेमोरी में एक साथ एक से अधिक प्रोग्राम को स्टोर किया जाता है | इसके लिए विभिन्न मेमोरी मैनेजमेंट टेकनीक का उपयोग किया जाता है | इन मेमोरी मैनेजमेंट टेकनीक में किसी भी टेकनीक का चुनाव कंप्यूटर सिस्टम के हार्डवेयर डिज़ाइन को ध्यान में रखकर करना पड़ता है | मेमोरी मैनेजमेंट के सन्दर्भ में ऑपरेटिंग सिस्टम निन्नलिखित कार्यो के लिए उतरदायी है—

  • वर्तमान में मेमोरी का कौन सा हिस्सा किसी प्रोसेस द्वारा उपयोग (Use) हो रहा है |
  • मेमोरी स्पेस (Memory Space) उपलब्ध होने पर यह निर्णय लेने कि मेमोरी के किन प्रोसेस को लोड किया जायेगा |
  • आवश्यकतानुसार मेमोरी स्पेस को एलोकेट (Allocate) और दिएलोकेट (Deallocate) करना |

फाइल मैनेजमेंट (Study Notes on File Management in Hindi)

फाइल मैनेजमेंट ऑपरेटिंग सिस्टम का सबसे दृश्य (Visible) कॉम्पोनेन्ट है | फाइल, बाइट्स (Bytes) की एक माला (Garland) होती है | [“File is a garland  of bytes”.] दुसरे शब्दों में हम कह सकते हैं कि, फाइल, सम्बन्धित इनफार्मेशन (Related Information) काएक कलेक्शन है, जो इसके बनाने वाले (Creator) द्वारा  परिभाषित किया जाता है | प्रत्येक फाइल, जो सेकेंडरी स्टोरेज डिवाइस में किसी डायरेक्ट्री के अधीन स्टोर की जाती है | प्रत्येक फाइल की अपनी प्रोपर्टीज अर्थात् ऐट्रिब्यूट्स होती है | फाइल मैनेजमेंट के सन्दर्भ में ऑपरेटिंग सिस्टम निन्मलिखित कार्यो के लिए उतरदायी है—

  • फाइलों को क्रिएट तथा डिलीट करना |
  • डाइरेक्ट्रीज को क्रिएट तथा डिलीट करना |
  • फाइल्स तथा डाइरेक्ट्रीज के मैनिपुलेशन को समर्थन करना |
  • फाइलों को सेकेण्डरी स्टोरेज पर मैप करना |
  • फाइलों को बैकअप (Backup) का समर्थन करना |

 सेकेंडरी-स्टोरेज मैनेजमेंट (Study Notes on Secondary Storage Management in Hindi)

चूंकि मेमोरी का साइज़ इनता बड़ा नहीं होता की वह सभी डेटा और प्रोग्राम को स्टोर कर सके, साथ ही इसकी प्रकृति (Nature) उर्ध्वनशील (Volatile) होती है | ज्ञातव्य हो की उर्ध्वनशील (Volatile) मेमोरी वह मेमोरी होती है, जिसमें स्टोर किए गए डेटा और प्रोग्राम पॉवर (Power) के गायब होने का स्थिति में नष्ट हो जाते है | अतः कंप्यूटर सिस्टम में मेमोरी में स्टोर्ड डेटा और प्रोग्राम को स्थायी रूप से स्टोर करने के लिए सेकेण्डरी स्टोरेज (Secondary Storage) का होना आवश्यक होता है |

आजकल कंप्यूटर सिस्टम में डिस्क (Disks) का उपयोग प्रोग्राम और डेटा को स्टोर करने के लिए ऑन-लाइन स्टोरेज मीडिया (On-line Storage Media)  के रूप में किया जाता है | डिस्क- मैनेजमेंट के सन्दर्भ में ऑपरेटिंग सिस्टम निन्मलिखित कार्यो के लिए उतरदायी होते है –

  • डिस्क के फ्री-स्पेस को मैनेज करने के लिए |
  • स्टोरेज स्पेस को एलोकेट करने के लिए |
  • डिस्क-शिड्यूलिंग (Disk Scheduling) के लिए |
    • ऑपरेटिंग सिस्टम का विकास (Evolution of Operating System in Hindi with Examples)

प्रारम्भिक इलेक्ट्रॉनिक डिजिटल कंप्यूटर (Electronic Digital Computers) का कोई ऑपरेटिंग सिस्टम नहीं था | 1950 दशक के प्रारम्भ में पंच काडर्स (Punch Cards) की शुरुआत हो गई थी | इसी के साथ जनरल मोटर्स रिसर्च लेबोरेटोरिज़ (General Motors Research Laboratories) ने अपने कंप्यूटर IBM 701 के लिए पहले ऑपरेटिंग सिस्टम का प्रयोग किया | सामान्यत: 1950 के कंप्यूटर्स एक ही कार्यो करते थे | चूकि इसमें प्रोग्राम और डेटा को ग्रुप्स (Groups) अथवा बैचेज़ (Batches) में प्रस्तुत किया जाता है, अतः इसको इनको सिंगल-स्ट्रीम बैच प्रोसेसिंग सिस्टम्स (Single-Stream Batch Processing Systems) कहा जाता है |

सन् 1960 के सिस्टम भी बैच प्रोसेसिंग सिस्टम (Batch Processing System) ही थे, परन्तु ये एक समय में एक से अधिक जॉब्स (Jobs) को करने के कारण कंप्यूटर के संसाधनों (Resources) का बेहतर लाभ उठाने में सक्षम थे | अतः ऑपरेटिंग सिस्टम डिज़ाइनर्स ने मुल्तिप्रोग्रामिंग (Multiprogramming) की अवधारणा को विकसित किया, जिसमे एक साथ मेन मेमोरी (Main Memory) में अनेक जॉब्स (Jobs) स्थित होते है, और एक प्रोसेसर (Processor) एक जॉब्स से अन्य जॉब्स को स्विच (Switch) करता है, ताकि विभिन्न पेरिफेरल दिवाइसेज़ (Peripheral Devices) का प्रयोग करते हुए विभिन्न जॉब्स (Jobs) निरन्तर कार्योन्वित होते रहें |

उदाहरण(Example) के लिए, यदि सिस्टम मुल्तिप्रोग्रामिंग (Multiprogramming) नहीं है, तो जब वर्तमान जॉब (Job) किसी अन्य इनपुट/आउटपुट ऑपरेशन के पूर्ण होने की प्रतीक्षा करने के लिए रुकता है, तो इस इनपुट/आउटपुट ऑपरेशन के पूर्ण होने तक सीपीयू (CPU) निष्किय रहता है | इस समस्या का समाधान करने के लिए कंप्यूटर मेमोरी को विभिन्न भागों में विभाजित किया गया, जिसमें मेमोरी के प्रत्येक भाग को एक विशिष्ट जॉब (Job) सौंपा जाता है और जॉब्स किसी इनपुट/आउटपुट ऑपरेशन के पूर्ण होने प्रतीक्षा कर रहा होता है, तो उसे समय अन्य जॉब्स सीपीयू (CPU) का प्रयोग कर सकता है |

इस समय के ऑपरेटिंग सिस्टम की एक प्रमुख विशेषता स्पूलिंग (Spooling) थी |  तकनीकी से स्पूल (Spool) सिमल्टेनियस पेरिफेरल ऑपरेशन्स ऑन-लाइन (Simultaneous Peripheral Operations On-Line) का संक्षिप्त रूप है | स्पूलिंग का तात्पर्य जॉब्स (Jobs) को एक बफर (Buffer), जो कि मेमोरी (Memory) अथवा डिस्क (Disk) का एक विशिष्ट क्षेत्र होते है, में रखने से है, जहां से जॉब से सम्बन्धित डिवाइस तैयार होने पर जॉब को एक्सेस (Access) कर सके | स्पूलिंग अत्यन्त उपयोगी है, क्यूंकि विभिन्न डिवाइसेज़ का डेटा ट्रान्सफर रेट (Data Transfer Rate) भिन्न-भिन्न होते है | बफर (Buffer) को हम एक प्रतिक्षालय (Waiting Hall) के रूप में वर्णित कर सकते है, जहां पर डेटा रूक सकता है और जहां धीमी गति वाली डिवाइसेज़ डेटा को एक्सेस कर सकती  हैं |

इस समय के ऑपरेटिंग सिस्टम की एक अन्य विशेषता टाइम-शेयरिंग तकनीक (Time-Sharing Technique) भी उपलब्ध है | टाइम-शेयरिंग तकनीक (Time-Sharing Technique) मल्टीप्रोग्रामिंग तकनीक (Multiprogramming Technique) का ही एक प्रकार है, जिसमें प्रत्येक यूजर (User) के पास एक ऑन-लाइन टर्मिनल अर्थात् सीधे-सीधे जुड़ा टर्मिनल होता है | चूंकि यूजर (User) उपस्थित है और उसका कंप्यूटर के साथ इनटैक्शन (Interaction) है, अतः कंप्यूटर सिस्टमको यूजर (User) की रिक्वेस्ट्स (Requests) पर शीघ्रातिशीघ्र प्रत्यु्तर देने चाहिए, अन्यथा यूजर (User) की कार्यक्षमता पर बुरा प्रभाव पड़ सकता है | एक ही समय में बड़ी संख्या में इ्न्ट्रैक्टिव यूजर्स (Interactive User) को मल्टीप्रोग्राम (Multiprogram ) करने के लिए टाइम-शेयरिंग सिस्टम (Time-Sharing System) का विकास किया गया |

लार्ज स्केल इंटीग्रेशन सर्किट्स (Large Scale Integration Circuits) अर्थात् LSI सर्किट्स और चिप्स (chips) के विकास के साथ ऑपरेटिंग सिस्टम ने पर्सनल कंप्यूटर (Personal Computer) और वर्कस्टेशन (Workstation) युग में प्रवेश किया | सन् 1970 में माइक्रोप्रोसेसर तकनीक (Microprocessor Technique) के विकास के साथ ही डेस्कटॉप कंप्यूटर (Desktop Computer) को मैन्फ्रेम्स (Mainframes) के समान शक्तिशाली बना पाना सम्भव हो पाया |

पर्सनल कंप्यूटर के सन्दर्भ में दो ऑपरेटिंग सिस्टम प्रमुखता से छा गए-एमएस-डॉस (MS-DOS) और यूनिक्स (UNIX) | IBM PC और अन्य इसी मशीन्स जोकि  Intel 8088 अथवा उसके नए संस्करण के सीपीयू (CPU) का प्रयोग करती हैं, के लिए एमएस-डॉस (MS-DOS) को माइक्रोसॉफ्ट (Microsoft) ने विकसित किया | मोटोरोला 6899 फैमिली का प्रयोग करने वाले पर्सनल कंप्यूटर के लिए यूनिक्स (UNIX) को विकसित किया गया |

  • ऑपरेटिंग सिस्टम के प्रकार (Type of Operating System in Hindi)

प्रोसेसर शिड्यूलिंग (Processor Scheduling), मेमोरी मैनेजमेंट (Memory Management), फाइल मैनेजमेंट (File Management) तथा इनपुट/आउटपुट मैनेजमेंट (I/O Management) के आधार पर ऑपरेटिंग सिस्टम को निन्मलिखित वर्गो में वर्गीकृत किया जा सकता है —

  • बैच ऑपरेटिंग सिस्टम (Batch Operating System)
  • इन्ट्रै्क्टिव ऑपरेटिंग सिस्टम (Interactive Operating System)
  • मल्टीप्रोग्राम्ड ऑपरेटिंग सिस्टम (Multiprogrammed Operating System)
  • टाइम-शेयरिंग ऑपरेटिंग सिस्टम (Time-Sharing Operating System)
  • मल्टीटास्किंग ऑपरेटिंग सिस्टम (Multitasking Operating System)
  • रियल टाइम ऑपरेटिंग सिस्टम ( Real-Time Operating System)
  • नेटवर्क ऑपरेटिंग सिस्टम (Network Operating System)

 बैच ऑपरेटिंग सिस्टम (Study Notes on Batch Operating System in Hindi)

कंप्यूटर के शुरुआती दिनों में कंप्यूटर सिस्टम में इनपुट डिवाइस के रूप में कार्ड-रीडर्स (Card Readers) तथा टेप ड्राइव्स (Tap Drives) एवम् आउटपुट डिवाइस के रूप में लाइन प्रिंटर्स (Line Printers), टेप ड्राइव्स (Tape Drives) तथा पंच कार्ड्स (Punch Cards) के प्रयोग हुआ करते थे | उस समय यूज़र कंप्यूटर से सीधे-सीधे (Directly) इन्ट्रै्क्ट न कर, एक जॉब (Job) तैयार किया करते थे, जो प्रोग्राम, डेटा और कंट्रोल इनफार्मेशन का बना हुआ होता था | यूज़र अपने जॉब को तैयार करने के पश्चात् कंप्यूटर ऑपरेटर को सौंप देता था |

इसी प्रकार दुसरे, तीसरे या अन्य यूज़र अपने अपने जॉब तैयार कर कंप्यूटर ऑपरेटर को सौंप देते थे | जॉब्स, पंच कार्ड्स पर तैयार किया जाते थे | कंप्यूटर ऑपरेटर सभी जॉब्स को एक साथ लोड कर उन्हें प्रोसेस करता था | कुछ मिनटों, घंटो या दिनों के पश्चात् जॉब्स प्रोसेस होकर आउटपुट  देते थे |

आउटपुट के प्रोग्राम के परिणाम के साथ-साथ मेमोरी की अंतिम स्थिति की डम्प (Dump) तथा रजिस्टर कन्टेन्ट्स (Register Contents) भी होते थे, जो प्रोग्राम की डिबगिंग (Debugging) में सहायक होते थे |

उस समय के ऑपरेटिंग सिस्टम आजकल के ऑपरेटिंग सिस्टम की तुलना में काफी सरल (Simple) होते थे | ऑपरेटिंग सिस्टम हेमशा मेमोरी में रेजिडेन्ट  (Resident) होता था और इसका प्रधान कार्य एक जॉब से दुसरे जॉब पर स्वतः ही कंट्रोल को स्थानन्तरित (Transfer) करने था | प्रोसेसिंग स्पीड को बढानें के लिए कंप्यूटर ऑपरेटर समान प्राथमिकता वाले जॉब्स को एक साथ समूहित (Grouped) करके, उन्हें समूह के कंप्यूटर द्वारा  रन करते थे | प्रत्येक जॉब को प्रोसेस करने के पश्चात् उनके ओउतपुट साम्बन्धित प्रोग्रामर को दे दिए जाते थे |

ओपेरटर द्वारा  जॉब्स किसी प्रकार समूहित किए जाते थे, आइए इसे हम एक उदाहरण से स्पष्ट करते हैं | मान लीजिए ऑपरेटर ने एक FORTRAN का प्रोग्राम, एक COBOL का प्रोग्राम तथा एक अन्य FORTRAN के प्रोग्राम को प्रोसेस करने के लिए इन्हें बिभिन्न प्रोग्रमरों से प्राप्त किया | अब यदि ऑपरेटर पहलें FORTRAN जे प्रोग्राम को, इसके पश्चात् COBOL के प्रोग्राम को और इसके पश्चात् पुनः FORTRAN के प्रोग्राम को रन को, तो ऐसी परिस्थिति में उसे दो बार  FORTRAN कम्पाइलर को टेप (Tape) से लोड करना पड़ता था | परन्तु, यदि ऑपरेटर दोनों FORTRAN प्रोग्राम्स को एक साथ एक बैच (Batch) में रन करे, तो उसे एक ही बार  FORTRAN कम्पाइलर को टेप (Tape) से लोड करना पड़ेगा | इस प्रकार ऑपरेटिंग के समय की बचत और जॉब्स की जल्द प्रोसेसिंग होती थी |

सामान जॉब्स को एक बैच (Batch) के रूप में प्रोसेस करने से, अलग-अलग जॉब को अलग-अलग प्रोसेस करने की तुलना में सिस्टम रिसोर्सेस का अधिक उपयोग सम्भव हुआ | परन्तु एक जॉब से दूसरे जॉब पर ट्रान्जिशन (Transition) के समय CPU सुस्त (Idle) अवस्था में रहा करता था | दूसरी समस्या  यह थी जब की प्रोसेसिंग किसी कारणवश रुक (Stop) जाती थी, तो उस प्रोग्राम के रुकने के कारणों का पता लगा कर, उसे ठीक कर, उस जॉब को (यदि जॉब कार्ड रीडर से साम्बन्धित है) लोड कर, कंप्यूटर को पुनः स्टार्ट करना पडता था |

बैच प्रोसेसिंग में CPU के आइडल टाइम (Idle Time) को कम करने के लिए रेजिडेन्ट मॉनिटर (Resident Monitor) नामक एक प्रोग्राम क्रिएट किया गया , जो हमेशा मेमोरी में निवास (Resident) करता था | रेजिडेन्ट मॉनिटर (Resident Monitor) प्रोग्रामर द्वारा   कंट्रोल कार्ड्स (Control Cards) में माध्यम से दिए कमाण्ड्स के अनुसार कार्य करता था | कंट्रोल कार्ड्समें जॉब्स के प्रारम्भ (Beginnings) और समापन (Endings) के चिन्ह (Marks),प्रोग्राम्स को लोड और एग्जिक्यूट करने के कमाण्ड्स, इत्यादि प्रोग्रामर द्वारा  जॉब कंट्रोल लैंग्वेज  (Job Control Language) में लिखे जाते थे | ये जॉब कंट्रोल लैंग्वेज कमाण्ड्स यूज़र के प्रोग्राम और डेटा के साथ उल्लिखित किए जाते थे |

बैच प्रोसेसिंग इन्वायरमेंट (Environment) में, CPU अक्सर आइडल (Idle) रहता था, क्यूंकि इनपुट/आउटपुट डिवाइसेस की गति, CPU की गति की तुलना में काफी धीमी होती है | उदहारणस्वरूप, एक CPU, 300 कार्ड्स को प्रति सेकण्ड की गति से एसेम्बल या कम्पाइल कर सकता था, जबकि एक तीव्र कार्ड रीडर (A Fast Card Reader) एक सेकण्ड में केबल 20 कार्ड्सही रीड कर सकता था | अतः जहां  1200 कार्ड्स को  CPU,4 सेकण्डों में एसेम्बल या कम्पाइल कर सकता था, वहां कार्ड-रीडर को 1200 कार्ड्स को रीड करने में  60 सेकण्ड्स का समय लगता था | अतः  CPU को  60-4=56 सेकण्डों  तक आइडल (Idle) रहना पड़ा | अतः  इस उदाहरण के परिप्रेक्ष्य में CPU के टाइम का उपयोग (Utilization) केबल  6.7 प्रतिशत हुआ अर्थात् CPU के टाइम के उपयोग का  93.3 प्रतिशत टाइम आइडल (Idle) अवस्था में रहा | इसी प्रकार CPU के टाइम की बर्बादी (Wastage) आउटपुट ऑपरेशन में भी होती थी |

अतः बैच प्रोसेसिंग में सबसे बड़ी समस्या यह थी कि CPU को तब तक आइडल स्थिति (Idle Stage) में रहना पड़ता था जब तक कि इनपुट/आउटपुट  ऑपरेशन पूरे (Complete) न हो जाएं | समय के साथ-साथ टेक्नोलॉजी में विकास हुआ और पहले की तुलना में अधिक तेज़ गति के इनपुट/आउटपुट डिवाइसेस विकसित हुए | परन्तु इनपुट/आउटपुट डिवाइसेस की गति की तुलना में CPU की गति में कहीं अधिक विकास हुआ | अंतः कंप्यूटर सिस्टम के रेसोर्सेस का अधिकतम उपयोग करने के लिए इनपुट/आउटपुट और प्रोसेसिंग ऑपरेशन को एक- दुसरे से ओवरलैप (Overlap) करने के लिए चैनल्स (Channels), पेरिफेरल कंट्रोलर्स (Peripheral Controllers) तथा समर्पित इनपुट/आउटपुट प्रोसेसर्स (Dedicated Input/Output Processors) का विकास हुआ | इसी दिशा में  DMA Chip (Dynamic Memory Access Chip) का भी विकास हुआ, जो बिना  CPU के हस्तक्षेप (Intervention) के सीधे-सीधे (Directly) अपने बफर (Buffer)  से डेटा के पूरे ब्लॉक को मेन मेमोरी में स्थानांतरित (Transfer) कर सकता था | जब CPU एग्जिक्यूट कर रहा होता है, तो DMA इनपुट/आउटपुट डिवाइसेस और मेन मेमोरी के बीच डेटा स्थानांतरित (Transfer) कर सकता है |

कंप्यूटर सिस्टम के परफॉरमेंस (Performance) को बढाने के लिए, DMA के अलावा बफरिंग (Buffering) और स्पूलिंग (Spooling) नामक दो अन्य एप्रोच भी विकसित किए गए |

 बफरिंग (What is Buffering in Operating System in Hindi)

यह एक ऐसा मेथड है, जिसमें CPU केवल एक और केवल एक ही जॉब (Job) के इनपुट/आउटपुट और प्रोसेसिंग ओपरेशनों के बीच ओवरलैप (Overlap) करता है |

बफरिंग (Buffering) में डेटा को इनपुट डिवाइस से रीड करने के पश्चात् CPU इसे प्रोसेस करने लगता है तथा प्रोसेसिंग के शुरू होने से ठीक पहले इनपुट डिवाइस अगले इनपुट Data को रीड करने के लिए ऑपरेटिंग सिस्टम द्वारा  निर्देशित  (Instruct) किया जाता है | इस प्रकार CPU और इनपुट डिवाइस दोनों ही व्यस्त (Busy) रहते हैं | CPU प्रोसेस्ड डेटा (Processed Data) को तब तक बफर (Buffer) में स्टोर करके रखता है, जब तक कि ये डेटा आउटपुट डिवाइस द्वारा   स्वीकार (Accept) नहीं कर लिए जाते हैं |

 स्पूलिंग (What is Spooling in Operating System in Hindi)

सिमल्टेनियस पेरिफेरल ऑपरेशन्स ऑन लाइन (Simultaneous Peripheral Operation On Line) का सॅक्षिप्त रूप स्पूलिंग (Spooling) है, स्पूलिंग भी एक मेथड है, जिसमें जब अनेक जॉब्स (jobs) डिस्क पर एग्जिक्यूशन (Execution) के लिए प्रतीक्षा (Wait) कर रहे होते हैं, तब CPU डिस्क से रीड (Read) करके एक साथ प्रोसेस करता है | उदहारणके लिए जब एक जॉब में प्रिन्टर द्वारा  कुछ प्रिन्ट करना होता है, तो ऐसी अवस्था में पहले डिस्क पर कॉपी होगी और उसके बाद ही प्रिंटिंग का जॉब प्रारम्भ हो सकेगा | इस प्रकार के प्रोसेस को स्पूलिंग (Spooling) कहते हैं | स्पूलिंग में अनिवार्य रूप से बफर के लिए डिस्क का प्रोयोग रीडिंग और आउटपुट फाइल को स्टोर करने के लिए तब तक किया जाता हैं,  जब तक कि आउटपुट डिवाइस उसे आउटपुट के लिए स्वीकार नहीं कर लेती हैं |

Operating System Tutorial Notes Study Material with Examples in Hindi

Operating System Tutorial Notes Study Material with Examples in Hindi

इस प्रकार हम कह सकते हैं कि स्पूलिंग (Spooling) वह प्रोसेस है, जिसमे इनपुट डिवाइस (Input Device) से प्राप्त होने वाला डेटा (Data), जो कि आउटपुट डिवाइसउ पर जाने वाले हैं, को अस्थाई (Temporary) रूप से डिस्क (Disk) पर रखा जाता है | CPU की तीव्रगति और आउटपुट की गति अपेक्षाकृत कम होने के कारण, फाइल और डेटा वो तुरन्त तैयार रखने के लिए एक बफर की आवश्यकता होती है और इस के लिए स्पूलिंग (Spooling) आवश्यकता होती है यह डिस्क डिवाइस मेन मेमोरी एवं आउटपुट डिवाइस के मध्य एक बफर के रूप में कार्य करती है | स्पूलिंग (Spooling) की यह प्रक्यिा तब प्रारम्भ होती है, जब CPU किसी अन्य जॉब  के साथ व्यस्त (Busy) नहीं होता | स्पूलिंग (Spooling) में हम मेन मेमोरी एवं CPU का भली भांति पूर्ण रूप से उपयोग कर पाते हैं | स्पूलिंग (Spooling) की प्रक्रिया, कार्य के दौरान  यूज़र (User) को स्वतः ही प्रदर्शित होती रहती है |

स्टैटिस्टिकल एनालिसिस (Statistical Analysis) ऐसे प्रोग्राम के उदहारण हैं,

जिसमें अधिक कम्प्यूटेशन समय लगता है तथा यूज़र के इन्टैक्शन (Interaction) की आवश्यकता नहीं पड़ती है |

 Notes on Interactive Operating System in Hindi

          इन्टैक्टिव ऑपरेटिंग सिस्टम (Interactive Operating System) के किसी एप्लीकेशन (Application) के एग्जीक्यूट (Execute) होने पर कमाण्ड्स (Commands)  और डेटा (Data) देने के लिए यूज़र (User) ऑपरेटिंग से सीधे-सीधे इन्टै्क्ट (Interact) कर सकता है, साथ ही दी गयी कमाण्ड् (Command) और डेटा (Data) की प्रोसेसिंग (Processing) के उपरान्त परिणाम को भी तुरन्त प्राप्त करता है |

इस प्रकार के ऑपरेटिंग सिस्टम में यूज़र (User) कंप्यूटर के साथ टू-वे कॉम्यूनिकेशन (Two-Way Communication) में होता है और इसके लिए एक यूज़र (User Interface) होता है | यह यूजर इंटरफ़ेस (User Interface), कमाण्ड् लाइन इंटरफ़ेस (Command Line Interface) अथवा ग्राफिकल इंटरफ़ेस (Graphical Interface) हो सकता है |  अधिकांश ऑपरेटिंग सिस्टम इसी प्रकार के होते हैं |

 मल्टीप्रोग्राम्ड ऑपरेटिंग सिस्टम (What is Multiprogrammed Operating System in Hindi)

मल्टीप्रोग्राम्ड ऑपरेटिंग सिस्टम (Multiprogrammed Operating System), एक से अधिक जॉब्स को मेमोरी में एक साथ लोड कर, उन्हें एक साथ (Concurrently) प्रोसेस करता है | मल्टीप्रोग्राम्ड ऑपरेटिंग सिस्टम, मल्टीप्रोग्रामिंग नामक टेकनीक का प्रयोग एक साथ एक से अधिक जॉब्स को मेमोरी में लोड करने तथा उन्हें एक साथ प्रोसेस करने के लिए करता है | इस प्रकार के ऑपरेटिंग सिस्टम में मल्टीप्रोग्रामिंग टेकनीक निम्न तरीके से कार्य करती है-

  • मल्टीप्रोग्राम्ड ऑपरेटिंग सिस्टम एक से अधिक जॉब्स को मेमोरी में एक साथ लोड करता है |
  • ऑपरेटिंग सिस्टम इनमें से किसी एक जॉब को एग्जिक्यूट करना शुरु करता है |
  • जब कोई जॉब एग्जिक्यूट कर रहा होता है, तो ऑपरेटिंग सिस्टम उन सभी जॉब्स का एक क्यू (Queue) मेनटेन (Maintain) करता है, जो CPU की उपलब्धता के लिए प्रतीक्षा (Wait) कर रहे हैं |
  • जब वर्तमान में एग्जिक्यूट हो रहे जॉब में इनपुट/आउटपुट ऑपरेशन की आवश्कयता होती है, तो ऑपरेटिंग सिस्टम अगले जॉब की प्रोसेसिंग के लिए CPU को उस जॉब पर स्थानान्तरित (Transfer) कर देता है |
  • जब पहले वाले जॉब का इनपुट/आउटपुट ऑपरेशन समाप्त होता है, तो ऑपरेटिंग सिस्टम पुनः इसे क्यू (Queue) में रख देता है, ताकि जब CPU उपलब्ध हो तो इसकी बाकी प्रोसेसिंग पूरी की जा सके |
  • इस प्रकार ऑपरेटिंग सिस्टम CPU के कंट्रोल को एक जॉब में दुसरे जॉब पर स्थानान्तरित करता रहता है | परिणामस्वरूप, CPU कभी में आइडल स्थिति (Idle Stage) में नहीं रहता है |

अब प्रश्न यह उठता है, कि किस प्रकार एक में अधिक जॉब्स एक साथ ऑपरेटिंग  द्वारा  मेमोरी में रखे तथा प्रोसेस किए जाते हैं? इसके लिए ऑपरेटिंग सिस्टम, मेमोरी मैनेजमेंट तथा CPU शिड्यूलिंग ( CPU Scheduling) के कुछ तरीकों का प्रयोग करती है, जिनकी चर्चा हम आने वाले अध्यायों में करेंगे | निचे दी गई Fig.-1.03 में मल्टीप्रोग्रामिंग एनवायरनमेंट में मेमोरी लेआउट (Memory Layout) को दर्शाया गया है |

Operating System Tutorial Notes Study Material with Examples in Hindi

Operating System Tutorial Notes Study Material with Examples in Hindi

 टाइम-शेयरिंग ऑपरेटिंग सिस्टम (What is Time-Sharing Operating System in Hindi)

टाइम-शेयरिंग ऑपरेटिंग सिस्टम (Time-Sharing Operating System), मल्टीप्रोग्राम्ड ऑपरेटिंग सिस्टम (Multiprogrammed Operating System) का ही एक रूप (Form) है, जो इन्टैक्टि मोड में क्विक रेस्पॉन्स टाइम (Quick Response Time) के साथ कार्य करता है | टाइम-शेयरिंग ऑपरेटिंग सिस्टम प्रत्येक यूज़र के लिए एक क्रम (Sequence) में CPU समय की एक समान मात्रा एलोकेट करता है |

ऑपरेटिंग सिस्टम द्वारा  प्रत्येक यूज़र को CPU द्वारा  दिया जाने वाला समय (Allocated Time) टाइम-स्लाइस (Time-Slice) कहलाता है | यह टाइम-स्लाइस, 5 से 100 मिलीसेकण्ड्स तक का होता हैं | याद रखें, 1 मिलीसेकण्ड्स  एक सेकण्ड 1000वां भाग होता है, अर्थात्, 1 मिलीसेकण्ड्स=1/1000=1/103 सेकण्ड | ज्योंही एक टाइम स्लाइस की अवधि समाप्त होती है, ऑपरेटिंग सिस्टम द्वारा  CPU अलग यूज़र को एलोकेट कर दिया जाता है |

टाइम-शेयरिंग ऑपरेटिंग सिस्टम एक से अधिक यूज़र को एक साथ कंप्यूटर को शेयर करने की सुविधा प्रदान करता है | चूंकी ऑपरेटिंग सिस्टम द्वारा  एक समान और कॉपी छोटे समय के लिए “टाइम-स्लाइस” प्रत्येक यूज़र को एलोकेट (Allocate) किया जाता है, अंतः अलग अलग यूज़र को प्रोग्राम को एक साथ स्टोर करने के लिए मल्टीप्रोग्रामिंग (Multiprogramming) तथा प्रोग्राम को प्रोसेस करने के लिए CPU शिड्यूलिंग (Round Robin Scheduling) का प्रयोग किया जाता है |

जब कोई प्रोसेस एग्जिक्यूट कर रहा होता है, तो उसे प्रोसेस (Process) कहते हैं | टाइम-शेयर्ड ऑपरेटिंग सिस्टम के परिप्रेक्ष्य में कोई प्रोसेस केवल दिया गए समय (Allocate Time) एक लिए ही एग्जिक्यूट करता है | यदि प्रोसेस, ऑपरेटिंग सिस्टम द्वारा  दिए गए समय (Allocated Time Slice) से अधिक समय लेता है, तो वह प्रोसेस ऑपरेटिंग द्वारा  बाधित (Interrupt) कर रेडी क्यू (Ready Queue) के अन्त के प्रतीक्षारत प्रोसेस (Waiting Process) के रूप में प्लेस (Place) कर दिया जाता है, जहां वह प्रोसेस अपने अलग टाइम-स्लाइस एलोकेशन की प्रतीक्षा करता रहता है |

यदि रनिंग प्रोसेस अपनी इच्छा से ऑपरेटिंग सिस्टम को कोई I/O रिक्वेस्ट (Requests) भेजता है या अपने आप को टरमिनेट करता है, तो ऑपरेटिंग सिस्टम दुसरे प्रोसेस को रन करता है | इस प्रकार जब कोई प्रोसेस I/O ऑपरेशन करता है तो दूसरा प्रोसेस ऑपरेटिंग सिस्टम द्वारा  CPU में रन किया जाता है | अतः CPU और इनपुट डिवाइस दोनों ही व्यस्त (Busy) रहते हैं | टाइम-शेयरिंग ऑपरेटिंग सिस्टम (Time-Sharing Operating System) और मल्टीप्रोग्राम्ड ऑपरेटिंग सिस्टम (Multiprogrammed Operating System) दोनों में ही एक  से अधिक जॉब्स को मेमोरी के एक साथ रखा जाता है, अतः इन ऑपरेटिंग सिस्टम में मेमोरी मैनेजमेंट (Memory Management) और प्रोटेक्शन (Protection) के मेथोड्स (Methods) का होना आवश्यक है |

टाइम-शेयरिंग ऑपरेटिंग सिस्टम में उचित रेसपॉन्स टाइम (Response Time) को प्राप्त करने के लिए जॉब्स को मेन मेमोरी से डिस्क में और डिस्क से मेमोरी में स्वैप (Swap) करने की आवश्यकता होती है, वर्चुअल मेमोरॉय (Virtual Memory) इसी प्रकार की एक तकनीक है, जो वैसे जॉब्स को प्रोसेस करने के लिए प्रयुक्त होता है, जो मेमोरी में पूर्णरूपेण (Completely) नहीं होती हैं | अतः वर्चुअल मेमोरी (Virtual Memory) मेथड द्वारा  वैसे जॉब्स को प्रोसेस किया जाता है, जिनका साइज़ (Size) फिजिकल मेमोरी (Physical Memory) से बड़ा होता है |

Operating System Tutorial Notes Study Material with Examples in Hindi

Operating System Tutorial Notes Study Material with Examples in Hindi

उपरोक्त Fig. 1.04 में टाइम-शेयरिंग सिस्टम को यूज़र के सन्दर्भ में दर्शाया गया है |

मल्टीटास्किंग ऑपरेटिंग सिस्टम (What is Multi-Tasking Operating System in Hindi)

मल्टीटास्किंग ऑपरेटिंग सिस्टम (Multi-Tasking Operating System) को मल्टीप्रोसेसिंग ऑपरेटिंग सिस्टम (Multi-processing Operating System) भी कहा जाता है | मल्टीटास्किंग ऑपरेटिंग सिस्टम (Multi-Tasking Operating System) विभिन्न जॉब्स (Jobs) को एक को अधिक प्रोसेसर (Processor) पर एग्जिक्यूट करते हैं अर्थात् मल्टीटास्किंग ऑपरेटिंग सिस्टम जॉब्स को एग्जिक्यूट करने के लिए एक से अधिक को हैण्डल (Handle) करते हैं | किसी प्रोग्राम के एग्जिक्यूट  करने की स्थिति को टास्क अथवा प्रोसेस (Task or Process) कहा जाता है | मल्टीटास्किंग ऑपरेटिंग सिस्टम (Multitasking Operating System), दो या दो से अधिक प्रोसेस (Process) को एक साथ एग्जिक्यूट कर सकता है |

 रियल-टाइम ऑपरेटिंग सिस्टम (What is Real-Time Operating System in Hindi)

रियल-टाइम ऑपरेटिंग सिस्टम (Real-Time Operating System) प्रत्येक जॉब (Job) को एक निशिचत समयवधि, जिसे डेडलाइन (Deadline) कहा जाता है, के अन्दर सम्पादित करता है | रियल-टाइम ऑपरेटिंग सिस्टम (Real-Time Operating System) का प्रमुख उदेश्य क्विक रेस्पॉन्स टाइम (Quick Response Time) प्रदान करना होता है |

कंप्यूटर के संसाधनों (Resources) का अत्यधिक उपयोग करना इसकी प्राथमिकता होती है; जबकि यूज़र के कार्य करने की सुविधा की प्रमुखता diutib स्तर पर होती रहती है | क्विक रेस्पोंसे टाइम (Quick Response Time) प्रदान करने के लिए प्रोसेसिंग अधिकांश समय मेन मेमोरी में होती रहती है | यदि कोई जॉब निर्धारित समयवधि (Fixed Deadline) के अन्दर पूरा नहीं हो पाता है, तो ऐसी स्थिति को डेडलाइन ओवररन (Deadline Overrun) कहते हैं | रियल टाइम ऑपरेटिंग सिस्टम (Real-Time Operating System) को डेडलाइन ओवररन  (Deadline Overrun) जैसी स्थिति को कम से कम घटित होने देने चाहिए |

 नेटवर्क ऑपरेटिंग सिस्टम (What is Network Operating System in Hindi with Examples)

          नेटवर्क ऑपरेटिंग सिस्टम (Network Operating System), सॉफ्टवेर (Software) तथा एसोसिएटेड प्रोटोकॉल्स (Allocated Protocols) का संग्रह (Collection) होता है, जो ऑटोनोमस कंप्यूटर (Autonomous Computer) का एक समूह (Set) होता है तथा ये कंप्यूटर एक नेटवर्क में एक-दुसरे से जुड़े होते हैं |  नेटवर्क ऑपरेटिंग सिस्टम (Network Operating System) में यूज़र को सभी कंप्यूटर के अस्तित्व (Existence) की जानकारी (Awareness) होती हैं | तथा कोई भी यूज़र किसी भी कंप्यूटर में लोग-इन (Log-in) कर सकता है और फाइल्स को एक कंप्यूटर से दुसरे कंप्यूटर में कॉपी (Copy) कर सकता है |  नेटवर्क ऑपरेटिंग सिस्टम (Network Operating System) की निन्मलिखत प्रमुख विशेषताएं हैं, जो इसे डिस्ट्रिब्यूटेड ऑपरेटिंग सिस्टम (Distributed Operating System) से भिन्न करती हैं—

  • प्रत्येक कंप्यूटर का अपना प्राइवेट ऑपरेटिंग सिस्टम होता है |
  • प्रत्येक यूज़र अपने सिस्टम पर काम करता है, किसी अन्य सिस्टम का उपयोग करने के लिए उस सिस्टम में रिमोट लॉगइन (Remote Login) करने की आवश्कयता होती है |
  • प्रत्येक यूज़र एक बात से अवगत होते हैं कि उनकी फाइल्स नेटवर्क में कहां (किसी सिस्टम में) रखी हुई हैं | अतः यूज़र अपनी फाइल्स को फाइल ट्रान्सफर कमाण्ड्स (File Transfer Commands) द्वारा एक सिस्टम से दुसरे सिस्टम में मूव (Move) कर सकते हैं |

नेटवर्क ऑपरेटिंग सिस्टम (Network Operating System) की प्रमुख क्षमताएं (Capabilities) निन्मलिखित हैं–

  • यूज़र को नेटवर्क हॉस्टस् के विभिन्न रिसोर्सेस को एक्सेस करने की अनुमति प्रदान करना |
  • एक्सेस को नियंत्रित (Control) करना ताकि नेटवर्क के किसी खास रिसोर्सेस को वे यूज़र्स ही एक्सेस कर सकें, जिन्हें उचित ऑथराइजेशन (Proper Authorization) प्रदानलो गई हो |
  • यूज़र को रिमोट रिसोर्सेस का उपयोग लोकल रिसोर्सेस के सामने करने की क्षमता प्रदान करना |

नेटवर्क ऑपरेटिंग सिस्टम (Network Operating System) एक ऐसा वातावरण प्रदान करता है, जिसमे यूज़र रिमोट रिसोर्सेस (Remote Resource) को उचित रिमोट मशीन (Appropriate Remote Machine) में लॉग इन (Login) करके एक्सेस (Access) कर सकता है | रिमोट (Remote) एक महत्वपूर्ण फंक्शन (Function) है, जो यूज़र्स  को किसी भी रिमोट कंप्यूटर (Remote Computer) (Login) में लॉगइन करने की सुविधा प्रदान करता है |

नेटवर्क ऑपरेटिंग सिस्टम (Network Operating System) का दूसरा प्रमुख कार्य फाइल को एक कंप्यूटर से दुसरे कंप्यूटर में ट्रान्सफर (Transfer) करना है | फाइल को नेटवर्क इनवायरमेंट (Network Environment) में एक मशीन से दूसरी मशीन में ट्रान्सफर (Transfer) करने के मैकेनिज्म (Mechanism) को रिमोट फाइल ट्रान्सफर (Remote File Transfer) कहा जाता है | नेटवर्क में प्रत्येक कंप्यूटर अपने लोकल फाइल सिस्टम (Local File System) को मेनटेन करते हैं | यदि कोई यूज़र किसी साईट (Site) से किसी अन्य साईट के फाइल को एक्सेस करना चाहता है तो फाइल स्पष्ट रूप से  (Explicitly) उस साईट के कंप्यूटर से, उस यूज़र के साईट के कंप्यूटर में कॉपी (Copy) होना चाहिए |

 ऑपरेटिंग सिस्टम का स्ट्रक्चर (Notes on Structure of Operating System in Hindi)

चुंकि ऑपरेटिंग सिस्टम एक बड़ा और जटिल (Very Large and Complex) सॉफ्टवेर है, जो बड़ी संख्या में फंक्शनस (Large Number of Functions) का समर्थन (Support) करता है; अतः ऑपरेटिंग सिस्टम का डेवलपमेंट  (Development) एक मोनोलिथिक सॉफ्टवेर (Monolithic Software) के रूप में न होकर कई छोटे-छोटे मोड्यूल्स (Modules) के कलेक्शन के रूप में होना चाहिए | इनमें से प्रत्येक मोड्यूल्स के इनपुट (Inputs), आउटपुट (Output) तथा कार्य (Functions) अच्छी तरह से परिभाषित होने चाहिएं आइए, ऑपरेटिंग सिस्टम के विभिन्न स्ट्रक्चर्स (Structures) की चर्चा करते हैं |

लेयर्ड स्ट्रक्चर एप्रोच (What is Layered Structure Approach in Operating System In Hindi)

लेयर्ड स्ट्रक्चर एप्रोच, ऑपरेटिंग सिस्टम को विभिन्न सतहों (Layers) में विभाजित कर, उसे डेवलप (Develop) करने का एक मेथड (method) है प्रत्येक सतह (Layer) निचे वाली सतह (Layer) के शीर्ष (Top) पर बनाई जाती है | सबसे निचे (Bottom) की सतह (Layer) हार्डवेयर (Hardware) की होती है | जबकि सबसे  (Highest) की सतह (Layer) यूज़र इंटरफ़ेस (User Interface) की होती है |

लेयर्ड स्ट्रक्चर एप्रोच  के तहत सर्वप्रथम THE नामक ऑपरेटिंग सिस्टम को   E.W.Dijkistra तथा उनके शिष्यों द्वारा  सन् 1968 ईo में निर्मित किया गया | THE ऑपरेटिंग सिस्टम एक बैच ऑपरेटिंग सिस्टम (Batch Operating System) था, जिसमें 6 सतहों (Layers) थी, जिन्हें निन्मांकित Fig.-1.05 में दर्शाया गया है —

Layer 5 User Programs
Layer 4 Buffering of I/O Devices
Layer 3 Device Driver
Layer 2 Memory Manager
Layer 1 CPU Scheduling
Layer 0 Hardware

  Fig.-1.05: The Layered Structure of THE Operating System

THE ऑपरेटिंग सिस्टम में layer 0 हार्डवेयर को डील (Deal) करता था | Layer 1, CPU की शिड्यूलिंग (CPU Scheduling) अर्थात् जॉब्स जो प्रोसेस के लिए एलोकेट करता था | Layer 2, मेमोरी मैनेजमेंट का कार्य करता था | Layer 3, ऑपरेटर के कंसोल (Console) के लिए डिवाइस ड्राईवर को धारण (Contain) करता था, जबकि Layer 4, इनपुट/आउटपुट डिवाइसेस के लिए (Buffering) किया करते थे |

ये सभी सतहें (Layers) इस तरह डिजाइन की गई हैं की प्रत्येक सतह (Layer) केवल अपने नीचे वाली सतह (Layer) के ऑपरेशन (Operation) और सर्विसेस का ही प्रयोगका सकती है | चूकिं प्रत्येक सतह (Layer) अपने से उच्चतर सतहों (Higher Levels) से ऑपरेशन्स के क्रियान्वयन (Implementation) को छिपीती (Hide) है, अतः किसी सतह के उच्चतर (Higher) सतहको यह जानने की आवश्यकता नहीं होती है, की किस तरह ऑपरेशन को क्रिर्यान्वित (Implement) किया जाता है, बल्कि उसे केवल यह जाने की आवश्यकता होती है की ऑपरेशन क्या करते हैं | चूकिं प्रत्येक सतह के अलग-अलग कार्य हैं, अतः किसी भी सतह को बिना किसी भी सतह के सम्बन्ध रखते हुए डिबग (Debug) किया जा सकता है |

लायेरेड एप्रोच (Layered Approach) का मुख्य लाभ यह है कि यह ऑपरेटिंग सिस्टम के डिजाईन को मोदुलारिटी (Modularity) प्रदान करता है, जिसके कारण ऑपरेटिंग सिस्टम को आसनिपुर्वक डिजाईन तथा वेरीफाई (Verify) किया जा सकता है लायेरेड एप्रोच  (Layered Approach) के साथ सबसे बड़ी परेशानी यह है कि इसमें नए स्तर (Level) को परिभाषित (Define) करना कठिन होता है; अर्थात् इसमें एक स्तर को दुसरे स्तर से अलग करने में काफी सावधानी की आवश्यकता होती है; क्योंकि कोई भी सतह (Layer) अपने से नीचे वाली सतह (Layer) सर्विसेस (Services) का प्रयोग करती है | उदहारणस्वरूप, सेकेण्डरी मेमोरी (Secondary Memory) के डिवाइस ड्राईवर (Device Driver) को मेमोरी मैनेजमेंट रूटीन्स (Memory Management Routines) के नीचे वाली सतह (Lower Layer) में परिभाषित होने चाहिए; क्योंकि मेमोरी मैनेजमेंट में सेकेंण्डरी मेमोरी का प्रयोग किया जाता है |

कर्नेल एप्रोच (What is Kernel Approach in Operating System in Hindi)

कर्नेल एप्रोच में ऑपरेटिंग सिस्टम को दो अलग-अलग भागो में बांटकर डिजाइन और डेवेलोप(Develop) किया जाता है |  अर्थात् कर्नेल एप्रोच द्वारा  बनाया गया ऑपरेटिंग सिस्टम दो अलग-अलग भागो का बना होता है | एक भाग को कर्नेल(Kernel) कहा जाता है तथा दुसरे भाग में सिस्टम प्रोग्राम्स(System Programs) होते हैं | kernel ऑपरेटिंग सिस्टम का वह भाग है, जो हार्डवेयर सिस्टम से इंटरफ़ेस (Interface) स्थापित करता है | kernel के निन्मलिखित प्रमुख कार्य हैं—

  • प्रोसेसेस (Processes) को क्रिएट तथा डिलीट करने का मैकेनिज्म (Mechanism) प्रदान करना |
  • प्रोसेसर शिड्यूलिंग (Processor Scheduling), मेमोरी मैनेजमेंट (Memory Management) तथा इनपुट/आउटपुट मैनेजमेंट (I/O Management) करना |
  • प्रोसेसेस को सिंक्रोनाइज(Synchronize) करने का मैकेनिज्म (Mechanism) प्रदान करना |
  • इन्तेर्प्रोसस कॉम्यूनिकेशन(Interprocess Communication) के लिए मैकेनिज्म प्रदान करना |

UNIX ऑपरेटिंग सिस्टम कर्नल एप्रोच पर आधारित है | UNIX ऑपरेटिंग सिस्टम दो अलग-अलग भागो का बना हुआ है – Kernel और System Programs, जिसे निन्मलिखित Fig.-1.06 में दर्शाया गया है—

Operating System Tutorial Notes Study Material with Examples in Hindi

Operating System Tutorial Notes Study Material with Examples in Hindi

उपरोक्त Fig.-1.06 में आप देख सकते हैं, कर्नेल (Kernel), सिस्टम प्रोग्रम्म्स (System Programs), और हार्डवेयर (Hardware) के मध्य अवस्थिति है | कर्नेल (Kernel), सिस्टम कॉल्स (System Cells) के माध्यम से फाइल सिस्टम (File System), प्रोसेस शिड्यूलिंग (Processor Scheduling),  मेमोरी मैनेजमेंट (Memory Management)  तथा ऑपरेटिंग सिस्टम के अन्य कार्यो (Functions) को सम्पादित करता है | UNIX ऑपरेटिंग सिस्टम कॉपी अधिक संख्यामें सिस्टम कॉल्स (System Cells)  का समर्थन करता है, तथा सिस्टम कॉल्स , कर्नेल (Kernel) के सेविसेस (Services) का प्रयोग करते हैं |


 

6 comments on “Operating System Tutorial Notes Study Material with Examples in Hindi
  1. Colton Rise says:

    It’s a pity you don’t have a donate button! I’d certainly donate to this superb blog! I guess for now i’ll settle for bookmarking and adding your RSS feed to my Google account. I look forward to fresh updates and will talk about this blog with my Facebook group. Chat soon!

  2. Omer Agerton says:

    I precisely wished to thank you very much yet again. I’m not certain the things that I could possibly have used without those suggestions documented by you on my topic. It had been the alarming scenario in my circumstances, but discovering a skilled manner you processed that took me to cry with fulfillment. Now i’m thankful for this help and in addition trust you find out what a great job you have been doing teaching other individuals with the aid of your web blog. Probably you’ve never got to know any of us.

  3. You illustrate some ad hominem statements.

  4. You are my aspiration, I possess few web logs and sometimes run out from post :). “‘Tis the most tender part of love, each other to forgive.” by John Sheffield.

  5. What’s Taking place i am new to this, I stumbled upon this I have discovered It absolutely helpful and it has helped me out loads. I am hoping to give a contribution & assist different customers like its aided me. Good job.

Leave a Reply

Your email address will not be published. Required fields are marked *

*