سؤال هل يحتاج كل نظام تشغيل إلى ذاكرة الوصول العشوائي؟


هل هناك نظام تشغيل يمكن استخدامه بدون ذاكرة الوصول العشوائي ، وعلى وجه التحديد النوع الذي يمكنني إنشاء بندريف قابل للتمهيد منه واستخدامه في الكمبيوتر؟ هذا يصبح مربكًا ، نظرًا لأن عملية التمهيد تعمل أساسًا على تحميل نظام التشغيل في ذاكرة الوصول العشوائي.

ملحوظة: أردت في الأصل أن أعرف نظام التشغيل RAM-less للتحقق مما إذا كان جهاز الكمبيوتر المحمول الخاص بي (الذي لا يعمل بنظام التمهيد ولكنه يعرض شاشة فارغة) لقد كانت ذاكرة الوصول العشوائي سيئة ، ولكني أحب الطريقة التي يتفاعل بها هذا السؤال.


77
2017-08-31 08:12


الأصل


لست متأكدا مما إذا كانت وحدة المعالجة المركزية يمكن أن تعمل على الإطلاق بدون ذاكرة الوصول العشوائي ، والتي قد تكون سؤالًا جيدًا علوم الكمبيوتر. ما أعلمه بالتأكيد هو أنك لن تحصل في أي مكان إذا لم تتمكن حتى من تجاوز BIOS.
@ AndréDaniel وحدة المعالجة المركزية لديها ذاكرة التخزين المؤقت التي ، من منظور CS ، هي أيضا ذاكرة الوصول العشوائي. وبالتالي نظريالا تحتاج إلى وحدات ذاكرة وصول عشوائي إضافية. لكن في التمرين أشك في أن هندسة x86 تسمح بذلك. - Philipp
كل هذه الحجج حول استخدام ذاكرة التخزين المؤقت للمعالج ذات صلاحية مشكوك فيها ، حيث أن ذاكرة التخزين المؤقت على الأقل على x86 ، ليست ذاكرة يمكنك الوصول إليها مباشرة. تشير شفرتك دومًا إلى ذاكرة الوصول العشوائي (RAM) ، ولكن المعالج يدير تلقائيًا ذاكرات التخزين المؤقت بحيث لا يضطر بالفعل إلى جلب البيانات في ذاكرة الوصول العشوائي (RAM) لمعظم البيانات التي يتم الوصول إليها بشكل متكرر. ولكن مرة أخرى ، ليس هناك تعليمات التجميع ليقول "تخزين هذا في ذاكرة التخزين المؤقت" "كتابة هذا في ذاكرة التخزين المؤقت" ، هناك سجلات وهناك الذاكرة الرئيسية (مع جميع وسائط الوصول إلى غريب) ، الفترة. - Matteo Italia
(OTOH ، من الناحية النظرية لك استطاع استغلال ذاكرة الوصول العشوائي الأخرى (مثل ذاكرة الوصول العشوائي للفيديو) أو الأجهزة الطرفية التي تم تعيينها في مساحة العنوان الفعلية) - Matteo Italia
تتيح لك وحدات المعالجة المركزية (CPU) الحديثة x86 وضع ذاكرة التخزين المؤقت على الوضع "Cache as RAM" - أعتقد أن بعض MSR بحاجة إلى القيام بذلك. قد ينطبق هذا على بعض وحدات المعالجة المركزية ARM أيضًا. ذاكرة التخزين المؤقت على وحدات المعالجة المركزية الحديثة في كمية أكبر من ما يمكن أن يكون لديك أجهزة الكمبيوتر الشخصية الأولى كحد أقصى الذاكرة. على جهاز الكمبيوتر ، الثابتة لا يزال لا التمهيد من دون ذاكرة الوصول العشوائي الحالية ، على الرغم من. ستحتاج إلى برنامج ثابت مخصص أو شيء لا يمثل نظامًا أساسيًا للكمبيوتر الشخصي. - LawrenceC


الأجوبة:


