Operating System
Operating System एक system software होता है, जो कि User व Hardware के मध्य Interface का कार्य करता है, operating system एक प्रणाली है, जो user को Computer से संपर्क बनाने में सहायता करता है, यह एक Computer Control program है, यह एक ऐसा software है जो file management, memory management, process management और I/O को संभालने तथा peripheral devices को नियंत्रित करने जैसे सभी बुनियादी कार्य करता है।
operating system software, programs का set होता है जो Computer की समस्त क्रियाओं को संचालित व नियंत्रित करता है।
कुछ popular operating system में linux operating system, window operating system, OS/400 आदि शामिल है।
System Components - modern operating system को निम्नलिखित components में विभाजित किया जा सकता है-
(1) Process management -
Computer में operating system के कार्य करने के लिए process एक unit होती है, process एक ऐसा program है, जो execute हो रहा है।
Process दो प्रकार की हो सकती है-
(1) Operating System process - ये system code को execute करती है।
(2) User process - ये user code को execute करती है।
Process management system component निम्न कार्यों के लिए जिम्मेदार होता है-
(1) user तथा system process को operating system के द्वारा create तथा delete किया जाता है।
(2) operating system के द्वारा विभिन्न process के बीच communication को handle किया जाता है।
(3) operating system, deadlock को handle करने के लिए methods provide करता है।
(4) process scheduling को भी operating system के द्वारा handle किया जाता है।
(2) Memory management -
प्रत्येक program के execution के लिए यह आवश्यक है कि उसे main memory में load किया जाए। किसी अन्य कार्य (जैसे- I/O) के लिए जब program suspend होता है, तो इसे memory से हटाकर secondary memory में store किया जाता है, I/O का कार्य पूरा होते ही इसे secondary memory से store किया जाता है पुनः main memory में load करके आगे का execution किया जाता है। इस पूरी प्रक्रिया के लिए operating system जिम्मेदार होता है।
Memory management component निम्न कार्यों के लिए उत्तरदायी होता है-
(1) process के लिए memory space allocate तथा deallocate करता है।
(2) यह निर्धारित करता है कि memory का कौन-सा भाग किस process को देना है।
(3) File management -
Data के समूह को file के रूप में computer में store किया जाता है, और फाइलों को व्यवस्थित करने के लिए folder और directories को निर्मित करता है, file को store करने के लिए विभिन्न secondary storage devices का प्रयोग किया जाता है।
यह Component निम्न कार्यों के लिए जिम्मेदार होता है-
(1) फाइलों को बनाना तथा delete करना।
(2) Folders तथा directories को बनाना तथा delete करना।
(3) Operating system को commands provide करता है, जिससे files तथा directories में manipulation किया जा सके।
(4) Files तथा directories के लिए secondary storage में space allocate करना तथा उनको manage करना।
(4) Secondary Storage management -
वर्तमान समय में disk का प्रयोग secondary memory के रूप में किया जाता है, अत: Computer system में disk का management एक मुख्य कार्य होता है
इस component के द्वारा निम्न कार्य किए जाते हैं-
(1) Free space management
(2) Disk scheduling
(3) Disk storage allocation
(5) I/O System management -
I/O device किसी system के main component हैं, और प्रत्येक I/O devices के अपने अलग-अलग commands के set होते हैं, लेकिन operating system इन difference को छुपाते हुए user को कार्य करने के लिए एक समान interface प्रदान करता है।
यह component निम्न task को perform करता है-
(1) user को आसान interface प्रदान करना।
(2) buffering, caching, spooling etc.
Evolution of Operating System
प्रारंभिक इलेक्ट्रॉनिक digital computers में कोई operating system नहीं था। 1950 के दशक के प्रारंभ से पंच कार्ड (punch card) की शुरुआत हुई थी, इसी के साथ general motors, research laboratories ने अपने computer IBM 701 के लिए पहले operating system का प्रयोग किया। सामान्यतः 1950 के computers एक ही कार्य करते थे। चूँकि इसमें programs और data को groups अथवा batches में represent किया जाता था और इनको Single stream Batch processing system कहा गया।
सन् 1960 के computers भी Batch processing system ही थे परंतु ये एक समय में एक से अधिक jobs को करने में computer के resources का बेहतर लाभ उठाने में सक्षम थे, और यहीं से operating system डिज़ाइनर ने multiprogramming की अवधारणा को विकसित किया जिसमें एक साथ main memory में अनेक jobs स्थित होते हैं और एक processor एक jobs से अन्य jobs को switch करता है, इस समय के operating system की एक मुख्य विशेषता spooling थी, इस समय के operating system की एक अन्य विशेषता time sharing तकनीक थी यह multiprogramming तकनीक का ही एक प्रकार है।
large scale integrated circuit और chips के विकास के साथ operating system ने personal computer और workstation के युग में प्रवेश किया और सन् 1970 में माइक्रो computer, microprocessor के कारण और इसके पश्चात् desktop computer को mainframe के समान शक्तिशाली बना पाना संभव हो पाया।
personal computer के संदर्भ में दो operating system MS DOS तथा UNIX प्रमुखता से लोकप्रिय हुए, IBM-PC और अन्य machines इसी का प्रयोग करती थीं, MS DOS को microsoft family ने विकसित किया था और इसी तरह से windows operating system विकसित हुए और प्रचलित हुए।
Types of Operating System
Operating System, end user और computer के मध्य एक interface के रूप में कार्य करता है, इसीलिए computer system को चलाने के लिए उसमें operating system का होना आवश्यक होता है, ये user को computer से communicate करने में सहायता करता है, और operating system के बिना भी computer को operate करना संभव नहीं है।
Operating system को निम्न प्रकार से वर्गीकृत किया गया है-
(1) Batch operating system
(2) Multiprogramming operating system
(3) Multitasking operating system
(4) Multiprocessing operating system
(5) Real time operating system
(6) Distributed operating system
(7) Network operating system
(8) Time sharing operating system
(1) Batch operating system -
दूसरी पीढ़ी के computers में उपयोग होने वाला पहला operating system, batch operating system था, इस operating system में end user और computer के बीच कोई direct interaction नहीं होता था किसी भी input data को computer में process करने के लिए user को उसे job की form में तैयार करना होता था, इसके बाद user उस job को punch card में I/P कर देता था।
Job को computer में process कराने के लिए एक operator होता था जो सभी similar job को एक Batch में convert कर देता था और इसी प्रकार समान जरूरत वाली दूसरी jobs का अलग batch बनता था। और उन batches को system में I/P कर देता था
System उन batch में से एक समय में एक job लेता था और उसे process करने के बाद Batch की दूसरी job को process किया जाता था। और इसी तरह बाकि jobs को process करने के बाद execute करता थी इस प्रक्रिया को spooling कहा जाता है, system द्वारा सारी jobs execute होने के बाद हमें O/P प्राप्त होता था
Advantage -
(1) समान Job को एक batch में कर देने से operator के लिए Job setup time काफी कम हो गया।
(2) एक से ज्यादा user, Batch system को share कर सकते थे।
(3) Automatic job sequencing technique के प्रयोग से CPU का idle time भी काफी कम हो गया।
Disadvantage -
(1) एक बार job को input I/P कर देने के बाद user का उससे कोई भी interaction नहीं होता था।
(2) जब process को I/O या किसी दूसरे event के लिए wait करना होता है तो उतने समय CPU idle हो जाता है। जिससे process execution time बढ़ जाता है।
(3) किसी Job की processing fail हो जाने पर batch की बाकी jobs को अज्ञात समय तक wait करना होता था।
(2) Multiprogramming operating system -
जब main memory में एक से ज्यादा process या program को execute करने के लिए रखा जाता है तो उसे multiprogramming कहा जाता है, जब भी कोई process CPU में run होनी होती है तो उसे CPU time के अलावा I/O time की भी आवश्यकता होती है और जब process I/O या अन्य कोई event करता है जिसमें CPU को कोई आवश्यकता नहीं होती है, तो दूसरे समय CPU बिना बेकार बैठने के बजाय एक Context switch कर लेता है और मुख्य memory में पड़ी अन्य दूसरी process को चलाने लगता है, ऐसा करने से CPU कभी idle नहीं रहता है और बाकी process को execute होने के लिए wait नहीं करना पड़ता है।
Advantage -
(1) इसमें CPU का अधिक उपयोग होता है।
(2) Memory में मौजूद दूसरे program को processing के लिए wait नहीं करना पड़ता है तथा response time भी कम होती है।
(3) Moderns Computers के लिए यह technique अधिक उपयुक्त है।
Disadvantage -
(1) अधिक program को process करने से उनकी scheduling कठिन हो जाती है।
(2) Main memory को manage करना आवश्यक हो जाता है।
(3) Memory विखंडन जैसी problems सामने आने लगती है।
(3) Multitasking OS -
Multitasking का concept, multiprogramming के समान ही होता है, लेकिन इसमें उसके साथ time sharing भी मौजूद होता है, multitasking OS में प्रत्येक process को एक fixed time period के लिए execute किया जाता है, और उसके बाद CPU, main memory में रखी अन्य दूसरी process को execute करने लगता है, और उसका time slice खत्म होते ही वह अन्य दूसरी process को execute करता है और इसी तरह से सारी process को time slice के आधार पर execute करता है, CPU की switching इतनी fast होती है कि user को लगता है सभी process एक साथ चल रही हैं, परंतु ऐसा नहीं होता है, यह user के समक्ष एक भ्रम पैदा कर देता है, इस निश्चित time period को time quantum कहा जाता है।
Advantage -
(1) इसमें response time काफी कम होता है।
(2) सारी process को equal opportunity मिलती है।
(3) एक साथ कई process execute होती है।
Disadvantages-
(1) अधिक memory की आवश्यकता होती है।
(2) बार-बार switching से CPU पर लोड बढ़ता है।
(3) इसका system architecture काफी जटिल होता है।
(4) एक process से दूसरी process में data leak का खतरा रहता है।
(5) ज्यादा heavy programs एक साथ चलने पर system धीमा हो जाता है।





No comments:
Post a Comment