इनपुट-आउटपुट के सिद्धांत और प्रोग्रामिंग - Input Output Principles and Programming in OS in Hindi


इनपुट-आउटपुट क्या है? (What is Input and Output in OS?)

इनपुट-आउटपुट (I/O) ऑपरेटिंग सिस्टम (OS) का एक महत्वपूर्ण घटक है, जो कंप्यूटर सिस्टम और बाहरी उपकरणों (जैसे कीबोर्ड, माउस, डिस्क ड्राइव, प्रिंटर) के बीच डेटा ट्रांसफर को सक्षम बनाता है।

इनपुट-आउटपुट सिस्टम के सिद्धांत (Principles of Input-Output System)

I/O सिस्टम को कुशलतापूर्वक प्रबंधित करने के लिए कुछ प्रमुख सिद्धांत होते हैं:

  • समानांतरता (Concurrency): I/O डिवाइस और CPU को समानांतर रूप से कार्य करने की अनुमति देता है।
  • असिंक्रोनस डेटा ट्रांसफर (Asynchronous Data Transfer): CPU और I/O डिवाइस स्वतंत्र रूप से कार्य कर सकते हैं।
  • बफरिंग (Buffering): डेटा को अस्थायी रूप से स्टोर करने के लिए बफर का उपयोग किया जाता है, जिससे CPU और I/O डिवाइस में समन्वय बना रहता है।
  • स्पूलिंग (Spooling): धीमे I/O डिवाइस (जैसे प्रिंटर) को कुशलतापूर्वक कार्य करने के लिए डेटा को डिस्क में संग्रहीत करता है।
  • इंटरप्ट ड्रिवन I/O (Interrupt Driven I/O): CPU को I/O डिवाइस से सिग्नल मिलने पर ही कार्य करने की अनुमति देता है।

इनपुट-आउटपुट ऑपरेशन के प्रकार (Types of Input-Output Operations)

ऑपरेशन विवरण
Programmed I/O CPU डेटा ट्रांसफर के लिए I/O डिवाइस को नियंत्रित करता है। इसमें CPU को I/O ऑपरेशन पूरा होने तक इंतजार करना पड़ता है।
Interrupt Driven I/O CPU तब तक कार्य करता है जब तक I/O डिवाइस इंटरप्ट नहीं भेजता, जिससे CPU का उपयोग कुशलता से किया जाता है।
Direct Memory Access (DMA) CPU को बायपास करके डेटा को मेमोरी में सीधे स्थानांतरित करता है, जिससे सिस्टम की गति बढ़ती है।

I/O डिवाइसेस और उनकी श्रेणियाँ (Categories of I/O Devices)

I/O डिवाइसेस को तीन मुख्य श्रेणियों में विभाजित किया जाता है:

  • इनपुट डिवाइसेस: कीबोर्ड, माउस, स्कैनर, माइक्रोफोन।
  • आउटपुट डिवाइसेस: मॉनिटर, प्रिंटर, स्पीकर।
  • स्टोरेज डिवाइसेस: हार्ड ड्राइव, SSD, USB ड्राइव।

I/O प्रोग्रामिंग (Input Output Programming)

I/O प्रोग्रामिंग ऑपरेटिंग सिस्टम और I/O डिवाइसेस के बीच संचार को सक्षम बनाती है। इसे निम्नलिखित विधियों से लागू किया जाता है:

1. पोर्ट-मैप्ड I/O (Port-Mapped I/O)

CPU I/O पोर्ट्स का उपयोग करके इनपुट और आउटपुट डिवाइसेस को नियंत्रित करता है।

MOV DX, 0x60  ; I/O पोर्ट का पता
IN AL, DX     ; डेटा इनपुट करना

2. मेमोरी-मैप्ड I/O (Memory-Mapped I/O)

CPU मेमोरी के समान पते पर I/O डिवाइसेस को नियंत्रित करता है।

MOV AX, [0xD000]  ; इनपुट डेटा पढ़ना
MOV [0xD100], AX  ; आउटपुट भेजना

3. इंटरप्ट-ड्रिवन I/O (Interrupt-Driven I/O)

जब I/O डिवाइस तैयार होता है, तो यह CPU को इंटरप्ट भेजता है।

ISR:
    PUSH AX
    MOV AL, [PORT]
    POP AX
    IRET

4. डायरेक्ट मेमोरी एक्सेस (DMA) (Direct Memory Access)

DMA नियंत्रक मेमोरी और I/O डिवाइसेस के बीच सीधे डेटा ट्रांसफर करता है।

स्पूलिंग (Spooling) और बफरिंग (Buffering)

तकनीक विवरण
Spooling धीमे आउटपुट डिवाइसेस (जैसे प्रिंटर) के लिए डेटा को हार्ड डिस्क में अस्थायी रूप से संग्रहीत करता है।
Buffering CPU और I/O डिवाइस के बीच डेटा ट्रांसफर को समन्वयित करने के लिए अस्थायी स्टोरेज (Buffer) का उपयोग करता है।

I/O सिस्टम आर्किटेक्चर (I/O System Architecture)

किसी भी कंप्यूटर सिस्टम में I/O सिस्टम आर्किटेक्चर निम्नलिखित घटकों से मिलकर बनता है:

  • डिवाइस कंट्रोलर (Device Controller): I/O डिवाइस को नियंत्रित करता है।
  • I/O इंटरफेस (I/O Interface): CPU और I/O डिवाइस के बीच संचार करता है।
  • I/O मॉड्यूल (I/O Module): डेटा ट्रांसफर को कुशल बनाता है।

निष्कर्ष

Input-Output Principles and Programming ऑपरेटिंग सिस्टम का एक आवश्यक हिस्सा हैं। यह सिस्टम और बाहरी डिवाइसेस के बीच डेटा ट्रांसफर को संभव बनाता है। विभिन्न I/O तकनीकों जैसे कि Programmed I/O, Interrupt-Driven I/O, और DMA का उपयोग सिस्टम की दक्षता और प्रदर्शन को बढ़ाने के लिए किया जाता है।

Related Post

Comments

Comments