هل يحتاج كل نظام تشغيل إلى ذاكرة الوصول العشوائي؟
بالنسبة لأجهزة IBM PC المتوافقة ، إلزامي خطوة من عملية BIOS POST هو معرفة ما إذا كان هناك ذاكرة الوصول العشوائي لتحميل BIOS في. اختياريا عملية POST يتحقق من وظائف ذاكرة الوصول العشوائي الخاصة بك بشكل صحيح. بعد عملية POST ، يقوم نظام الإدخال والإخراج الأساسي (BIOS) بتحميل أداة تحميل التشغيل إلى ذاكرة الوصول العشوائي (RAM) ويمنح التحكم في أداة تحميل التشغيل. لذا فإن الإجابة على سؤالك ("هل يحتاج كل نظام تشغيل إلى ذاكرة الوصول العشوائي؟") هو: نعم ، يتطلب كل جهاز متوافق مع IBM PC على الأقل بعض RAM الفعالة للتشغيل. وينطبق هذا على أي نظام تشغيل يعمل على هذا الجهاز.

لاحظ أنه في سؤال OP الأصلي ، كان هناك إشارة إلى "كمبيوتر محمول" ، والتي فسرتها على أنها: أجهزة متوافقة مع IBM PC. لبقية هذه الإجابة ، سوف أفترض أجهزة IBM PC المتوافقة.

يمكن تشغيل نظام التشغيل مع ذاكرة الوصول العشوائي الخاطئ؟
إذا كانت ذاكرة الوصول العشوائي خاطئة (وليست غائبة كليًا / مقطوعة) أو إذا كان بإمكانك (جزئيًا) استبدال ذاكرة الوصول العشوائي (RAM) ، فقد تتمكن من التمهيد باستخدام BadRAM من BadMEM بقع نواة. يتطلب منك إعادة ترجمة النواة (الأصوات أسهل من ذلك إذا قمت بذلك لأول مرة) ويمكنك إعادة تشغيلها وإخبار النواة حيث تكون ذاكرتك السيئة. شرح لطيف لاستخدام Memtest86/Memtest86 +، BadRAM / BadMEM يمكن العثور عليها هنا.

يمكن تشغيل نظام التشغيل بدون ذاكرة الوصول العشوائي واستخدام ذاكرة التخزين المؤقت وحدة المعالجة المركزية كما RAM؟
بقدر ما أعرف لا توجد طريقة لاستخدام ذاكرة التخزين المؤقت الخاصة بك وحدة المعالجة المركزية باعتبارها ذاكرة الوصول العشوائي دون أي ذاكرة الوصول العشوائي الحالية على النظام الخاص بك (كما هو مقترح من قبلphilipp وغيرها) في التعليقات. إذا كان هناك ، سيكون من اللطيف إضافته هنا. الورقة الوحيدة التي يمكن أن أجدها في هذا الموضوع هي هذه الورقة تنص على ما يلي: "استخدام ذاكرة التخزين المؤقت للمعالج كـ RAM حتى تتم تهيئة ذاكرة الوصول العشوائي". لست متأكدا إذا كان (وكيف) سيعمل بدون الرامات "الذاكرة العشوائية في الهواتف والحواسيب. بقدر ما أعرف لا يوجد عامل الكود الذي يدعم نظام التشغيل على جهاز كمبيوتر متوافق مع IBM. أي إشارات إلى إثبات المفاهيم أو رمز العمل أو أي شيء مرحب به في التعليقات وسأضيفه إلى هذه الإجابة.

هل يمكنني الوصول إلى BIOS؟
سؤال OP هو غامض بعض الشيء إذا كان الكمبيوتر المحمول قادرًا على تمرير BIOS POST. كما يشيرTonny ، لا OS سوف يساعدك على "الوصول إلى BIOS"أدخل BIOS باستخدام F1 أو F2 أو F10 أو DEL أو زر ESC فى الكيبورد مفتاح ، اعتمادا على العلامة التجارية الخاصة بك من BIOS.

كيفية استرداد البيانات من الكمبيوتر المحمول بدون ذاكرة الوصول العشوائي؟
بالنسبة إلى الهدف وراء سؤالك: لماذا تحتاج إلى الوصول إلى جهاز الكمبيوتر المحمول؟ ربما لأنه لا يزال هناك بيانات على الأقراص الصلبة التي تريد استرداد؟ إذا كان الأمر كذلك ، فمن السهل سحب محرك الأقراص الصلبة (انظر الدليل) وإرفاقه بجهاز تخزين خارجي أو مباشرة بجهاز كمبيوتر. هنا هو دليل جميل لفعل ذلك.


