डेटा डिस्क्रिप्टर
कम्प्यूटिंग में, डेटा डिस्क्रिप्टर एक संरचना है जिसमें जानकारी होती है जो डेटा का वर्णन करती है।
डेटा डिस्क्रिप्टर का उपयोग संकलक ्स में किया जा सकता है,[1] Ada (प्रोग्रामिंग भाषा) जैसी भाषाओं में रन टाइम पर एक सॉफ्टवेयर संरचना के रूप में[2] या PL/I, या कुछ कंप्यूटरों में एक हार्डवेयर संरचना के रूप में जैसे बरोज़ लार्ज सिस्टम्स
डेटा डिस्क्रिप्टर का उपयोग आमतौर पर रन-टाइम पर किया जाता है, जिसे सबरूटीन्स कहा जाता है। एचपी ओपन VMS [3] और मॉलटिक्स [4] तर्क वर्णनकर्ताओं के लिए प्रणाली-व्यापी भाषा-स्वतंत्र मानक हैं। डिस्क्रिप्टर का उपयोग डेटा के बारे में जानकारी रखने के लिए भी किया जाता है जो केवल रन-टाइम पर पूरी तरह से जाना जाता है, जैसे गतिशील मेमोरी आवंटन।
उदाहरण
स्ट्रिंग (कंप्यूटर विज्ञान) का वर्णन करने के लिए IBM Enterprise PL/I द्वारा निम्नलिखित डिस्क्रिप्टर का उपयोग किया जाता है:[5]
byte offset | +0 | +1 | +2 | +3 |
---|---|---|---|---|
0 | descriptor type | string type | (res) | flags |
4 | maximum string length |
- 'desc प्रकार' 2 है यह इंगित करने के लिए कि यह एक सरणी या संरचना वर्णनकर्ता के बजाय एक तत्व वर्णनकर्ता है।
- 'स्ट्रिंग प्रकार' इंगित करता है कि यह एक वर्ण या बिट स्ट्रिंग है, अलग-अलग या गैर-भिन्न लंबाई के साथ। 2 एक गैर भिन्न (निश्चित-लंबाई) वर्ण स्ट्रिंग को इंगित करता है।
- '(res)' एक आरक्षित बाइट है जिसका उपयोग कैरेक्टर स्ट्रिंग्स के लिए नहीं किया जाता है।
- 'झंडे' स्ट्रिंग, 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 असंरेखित; </पूर्व>
यह भी देखें
संदर्भ
- ↑ 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.
- ↑ Schonberg, Ed. "Ada की तुलना C++ से की गई है". The Advantages of Ada 95. Retrieved January 15, 2013.
- ↑ Hewlett-Packard. "Chapter 7 OpenVMS Argument Descriptors". HP OpenVMS Systems Documentation. Retrieved July 11, 2020.
- ↑ Honeywell, Inc. (1979). Multics Programmers' Manual – Subsystem Writers' Guide (PDF). pp. 2–13-2–18.
- ↑ IBM Corporation (2006). Enterprise PL/I for z/OSProgramming Guide (PDF). p. 385.
- ↑ MIT/Honeywell. "array.incl.pl1". Multics/ldd/include. Retrieved January 20, 2012.