'U' अक्षर का क्या अर्थ है


87

मैं समझता हूं कि पढ़ने से /dev/randomब्लॉक हो सकता है, जबकि पढ़ना /dev/urandomगारंटी है कि ब्लॉक नहीं करना चाहिए।

इसमें अक्षर कहाँ से आता है u? यह क्या दर्शाता है?

उपयोक्ता स्थान? अनब्लॉक? माइक्रो?

अपडेट करें:

प्रश्न के शुरुआती शब्दों के आधार पर, /dev/randomबनाम की उपयोगिता पर कुछ बहस हुई है /dev/urandom। लिंक मिथकों के बारे में / dev / urandom नीचे तीन बार पोस्ट किया गया है, और इस प्रश्न के उत्तर में संक्षेप में प्रस्तुत किया गया है कि कब / dev / random बनाम / dev / urandom का उपयोग करना है


13
विरोध कर रहा है, /dev/randomजो अवरुद्ध है।
सातु कटुरा

3
अध्याय और छंद?
टॉम हेल 5

11
यह विचार कि /dev/randomकिसी तरह से बेहतर था /dev/urandomअब लंबे समय तक अप्रचलित है और उपयोग के अधिकांश मामलों के लिए, /dev/urandom अब पसंद किया जाता है
डेविड श्वार्ट्ज

@SatoKatsura स्रोत? टॉम का जवाब आपके जवाब का खंडन करता है।
no --z।

यहाँ विवरण के साथ साइट के लिए एक लिंक है बैकअप @DavidSchwartz की टिप्पणी। 2uo.de/myths-about-urandom
वाल्टर

जवाबों:


86

असीमित।

लिनक्स में, कर्नेल कार्यों नामित की तुलना random_readऔर random_read_unlimited इंगित करता है कि पत्र की व्युत्पत्ति uमें urandomहै unlimited

यह रेखा 114 द्वारा पुष्टि की गई है :

/ Dev / urandom डिवाइस में यह सीमा नहीं है [...]

अपडेट करें:

जो लिनक्स के लिए पहली बार आया था, /dev/randomया /dev/urandom, @ स्टीफन चेज़लस ने मूल पैच के साथ पोस्ट दिया और @ स्टेफेनकिट ने दिखाया कि वे दोनों एक साथ पेश किए गए थे


7
फिर /dev/randomनाम क्यों नहीं रखा गया /dev/lrandom? :)
शनि कत्सुरा

13
ऐतिहासिक। पहले केवल सीमित / अवरुद्ध संस्करण मौजूद था। और अनुरूप "गैर-अन-सीमित" फ़ंक्शन को कहा जाता है random_read:)
टॉम हेल

10
मुझे विकिपीडिया के माध्यम से एक लिंक मिला, लेकिन मैं विकिपीडिया को उद्धृत करने के बजाय सीधे स्रोत को उद्धृत कर रहा हूं। मैं इसे Google के माध्यम से कुछ खोजने के लिए, और Google को उद्धृत न करने के अनुरूप समझ सकता हूं ... जब तक कि मुझे StackExchange पर उद्धृत करने के बारे में कुछ नहीं सीखना है?
टॉम हेल

5
@TomHale randomv के लिए ऐतिहासिक तर्क lrandomदोनों के बाद से सभी को अच्छी तरह से पकड़ नहीं रहा है randomऔर लिनक्स कर्नेल में एक साथurandom पेश किया गया था।
स्टीफन किट

7
1995 में वापस मूल कार्यान्वयन के लेखक द्वारा भेजे गए
यूनेट

18

यह निर्भर करता है कि आप किस "यूनिक्स" प्रणाली के बारे में बात कर रहे हैं।

FreeBSD पर, / dev / urandom और / dev / random एक ही उपकरण हैं। पत्र यू अब एक ऐतिहासिक विरासत है जो पिछड़े संगतता के लिए मौजूद है। स्टार्टअप में, वे तब तक ब्लॉक करते हैं जब तक कि पर्याप्त एन्ट्रॉपी इकट्ठा न हो जाए और फिर कभी ब्लॉक न हो। देखें urandom के बारे में मिथक जानकारी के लिए।

आधुनिक लिनक्स दुनिया में (कर्नेल 4.8 के साथ शुरू), दोनों डिवाइस एक ही CSPRNG से खींचते हैं, इसलिए एकमात्र अंतर यह है कि कुछ लोग हमले के अस्तित्व पर अटकलें लगाते हैं। यह हमला FTL [लाइट की तुलना में तेज़] यात्रा की तरह है। वास्तव में डिजाइन करना कठिन है, बल्कि अटकलें लगाना आसान है।

TLDR सिर्फ उपयोग / देव / urandom है।


2
आपके लिंक से, यह ध्यान रखना दिलचस्प है किFreeBSD does the right thing: they don't have the distinction between /dev/random and /dev/urandom, both are the same device. At startup /dev/random blocks once until enough starting entropy has been gathered. Then it won't block ever again.
टॉम हेल

-5

वर्दी। यादृच्छिक संख्या 0 और 1. के बीच समान रूप से वितरित की जाती है। एक फ्लैट वितरण ... जैसा कि पॉइसन, या सामान्य / गाऊसी जैसे चोटी के वितरण के विपरीत है।


3
उस एक के लिए कोई स्रोत है?
GnP

7
यह निश्चित रूप से सही नहीं है- /dev/randomऔर /dev/urandomदोनों समान वितरण देते हैं, और किसी भी वास्तविक अर्थ में यह 0 और 1. के बीच समान रूप से वितरित नहीं किया जाता है
क्रिस

क्षमा करें ... शायद इस बात पर आधारित है कि किसी अन्य भाषा पर मैंने (R या कुछ) का उपयोग किया है
bbneo
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.