96
2017-08-31 13:40



في الواقع ذلك هو ممكن لتشغيل جهاز مع ذاكرة الوصول العشوائي معيبة إلى حد ما (أقول ، هناك بنك واحد فقط الذي لا يعمل بشكل صحيح). إذا لم يلاحظ BIOS (أو إذا لم يلاحظ ذلك ، قد يكون هناك تجاوز F1 المعتاد) فلا يزال بإمكانك تشغيل نظام التشغيل مثل Linux مع تصحيح BadMEM / BadRAM ، الذي يرشد النواة لتجنب كتل الذاكرة المحددة. - Matteo Italia
VusP: لمجرد التحقق من ذاكرة الوصول العشوائي الخاصة بك استخدام livecd / -usb مع Memtest86 / Memtest86 + ، تخطي اختبار ذاكرة الوصول العشوائي في BIOS وتشغيل memtest من livecd / -usb. - agtoever
من يقول أن اختبار ذاكرة الوصول العشوائي في التمهيد هو "إلزامي"كان شائعا عندما كان لدى الماكينات بضعة ميغا بايت أو أقل ، ولكن سرعان ما أصبحت اختيارية كلما نمت الأحجام وأصبح الوقت باهظًا. - Andrew Medico
agtoever: هاه؟ لا تتوقف فجأة ذاكرة التخزين المؤقت - ذاكرة الوصول العشوائي - RAM عن العمل عند تهيئة RAM. إنه فقط في تلك المرحلة من الحماقة تجنب ذاكرة الوصول العشوائي ، لذلك لا أحد يحاول على الإطلاق. لكن الخدعة لا علاقة لها بذاكرة الوصول العشوائي غير مهيأة ؛ هذا فقط عندما يكون مفيدًا. - Mehrdad
@ مرحبا ، انجيل ، لا يمكن تنفيذ مباشرة من القرص لأن وحدة المعالجة المركزية لا يمكن الوصول مباشرة إلى محتويات القرص. فإنه يجب أن poke الأوامر في وحدة تحكم القرص وانتظر حتى نقل كتل البيانات من القرص إلى مكان ما في ذاكرة الوصول العشوائي. فقط من هناك يمكن أن وحدة المعالجة المركزية تنفيذ التعليمات مباشرة. - psusi


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

(حسنا ، نظم جزءا لا يتجزأ من رقاقة يستطيع تنفيذ التعليمات البرمجية إما من ذاكرة الوصول العشوائي أو ذاكرة فلاش داخلية - يمكن أن BIOS PC من الناحية النظرية تفعل الشيء نفسه ، لكنه لا يمكن تشغيل نظام التشغيل بأكمله.)

ولكن ، شيء آخر هو ، يعمل BIOS قبل و في الخارج أي نظام تشغيل مثبت ، وهو BIOS الذي يتيح لك التمهيد من بندريف أو أيا كان. لذلك إذا كنت لا تستطيع الوصول إلى BIOS ، ثم لا سيساعدك نظام التشغيل الآخر في العالم.


33
2017-08-31 12:25



