सिस्टम प्रोग्रामिंग: Difference between revisions
No edit summary |
No edit summary |
||
Line 8: | Line 8: | ||
निम्नलिखित गुण प्रणाली प्रोग्रामिंग की विशेषता बताते हैं: | निम्नलिखित गुण प्रणाली प्रोग्रामिंग की विशेषता बताते हैं: | ||
* [[प्रोग्रामर]] हार्डवेयर और प्रणाली के अन्य गुणों के बारे में अनुमान लगा सकता है जिस पर प्रोग्राम चलता है, और | * [[प्रोग्रामर]] हार्डवेयर और प्रणाली के अन्य गुणों के बारे में अनुमान लगा सकता है जिस पर प्रोग्राम चलता है, और अधिकांशतः उन गुणों का लाभ उठाएगा, उदाहरण के लिए [[कलन विधि]] का उपयोग करके जो विशिष्ट हार्डवेयर के साथ उपयोग किए जाने पर कुशल होने के लिए जाना जाता है। | ||
* | * सामान्यतः [[निम्न-स्तरीय प्रोग्रामिंग भाषा]] या प्रोग्रामिंग भाषा की बोली का उपयोग किया जाता है जिससे: | ||
** प्रोग्राम संसाधन-विवश वातावरण में | ** प्रोग्राम संसाधन-विवश वातावरण में कार्य कर सकते हैं | ||
** प्रोग्राम थोड़े [[रन-टाइम सिस्टम|रन-टाइम प्रणाली]] ओवरहेड के साथ कुशल हो सकते हैं, संभवतः या तो छोटा [[क्रम पुस्तकालय]] हो या कोई भी न हो | ** प्रोग्राम थोड़े [[रन-टाइम सिस्टम|रन-टाइम प्रणाली]] ओवरहेड के साथ कुशल हो सकते हैं, संभवतः या तो छोटा [[क्रम पुस्तकालय|रनटाइम लाइब्रेरी]] हो या कोई भी न हो | ||
** प्रोग्राम मेमोरी एक्सेस और [[बहाव को काबू करें]] पर सीधे और | ** प्रोग्राम मेमोरी एक्सेस और [[बहाव को काबू करें|नियंत्रण प्रवाह]] पर सीधे और अनिर्मित नियंत्रण का उपयोग कर सकते हैं | ||
** प्रोग्रामर प्रोग्राम के कुछ | ** प्रोग्रामर प्रोग्राम के कुछ भागो को सीधे असेम्बली भाषा में लिख सकता है | ||
* | * अधिकांशतः प्रणाली प्रोग्राम को [[डिबगर]] में नहीं चलाया जा सकता है। [[कंप्यूटर सिमुलेशन]] में प्रोग्राम चलाना कभी-कभी इस समस्या को कम करने के लिए उपयोग किया जा सकता है। | ||
प्रणाली प्रोग्रामिंग एप्लिकेशन प्रोग्रामिंग से काफी अलग है जो प्रोग्रामर एक या दूसरे में विशेषज्ञ होते हैं।{{Citation needed|date=December 2015}} | प्रणाली प्रोग्रामिंग एप्लिकेशन प्रोग्रामिंग से पर्याप्त रूप से भिन्न है जो प्रोग्रामर एक या दूसरे में विशेषज्ञ होते हैं। प्रोग्रामिंग एप्लिकेशन प्रोग्रामिंग से काफी अलग है जो प्रोग्रामर एक या दूसरे में विशेषज्ञ होते हैं।{{Citation needed|date=December 2015}} | ||
प्रणाली प्रोग्रामिंग में, | प्रणाली प्रोग्रामिंग में, अधिकांशतः सीमित प्रोग्रामिंग सुविधाएं उपलब्ध होती हैं। [[कचरा संग्रह (कंप्यूटर विज्ञान)]] का उपयोग आम नहीं है और [[डिबगिंग]] करना कभी-कभी कठिन होता है। रनटाइम लाइब्रेरी, यदि उपलब्ध हो, तो सामान्यतः बहुत कम शक्तिशाली होती है, और कम त्रुटि जाँच करती है। उन सीमाओं के कारण, [[सिस्टम निगरानी|प्रणाली निगरानी]] और [[डेटा प्रविष्ट कराना]] का अधिकांशतः उपयोग किया जाता है; ऑपरेटिंग प्रणाली में अत्यंत विस्तृत लॉगिंग सबप्रणाली हो सकते हैं। | ||
ऑपरेटिंग प्रणाली और नेटवर्किंग में कुछ भागों को लागू करने के लिए प्रणाली प्रोग्रामिंग की आवश्यकता होती है, उदाहरण के लिए ऑपरेटिंग प्रणाली के लिए पेजिंग ([[आभासी मेमोरी]]) या [[डिवाइस ड्राइवर]] को लागू करना। | ऑपरेटिंग प्रणाली और नेटवर्किंग में कुछ भागों को लागू करने के लिए प्रणाली प्रोग्रामिंग की आवश्यकता होती है, उदाहरण के लिए ऑपरेटिंग प्रणाली के लिए पेजिंग ([[आभासी मेमोरी]]) या [[डिवाइस ड्राइवर]] को लागू करना। | ||
Line 26: | Line 26: | ||
हाल ही में एंबेडेड [[सी ++]] कहे जाने वाले सी++ के उपसमुच्चय का कुछ उपयोग देखा गया है, उदाहरण के लिए इसका उपयोग मैकओएस के आई/ओ किट ड्राइवरों में किया जाता है।<ref>{{cite web|author1=Apple Inc|title=I/O Kit Device Driver Design Guidelines|url=https://developer.apple.com/library/mac/documentation/DeviceDrivers/Conceptual/WritingDeviceDriver/CPluPlusRuntime/CPlusPlusRuntime.html#//apple_ref/doc/uid/TP30000695-BAJIBFDE|website=developer.apple.com|publisher=Apple Inc|access-date=16 September 2014|date=14 August 2009}}</ref> | हाल ही में एंबेडेड [[सी ++]] कहे जाने वाले सी++ के उपसमुच्चय का कुछ उपयोग देखा गया है, उदाहरण के लिए इसका उपयोग मैकओएस के आई/ओ किट ड्राइवरों में किया जाता है।<ref>{{cite web|author1=Apple Inc|title=I/O Kit Device Driver Design Guidelines|url=https://developer.apple.com/library/mac/documentation/DeviceDrivers/Conceptual/WritingDeviceDriver/CPluPlusRuntime/CPlusPlusRuntime.html#//apple_ref/doc/uid/TP30000695-BAJIBFDE|website=developer.apple.com|publisher=Apple Inc|access-date=16 September 2014|date=14 August 2009}}</ref> | ||
== वैकल्पिक अर्थ == | == वैकल्पिक अर्थ == | ||
ऐतिहासिक कारणों से, कुछ संगठन जॉब फ़ंक्शन का वर्णन करने के लिए प्रणाली प्रोग्रामर शब्द का उपयोग करते हैं जिसे अधिक सटीक रूप से [[सिस्टम प्रशासक|प्रणाली प्रशासक]] कहा जाएगा। यह उन संगठनों के लिए विशेष रूप से सच है जिनके कंप्यूटर संसाधनों पर ऐतिहासिक रूप से [[मेनफ़्रेम कंप्यूटर]]ों का प्रभुत्व रहा है, हालांकि इस शब्द का उपयोग उन कार्य कार्यों का वर्णन करने के लिए भी किया जाता है जिनमें मेनफ्रेम शामिल नहीं होते हैं। यह उपयोग उत्पन्न हुआ क्योंकि IBM मेनफ्रेम के प्रशासन में | ऐतिहासिक कारणों से, कुछ संगठन जॉब फ़ंक्शन का वर्णन करने के लिए प्रणाली प्रोग्रामर शब्द का उपयोग करते हैं जिसे अधिक सटीक रूप से [[सिस्टम प्रशासक|प्रणाली प्रशासक]] कहा जाएगा। यह उन संगठनों के लिए विशेष रूप से सच है जिनके कंप्यूटर संसाधनों पर ऐतिहासिक रूप से [[मेनफ़्रेम कंप्यूटर]]ों का प्रभुत्व रहा है, हालांकि इस शब्द का उपयोग उन कार्य कार्यों का वर्णन करने के लिए भी किया जाता है जिनमें मेनफ्रेम शामिल नहीं होते हैं। यह उपयोग उत्पन्न हुआ क्योंकि IBM मेनफ्रेम के प्रशासन में अधिकांशतः कस्टम [[कोडांतरक कोड]] (IBM बेसिक असेंबली लैंग्वेज और उत्तराधिकारी | IBM की बेसिक असेंबली लैंग्वेज (BAL)) का लेखन शामिल होता है, जो OS / MVS, DOS / VSE या VM जैसे ऑपरेटिंग प्रणाली के साथ एकीकृत होता है। /सीएमएस। दरअसल, कुछ [[आईबीएम]] सॉफ्टवेयर उत्पादों में ग्राहक प्रोग्रामिंग स्टाफ से पर्याप्त कोड योगदान था। इस प्रकार की प्रोग्रामिंग उत्तरोत्तर कम आम है, लेकिन शब्द प्रणाली प्रोग्रामर अभी भी [[आईबीएम मेनफ्रेम]] को सीधे प्रशासित करने वाले कर्मचारियों के लिए वास्तविक नौकरी का शीर्षक है। | ||
== यह भी देखें == | == यह भी देखें == |
Revision as of 15:05, 2 March 2023
प्रणाली प्रोग्रामिंग, या प्रणाली प्रोग्रामिंग, प्रोग्रामिंग[1] कंप्यूटर प्रणाली सॉफ्ट्वेयर की गतिविधि है[1]। अनुप्रयोग प्रोग्रामिंग की तुलना में प्रणाली प्रोग्रामिंग की प्राथमिक विशिष्ट विशेषता यह है कि एप्लिकेशन प्रोग्रामिंग का उद्देश्य सॉफ़्टवेयर का उत्पादन करना है जो उपयोगकर्ता को सीधे सेवाएं प्रदान करता है (जैसे शब्द संसाधक), जबकि प्रणाली प्रोग्रामिंग का उद्देश्य सॉफ़्टवेयर और सॉफ्टवेयर प्लेटफ़ॉर्म का उत्पादन करना है जो अन्य सॉफ़्टवेयर को सेवाएं प्रदान करते हैं, प्रदर्शन विवश हैं, या दोनों (जैसे ऑपरेटिंग प्रणाली, कम्प्यूटेशनल विज्ञान एप्लिकेशन, खेल यंत्र, ऑटोमेशन या औद्योगिक स्वचालन, और सेवा अनुप्रयोगों के रूप में सॉफ़्टवेयर)।[1]
प्रणाली प्रोग्रामिंग के लिए बड़ी मात्रा में हार्डवेयर जागरूकता की आवश्यकता होती है। इसका लक्ष्य उपलब्ध संसाधनों के कुशल उपयोग को प्राप्त करना है, या तो क्योंकि सॉफ्टवेयर स्वयं प्रदर्शन महत्वपूर्ण है या क्योंकि छोटे दक्षता सुधार सीधे समय या धन की महत्वपूर्ण बचत में परिवर्तित हो जाते हैं।
प्रणाली प्रोग्रामिंग के लिए बड़ी मात्रा में हार्डवेयर जागरूकता की आ महत्वपूर्ण है या क्योंकिछोटे दक्षता सुधार सीधे समय या धन की महत्वपूर्ण बचत में परिवर्तित हो जाते हैं।
सिंहावलोकन
निम्नलिखित गुण प्रणाली प्रोग्रामिंग की विशेषता बताते हैं:
- प्रोग्रामर हार्डवेयर और प्रणाली के अन्य गुणों के बारे में अनुमान लगा सकता है जिस पर प्रोग्राम चलता है, और अधिकांशतः उन गुणों का लाभ उठाएगा, उदाहरण के लिए कलन विधि का उपयोग करके जो विशिष्ट हार्डवेयर के साथ उपयोग किए जाने पर कुशल होने के लिए जाना जाता है।
- सामान्यतः निम्न-स्तरीय प्रोग्रामिंग भाषा या प्रोग्रामिंग भाषा की बोली का उपयोग किया जाता है जिससे:
- प्रोग्राम संसाधन-विवश वातावरण में कार्य कर सकते हैं
- प्रोग्राम थोड़े रन-टाइम प्रणाली ओवरहेड के साथ कुशल हो सकते हैं, संभवतः या तो छोटा रनटाइम लाइब्रेरी हो या कोई भी न हो
- प्रोग्राम मेमोरी एक्सेस और नियंत्रण प्रवाह पर सीधे और अनिर्मित नियंत्रण का उपयोग कर सकते हैं
- प्रोग्रामर प्रोग्राम के कुछ भागो को सीधे असेम्बली भाषा में लिख सकता है
- अधिकांशतः प्रणाली प्रोग्राम को डिबगर में नहीं चलाया जा सकता है। कंप्यूटर सिमुलेशन में प्रोग्राम चलाना कभी-कभी इस समस्या को कम करने के लिए उपयोग किया जा सकता है।
प्रणाली प्रोग्रामिंग एप्लिकेशन प्रोग्रामिंग से पर्याप्त रूप से भिन्न है जो प्रोग्रामर एक या दूसरे में विशेषज्ञ होते हैं। प्रोग्रामिंग एप्लिकेशन प्रोग्रामिंग से काफी अलग है जो प्रोग्रामर एक या दूसरे में विशेषज्ञ होते हैं।[citation needed] प्रणाली प्रोग्रामिंग में, अधिकांशतः सीमित प्रोग्रामिंग सुविधाएं उपलब्ध होती हैं। कचरा संग्रह (कंप्यूटर विज्ञान) का उपयोग आम नहीं है और डिबगिंग करना कभी-कभी कठिन होता है। रनटाइम लाइब्रेरी, यदि उपलब्ध हो, तो सामान्यतः बहुत कम शक्तिशाली होती है, और कम त्रुटि जाँच करती है। उन सीमाओं के कारण, प्रणाली निगरानी और डेटा प्रविष्ट कराना का अधिकांशतः उपयोग किया जाता है; ऑपरेटिंग प्रणाली में अत्यंत विस्तृत लॉगिंग सबप्रणाली हो सकते हैं।
ऑपरेटिंग प्रणाली और नेटवर्किंग में कुछ भागों को लागू करने के लिए प्रणाली प्रोग्रामिंग की आवश्यकता होती है, उदाहरण के लिए ऑपरेटिंग प्रणाली के लिए पेजिंग (आभासी मेमोरी) या डिवाइस ड्राइवर को लागू करना।
इतिहास
मूल रूप से प्रणाली प्रोग्रामर हमेशा असेंबली भाषा में लिखते थे। 1960 के दशक के उत्तरार्ध में उच्च स्तरीय भाषाओं में हार्डवेयर समर्थन के साथ प्रयोग IBM PL/S | PL/S, BLISS, BCPL जैसी भाषाओं का नेतृत्व करते हैं, और बरोज़ की बड़ी प्रणालियों के लिए ALGOL का विस्तार करते हैं। फोर्थ (प्रोग्रामिंग भाषा) में प्रणाली लैंग्वेज के रूप में भी एप्लिकेशन हैं। 1970 के दशक में, C (प्रोग्रामिंग लैंग्वेज) यूनिक्स के विकास से सहायता प्राप्त करते हुए व्यापक हो गई। हाल ही में एंबेडेड सी ++ कहे जाने वाले सी++ के उपसमुच्चय का कुछ उपयोग देखा गया है, उदाहरण के लिए इसका उपयोग मैकओएस के आई/ओ किट ड्राइवरों में किया जाता है।[2]
वैकल्पिक अर्थ
ऐतिहासिक कारणों से, कुछ संगठन जॉब फ़ंक्शन का वर्णन करने के लिए प्रणाली प्रोग्रामर शब्द का उपयोग करते हैं जिसे अधिक सटीक रूप से प्रणाली प्रशासक कहा जाएगा। यह उन संगठनों के लिए विशेष रूप से सच है जिनके कंप्यूटर संसाधनों पर ऐतिहासिक रूप से मेनफ़्रेम कंप्यूटरों का प्रभुत्व रहा है, हालांकि इस शब्द का उपयोग उन कार्य कार्यों का वर्णन करने के लिए भी किया जाता है जिनमें मेनफ्रेम शामिल नहीं होते हैं। यह उपयोग उत्पन्न हुआ क्योंकि IBM मेनफ्रेम के प्रशासन में अधिकांशतः कस्टम कोडांतरक कोड (IBM बेसिक असेंबली लैंग्वेज और उत्तराधिकारी | IBM की बेसिक असेंबली लैंग्वेज (BAL)) का लेखन शामिल होता है, जो OS / MVS, DOS / VSE या VM जैसे ऑपरेटिंग प्रणाली के साथ एकीकृत होता है। /सीएमएस। दरअसल, कुछ आईबीएम सॉफ्टवेयर उत्पादों में ग्राहक प्रोग्रामिंग स्टाफ से पर्याप्त कोड योगदान था। इस प्रकार की प्रोग्रामिंग उत्तरोत्तर कम आम है, लेकिन शब्द प्रणाली प्रोग्रामर अभी भी आईबीएम मेनफ्रेम को सीधे प्रशासित करने वाले कर्मचारियों के लिए वास्तविक नौकरी का शीर्षक है।
यह भी देखें
- ऑस्टरहॉट का द्विभाजन
- प्रणाली प्रोग्रामिंग भाषा
- भाषा का अंकन
- इंटरप्ट हैंडलर
संदर्भ
- ↑ 1.0 1.1 1.2 "Panel: Systems Programming in 2014 and Beyond". Microsoft. Retrieved 4 December 2015.
- ↑ Apple Inc (14 August 2009). "I/O Kit Device Driver Design Guidelines". developer.apple.com. Apple Inc. Retrieved 16 September 2014.