डेटा डिस्क्रिप्टर: Difference between revisions

From Vigyanwiki
(Created page with "कम्प्यूटिंग में, डेटा डिस्क्रिप्टर एक संरचना है जिसमें जानकारी...")
 
No edit summary
Line 1: Line 1:
[[ कम्प्यूटिंग ]] में, डेटा डिस्क्रिप्टर एक संरचना है जिसमें जानकारी होती है जो डेटा का वर्णन करती है।
[[ कम्प्यूटिंग ]] में, डेटा डिस्क्रिप्टर एक संरचना होती है जो डेटा को वर्णित करने वाली जानकारी सम्मलित करती है।


डेटा डिस्क्रिप्टर का उपयोग [[ संकलक ]]्स में किया जा सकता है,<ref>{{cite journal |last=Holt |first=Richard C. |date=July 1987 |title=Data descriptors: a compile-time model of data and addressing |journal=ACM Transactions on Programming Languages and Systems |doi=10.1145/24039.24051 |volume=9 |issue=3 |pages=367–389}}</ref> Ada (प्रोग्रामिंग भाषा) जैसी भाषाओं में रन टाइम पर एक सॉफ्टवेयर संरचना के रूप में<ref>{{cite web |last=Schonberg |first=Ed |title=Ada की तुलना C++ से की गई है|work=The Advantages of Ada 95 |url=http://archive.adaic.com/intro/ada-vs-c/ada-vs-c.html |accessdate=January 15, 2013}}</ref> या PL/I, या कुछ कंप्यूटरों में एक हार्डवेयर संरचना के रूप में जैसे [[बरोज़ लार्ज सिस्टम्स]]
डेटा डिस्क्रिप्टर का उपयोग [[ संकलक ]] में किया जा सकता है,<ref>{{cite journal |last=Holt |first=Richard C. |date=July 1987 |title=Data descriptors: a compile-time model of data and addressing |journal=ACM Transactions on Programming Languages and Systems |doi=10.1145/24039.24051 |volume=9 |issue=3 |pages=367–389}}</ref> Ada (प्रोग्रामिंग भाषा) जैसी भाषाओं में रन टाइम पर एक सॉफ्टवेयर संरचना के रूप में<ref>{{cite web |last=Schonberg |first=Ed |title=Ada की तुलना C++ से की गई है|work=The Advantages of Ada 95 |url=http://archive.adaic.com/intro/ada-vs-c/ada-vs-c.html |accessdate=January 15, 2013}}</ref> या PL/I, या कुछ कंप्यूटरों में हार्डवेयर संरचना के रूप में भी उपयोग किया जा सकता है जैसे [[बरोज़ लार्ज सिस्टम्स]]


डेटा डिस्क्रिप्टर का उपयोग आमतौर पर रन-टाइम पर किया जाता है, जिसे [[सबरूटीन्स]] कहा जाता है। एचपी [[ ओपन VMS ]]<ref>{{cite web |author=Hewlett-Packard |title=Chapter 7 OpenVMS Argument Descriptors |work=HP OpenVMS Systems Documentation |url=http://h30266.www3.hpe.com/odl/axpos/opsys/vmsos84/5973/5973pro_011.html#arg_desc_formats_chap |accessdate=July 11, 2020}}</ref> और [[ मॉलटिक्स ]]<ref>{{cite book |author=Honeywell, Inc. |date=1979 |title=Multics Programmers' Manual – Subsystem Writers' Guide |pages=2&ndash;13-2&ndash;18 |url=http://bitsavers.informatik.uni-stuttgart.de/pdf/honeywell/multics/AK92-2_MPM_SubsysWrtGud_Mar79.pdf |format=PDF}}</ref> तर्क वर्णनकर्ताओं के लिए प्रणाली-व्यापी भाषा-स्वतंत्र मानक हैं। डिस्क्रिप्टर का उपयोग डेटा के बारे में जानकारी रखने के लिए भी किया जाता है जो केवल रन-टाइम पर पूरी तरह से जाना जाता है, जैसे गतिशील मेमोरी आवंटन।
डेटा डिस्क्रिप्टर सामान्यतः रनटाइम पर उपयोग किए जाते हैं, जिसे [[सबरूटीन्स]] को आर्गुमेंट जानकारी पास करनी होती  है। HP[[ ओपन VMS ]]<ref>{{cite web |author=Hewlett-Packard |title=Chapter 7 OpenVMS Argument Descriptors |work=HP OpenVMS Systems Documentation |url=http://h30266.www3.hpe.com/odl/axpos/opsys/vmsos84/5973/5973pro_011.html#arg_desc_formats_chap |accessdate=July 11, 2020}}</ref> और [[ मॉलटिक्स ]]<ref>{{cite book |author=Honeywell, Inc. |date=1979 |title=Multics Programmers' Manual – Subsystem Writers' Guide |pages=2&ndash;13-2&ndash;18 |url=http://bitsavers.informatik.uni-stuttgart.de/pdf/honeywell/multics/AK92-2_MPM_SubsysWrtGud_Mar79.pdf |format=PDF}}</ref> तर्क वर्णनकर्ताओं के लिए प्रणाली-व्यापी भाषा-स्वतंत्र मानक होते हैं। डिस्क्रिप्टर उस डेटा के बारे में जानकारी को रखने के लिए भी उपयोग किए जाते हैं, जो कि रनटाइम पर पूर्ण प्रकार से जाना जाता है, जैसे डाइनामिक रूप से आवंटित एक ऐरे है।


== उदाहरण ==
== उदाहरण ==
[[स्ट्रिंग (कंप्यूटर विज्ञान)]] का वर्णन करने के लिए IBM Enterprise PL/I द्वारा निम्नलिखित डिस्क्रिप्टर का उपयोग किया जाता है:<ref>{{cite book |author=IBM Corporation |date=2006|title=Enterprise PL/I for z/OSProgramming Guide |pages=385 |url=http://pic.dhe.ibm.com/infocenter/pdthelp/v1r1/topic/com.ibm.entpli.doc_3.6/ibm3pg50.pdf |format=PDF}}</ref>
IBM एंटरप्राइज PL/I द्वारा एक चारित्र [[स्ट्रिंग (कंप्यूटर विज्ञान)]] को वर्णित करने के लिए निम्नलिखित डिस्क्रिप्टर का उपयोग किया जाता है:<ref>{{cite book |author=IBM Corporation |date=2006|title=Enterprise PL/I for z/OSProgramming Guide |pages=385 |url=http://pic.dhe.ibm.com/infocenter/pdthelp/v1r1/topic/com.ibm.entpli.doc_3.6/ibm3pg50.pdf |format=PDF}}</ref>
{| class=wikitable style="text-align:center;"
{| class=wikitable style="text-align:center;"
! byte offset !! +0 !! +1 !! +2 !! +3
! बाइट ऑफसेट !! +0 !! +1 !! +2 !! +3
|-
|-
! 0
! 0
| descriptor type || string type || (res) || flags
| वर्णनकर्ता प्रकार || स्ट्रिंग प्रकार || (रिज़र्व्ड) || झंडे
|-
|-
! 4
! 4
| colspan=4 | maximum string length
| colspan=4 | अधिकतम स्ट्रिंग लंबाई
|}
|}
* 'desc प्रकार' 2 है यह इंगित करने के लिए कि यह एक सरणी या संरचना वर्णनकर्ता के बजाय एक तत्व वर्णनकर्ता है।
* 'यह एक एलिमेंट डिस्क्रिप्टर है कि एक ऐरे या स्ट्रक्चर डिस्क्रिप्टर होने के लिए 'डेस्क टाइप' 2 बताता है।
* 'स्ट्रिंग प्रकार' इंगित करता है कि यह एक वर्ण या बिट स्ट्रिंग है, अलग-अलग या गैर-भिन्न लंबाई के साथ। 2 एक गैर भिन्न (निश्चित-लंबाई) वर्ण स्ट्रिंग को इंगित करता है।
* 'स्ट्रिंग टाइप' इसे एक चारित्र या बिट स्ट्रिंग को वर्णित करता है, जो वेयरिंग या नॉन वेयरिंग लंबाई के साथ हो सकता है। 2 एक नॉन वेयरिंग (फिक्स्ड-लेंथ) चारित्र स्ट्रिंग को दर्शाता है।
* '(res)' एक आरक्षित बाइट है जिसका उपयोग कैरेक्टर स्ट्रिंग्स के लिए नहीं किया जाता है।
* '(रिज़र्व्ड)' एक बाइट होता है जो चारित्र स्ट्रिंग्स के लिए उपयोग नहीं किया जाता है।
* 'झंडे' स्ट्रिंग, [[ EBCDIC ]] या [[एएससीआईआई]], और अलग-अलग तारों की लंबाई के एन्कोडिंग को इंगित करते हैं।
* 'फ्लैग' स्ट्रिंग को, [[ EBCDIC ]] या [[एएससीआईआई]], और अलग-अलग तारों की लंबाई के इंकोडिंग को दर्शाते हैं।
* 'अधिकतम स्ट्रिंग लंबाई' अलग-अलग स्ट्रिंग्स के लिए स्ट्रिंग की वास्तविक लंबाई है, या अलग-अलग स्ट्रिंग्स के लिए अधिकतम लंबाई है।
* 'अधिकतम स्ट्रिंग लंबाई' अलग-अलग स्ट्रिंग्स के लिए स्ट्रिंग की वास्तविक लंबाई है, या अलग-अलग स्ट्रिंग्स के लिए अधिकतम लंबाई है।


यहाँ मल्टिक्स से एक ऐरे डेटा स्ट्रक्चर डिस्क्रिप्टर का स्रोत है।<ref>{{cite web |author=MIT/Honeywell |title=array.incl.pl1|work=Multics/ldd/include |url=http://web.mit.edu/multics-history/source/Multics/ldd/include/array.incl.pl1|accessdate=January 20, 2012}}</ref> परिभाषाओं में आधार सरणी जानकारी के लिए संरचना और प्रत्येक आयाम के लिए संरचना शामिल है। (मल्टिक्स 36-बिट शब्दों के साथ सिस्टम पर चला)।
यहाँ मल्टिक्स से एक ऐरे डेटा स्ट्रक्चर डिस्क्रिप्टर का स्रोत है।<ref>{{cite web |author=MIT/Honeywell |title=array.incl.pl1|work=Multics/ldd/include |url=http://web.mit.edu/multics-history/source/Multics/ldd/include/array.incl.pl1|accessdate=January 20, 2012}}</ref> रिभाषाएं आधार एरे जानकारी के लिए एक संरचना और प्रत्येक आयाम के लिए एक संरचना सम्मलित करती हैं। (मल्टिक्स 36-बिट वर्ड वाले सिस्टम पर चलता था)।


<पूर्व>
<पूर्व>

Revision as of 20:18, 28 April 2023

कम्प्यूटिंग में, डेटा डिस्क्रिप्टर एक संरचना होती है जो डेटा को वर्णित करने वाली जानकारी सम्मलित करती है।

डेटा डिस्क्रिप्टर का उपयोग संकलक में किया जा सकता है,[1] Ada (प्रोग्रामिंग भाषा) जैसी भाषाओं में रन टाइम पर एक सॉफ्टवेयर संरचना के रूप में[2] या PL/I, या कुछ कंप्यूटरों में हार्डवेयर संरचना के रूप में भी उपयोग किया जा सकता है जैसे बरोज़ लार्ज सिस्टम्स

डेटा डिस्क्रिप्टर सामान्यतः रनटाइम पर उपयोग किए जाते हैं, जिसे सबरूटीन्स को आर्गुमेंट जानकारी पास करनी होती है। HPओपन VMS [3] और मॉलटिक्स [4] तर्क वर्णनकर्ताओं के लिए प्रणाली-व्यापी भाषा-स्वतंत्र मानक होते हैं। डिस्क्रिप्टर उस डेटा के बारे में जानकारी को रखने के लिए भी उपयोग किए जाते हैं, जो कि रनटाइम पर पूर्ण प्रकार से जाना जाता है, जैसे डाइनामिक रूप से आवंटित एक ऐरे है।

उदाहरण

IBM एंटरप्राइज PL/I द्वारा एक चारित्र स्ट्रिंग (कंप्यूटर विज्ञान) को वर्णित करने के लिए निम्नलिखित डिस्क्रिप्टर का उपयोग किया जाता है:[5]

बाइट ऑफसेट +0 +1 +2 +3
0 वर्णनकर्ता प्रकार स्ट्रिंग प्रकार (रिज़र्व्ड) झंडे
4 अधिकतम स्ट्रिंग लंबाई
  • 'यह एक एलिमेंट डिस्क्रिप्टर है न कि एक ऐरे या स्ट्रक्चर डिस्क्रिप्टर होने के लिए 'डेस्क टाइप' 2 बताता है।
  • 'स्ट्रिंग टाइप' इसे एक चारित्र या बिट स्ट्रिंग को वर्णित करता है, जो वेयरिंग या नॉन वेयरिंग लंबाई के साथ हो सकता है। 2 एक नॉन वेयरिंग (फिक्स्ड-लेंथ) चारित्र स्ट्रिंग को दर्शाता है।
  • '(रिज़र्व्ड)' एक बाइट होता है जो चारित्र स्ट्रिंग्स के लिए उपयोग नहीं किया जाता है।
  • 'फ्लैग' स्ट्रिंग को, EBCDIC या एएससीआईआई, और अलग-अलग तारों की लंबाई के इंकोडिंग को दर्शाते हैं।
  • 'अधिकतम स्ट्रिंग लंबाई' अलग-अलग स्ट्रिंग्स के लिए स्ट्रिंग की वास्तविक लंबाई है, या अलग-अलग स्ट्रिंग्स के लिए अधिकतम लंबाई है।

यहाँ मल्टिक्स से एक ऐरे डेटा स्ट्रक्चर डिस्क्रिप्टर का स्रोत है।[6] रिभाषाएं आधार एरे जानकारी के लिए एक संरचना और प्रत्येक आयाम के लिए एक संरचना सम्मलित करती हैं। (मल्टिक्स 36-बिट वर्ड वाले सिस्टम पर चलता था)।

<पूर्व> dcl 1 सरणी आधारित संरेखित, 2 नोड_टाइप बिट (9) असंरेखित, 2 आरक्षित बिट(34) असंरेखित, 2 number_of_dimensions फिक्स्ड(7) असंरेखित, 2 अपने_संख्या_के_आयाम तय (7) असंरेखित, 2 तत्व_सीमा निश्चित (3) असंरेखित, 2 size_units फिक्स्ड(3) असंरेखित, 2 ऑफसेट_यूनिट तय (3) असंरेखित, 2 इंटरलीव्ड बिट (1) असंरेखित, 2 c_element_size फिक्स्ड (24), 2 c_element_size_bits निश्चित (24), 2 c_virtual_origin निश्चित (24), 2 एलिमेंट_साइज़ पीटीआर असंरेखित, 2 element_size_bits ptr असंरेखित, 2 virtual_origin ptr असंरेखित, 2 symtab_virtual_origin ptr असंरेखित, 2 symtab_element_size ptr असंरेखित, 2 सीमाएँ ptr असंरेखित, 2 एलिमेंट_डिस्क्रिप्टर पीटीआर असंरेखित;

dcl 1 बाउंड आधारित संरेखित, 2 नोड_टाइप बिट (9), 2 c_lower फिक्स्ड (24), 2 सी_अपर फिक्स्ड (24), 2 c_multiplier निश्चित (24), 2 c_desc_multiplier निश्चित (24), 2 निचला ptr असंरेखित, 2 ऊपरी ptr असंरेखित, 2 गुणक ptr असंरेखित, 2 desc_multiplier ptr असंरेखित, 2 symtab_lower ptr असंरेखित, 2 symtab_upper ptr असंरेखित, 2 symtab_multiplier ptr असंरेखित, 2 अगला ptr असंरेखित; </पूर्व>

यह भी देखें

संदर्भ

  1. Holt, Richard C. (July 1987). "Data descriptors: a compile-time model of data and addressing". ACM Transactions on Programming Languages and Systems. 9 (3): 367–389. doi:10.1145/24039.24051.
  2. Schonberg, Ed. "Ada की तुलना C++ से की गई है". The Advantages of Ada 95. Retrieved January 15, 2013.
  3. Hewlett-Packard. "Chapter 7 OpenVMS Argument Descriptors". HP OpenVMS Systems Documentation. Retrieved July 11, 2020.
  4. Honeywell, Inc. (1979). Multics Programmers' Manual – Subsystem Writers' Guide (PDF). pp. 2–13-2–18.
  5. IBM Corporation (2006). Enterprise PL/I for z/OSProgramming Guide (PDF). p. 385.
  6. MIT/Honeywell. "array.incl.pl1". Multics/ldd/include. Retrieved January 20, 2012.