قد يكون من الممكن أن تستخدم وحدة المعالجة المركزية ذاكرة التخزين المؤقت الخاصة بها بدلاً من ذاكرة الوصول العشوائي. يمكن أن يكون ميزة مفيدة لتلك الأجزاء من رمز BIOS ، والتي تعمل قبل اختبار الذاكرة. ولكن الحصول على أجهزة أخرى للعمل دون ذاكرة الوصول العشوائي يمكن أن يكون صعباً. لن تكون قادرًا على القيام بـ DMA ، لذا يجب إجراء القرص I / O بطريقة مختلفة. أعتقد أن BIOS لن يحاول حتى تحميل نظام التشغيل ، إذا لم يتم العثور على ذاكرة الوصول العشوائي قابلة للاستخدام. حجم ذاكرة التخزين المؤقت أقل مشكلة بالرغم من ذلك. قد لا يكون عدد قليل من ميغابايت الكثير بالمعايير الحديثة ، ولكن نظام التشغيل من تلك الأيام عندما كان MB واحد من ذاكرة الوصول العشوائي كان كثيرا ، يجب أن لا تزال تعمل على أجهزة الكمبيوتر الحديثة. - kasperd
ردًا علىkasperd DEC Alpha تم تصميم لتشغيل المرحلة الأولى من تهيئة الطاقة من ذاكرة التخزين المؤقت ، مسبقة التحميل من "ROM المسلسل". ويرجع ذلك إلى أن وحدة المعالجة المركزية لم تتمكن من الوصول إلى ذاكرة الوصول العشوائي ، أو ROM التقليدي ، أو أي مورد آخر تم تعيينه للذاكرة (والذي يتضمن جميع أجهزة الإدخال / الإخراج ، IIRC) حتى تتم تهيئة جداول الصفحات. - zwol
@ الفراغ ماذا عن سواقات؟ - TechLife
TechLife: ما زال أبطأ من ذاكرة الوصول العشوائي بعدة أوامر من الحجم. على الرغم من ذلك ، أعتقد ، إذا كنت تستخدمها كذاكرة الوصول العشوائي ... سيكون الأمر كذلك مسمي ذاكرة الوصول العشوائي ، لذلك لا يزال كلا. - grawity


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

السؤال الأكثر احتمالاً هو "كيف يمكنني الحصول على معلومات من جهاز كمبيوتر لن يتم تشغيله" وهذا أمر سهل. قم بفكها وإزالة محرك الأقراص وتوصيله بحافظة محرك أقراص خارجية.

ومع ذلك ، لاحظ أن أي جهاز كمبيوتر قديم بما فيه الكفاية بحيث لا يمكنك الحصول على 20 دولار فقط من ذاكرة الوصول العشوائي العاملة له سيكون له محرك ATA (عادي ATA ، لا SATA). تنقرض هذه الواجهة تقريبًا اليوم ، لذا ستحتاج أيضًا إلى العثور على علبة محرك أقراص مزودة ببطاقة ATA بالإضافة إلى محول بحجم الكمبيوتر المحمول بحجم كامل. لدي واحدة اشتريتها في عام 2000 ، وأحتفظ بحالتين قديمتين فقط لهذا الغرض.


15
2017-08-31 23:41



متفق عليه. لا ذاكرة الوصول العشوائي يعني عدم وجود رصة مما يعني عدم القدرة على استدعاء روتين. أي رمز يمكن أن تعمل في هذه الحالة يجب أن تكون الجمعية بعناية بعناية. - Loren Pechtel
صحيح. لقد رأيت الكود الذي فعل ذلك رغم ذلك. (كنت الجزء الأول من روتين BIOS قبل تهيئة وحدة التحكم في الذاكرة). - Hennes
LorenPechtel هذا ليس صحيحًا تمامًا. يمكن تخزين المكدس (وغالبًا ما يتم تخزينه في الذاكرة على رقاقة). - reirab
LorenPechtel ليست ضرورية. لا يستخدم ARM مكدسًا للاتصال بروتين. - domen
بقدر ما أستطيع أن أرى هذه الرقائق لديها SRAM الداخلية ... التي تعد بمثابة ذاكرة الوصول العشوائي. - domen


إذا قرأت السؤال بشكل صحيح فإن الجميع هنا ينبحون الشجرة الخاطئة.

يقول صراحة "من أجل الوصول إلى BIOS".

إذا كان الكمبيوتر المحمول معطلًا ، فلن يصل إلى BIOS ، وكل شيء آخر لا معنى له.

لا يمكنك تمهيد أي نظام تشغيل على هذا بغض النظر عن وضع ذاكرة الوصول العشوائي.


10
2017-09-02 07:45





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


8
2017-09-01 10:42



هذا ممكن ، لكن الذاكرة السيئة ليست تخمينًا سيئًا أيضًا. لقد رأيت ذاكرة سيئة (وحتى مآخذ ذاكرة سيئة) تسبب فشل POST عدة مرات من قبل. بالطبع ، عادة ما يكون أسهل فحص للذاكرة هو مجرد محاولة تمهيد مع العصي المختلفة إزالتها أو تمهيد مع واحد فقط عصا جيدة معروفة. إذا كان ذلك يحل المشاكل ، فكان إما الذاكرة أو فتحات الذاكرة أو وحدة التحكم في الذاكرة. - reirab


