टाइम-शेयरिंग ऑपरेटिंग सिस्टम (Time Sharing Operating System)
टाइम-शेयरिंग ऑपरेटिंग सिस्टम, मल्टीप्रोग्राम्ड ऑपरेटिंग सिस्टम का ही एक रूप (form) हैं, जो इन्ट्रैक्टिव मोड में क्विक रेसपॉन्स (Quick Response Time) के साथ कार्य करता है। टाइम-शेयरिंग ऑपरेटिंग सिस्टम प्रत्येक यूजर के लिए एक क्रम में (in a sequence) CPU समय की एक समान मात्रा एलोकेट करता है। ऑपरेटिंग सिस्टम द्वारा प्रत्येक यूजर को CPU द्वारा दिया जाने वाला समय (allocated time) टाइम-स्लाइस (time-slice) कहलाता है। यह टाइम-स्लाइस, 5 से 100 मिलीसेकण्ड्स तक होता है। याद रखें, 1 मिलीसेकण्ड एक सेकण्ड का 1000वां भाग होता है, अर्थात्, 1 मिलीसेकण्ड = 1/1000=1/103 सेकण्ड। ज्योंही एक टाइम स्लाइस की अवधि समाप्त होती है, ऑपरेटिंग सिस्टम द्वारा CPU अगले यूजर को एलोकेट कर दिया जाता है।
हम राउन्ड रोबिन शिड्यूलिंग (Round Robin Scheduling) की चर्चा प्रोसेस मैनेजमेंट के अन्तर्गत करेंगे।
जब कोई प्रोग्राम एक्जक्यूट कर रहा होता है, तो उसे प्रोसेस (process) कहते हैं। टाइम-शेयर्ड ऑपरेटिंग सिस्टम के परिप्रेक्ष्य में कोई प्रोसेस केवल दिए गए समय (allocated time) के लिए ही एक्जक्यूट करता हैं। यदि प्रोसेस, ऑपरेटिंग सिस्टम द्वारा दिए गए समय (allocated time slice) से अधिक समय लेता है, तो वह प्रोसेस ऑपरेटिंग सिस्टम द्वारा बाधित (interrupt) कर रेडी क्यू (Ready Queue) के अन्त में प्रतीक्षारत प्रोसेस (Waiting process) के रूप में रख (Place) कर दिया जाता है, जहां वह प्रोसेस अपने अगले टाइम-स्लाइस एलोकेशन की प्रतीक्षा करता रहता है।
यदि रनिंग प्रोसेस अपनी इच्छा से ऑपरेटिंग सिस्टम को कोई I/O रिक्वेस्ट (request) भेजता है या अपने आप को टरमिनेट करता है, तो ऑपरेटिंग सिस्टम दूसरे प्रोसेस को रन करता है। इस प्रकार जब कोई प्रोसेस I/O ऑपरेशन करता है तो दूसरा प्रोसेस ऑपरेटिंग सिस्टम द्वारा CPU में रन किया जाता है। अत: CPU और इनपुट डिवाइस दोनों ही व्यस्त (busy) रहते हैं।
टाइम-शेयरिंग ऑपरेटिंग सिस्टम और मल्टीप्रोग्राम्ड ऑपरेटिंग सिस्टम दोनों में ही एक से अधिक जॉब्स को मेमोरी में एक साथ रखा जाता है, अत: इन ऑपरेटिंग सिस्टम में मेमोरी मैनजमेंट और पोटेक्शन के मेथड्स का होना आवश्यक है। हम मेमोरी मैनेजमेंट और प्रोटेक्शन की चर्चा अध्याय-“मेमोरी मैनेजमेंट” में करेंगे। टाइम-शेयरिंग ऑपरेटिंग सिस्टम में उचित रेसपॉन्स टाइम (response time) को प्राप्त करने के लिए जॉब्स को मेन मेमोरी से डिस्क में और डिस्क से मेन-मेमोरी में स्वैप (swap) करने की आवश्यकता होती हैं। वर्चुअल मेमोरी (virtual memory) इसी प्राकार का एक टेकनीक हैं, जो वैसे जॉब्स को प्रोसेस करने के लिए प्रयुक्त होता है, जो मेन-मेमोरी में पूर्णरूपेण (completely) नहीं होते हैं। अत: वर्चुअल मेमोरी (virtual memory) मेथड द्वारा वैसे जॉब्स को प्रोसेस किया जाता हैं जिनका साइज (size) फिजिकल मेमोरी (Physical Memory) से बड़ा होता है।
नीचे दिए गए चित्र में टाइम-शेयरिंग सिस्टम को यूजर्स के संदर्भ में दर्शाया गया है।