it-swarm.asia

ما هو / ديف / ميم؟

يفترض انها مرتبطة بطريقة أو بأخرى بالذاكرة؟ ماذا سوف

Sudo cat /dev/urandom > /dev/mem

فعل؟ القمامة جميع ذاكرة الوصول العشوائي؟ جميع الذاكرة الافتراضية غير النواة؟ لا شيء مما بالأعلى؟

38
Paul

يوفر الوصول إلى الذاكرة الفعلية للنظام.

تشرح الصفحة mem(4) man المزيد حول ماهية /dev/mem.

نعم - يمكن أن يسبب كل أنواع المشاكل. يجب أن تؤدي عملية إعادة التشغيل إلى إصلاحك ، ولكن يمكن أن تحدث أشياء سيئة بسهولة بالغة. كن حذرا! :-)

31
Andrew Flanagan

يوفر/dev/mem الوصول إلى الفعليةالذاكرة ، وليس الذاكرة الظاهرية. يمكن الوصول إلى مساحة العنوان الافتراضية لـ kernels باستخدام/dev/kmem.

يستخدم بشكل أساسي للوصول إلى IO عناوين الذاكرة المتعلقة بالأجهزة الطرفية ، مثل محولات الفيديو.

17
rags

Sudo cat /dev/urandom > /dev/mem لن تفعل أي شيء ، لأن Sudo سيرفع امتياز cat ولكن ليس لإعادة التوجيه. يمكنك إما القيام بـ Sudo su ثم العمل في جذر Shell أو استخدامه
Sudo dd if=/dev/urandom of=/dev/mem

يوفر /dev/mem الوصول إلى الذاكرة الفعلية ، أي كل RAM في النظام ، ولكن هذا لا يعني أنه يتيح لك الوصول الكامل للقراءة/الكتابة إلى RAM (انظر CONFIG_STRICT_DEVMEM في هذا المستند ). لاحظ أيضًا أن بعض مناطق الذاكرة الفعلية سيكون بها أجهزة أخرى مثل ذاكرة بطاقة الفيديو ، وما إلى ذلك.

الكتابة العمياء إلى /dev/mem ستؤدي إلى سلوك غير مؤكد ، هنا هو مقطع فيديو يوتيوب يفعل الشيء نفسه.

8
Sahil Singh

/ dev/mem يوفر تقليديا الوصول إلى كامل مساحة العنوان الفعلي. يتضمن ذاكرة الوصول العشوائي ولكنه يتضمن أيضًا أي ذاكرة تم تعيينها IO أجهزة.

سيتم تكوين العديد من النواة الحديثة باستخدام "CONFIG_STRICT_DEVMEM" الذي يقيد/dev/mem إلى الذاكرة المعينة IO الأجهزة فقط.

الكتابة العشوائية لها هي فكرة سيئة ، لكن ما سيحدث بالضبط هو أمر سيء يصعب التنبؤ به. قد تستجيب الأجهزة بطرق غير متوقعة للقمامة العشوائية ، فقد تتسبب بنيات ذاكرة kernel التالفة في سلوك kernel غير المتوقع. في أحسن الأحوال أتوقع حدوث عطل في النظام أو في أسوأ حالات تلف البيانات أو حتى تخريب الأجهزة.

ملاحظة لاحظ أن الأمر الخاص بك عند تشغيله كمستخدم عادي لا ينبغي أن يفعل أي شيء ، لأن Sudo يستبعد فقط أمر cat ، وليس إعادة التوجيه.

5
plugwash