معظم أجهزة الكمبيوتر في وقت مبكر من عام 1980 أو عن نوع من نظام التشغيل (برامج تشغيل الأجهزة ، دعم IO ، تحميل البرنامج ، واجهة سطر الأوامر بسيطة جداً ، إلخ) في الشريحة ROM. يمكن أن تعمل إلى حد ما حتى في حين كانت رقائق ذاكرة الوصول العشوائي غير قابلة للتشغيل. تم استخدام هذه الميزة في إصدارات محتوى ROM خاصة مصممة لتشغيل اختبارات الأجهزة والتواصل في الغالب من خلال أضواء الصافرة ولوحة المفاتيح.

لدى وحدة المعالجة المركزية العديد من السجلات لتتذكر عنوان الأمر الذي يتم تنفيذه على الأقل ، ولكن هذه لا تسمى عادة ذاكرة الوصول العشوائي.

لا يمكن تشغيل التعليمة البرمجية C العادية في نظام بدون RAM لأنه يستخدم ذاكرة مكدس لتخصيص المتغيرات ، وتكون المكدس في ذاكرة الوصول العشوائي. عندما يقوم جهاز كمبيوتر حديث بالتمهيد ، فإن ذاكرة الوصول العشوائي الديناميكية العادية غير متوفرة في البداية لأن جهاز تحديث ذاكرة الوصول العشوائي يحتاج إلى إعداد أولي للعمل. يعمل رمز التجميع أولاً ويقوم بتهيئة اللوحة الأم. يبدأ RAM العمل ثم يمكن تشغيل التعليمات البرمجية C.


5
2017-09-02 17:00



الفقرة الأخيرة ليست صحيحة تماما. لا يلزم أن يكون مكدس الذاكرة المؤقتة في RAM خارج الشريحة. من الشائع جدًا أن يتم وضع المكدس في الذاكرة على الشريحة. حتى في الأجهزة العادية ، عادةً ما تكون رصة مؤشر الترابط الذي يتم تنفيذه حاليًا في ذاكرة التخزين المؤقت وسيتم دفعه إلى DRAM فقط عندما يقوم المجدول بتبديل مؤشرات الترابط. لقد كتبت التعليمات البرمجية ل DSPs ، على الرغم من ذلك ، حيث أقامت المكدس في ذاكرة رقاقة على عنونة مباشرة وليس لمس DRAM. بالطبع ، أعتقد أنه يمكن القول إن الذاكرة على الرقاقة هي ذاكرة الوصول العشوائي من الناحية الفنية في هذه الحالة. - reirab
أيضا ، ليس من غير المعتاد على الأقل بعض المعلمات والقيم التي يجب تمريرها إلى وظائف C باستخدام سجلات (بدلا من المكدس). وعلاوة على ذلك ، يتم تخزين المتغيرات المحلية أيضا في السجلات بدلا من على مكدس بواسطة C المجمعين. يمكنك حتى أن تطلب على وجه التحديد أن يضع المترجم متغيرًا معينًا في السجل باستخدام الكلمة الأساسية "تسجيل". وبطبيعة الحال ، عندما تحتاج إحدى الوظائف إلى مزيد من المتغيرات المحلية أكثر مما لديك من مساحة للتسجيل ، ستحتاج إلى الخروج إلى الذاكرة ، ولكن هذا هو قيد الأجهزة الذي ينطبق بغض النظر عن لغة البرمجة. - reirab


عندما ذهبت إلى الجامعة في عام 1967 كان قسم الحوسبة لديه ستانتشك زيبرا. تألفت الذاكرة من 8192 كلمة طبل المغناطيسي. كان هناك أيضا 12 سجلات ومجموعتين. قد تعتبر أن ذاكرة الوصول العشوائي ولكن ليس كما نعرفها.


4
2017-09-03 08:45





