Operating System and Application Software: जैसाकि हमने पिछले Section में Discuss किया था कि Software व Hardware एक दूसरे के पूरक हैं और एक दूसरे के बिना इनका कोई उपयोग नहीं है। यानी बिना Hardware के कोई Software नहीं हो सकता और बिना Software के किसी Hardware का कोई मतलब नहीं होता। इसलिए ये दोनों ही एक साथ एक Encapsulated Unit की तरह काम करते हुए हमारी किसी Specific Type की Requirement को पूरा करते हैं।
इसी तरह से जब हम Software की बात करते हैं तो हम किसी भी Software को मूल रूप से दो हिस्सों में विभाजित कर सकते हैं और पहले हिस्से को System Software या Operating System Software जबकि दूसरे हिस्से को Application Software कह सकते हैं। इन दोनों ही प्रकार के Software का अपना अलग महत्व है।
Operating System Software किसी भी Device को Working Condition में लाने के लिए Basic Functionalities Provide करता है। यानी बिना Operating System Software के किसी भी Device को उपयोग में नहीं लिया जा सकता। फिर भले ही वह Device (Smart Phone, Mobile Phone, Computer, DVD Player, Tablet PC, etc…) किसी भी प्रकार का क्यों न हो।
Operating System Software स्वयं अपने स्तर पर कुछ भी ऐसा काम नहीं करता, जो कि एक User के रूप में हमें उपयोगी महसूस हो, लेकिन एक Developer के नजरिए से देखें, तो एक Operating System किसी Software Developer के लिए बहुत सारी Low Level Functionalities को Handle करते हुए उसे Current Device के किसी भी Hardware Peripheral या Part को आसानी से Access व Manipulate करने का Easy Interface या API Provide करता है।
उदाहरण के लिए MS-Windows एक Operating System Software है, जो कि स्वयं अपने स्तर पर जो भी काम करता है, उससे User की किसी भी तरह की कोई जरूरत पूरी नहीं होती, लेकिन एक Application Developer की विभिन्न प्रकार की बहुत सारी जरूरतों को MS-Windows Operating System द्वारा पूरा किया जाता है।क्योंकि यही Operating System एक Machine जो कि Keyboard, Mouse, Monitor, Motherboard आदि जैसे विभिन्न प्रकार के Electronic Devices का Combination होता है, को आपस में एक दूसरे से Well Defined Communication करवाते हुए एक ऐसी Working State में ले आता है, जिस पर हम चाहें तो कोई Audio सुन सकते हैं, कोई Movie देख सकते हैं या Internet के माध्यम से Surfing कर सकते हैं।
Operating System वास्तव में किसी भी Device को Control करने वाला व उस Device की Working को निश्चित करने वाला Control Program होता है। यही तय करता है कि:
- किस तरह से Keyboard से कोई मान Input के रूप में Accept करके Memory में Store करना है,
- कब Memory में Stored किसी मान को Screen पर Render करना है,
- कब किसी Information को Hard-Copy Printout के रूप में प्राप्त करने के लिए Printer को Print Command देना है,
- कब कोई Audio Play करना है,
- कब कोई Video Show करना है,
- कब और कैसे Internet से Connect होना है, आदि।
यानी एक Computer System में कब, क्या और कैसे करना है, इसे पूरी तरह से एक Master Program द्वारा ही Control किया जाता है और इस Master Controller Program को ही System Software या Operating System Software कहते हैं।
जबकि Application Software अपने स्तर पर किसी भी तरह से किसी Hardware Device को Access व Manipulate नहीं कर सकता। बल्कि एक Application Program किसी Computer System की केवल उन्हीं Functionalities को Access कर सकता है, जिनके लिए उस Computer का Operating System किसी Low Level API के माध्यम से सुविधा Provide करता है।
उदाहरण के लिए MS-Word एक ऐसा Application Software है जो कि Word Processing का काम Best तरीके से करता है। हम MS-Word में किसी Document को Type, Edit, Format आदि कर सकते हैं और अन्त में अपने Document का Printout प्राप्त करने के लिए इसी Application Software के File Menu में Specified Print Command का प्रयोग भी करते हैं।
लेकिन MS-Word के File Menu में Specified Print Command को Click करने मात्र से Printer उस Document को Print नहीं कर देता, बल्कि उस Printer को Current Document को Print करने का Order MS-Word Application Software नहीं बल्कि Windows Operating System देता है, क्योंकि कोई भी Application Software किसी भी Computer System के किसी भी Hardware को Directly Access नहीं कर सकता। बल्कि किसी भी Hardware Device को Access व Manipulate करने का अधिकार केवल Operating System के पास होता है।
इसलिए जब किसी Document को Print करना होता है और हम MS-Word के File => Print Option को Click करते हैं, तो वास्तव में हम Window Operating System के किसी Low Level API Function को Call कर रहे होते हैं, जो कि Printer को Current Document को Print करने के लिए Activate करता है।
यानी किसी भी Device के Hardware को Operating System ही पूरी तरह से Control करता है। इसलिए उस Device द्वारा विभिन्न प्रकार की Requirements को पूरा करने के लिए Operating System विभिन्न प्रकार के API Functions Provide करता है और इन API Functions को ही Application Developers विभिन्न प्रकार की जरूरतों को पूरा करने के लिए Call करते हैं।
उदाहरण के लिए हम MS-Word को किसी Document को Print करना होता है, तब वह MS-Windows Operating System के उस Low Level API Function को Call करता है, जिसके अधिकार में Printer की Functionalities होती हैं। ये Low Level API Function Call होते ही Windows Operating System को पता चल जाता है कि MS-Word किसी Document को Print करने के लिए Printer की Functionalities को Use करना चाहता है। परिणामस्वरूप MS-Windows Operating System उस Document को Print करने के लिए Printer को Instruct करता है।
इस प्रकार से किसी Device का Operating System Software ही उस Device के विभिन्न Hardware Devices की Working को Control करता है और इन Hardware Devices को Application Software द्वारा Accessible बनाने के लिए विभिन्न प्रकार के Low Level API Functions Provide करता है, क्योंकि कोई भी Application Software कभी भी किसी भी Device के किसी भी Hardware या Peripheral को Directly Access नहीं कर सकता।
जबकि एक Application Software किसी Specific Type की Requirement को Best Possible तरीके से पूरा करता है। यानी कोई Application Software हमेंशा किसी एक Specific Type की Requirement को Best Possible तरीके से पूरा करने के लिए Develop किया जाता है जो कि उस Specific Type के काम के अलावा अन्य किसी भी तरह की जरूरत को पूरा नहीं करता।
उदाहरण के लिए Google Chrome एक Web Browser Application Software है, जिसका प्रयोग Web Surfing के लिए किया जाता है। इस Web Browser Application Software का प्रयोग हम सिर्फ और सिर्फ Web Surfing के लिए ही कर सकते हैं। यदि हम इस Software में Accounting करना चाहें या कोई Letter Type करना चाहें, तो नहीं कर सकते।
इसी तरह से Tally एक ऐसा Software है, जिसमें हम Accounting का काम कर सकते हैं, लेकिन यदि हम Tally में Web Surfing करना चाहें, या Tally में हम कोई Document Create करना चाहें, तो हम ऐसा नहीं कर सकते। क्योंकि Tally को मूल रूप से Accounting के लिए Develop किया गया है।
यानी कोई भी Application Software किसी Specific Type की Requirement को Best तरीके से पूरा करता है, लेकिन वह किसी Device के किसी Hardware को Directly Access नहीं कर सकता जबकि Operating System किसी Device के विभिन्न Hardware को Directly Access करके इस बात को तय करता है कि कोई Device किस तरह से काम करेगा और विभिन्न Application Software को Low Level API Functions के माध्यम से उन Devices को Access करने की सुविधा भी देता है, लेकिन Operating System स्वयं किसी तरह का कोई ऐसा Specific काम नहीं करता, जो कि User के लिए किसी भी तरह से उपयोगी हो।
Device के रूप में हम किसी भी तरह के Device को ले सकते हैं। वह Device कोई Computer हो सकता है, Tablet PC हो सकता है, Smart Phone हो सकता है, Digital Watch हो सकता है, CD/DVD Player हो सकता है। यानी Device किसी भी तरह का हो सकता है लेकिन कोई Specific Device किस तरह से Operate किया जाएगा, इस बात को हमेंशा उसका Operating System तय करता है और जो Devices, Microprocessors आधारित होती हैं, उन्हें Reprogram भी किया जा सकता है।
इसलिए इन Microprocessor Based Reprogrammable Devices हेतु Application Software भी बनाए जा सकते हैं, जो कि उन Devices के Internal Hardware Architecture को Use करने के लिए इनके Operating System द्वारा Low Level API Functions के रूप में Provide किए जाते हैं। (Operating System and Application Software)
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook C#.NET in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
C#.NET in Hindi | Page:908 | Format: PDF