पर्यवेक्षक कॉल निर्देश: Difference between revisions
No edit summary |
No edit summary |
||
Line 5: | Line 5: | ||
== तर्क == | == तर्क == | ||
सिस्टम/360 में आईबीएम मेनफ्रेम और उत्तराधिकारी परिवार दो राज्यों में से एक में काम करते हैं: समस्या स्थिति या पर्यवेक्षक स्थिति और सोलह स्टोरेज एक्सेस कुंजी (0 से 15) में से एक में। समस्या की स्थिति में, उपयोगकर्ता प्रोग्राम के लिए सामान्य प्रयोजन के गैर-विशेषाधिकार प्राप्त निर्देशों का एक बड़ा सेट उपलब्ध होता है। पर्यवेक्षक स्थिति में, सिस्टम प्रोग्राम अतिरिक्त रूप से विशेषाधिकार प्राप्त निर्देशों के एक छोटे सेट का उपयोग करने में सक्षम होते हैं जो | सिस्टम/360 में आईबीएम मेनफ्रेम और उत्तराधिकारी परिवार दो राज्यों में से एक में काम करते हैं: समस्या स्थिति या पर्यवेक्षक स्थिति और सोलह स्टोरेज एक्सेस कुंजी (0 से 15) में से एक में। समस्या की स्थिति में, उपयोगकर्ता प्रोग्राम के लिए सामान्य प्रयोजन के गैर-विशेषाधिकार प्राप्त निर्देशों का एक बड़ा सेट उपलब्ध होता है। पर्यवेक्षक स्थिति में, सिस्टम प्रोग्राम अतिरिक्त रूप से विशेषाधिकार प्राप्त निर्देशों के एक छोटे सेट का उपयोग करने में सक्षम होते हैं जो साधारणतयः पर्यवेक्षी कार्यों के लिए होते हैं। ये कार्य अन्य उपयोगकर्ताओं, अन्य प्रोसेसर या संपूर्ण कंप्यूटर सिस्टम को प्रभावित कर सकते हैं। स्टोरेज की 0 में एक प्रोग्राम सभी एड्रेसेबल को एक्सेस करने में सक्षम है{{efn|I.e, all of the storage in address spacess accessible by the current ''dispatching unit''.}} भंडारण, अन्यथा यह एक मिलान कुंजी के साथ भंडारण क्षेत्रों तक सीमित है। | ||
ऑपरेटिंग सिस्टम द्वारा पूरी तरह से प्राधिकरण जाँच के बाद ही एक प्रोग्राम को विशिष्ट पर्यवेक्षी कार्यों तक पहुँचने की अनुमति दी जाती है: DEBCHK (SVC 117), TESTAUTH (SVC 119), और संभवतः अतिरिक्त परीक्षण। ऐसे प्रोग्राम जो इनमें से किसी भी परीक्षण में विफल होते हैं, ABENDed होते हैं, जो असामान्य रूप से समाप्त हो जाते हैं और तुरंत प्रसंस्करण बंद कर देते हैं। इनमें से कुछ परीक्षण OS/360 में उपलब्ध नहीं थे, लेकिन OS/VS1, OS/VS2 (SVS) या MVS/370 में जोड़े गए थे, लेकिन सभी MVS/370 या बाद के रिलीज में उपलब्ध थे, और आज भी उपलब्ध हैं . | ऑपरेटिंग सिस्टम द्वारा पूरी तरह से प्राधिकरण जाँच के बाद ही एक प्रोग्राम को विशिष्ट पर्यवेक्षी कार्यों तक पहुँचने की अनुमति दी जाती है: DEBCHK (SVC 117), TESTAUTH (SVC 119), और संभवतः अतिरिक्त परीक्षण। ऐसे प्रोग्राम जो इनमें से किसी भी परीक्षण में विफल होते हैं, ABENDed होते हैं, जो असामान्य रूप से समाप्त हो जाते हैं और तुरंत प्रसंस्करण बंद कर देते हैं। इनमें से कुछ परीक्षण OS/360 में उपलब्ध नहीं थे, लेकिन OS/VS1, OS/VS2 (SVS) या MVS/370 में जोड़े गए थे, लेकिन सभी MVS/370 या बाद के रिलीज में उपलब्ध थे, और आज भी उपलब्ध हैं . | ||
OS/VS1, OS/VS2 (SVS), MVS/370 और OS के बाद के संस्करणों में, | OS/VS1, OS/VS2 (SVS), MVS/370 और OS के बाद के संस्करणों में, मोडसेट फ़ंक्शन (SVC 107) ने कई उपयोगकर्ता-लिखित SVC की आवश्यकता को समाप्त कर दिया क्योंकि यह सिस्टम SVC मोड में दोनों परिवर्तनों को समायोजित करता है (समस्या स्थिति) पर्यवेक्षक राज्य के लिए) और कुंजी (8-15 [उपयोगकर्ता] से 0-7 [सिस्टम]) एक ही ऑपरेशन में, और कई उपयोगकर्ता-लिखित एसवीसी मूल रूप से सरल मोड और मुख्य परिवर्तनों के लिए अभिप्रेत थे, वैसे भी, और बाद में केवल विशेष आवश्यकता यह था कि जॉबस्टेप एपीएफ अधिकृत हो{{efn|Initially this meant that the jobstep program was linked with AC(1) and came from an authorized concatenation of libraries. TSO/E later added a facility for authorized TSO commands.}}{{efn|several system libraries were always implicitly part of the concatenation}} और यह कि मोडसेट-आह्वान कार्यक्रम पुस्तकालयों के एक संघ में निवास करता है, जिनमें से सभी को अधिकृत के रूप में पहचाना गया था, और यह सुरक्षित दृष्टिकोण पूरी तरह से स्थापना के नियंत्रण में था। यह दृष्टिकोण साधारणतयः प्राधिकरण पर उपयोगकर्ता नियंत्रण को सरल करता है, चूंकि इसके लिए आवेदन में कुछ सरल परिवर्तन आवश्यक थे। सामान्य तौर पर, उपयोगकर्ता स्थापनाओं ने इस दृष्टिकोण का समर्थन किया, और सिस्टम की समग्र विश्वसनीयता में काफी सुधार हुआ। | ||
चूंकि मेनफ्रेम एप्लिकेशन साधारणतयः सिंक्रोनस प्रक्रियाएं हैं, ऑपरेटिंग सिस्टम स्वयं स्वाभाविक रूप से एसिंक्रोनस है, चूंकि सिस्टम कई प्रक्रियाओं का भी समर्थन करता है जो स्वाभाविक रूप से सिंक्रोनस हैं। जब कोई एप्लिकेशन सिस्टम सेवा का अनुरोध करता है जो स्वाभाविक रूप से अतुल्यकालिक है, जैसे कि इनपुट/आउटपुट प्रोसेसिंग, एप्लिकेशन और ऑपरेटिंग सिस्टम को सिंक्रनाइज़ करने के लिए एक तंत्र को नियोजित किया जाना चाहिए। यह आवश्यक तंत्र उन कार्यों के माध्यम से है जो ऑपरेटिंग सिस्टम में निर्मित हैं, या इसके द्वारा विशेष रूप से समर्थित हैं, जिनमें सम्मलित हैं: WAIT (बाहरी घटना होने तक अस्थायी रूप से आवेदन प्रसंस्करण को रोकें); POST (किसी बाहरी घटना के होने का संकेत दें ताकि आवेदन प्रक्रिया जारी रह सके); और SYNCH (सिस्टम प्रोसेसिंग मोड को बदलें - उपयोगकर्ता के लिए पर्यवेक्षक और उपयोगकर्ता कुंजी के लिए सिस्टम कुंजी - सिस्टम की अखंडता को बनाए रखते हुए, और एप्लिकेशन की ओर से सिंक्रोनस रूप से एक फ़ंक्शन निष्पादित करें, जिसके बाद पर्यवेक्षक प्रसंस्करण जारी रख सकता है)। | |||
पर्यवेक्षक कॉल निर्देश | पर्यवेक्षक कॉल निर्देश OS/360 SVCs|OS/360 SVCs नीचे दी गई तालिका उन शर्तों को इंगित करती है जिनके तहत इन सिंक्रनाइज़िंग सुविधाओं को नियोजित किया जा सकता है। | ||
== कार्यान्वयन == | == कार्यान्वयन == | ||
एसवीसी [[हेक्साडेसिमल]] [[ओपकोड]] के साथ एक दो बाइट निर्देश है {{mono|0A}}; निर्देश का दूसरा बाइट, एसवीसी नंबर, विशिष्ट अनुरोध को इंगित करता है।<ref>{{cite book|last=IBM Corporation|title=आईबीएम सिस्टम/360 संचालन के सिद्धांत|pages=72|url=http://www.bitsavers.org/pdf/ibm/360/princOps/A22-6821-0_360PrincOps.pdf}}</ref> SVC नंबर 0 से 255 तक कोई भी मान हो सकता है, विशेष | एसवीसी [[हेक्साडेसिमल]] [[ओपकोड]] के साथ एक दो बाइट निर्देश है {{mono|0A}}; निर्देश का दूसरा बाइट, एसवीसी नंबर, विशिष्ट अनुरोध को इंगित करता है।<ref>{{cite book|last=IBM Corporation|title=आईबीएम सिस्टम/360 संचालन के सिद्धांत|pages=72|url=http://www.bitsavers.org/pdf/ibm/360/princOps/A22-6821-0_360PrincOps.pdf}}</ref> SVC नंबर 0 से 255 तक कोई भी मान हो सकता है, विशेष एसवीसी नंबर ऑपरेटिंग सिस्टम के कार्यान्वयनकर्ता तक हो सकता है, उदा। IBM के एमवीएस पर, एसवीसी 3 का उपयोग एक प्रोग्राम को समाप्त करने के लिए किया जाता है, जबकि यूनिवैक वीएस/9 और फुजीत्सू बीएस2000 ऑपरेटिंग सिस्टम पर, एसवीसी 9 का उपयोग उसी उद्देश्य के लिए किया गया था। | ||
जब कोई प्रोग्राम एसवीसी जारी करता है, तो एक व्यवधान उत्पन्न होता है। PSW, एक 8-बाइट (सिस्टम 360 और S/370 पर) या 16 बाइट (z/सिस्टम पर), विशेषाधिकार प्राप्त रजिस्टर जिसमें अन्य बातों के अलावा, निष्पादित किए जाने वाले निर्देश का वर्तमान पता, विशेषाधिकार बिट ( 1 विशेषाधिकार प्राप्त होने पर), और भंडारण कुंजी, वास्तविक में सहेजी जाती है{{efn|That is, an address that is subject to prefixing but not to Dynamic Address Translation. IBM only uses the term absolute address for an address that is not subject to either DAT or prefixing.|name=real}} पता। यह 360 और 370 पर 32-39 स्थान है; जेड/सिस्टम पर 320-335। | जब कोई प्रोग्राम एसवीसी जारी करता है, तो एक व्यवधान उत्पन्न होता है। PSW, एक 8-बाइट (सिस्टम 360 और S/370 पर) या 16 बाइट (z/सिस्टम पर), विशेषाधिकार प्राप्त रजिस्टर जिसमें अन्य बातों के अलावा, निष्पादित किए जाने वाले निर्देश का वर्तमान पता, विशेषाधिकार बिट ( 1 विशेषाधिकार प्राप्त होने पर), और भंडारण कुंजी, वास्तविक में सहेजी जाती है{{efn|That is, an address that is subject to prefixing but not to Dynamic Address Translation. IBM only uses the term absolute address for an address that is not subject to either DAT or prefixing.|name=real}} पता। यह 360 और 370 पर 32-39 स्थान है; जेड/सिस्टम पर 320-335। पीएसडब्लू को फिर एक अलग वास्तविक से लोड किया जाता है{{efn|name=real}} पता ; यह 360 और 370 पर 96-103, z/सिस्टम पर 448-463 है। PSW में लोड किए गए पते पर निष्पादन फिर से शुरू होता है। सहेजे गए PSW के 24-31 बिट्स (वास्तविक{{efn|name=real}} एड्रेस 35 ऑन द 360 और 370, 323 ऑन द जेड/सिस्टम) में सुपरवाइजर कॉल नंबर होता है। | ||
एसवीसी एक पर्यवेक्षी कार्य को | एसवीसी एक पर्यवेक्षी कार्य को साधारणंत्रित करता है - साधारणतयः प्रणालियों के एसवीसी [[इंटरप्ट हैंडलर]] के बंद सबरूटीन के रूप में लागू किया जाता है। एसवीसी रूटीन से और पास की गई जानकारी को [[प्रोसेसर रजिस्टर]] या मेमोरी में पास किया जाता है। | ||
OS/360 और उत्तराधिकारियों के तहत, SVC रूटीन से रिटर्न, टाइप 2, 3 और 4 SVC रूटीन के लिए, SVC 3 (EXIT) | OS/360 और उत्तराधिकारियों के तहत, SVC रूटीन से रिटर्न, टाइप 2, 3 और 4 SVC रूटीन के लिए, SVC 3 (EXIT) आह्वान के माध्यम से, और अन्य एसवीसी प्रकारों के लिए प्रिविलेज्ड लोड PSW (LPSW) इंस्ट्रक्शन द्वारा होता है, और जो नियंत्रण कार्यक्रम के निर्धारण (कंप्यूटिंग) डिस्पैचर द्वारा एसवीसी रूटीन की ओर से निष्पादित किया जाता है या एसवीसी इंटरप्ट हैंडलर। | ||
आईबीएम मेनफ्रेम के लिए मॉन्ट्रियल, कनाडा में [[मैकगिल विश्वविद्यालय]] द्वारा विकसित संगीत/एसपी जैसे गैर-आईबीएम विकसित ऑपरेटिंग सिस्टम पर, और गैर-आईबीएम मेनफ्रेम के लिए, वीएस/9, यूनीवैक द्वारा विकसित (आरसीए के लिए [[टाइम शेयरिंग ऑपरेटिंग सिस्टम]] ऑपरेटिंग सिस्टम से) UNIVAC सीरीज 90 मेनफ्रेम लाइन के [[आरसीए स्पेक्ट्रा 70]] सीरीज कंप्यूटर) और [[Fujitsu]] के मेनफ्रेम के लिए B800 ऑपरेटिंग सिस्टम ( | आईबीएम मेनफ्रेम के लिए मॉन्ट्रियल, कनाडा में [[मैकगिल विश्वविद्यालय]] द्वारा विकसित संगीत/एसपी जैसे गैर-आईबीएम विकसित ऑपरेटिंग सिस्टम पर, और गैर-आईबीएम मेनफ्रेम के लिए, वीएस/9, यूनीवैक द्वारा विकसित (आरसीए के लिए [[टाइम शेयरिंग ऑपरेटिंग सिस्टम]] ऑपरेटिंग सिस्टम से) UNIVAC सीरीज 90 मेनफ्रेम लाइन के [[आरसीए स्पेक्ट्रा 70]] सीरीज कंप्यूटर) और [[Fujitsu]] के मेनफ्रेम के लिए B800 ऑपरेटिंग सिस्टम (टीएसओएस ऑपरेटिंग सिस्टम से भी विकसित), सभी पर्यवेक्षक कॉल से बाहर निकलने के लिए LPSW निर्देश का उपयोग करते हैं। | ||
एलपीएसडब्ल्यू निर्देश के माध्यम से या किसी अन्य माध्यम जैसे कि सबरूटीन रिटर्न इंस्ट्रक्शन या स्वयं पर्यवेक्षक कॉल के माध्यम से सीधे कॉलिंग प्रोग्राम में पर्यवेक्षक कॉल वापसी का विकल्प है, यह डिजाइन का विषय है। ऐसा करने का कोई स्पष्ट सही | एलपीएसडब्ल्यू निर्देश के माध्यम से या किसी अन्य माध्यम जैसे कि सबरूटीन रिटर्न इंस्ट्रक्शन या स्वयं पर्यवेक्षक कॉल के माध्यम से सीधे कॉलिंग प्रोग्राम में पर्यवेक्षक कॉल वापसी का विकल्प है, यह डिजाइन का विषय है। ऐसा करने का कोई स्पष्ट सही विधि नहीं है; दोनों तरीकों के कारण हो सकते हैं। एसवीसी रूटीन से बाहर निकलने के लिए एलपीएसडब्ल्यू निर्देश का उपयोग तेजी से निष्पादन की अनुमति देता है, लेकिन इसका मतलब है कि वास्तविक ऑपरेटिंग सिस्टम पर्यवेक्षक के भागों के रूप में कोड चलाने वाली एक समर्पित मशीन पर रूटीन का वास्तविक परीक्षण किया जाना चाहिए। यदि कोड को एक सामान्य सबरूटीन के रूप में लिखा गया था, तो इसे किसी भी सामान्य प्रोग्राम की तरह ही परीक्षण किया जा सकता है और संभावित रूप से इसे संशोधित किए बिना तैनात किया जा सकता है। यह मेट्रिक्स को मापने की अनुमति भी देगा, क्योंकि एक पर्यवेक्षक कॉल रूटीन ने अपने कार्य को पूरा करने में कितना समय लिया, जो रूटीन के विश्लेषण की अनुमति देता है जो निष्पादन समय में अत्यधिक लंबा है (या, जो बहुत तेज़ हैं)। | ||
OS/360 और OS के बाद के अवतारों में, शाखा और लिंक प्रविष्टि बिंदु कुछ पर्यवेक्षक मोड रूटीन के लिए SVC आह्वान के विकल्प हैं। MVS/SP V1R3 और OS के बाद के अवतारों में, प्रोग्राम कॉल (PC) प्रविष्टियों ने प्राधिकृत और अनधिकृत दोनों प्रोग्रामों द्वारा कई पर्यवेक्षी कार्यों के आह्वान के लिए SVCs को संवर्धित किया है; और कुछ कार्यों को केवल शाखा या पीसी प्रविष्टियों द्वारा ही लागू किया जा सकता है, उदा। इनपुट/आउटपुट प्रारंभ करें। (यह आईबीएम ऑपरेटिंग सिस्टम को गैर-आईबीएम हार्डवेयर पर चलने से रोकने का भी लाभ है।) | OS/360 और OS के बाद के अवतारों में, शाखा और लिंक प्रविष्टि बिंदु कुछ पर्यवेक्षक मोड रूटीन के लिए SVC आह्वान के विकल्प हैं। MVS/SP V1R3 और OS के बाद के अवतारों में, प्रोग्राम कॉल (PC) प्रविष्टियों ने प्राधिकृत और अनधिकृत दोनों प्रोग्रामों द्वारा कई पर्यवेक्षी कार्यों के आह्वान के लिए SVCs को संवर्धित किया है; और कुछ कार्यों को केवल शाखा या पीसी प्रविष्टियों द्वारा ही लागू किया जा सकता है, उदा। इनपुट/आउटपुट प्रारंभ करें। (यह आईबीएम ऑपरेटिंग सिस्टम को गैर-आईबीएम हार्डवेयर पर चलने से रोकने का भी लाभ है।) | ||
अलग-अलग आईबीएम ऑपरेटिंग सिस्टम में उपयोग किए जाने वाले विशिष्ट कोड या पर्यवेक्षक सेवाओं में थोड़ी अनुकूलता होती है, जिसे लागू किया जा सकता है। VM (ऑपरेटिंग सिस्टम) | VM/370 और z/VM सिस्टम समान | अलग-अलग आईबीएम ऑपरेटिंग सिस्टम में उपयोग किए जाने वाले विशिष्ट कोड या पर्यवेक्षक सेवाओं में थोड़ी अनुकूलता होती है, जिसे लागू किया जा सकता है। VM (ऑपरेटिंग सिस्टम) | VM/370 और z/VM सिस्टम समान विधि से DIAG निर्देश का उपयोग करते हैं, और SVC को वर्चुअल मशीन में चल रहे ऑपरेटिंग सिस्टम द्वारा उपयोग के लिए छोड़ देते हैं। अधिकांश OS/360 SVC को पुराने कार्यक्रमों के लिए बनाए रखा गया है, लेकिन कुछ SVC को समय बीतने के साथ बढ़ाया गया है। | ||
==OS/360 और उत्तराधिकारी सिस्टम SVCs== | ==OS/360 और उत्तराधिकारी सिस्टम SVCs== | ||
Line 40: | Line 40: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! | ! कन्वेंशन !! टाइप 1 / टाइप 6 !! टाइप 2 !! टाइप 3 !! टाइप 4 | ||
|- | |- | ||
| | | निवासी नियंत्रण कार्यक्रम का भाग || {{Yes}} || {{Yes}} || {{No}} || {{No}} | ||
|- | |- | ||
| | | रूटीन का आकार (OS/360) || {{Any}} || {{Any}} || सिंगल लोड मॉड्यूल | ||
≤ 1024 बाइट्स | |||
| प्रत्येक लोड मॉड्यूल | |||
≤ 1024 बाइट्स | |||
|- | |- | ||
| | | रूटीन का आकार (OS/VS1) || {{Any}} || {{Any}} || सिंगल लोड मॉड्यूल | ||
≤ 2048 बाइट्स | |||
| प्रत्येक लोड मॉड्यूल | |||
≤ 2048 बाइट्स | |||
|- | |- | ||
| | | दिनचर्या का आकार (एसवीएस, एमवीएस) || {{Any}} || {{Any}} || {{Any}} || {{Any}} | ||
|- | |- | ||
| | | रीफ्रेश || {{No}} || {{No}} || {{Yes}}{{efn|name=FLPA|Resident SVC routines in OS/360, OS/VS1 and SVS need not be refreshable<br>SVC routines in FLPA need not be refreshable.}} || {{Yes}}{{efn|name=FLPA}} | ||
|- | |- | ||
| | | पुन: उपयोग करने योग्य दिनचर्या || {{Optional}}, but must be serially reusable || {{Yes}} || {{Yes}} || {{Yes}} | ||
|- | |- | ||
| | | रुकावटों की अनुमति दे सकता है || {{No}}{{efn|In MVS a Type 1 SVC holds the Local lock and may take interrupts.}} || {{Yes}} || {{Yes}} || {{Yes}} | ||
|- | |- | ||
| | | प्रवेश पर सामग्री पंजीकृत करें || colspan="4" | रजिस्टर{{efn| | ||
SVC register usage in OS/360 and MVS is | SVC register usage in OS/360 and MVS is | ||
*R3 CVT address | *R3 CVT address | ||
Line 64: | Line 70: | ||
*R7 ASCB address (MVS only) | *R7 ASCB address (MVS only) | ||
*R14 return address CVTEXIR or SVC SLIH | *R14 return address CVTEXIR or SVC SLIH | ||
}} 3, 4, 5, 6, 7 | }} 3, 4, 5, 6, 7 और 14 में संचार संकेत हैं; रजिस्टर 0, 1 और 15 पैरामीटर रजिस्टर हैं। | ||
|- | |- | ||
| | | स्थानांतरित करने योग्य डेटा हो सकता है || {{Yes}} || {{Yes}} || {{No}} || {{No}} | ||
|- | |- | ||
| | | अन्य प्रकार के एसवीसी रूटीनों पर नियंत्रण पारित कर सकते हैं || {{CNone|None}} || colspan="3" {{Any}} | ||
|- | |- | ||
| | | WAIT जारी कर सकता है || {{No}} || colspan="3" {{Yes|align=left}}, using "WAIT" (SVC 1) | ||
|- | |- | ||
| | | पोस्ट जारी कर सकता है || {{Yes|align=left}}, but must use "Post" disabled branch entry || colspan="3" {{Yes|align=left}}, using "POST" (SVC 2) | ||
|- | |- | ||
| | | सिंक्रोनस एग्जिट शेड्यूल कर सकते हैं || {{Yes|align=left}}, but must use "Exit Effector" disabled branch entry || colspan="3" {{Yes|align=left}}, using "SYNCH" (SVC 12) | ||
|- | |- | ||
| | | असामान्य समाप्ति निर्धारित कर सकते हैं || {{Yes|align=left}}, using "Abterm" disabled branch entry<ref>ABEND may be employed, but this is not considered best practice.</ref> || colspan="3" {{Yes|align=left}}, using "ABEND" (SVC 13) | ||
|- | |- | ||
|+ style="caption-side:bottom" | {{nobold| | |+ style="caption-side:bottom" | {{nobold|IBM सिस्टम/360 ऑपरेटिंग सिस्टम सिस्टम प्रोग्रामर गाइड C28-6550-2<ref> से संघनित टेबल //www.bitsavers.org/pdf/ibm/360/os/R01-08/C28-6550-2_OSsysPrmg_Mar67.pdf}}</ref>{{rp|p.33}}}} | ||
|} | |} | ||
प्रकार 3 और 4 एसवीसी रूटीन पर आकार प्रतिबंध आवश्यक हैं क्योंकि जब वे लागू होते हैं तो उन्हें नामित क्षणिक क्षेत्रों (एमवीटी के बाद पीएलपीए) में लोड किया जाता है। | प्रकार 3 और 4 एसवीसी रूटीन पर आकार प्रतिबंध आवश्यक हैं क्योंकि जब वे लागू होते हैं तो उन्हें नामित क्षणिक क्षेत्रों (एमवीटी के बाद पीएलपीए) में लोड किया जाता है। | ||
*टाइप 1 का एक उदाहरण एसवीसी 10 है, जिसका उपयोग गेटमेन और फ्रीमेन दोनों के लिए किया जाता है, जो किसी कार्य के लिए मुख्य भंडारण का एक क्षेत्र आवंटित करता है और बाद में इसे क्रमशः जारी करता है। SVC 10 को अनौपचारिक रूप से REGMAIN के रूप में जाना जाता है क्योंकि यह केवल सामान्य प्रयोजन रजिस्टरों के माध्यम से मापदंडों का आदान-प्रदान करता है, और दोनों प्राप्त और मुफ़्त भंडारण कर सकता है। एसवीसी 4 और एसवीसी 5 क्रमशः समान जीईटी और मुफ़्त कार्य कर सकते हैं, लेकिन इन-स्टोरेज पैरामीटर सूचियों के माध्यम से एक्सचेंज पैरामीटर। | *टाइप 1 का एक उदाहरण एसवीसी 10 है, जिसका उपयोग गेटमेन और फ्रीमेन दोनों के लिए किया जाता है, जो किसी कार्य के लिए मुख्य भंडारण का एक क्षेत्र आवंटित करता है और बाद में इसे क्रमशः जारी करता है। एसवीसी (SVC) 10 को अनौपचारिक रूप से रेगमेन (REGMAIN) के रूप में जाना जाता है क्योंकि यह केवल सामान्य प्रयोजन रजिस्टरों के माध्यम से मापदंडों का आदान-प्रदान करता है, और दोनों प्राप्त और मुफ़्त भंडारण कर सकता है। एसवीसी 4 और एसवीसी 5 क्रमशः समान जीईटी और मुफ़्त कार्य कर सकते हैं, लेकिन इन-स्टोरेज पैरामीटर सूचियों के माध्यम से एक्सचेंज पैरामीटर। | ||
*टाइप 2 का एक उदाहरण | *टाइप 2 का एक उदाहरण एसवीसी 42, जोड़ा गया, जो एक नया फंक्शन बनाता है। | ||
*टाइप 3 का एक उदाहरण | *टाइप 3 का एक उदाहरण एसवीसी 33, आईओहाल्ट (IOHALT) है, जो गैर-डीएएसडी युक्ति पर I/O संचालन को समाप्त करता है। इस एसवीसी को ओएस/वीएस में टाइप 2 में बदल दिया गया था क्योंकि आईओहाल्ट (IOHALT) का उपयोग कई टेलीप्रोसेसिंग-आधारित प्रणालियों में किया जाता है। | ||
* टाइप 4 का एक उदाहरण एसवीसी 19, ओपेन है, जिसका उपयोग उपयोगकर्ता प्रोग्राम द्वारा उपयोग के लिए डेटासेट उपलब्ध कराने के लिए किया जाता है, जिसमें सभी एक्सेस विधियों के लिए सामान्य मॉड्यूल सम्मलित होते हैं और प्रत्येक एक्सेस विधि के लिए विशिष्ट अतिरिक्त मॉड्यूल कॉल करते हैं। ओपन उन डेटासेट्स का भी समर्थन करता है, जिन्हें आपकी अपनी एक्सेस विधि द्वारा संचालित किया जाना है, जैसे कि वे जो [[चैनल प्रोग्राम निष्पादित करें]] का उपयोग करके एक्सेस किए जाते हैं। | * टाइप 4 का एक उदाहरण एसवीसी 19, ओपेन है, जिसका उपयोग उपयोगकर्ता प्रोग्राम द्वारा उपयोग के लिए डेटासेट उपलब्ध कराने के लिए किया जाता है, जिसमें सभी एक्सेस विधियों के लिए सामान्य मॉड्यूल सम्मलित होते हैं और प्रत्येक एक्सेस विधि के लिए विशिष्ट अतिरिक्त मॉड्यूल कॉल करते हैं। ओपन उन डेटासेट्स का भी समर्थन करता है, जिन्हें आपकी अपनी एक्सेस विधि द्वारा संचालित किया जाना है, जैसे कि वे जो [[चैनल प्रोग्राम निष्पादित करें]] का उपयोग करके एक्सेस किए जाते हैं। | ||
*टाइप 6 का एक उदाहरण SVC 107, MODESET है, जो कोई लॉक प्राप्त नहीं करता है, लेकिन पास किए गए मापदंडों के अनुसार सिस्टम मोड और सिस्टम कुंजी को बदलने में सक्षम है। | *टाइप 6 का एक उदाहरण एसवीसी (SVC) 107, मोडसेट (MODESET) है, जो कोई लॉक प्राप्त नहीं करता है, लेकिन पास किए गए मापदंडों के अनुसार सिस्टम मोड और सिस्टम कुंजी को बदलने में सक्षम है। | ||
== सुरक्षा == | == सुरक्षा == | ||
OS/360, सामान्य तौर पर, SVC के उपयोग को प्रतिबंधित करने का कोई | OS/360, सामान्य तौर पर, SVC के उपयोग को प्रतिबंधित करने का कोई विधि नहीं रखता था। नतीजतन, काफी संख्या में गैर-इरादतन प्रणाली- और डेटा-अखंडता जोखिम थे जो एसवीसी और अन्य निर्देशों के कुछ अनुक्रमों को नियोजित करके संभव थे। जिज्ञासु उपयोगकर्ताओं के लिए इन जोखिमों को खोजने का प्रयास करना साधारण बात हो गई, लेकिन कुछ सिस्टम प्रोग्रामरों ने अपने स्वयं के उपयोगकर्ता के लिए लिखित SVC विकसित करने के अतिरिक्त इन जोखिमों का उपयोग किया। | ||
MVS/370 के साथ शुरुआत करते हुए, IBM ने इसे एक [[उत्पाद दोष]] माना, यदि सिस्टम डिज़ाइन त्रुटि किसी एप्लिकेशन प्रोग्राम को प्राधिकरण के बिना पर्यवेक्षक स्थिति में प्रवेश करने की अनुमति देती है। उन्होंने अनिवार्य किया कि सभी आईबीएम एसवीसी को सभी सिस्टम- और डेटा-अखंडता जोखिमों को बंद करने के लिए संरक्षित किया जाए। उन्होंने इस तरह के एक्सपोजर को बंद करने की गारंटी दी क्योंकि ये खोजे गए थे। 1977 में MVS/370 के रिलीज 3.7 द्वारा लगभग 100,000 प्राधिकृत कार्यक्रम विश्लेषण रिपोर्ट (APARs) और संबंधित IBM प्रोग्राम अस्थायी सुधार (PTFs) की कीमत पर ऐसे लगभग हर जोखिम की वास्तव में पहचान की गई और उसे बंद कर दिया गया। यह एक उल्लेखनीय उपलब्धि थी, क्योंकि इसके बाद सिस्टम अप टाइम को दिनों या घंटों के | MVS/370 के साथ शुरुआत करते हुए, IBM ने इसे एक [[उत्पाद दोष]] माना, यदि सिस्टम डिज़ाइन त्रुटि किसी एप्लिकेशन प्रोग्राम को प्राधिकरण के बिना पर्यवेक्षक स्थिति में प्रवेश करने की अनुमति देती है। उन्होंने अनिवार्य किया कि सभी आईबीएम एसवीसी को सभी सिस्टम- और डेटा-अखंडता जोखिमों को बंद करने के लिए संरक्षित किया जाए। उन्होंने इस तरह के एक्सपोजर को बंद करने की गारंटी दी क्योंकि ये खोजे गए थे। 1977 में MVS/370 के रिलीज 3.7 द्वारा लगभग 100,000 प्राधिकृत कार्यक्रम विश्लेषण रिपोर्ट (APARs) और संबंधित IBM प्रोग्राम अस्थायी सुधार (PTFs) की कीमत पर ऐसे लगभग हर जोखिम की वास्तव में पहचान की गई और उसे बंद कर दिया गया। यह एक उल्लेखनीय उपलब्धि थी, क्योंकि इसके बाद सिस्टम अप टाइम को दिनों या घंटों के अतिरिक्त वर्षों में मापा गया। | ||
==टिप्पणियाँ== | ==टिप्पणियाँ== |
Revision as of 22:43, 19 December 2022
- इस लेख में आईबीएम प्रणाली (IBM System)/360 और इसके अन्य प्रारूप पर आधारित मेनफ़्रेम कंप्यूटर, और संगत मशीनों पर विशिष्ट निर्देश सम्मलित हैं। एक ऑपरेटिंग सिस्टम को कॉल जारी करने के निर्देश की सामान्य अवधारणा के लिए, सिस्टम कॉल देखें।
एक 'पर्यवेक्षक कॉल निर्देश' ('एसवीसी') वह हार्डवेयर निर्देश (कंप्यूटर विज्ञान) है जो आईबीएम मेनफ्रेम कंप्यूटर की प्रणाली/360 समूह द्वारा इसके समकालीन जेड श्रेणी (zSeries), एमडेल कोर्पोरेशन (Amdahl Corporation) 470V/5, 470V/6, 470V/7, तक उपयोग किया जाता है। 470V/8, 580, 5880, 5990M, और 5990A, और अन्य; यूनीवैक यूनीवैक सीरीज 90|90/60, 90/70 और 90/80, और संभवतः अन्य; फुजित्सु M180 (यूपी)[1] और एम200 (एमपी), और अन्य; और इसका उपयोग हरक्यूलिस (एमुलेशन) ओपन सोर्स मेनफ्रेम कंप्यूटर एमुलेशन सॉफ्टवेयर में भी किया जाता है। यह ऑपरेटिंग सिस्टम से सेवा का अनुरोध करने में बाधा उत्पन्न करता है। सेवा प्रदान करने वाले सिस्टम रूटीन को SVC रूटीन कहा जाता है। एसवीसी एक सिस्टम कॉल है।
तर्क
सिस्टम/360 में आईबीएम मेनफ्रेम और उत्तराधिकारी परिवार दो राज्यों में से एक में काम करते हैं: समस्या स्थिति या पर्यवेक्षक स्थिति और सोलह स्टोरेज एक्सेस कुंजी (0 से 15) में से एक में। समस्या की स्थिति में, उपयोगकर्ता प्रोग्राम के लिए सामान्य प्रयोजन के गैर-विशेषाधिकार प्राप्त निर्देशों का एक बड़ा सेट उपलब्ध होता है। पर्यवेक्षक स्थिति में, सिस्टम प्रोग्राम अतिरिक्त रूप से विशेषाधिकार प्राप्त निर्देशों के एक छोटे सेट का उपयोग करने में सक्षम होते हैं जो साधारणतयः पर्यवेक्षी कार्यों के लिए होते हैं। ये कार्य अन्य उपयोगकर्ताओं, अन्य प्रोसेसर या संपूर्ण कंप्यूटर सिस्टम को प्रभावित कर सकते हैं। स्टोरेज की 0 में एक प्रोग्राम सभी एड्रेसेबल को एक्सेस करने में सक्षम है[lower-alpha 1] भंडारण, अन्यथा यह एक मिलान कुंजी के साथ भंडारण क्षेत्रों तक सीमित है। ऑपरेटिंग सिस्टम द्वारा पूरी तरह से प्राधिकरण जाँच के बाद ही एक प्रोग्राम को विशिष्ट पर्यवेक्षी कार्यों तक पहुँचने की अनुमति दी जाती है: DEBCHK (SVC 117), TESTAUTH (SVC 119), और संभवतः अतिरिक्त परीक्षण। ऐसे प्रोग्राम जो इनमें से किसी भी परीक्षण में विफल होते हैं, ABENDed होते हैं, जो असामान्य रूप से समाप्त हो जाते हैं और तुरंत प्रसंस्करण बंद कर देते हैं। इनमें से कुछ परीक्षण OS/360 में उपलब्ध नहीं थे, लेकिन OS/VS1, OS/VS2 (SVS) या MVS/370 में जोड़े गए थे, लेकिन सभी MVS/370 या बाद के रिलीज में उपलब्ध थे, और आज भी उपलब्ध हैं .
OS/VS1, OS/VS2 (SVS), MVS/370 और OS के बाद के संस्करणों में, मोडसेट फ़ंक्शन (SVC 107) ने कई उपयोगकर्ता-लिखित SVC की आवश्यकता को समाप्त कर दिया क्योंकि यह सिस्टम SVC मोड में दोनों परिवर्तनों को समायोजित करता है (समस्या स्थिति) पर्यवेक्षक राज्य के लिए) और कुंजी (8-15 [उपयोगकर्ता] से 0-7 [सिस्टम]) एक ही ऑपरेशन में, और कई उपयोगकर्ता-लिखित एसवीसी मूल रूप से सरल मोड और मुख्य परिवर्तनों के लिए अभिप्रेत थे, वैसे भी, और बाद में केवल विशेष आवश्यकता यह था कि जॉबस्टेप एपीएफ अधिकृत हो[lower-alpha 2][lower-alpha 3] और यह कि मोडसेट-आह्वान कार्यक्रम पुस्तकालयों के एक संघ में निवास करता है, जिनमें से सभी को अधिकृत के रूप में पहचाना गया था, और यह सुरक्षित दृष्टिकोण पूरी तरह से स्थापना के नियंत्रण में था। यह दृष्टिकोण साधारणतयः प्राधिकरण पर उपयोगकर्ता नियंत्रण को सरल करता है, चूंकि इसके लिए आवेदन में कुछ सरल परिवर्तन आवश्यक थे। सामान्य तौर पर, उपयोगकर्ता स्थापनाओं ने इस दृष्टिकोण का समर्थन किया, और सिस्टम की समग्र विश्वसनीयता में काफी सुधार हुआ।
चूंकि मेनफ्रेम एप्लिकेशन साधारणतयः सिंक्रोनस प्रक्रियाएं हैं, ऑपरेटिंग सिस्टम स्वयं स्वाभाविक रूप से एसिंक्रोनस है, चूंकि सिस्टम कई प्रक्रियाओं का भी समर्थन करता है जो स्वाभाविक रूप से सिंक्रोनस हैं। जब कोई एप्लिकेशन सिस्टम सेवा का अनुरोध करता है जो स्वाभाविक रूप से अतुल्यकालिक है, जैसे कि इनपुट/आउटपुट प्रोसेसिंग, एप्लिकेशन और ऑपरेटिंग सिस्टम को सिंक्रनाइज़ करने के लिए एक तंत्र को नियोजित किया जाना चाहिए। यह आवश्यक तंत्र उन कार्यों के माध्यम से है जो ऑपरेटिंग सिस्टम में निर्मित हैं, या इसके द्वारा विशेष रूप से समर्थित हैं, जिनमें सम्मलित हैं: WAIT (बाहरी घटना होने तक अस्थायी रूप से आवेदन प्रसंस्करण को रोकें); POST (किसी बाहरी घटना के होने का संकेत दें ताकि आवेदन प्रक्रिया जारी रह सके); और SYNCH (सिस्टम प्रोसेसिंग मोड को बदलें - उपयोगकर्ता के लिए पर्यवेक्षक और उपयोगकर्ता कुंजी के लिए सिस्टम कुंजी - सिस्टम की अखंडता को बनाए रखते हुए, और एप्लिकेशन की ओर से सिंक्रोनस रूप से एक फ़ंक्शन निष्पादित करें, जिसके बाद पर्यवेक्षक प्रसंस्करण जारी रख सकता है)।
पर्यवेक्षक कॉल निर्देश OS/360 SVCs|OS/360 SVCs नीचे दी गई तालिका उन शर्तों को इंगित करती है जिनके तहत इन सिंक्रनाइज़िंग सुविधाओं को नियोजित किया जा सकता है।
कार्यान्वयन
एसवीसी हेक्साडेसिमल ओपकोड के साथ एक दो बाइट निर्देश है 0A; निर्देश का दूसरा बाइट, एसवीसी नंबर, विशिष्ट अनुरोध को इंगित करता है।[2] SVC नंबर 0 से 255 तक कोई भी मान हो सकता है, विशेष एसवीसी नंबर ऑपरेटिंग सिस्टम के कार्यान्वयनकर्ता तक हो सकता है, उदा। IBM के एमवीएस पर, एसवीसी 3 का उपयोग एक प्रोग्राम को समाप्त करने के लिए किया जाता है, जबकि यूनिवैक वीएस/9 और फुजीत्सू बीएस2000 ऑपरेटिंग सिस्टम पर, एसवीसी 9 का उपयोग उसी उद्देश्य के लिए किया गया था।
जब कोई प्रोग्राम एसवीसी जारी करता है, तो एक व्यवधान उत्पन्न होता है। PSW, एक 8-बाइट (सिस्टम 360 और S/370 पर) या 16 बाइट (z/सिस्टम पर), विशेषाधिकार प्राप्त रजिस्टर जिसमें अन्य बातों के अलावा, निष्पादित किए जाने वाले निर्देश का वर्तमान पता, विशेषाधिकार बिट ( 1 विशेषाधिकार प्राप्त होने पर), और भंडारण कुंजी, वास्तविक में सहेजी जाती है[lower-alpha 4] पता। यह 360 और 370 पर 32-39 स्थान है; जेड/सिस्टम पर 320-335। पीएसडब्लू को फिर एक अलग वास्तविक से लोड किया जाता है[lower-alpha 4] पता ; यह 360 और 370 पर 96-103, z/सिस्टम पर 448-463 है। PSW में लोड किए गए पते पर निष्पादन फिर से शुरू होता है। सहेजे गए PSW के 24-31 बिट्स (वास्तविक[lower-alpha 4] एड्रेस 35 ऑन द 360 और 370, 323 ऑन द जेड/सिस्टम) में सुपरवाइजर कॉल नंबर होता है।
एसवीसी एक पर्यवेक्षी कार्य को साधारणंत्रित करता है - साधारणतयः प्रणालियों के एसवीसी इंटरप्ट हैंडलर के बंद सबरूटीन के रूप में लागू किया जाता है। एसवीसी रूटीन से और पास की गई जानकारी को प्रोसेसर रजिस्टर या मेमोरी में पास किया जाता है।
OS/360 और उत्तराधिकारियों के तहत, SVC रूटीन से रिटर्न, टाइप 2, 3 और 4 SVC रूटीन के लिए, SVC 3 (EXIT) आह्वान के माध्यम से, और अन्य एसवीसी प्रकारों के लिए प्रिविलेज्ड लोड PSW (LPSW) इंस्ट्रक्शन द्वारा होता है, और जो नियंत्रण कार्यक्रम के निर्धारण (कंप्यूटिंग) डिस्पैचर द्वारा एसवीसी रूटीन की ओर से निष्पादित किया जाता है या एसवीसी इंटरप्ट हैंडलर।
आईबीएम मेनफ्रेम के लिए मॉन्ट्रियल, कनाडा में मैकगिल विश्वविद्यालय द्वारा विकसित संगीत/एसपी जैसे गैर-आईबीएम विकसित ऑपरेटिंग सिस्टम पर, और गैर-आईबीएम मेनफ्रेम के लिए, वीएस/9, यूनीवैक द्वारा विकसित (आरसीए के लिए टाइम शेयरिंग ऑपरेटिंग सिस्टम ऑपरेटिंग सिस्टम से) UNIVAC सीरीज 90 मेनफ्रेम लाइन के आरसीए स्पेक्ट्रा 70 सीरीज कंप्यूटर) और Fujitsu के मेनफ्रेम के लिए B800 ऑपरेटिंग सिस्टम (टीएसओएस ऑपरेटिंग सिस्टम से भी विकसित), सभी पर्यवेक्षक कॉल से बाहर निकलने के लिए LPSW निर्देश का उपयोग करते हैं।
एलपीएसडब्ल्यू निर्देश के माध्यम से या किसी अन्य माध्यम जैसे कि सबरूटीन रिटर्न इंस्ट्रक्शन या स्वयं पर्यवेक्षक कॉल के माध्यम से सीधे कॉलिंग प्रोग्राम में पर्यवेक्षक कॉल वापसी का विकल्प है, यह डिजाइन का विषय है। ऐसा करने का कोई स्पष्ट सही विधि नहीं है; दोनों तरीकों के कारण हो सकते हैं। एसवीसी रूटीन से बाहर निकलने के लिए एलपीएसडब्ल्यू निर्देश का उपयोग तेजी से निष्पादन की अनुमति देता है, लेकिन इसका मतलब है कि वास्तविक ऑपरेटिंग सिस्टम पर्यवेक्षक के भागों के रूप में कोड चलाने वाली एक समर्पित मशीन पर रूटीन का वास्तविक परीक्षण किया जाना चाहिए। यदि कोड को एक सामान्य सबरूटीन के रूप में लिखा गया था, तो इसे किसी भी सामान्य प्रोग्राम की तरह ही परीक्षण किया जा सकता है और संभावित रूप से इसे संशोधित किए बिना तैनात किया जा सकता है। यह मेट्रिक्स को मापने की अनुमति भी देगा, क्योंकि एक पर्यवेक्षक कॉल रूटीन ने अपने कार्य को पूरा करने में कितना समय लिया, जो रूटीन के विश्लेषण की अनुमति देता है जो निष्पादन समय में अत्यधिक लंबा है (या, जो बहुत तेज़ हैं)।
OS/360 और OS के बाद के अवतारों में, शाखा और लिंक प्रविष्टि बिंदु कुछ पर्यवेक्षक मोड रूटीन के लिए SVC आह्वान के विकल्प हैं। MVS/SP V1R3 और OS के बाद के अवतारों में, प्रोग्राम कॉल (PC) प्रविष्टियों ने प्राधिकृत और अनधिकृत दोनों प्रोग्रामों द्वारा कई पर्यवेक्षी कार्यों के आह्वान के लिए SVCs को संवर्धित किया है; और कुछ कार्यों को केवल शाखा या पीसी प्रविष्टियों द्वारा ही लागू किया जा सकता है, उदा। इनपुट/आउटपुट प्रारंभ करें। (यह आईबीएम ऑपरेटिंग सिस्टम को गैर-आईबीएम हार्डवेयर पर चलने से रोकने का भी लाभ है।)
अलग-अलग आईबीएम ऑपरेटिंग सिस्टम में उपयोग किए जाने वाले विशिष्ट कोड या पर्यवेक्षक सेवाओं में थोड़ी अनुकूलता होती है, जिसे लागू किया जा सकता है। VM (ऑपरेटिंग सिस्टम) | VM/370 और z/VM सिस्टम समान विधि से DIAG निर्देश का उपयोग करते हैं, और SVC को वर्चुअल मशीन में चल रहे ऑपरेटिंग सिस्टम द्वारा उपयोग के लिए छोड़ देते हैं। अधिकांश OS/360 SVC को पुराने कार्यक्रमों के लिए बनाए रखा गया है, लेकिन कुछ SVC को समय बीतने के साथ बढ़ाया गया है।
OS/360 और उत्तराधिकारी सिस्टम SVCs
ओएस/360 और उत्तराधिकारी प्रणालियों में एसवीसी संख्या 0 से लेकर लगभग 127 तक आईबीएम द्वारा परिभाषित हैं, और 255 नीचे की ओर संस्थापन के सिस्टम प्रोग्रामिंग स्टाफ द्वारा उपयोग के लिए उपलब्ध हैं। z/OS ने इसे IBM के लिए लगभग 200 से लेकर लगभग 200 तक SVC संख्या में बदल दिया, और संस्थापन के लिए 255 नीचे की ओर, अतिरिक्त सिस्टम सेवाओं के रूप में, मुख्य रूप से एन्क्रिप्शन/डिक्रिप्शन के समर्थन में, IBM द्वारा SVC का उपयोग करके कार्यान्वित किया जा रहा था। SVC रूटीन में IGC से शुरू होने वाले एक विशिष्ट प्रारूप में मॉड्यूल नाम होने चाहिए।
सिस्टम डिज़ाइन के अनुसार, अक्षम शब्द का अर्थ प्री-एमवीएस/370 सिस्टम में मशीन चेक रुकावटों को छोड़कर सभी रुकावटों के लिए अक्षम है, और स्थानीय लॉक के साथ, लेकिन एमवीएस/370 और बाद के सभी सिस्टम में किसी भी रुकावट के लिए अक्षम नहीं है। पूर्व भौतिक अक्षमता है, बाद वाला तार्किक अक्षमता है, क्योंकि पता स्थान के स्थानीय लॉक का भौतिक अक्षमता के रूप में इसके पता स्थान के भीतर समान प्रभाव पड़ता है, लेकिन इसका अन्य पता स्थानों पर कोई प्रभाव नहीं पड़ता है।
OS/360 ने चार प्रकार के SVC रूटीन परिभाषित किए, जिन्हें टाइप 1 से टाइप 4 कहा जाता है; MVS/370 ने एक अतिरिक्त टाइप 6 जोड़ा, जो टाइप 1 के समान है सिवाय इसके कि SVC रूटीन शारीरिक रूप से अक्षम है। टाइप 5 को न तो परिभाषित किया गया और न ही लागू किया गया। निम्नलिखित जानकारी, OS/360 के लिए एक तालिका का हिस्सा, MVS/370 और उत्तराधिकारी प्रणालियों के लिए संवर्धित, एक SVC रूटीन लिखने में सम्मलित विचारों का एक विचार देती है।
कन्वेंशन | टाइप 1 / टाइप 6 | टाइप 2 | टाइप 3 | टाइप 4 |
---|---|---|---|---|
निवासी नियंत्रण कार्यक्रम का भाग | Yes | Yes | No | No |
रूटीन का आकार (OS/360) | Any | Any | सिंगल लोड मॉड्यूल
≤ 1024 बाइट्स |
प्रत्येक लोड मॉड्यूल
≤ 1024 बाइट्स |
रूटीन का आकार (OS/VS1) | Any | Any | सिंगल लोड मॉड्यूल
≤ 2048 बाइट्स |
प्रत्येक लोड मॉड्यूल
≤ 2048 बाइट्स |
दिनचर्या का आकार (एसवीएस, एमवीएस) | Any | Any | Any | Any |
रीफ्रेश | No | No | Yes[lower-alpha 5] | Yes[lower-alpha 5] |
पुन: उपयोग करने योग्य दिनचर्या | Optional, but must be serially reusable | Yes | Yes | Yes |
रुकावटों की अनुमति दे सकता है | No[lower-alpha 6] | Yes | Yes | Yes |
प्रवेश पर सामग्री पंजीकृत करें | रजिस्टर[lower-alpha 7] 3, 4, 5, 6, 7 और 14 में संचार संकेत हैं; रजिस्टर 0, 1 और 15 पैरामीटर रजिस्टर हैं। | |||
स्थानांतरित करने योग्य डेटा हो सकता है | Yes | Yes | No | No |
अन्य प्रकार के एसवीसी रूटीनों पर नियंत्रण पारित कर सकते हैं | None | Any | ||
WAIT जारी कर सकता है | No | Yes, using "WAIT" (SVC 1) | ||
पोस्ट जारी कर सकता है | Yes, but must use "Post" disabled branch entry | Yes, using "POST" (SVC 2) | ||
सिंक्रोनस एग्जिट शेड्यूल कर सकते हैं | Yes, but must use "Exit Effector" disabled branch entry | Yes, using "SYNCH" (SVC 12) | ||
असामान्य समाप्ति निर्धारित कर सकते हैं | Yes, using "Abterm" disabled branch entry[3] | Yes, using "ABEND" (SVC 13) |
प्रकार 3 और 4 एसवीसी रूटीन पर आकार प्रतिबंध आवश्यक हैं क्योंकि जब वे लागू होते हैं तो उन्हें नामित क्षणिक क्षेत्रों (एमवीटी के बाद पीएलपीए) में लोड किया जाता है।
- टाइप 1 का एक उदाहरण एसवीसी 10 है, जिसका उपयोग गेटमेन और फ्रीमेन दोनों के लिए किया जाता है, जो किसी कार्य के लिए मुख्य भंडारण का एक क्षेत्र आवंटित करता है और बाद में इसे क्रमशः जारी करता है। एसवीसी (SVC) 10 को अनौपचारिक रूप से रेगमेन (REGMAIN) के रूप में जाना जाता है क्योंकि यह केवल सामान्य प्रयोजन रजिस्टरों के माध्यम से मापदंडों का आदान-प्रदान करता है, और दोनों प्राप्त और मुफ़्त भंडारण कर सकता है। एसवीसी 4 और एसवीसी 5 क्रमशः समान जीईटी और मुफ़्त कार्य कर सकते हैं, लेकिन इन-स्टोरेज पैरामीटर सूचियों के माध्यम से एक्सचेंज पैरामीटर।
- टाइप 2 का एक उदाहरण एसवीसी 42, जोड़ा गया, जो एक नया फंक्शन बनाता है।
- टाइप 3 का एक उदाहरण एसवीसी 33, आईओहाल्ट (IOHALT) है, जो गैर-डीएएसडी युक्ति पर I/O संचालन को समाप्त करता है। इस एसवीसी को ओएस/वीएस में टाइप 2 में बदल दिया गया था क्योंकि आईओहाल्ट (IOHALT) का उपयोग कई टेलीप्रोसेसिंग-आधारित प्रणालियों में किया जाता है।
- टाइप 4 का एक उदाहरण एसवीसी 19, ओपेन है, जिसका उपयोग उपयोगकर्ता प्रोग्राम द्वारा उपयोग के लिए डेटासेट उपलब्ध कराने के लिए किया जाता है, जिसमें सभी एक्सेस विधियों के लिए सामान्य मॉड्यूल सम्मलित होते हैं और प्रत्येक एक्सेस विधि के लिए विशिष्ट अतिरिक्त मॉड्यूल कॉल करते हैं। ओपन उन डेटासेट्स का भी समर्थन करता है, जिन्हें आपकी अपनी एक्सेस विधि द्वारा संचालित किया जाना है, जैसे कि वे जो चैनल प्रोग्राम निष्पादित करें का उपयोग करके एक्सेस किए जाते हैं।
- टाइप 6 का एक उदाहरण एसवीसी (SVC) 107, मोडसेट (MODESET) है, जो कोई लॉक प्राप्त नहीं करता है, लेकिन पास किए गए मापदंडों के अनुसार सिस्टम मोड और सिस्टम कुंजी को बदलने में सक्षम है।
सुरक्षा
OS/360, सामान्य तौर पर, SVC के उपयोग को प्रतिबंधित करने का कोई विधि नहीं रखता था। नतीजतन, काफी संख्या में गैर-इरादतन प्रणाली- और डेटा-अखंडता जोखिम थे जो एसवीसी और अन्य निर्देशों के कुछ अनुक्रमों को नियोजित करके संभव थे। जिज्ञासु उपयोगकर्ताओं के लिए इन जोखिमों को खोजने का प्रयास करना साधारण बात हो गई, लेकिन कुछ सिस्टम प्रोग्रामरों ने अपने स्वयं के उपयोगकर्ता के लिए लिखित SVC विकसित करने के अतिरिक्त इन जोखिमों का उपयोग किया।
MVS/370 के साथ शुरुआत करते हुए, IBM ने इसे एक उत्पाद दोष माना, यदि सिस्टम डिज़ाइन त्रुटि किसी एप्लिकेशन प्रोग्राम को प्राधिकरण के बिना पर्यवेक्षक स्थिति में प्रवेश करने की अनुमति देती है। उन्होंने अनिवार्य किया कि सभी आईबीएम एसवीसी को सभी सिस्टम- और डेटा-अखंडता जोखिमों को बंद करने के लिए संरक्षित किया जाए। उन्होंने इस तरह के एक्सपोजर को बंद करने की गारंटी दी क्योंकि ये खोजे गए थे। 1977 में MVS/370 के रिलीज 3.7 द्वारा लगभग 100,000 प्राधिकृत कार्यक्रम विश्लेषण रिपोर्ट (APARs) और संबंधित IBM प्रोग्राम अस्थायी सुधार (PTFs) की कीमत पर ऐसे लगभग हर जोखिम की वास्तव में पहचान की गई और उसे बंद कर दिया गया। यह एक उल्लेखनीय उपलब्धि थी, क्योंकि इसके बाद सिस्टम अप टाइम को दिनों या घंटों के अतिरिक्त वर्षों में मापा गया।
टिप्पणियाँ
- ↑ I.e, all of the storage in address spacess accessible by the current dispatching unit.
- ↑ Initially this meant that the jobstep program was linked with AC(1) and came from an authorized concatenation of libraries. TSO/E later added a facility for authorized TSO commands.
- ↑ several system libraries were always implicitly part of the concatenation
- ↑ 4.0 4.1 4.2 That is, an address that is subject to prefixing but not to Dynamic Address Translation. IBM only uses the term absolute address for an address that is not subject to either DAT or prefixing.
- ↑ 5.0 5.1 Resident SVC routines in OS/360, OS/VS1 and SVS need not be refreshable
SVC routines in FLPA need not be refreshable. - ↑ In MVS a Type 1 SVC holds the Local lock and may take interrupts.
- ↑
SVC register usage in OS/360 and MVS is
- R3 CVT address
- R4 TCB address
- R5 RB address
- R6 entry point address (MVS only)
- R7 ASCB address (MVS only)
- R14 return address CVTEXIR or SVC SLIH
संदर्भ
- ↑ Assembler Instructions V1.3 User Guide, Fujitsu Solutions GmBH, https://bs2manuals.ts.fujitsu.com/download/manual/959.1 (PDF) June 2010, Page 167 (Retrieved November 9, 2020)
- ↑ IBM Corporation. आईबीएम सिस्टम/360 संचालन के सिद्धांत (PDF). p. 72.
- ↑ ABEND may be employed, but this is not considered best practice.
- ↑ से संघनित टेबल //www.bitsavers.org/pdf/ibm/360/os/R01-08/C28-6550-2_OSsysPrmg_Mar67.pdf}}
अग्रिम पठन
- Cragon, Harvey G. (August 23, 2000). Computer Architecture and Implementation. Cambridge University Press. ISBN 9780521651684 – via Google Books.
- Harris, J. Archer (December 21, 2001). Schaum's Outline of Operating Systems. McGraw Hill Professional. ISBN 9780071394482 – via Google Books.