ستحتاج على الأقل إلى ذاكرة التخزين المؤقت للرقائق للسجلات (وهي في الأساس كمية صغيرة جدًا من ذاكرة الوصول العشوائي على الشريحة) بحيث يمكن لوحدة تنفيذ وحدة المعالجة المركزية أن تعمل. حتى وحدة المعالجة المركزية الخاصة بك لديها "ذاكرة الوصول العشوائي".

وقد تم تصميم أي نظام التشغيل فون نيومان دون الحاجة إلى الذاكرة على ما أعتقد.

لذا لا.


3
2017-09-02 11:17





كما هو الحال مع جميع الأشخاص الآخرين هنا ، أتفق على حقيقة أنك تحتاج إلى ذاكرة الوصول العشوائي (RAM) ولا يمكنك العمل بدونها ، ولكني أقرأ أيضًا ما يلي:

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

هذا موجود بالفعل في BIOS ، هناك وظيفة للتحقق من ذاكرة الوصول العشوائي في العمق. عند التشغيل والدخول داخل نظام الإدخال / الإخراج الأساسي (BIOS) ، قم بتغيير الخيار "Quick-on Self-test" (إيقاف التشغيل الذاتي السريع) إلى وضع الإيقاف ، ويجب أن يقوم بتمرير كامل على RAM. يجب أن يكون هذا الخيار موجودًا في "ميزات BIOS المتقدمة" ، وهو شيء مثل الاختيار الثاني على أجهزة AMI BIOSes.

آمل أن يضعك خطوة أخرى. ؛-)


3
2017-09-03 05:45





لا تفعل بحاجة إلى RAM على سبيل المثال ، استخدم a آلة تورينج.

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

(أنا لا أعتبر الشريط ليكون RAM.)

الآن يجب أن تسأل أسئلة حقيقية عن "مفيدة" وتحدد ما تعنيه بـ "مفيدة".


3
2017-09-03 08:14



على المستوى المفاهيمي لآلة تورينغ ، تكون جميع أنواع تخزين بيانات القراءة والكتابة مكافئة بشكل أساسي: ذاكرة الوصول العشوائي ، السجلات ، ذاكرة التخزين المؤقت ، الشريط المغناطيسي ، القرص. والفرق الوحيد بينهما هو سرعة الوصول. - Barmar
@ RAMMarmar تعني ذاكرة الوصول العشوائي. وهذا يعني أنه يمكنك الوصول إلى الخلايا الموجودة في أي ترتيب. لا يمكن الوصول إلى الخلايا الموجودة على شريط على جهاز Turing إلا بشكل تسلسلي (في أي اتجاه أو بالتناوب). لذلك أقول أن الشريط الموجود على جهاز Turing هو بالتعريف ليس RAM. - kasperd
Barmar هذا غير صحيح. تعريف RAM لا يسمح لأوقات البحث. ومن ثم ، فإن شريط TM ببساطة لا يلائم تعريف ذاكرة الوصول العشوائي ، لأنه لا يمكنك الوصول إلى الخلايا العشوائية دون طلبها. - kasperd
@ Barmar ، قد لا تنطبق فكرة وقت الساعة الجدار ، ولكن مفهوم الوقت ، كما هو الحال في ذلك يتطلب O (ن) قراءة العمليات للوصول إلى هناك ، وبالتأكيد لا. - psusi
Barmar ، لا ، أنت لا تفعل ذلك. هذا هو السبب في أننا نستخدم تدوينًا كبيرًا "O" للتحدث عن تعقيد رياضي بحت لا علاقة له بمقدار الوقت الذي قد يستغرقه شيء حقيقي. إن النموذج الرياضي لمحرك الشريط في TM هذا يجعله يقرأ فقط ... في أي من الاتجاهين ... وليس التقريب إلى الأمام أو الخلف ، في أي وقت. لذلك ، إذا قمت بقراءة البايتة 1 ، لا يمكنك قراءة بايت 27 بدون قراءة 26 بايت في البداية. هذا هو السبب في أنها ليست ذاكرة الوصول العشوائي. إذا كنت تريد الذاكرة التي يمكن تخطي تلك البايت 26 ، ما إذا كان ذلك يستغرق وقتاً 0 أو 5 دقائق ، من شأنها أن تكون ذاكرة الوصول العشوائي ، وليس الشريط. - psusi