This 68451 MMU could be used with the Motorola 68010
إن **وحدة إدارة الذاكرة** Memory management unit أو (MMU) بالتعريف هي : دارة تدعم الذاكرة الظاهرية ونقل الصفحات الذاكرية وذلك بترجمة العنوان الفعال إلى عنوان فيزيائي، وتكون جزء من المعالج وفي بعض التصاميم تأتي كشريحة مستقلة، تحتوي على ذاكرة صغيرة تحتفظ بالعناوين الفعالة والفيزيائية المقابلة لها وتكون على شكل جدول يدعى TLB وجميع الطلبات الذاكرية ترسل لل MMU والتي تحدد مكان وجود المعلومة المطلوبة هل هي في الكاش أم في ال MM أم في القرص الصلب.

MMU تحتوي على جدول الصفحات الذاكرية Page table مفهرس بأرقام الصفحات وكل مدخل في جدول الصفحات Page Table Entry(PTE) يعطي العنوان الفيزيائي المطابق للفعال.
من الممكن أن لا يوجد عنوان فيزيائي مقابل للعنوان الفعال لذا سوف تعيد MMU إشارة خلل في الصفحة الذاكرية إلى المعالج عندها سوف يحاول نظام التشغيل إيجاد صفحة فارغة في الذاكرة وإنشاء PTE جديد يتم ربطه مع العنوان الفعال المطلوب، إذا لم توجد صفحة ذاكرية فارغة سوف يكون من الضروري اختيار صفحة موجودة مسبقا وذلك باستخدام أحد خوارزميات الاستبدال وحفظها في القرص الصلب (و هذا ما يعرف بنقل الصفحات الذاكرية Paging).

جدول TLB
--------

**TLB** : هو جدول يستخدم في نظام (الذاكرة) الافتراضية حيث يسجل رقم صفحة العنوان الفيزيائي مرتبطا مع رقم صفحة العنوان الفعال، يستخدم ال TLB للربط مع الكاش والتي يكون دليلها معتمدا على العنونة الافتراضية.
يقدَّم العنوان الفعال لل TLB وبنفس الوقت يقدم للكاش لذا فإن الوصول للكاش وترجمة العنوان من فعال إلى فيزيائي يتم على التوازي وبالتالي عند عدم وجود المعلومة في الكاش فيتم استخدام العنوان الفبزيائي للوصول إليها في ال MM.

إن عملية تخطيط الذاكرة تأخذ بعين الاعتبار الصلة بين المستويين المتعاقبين في هرم الذاكرة ألا وهما المستوى الأولي والثانوي، كالصلة بين ذاكرة الكاش والذاكرة الرئيسية (MM)، فذاكرة الكاش تمثل المستوى الأولي في حين أن الذاكرة الرئيسية تمثل المستوى الثانوي و، نفس المبدأ يمكن تطبيقه على أي مستويين من هرم الذاكرة.
أن طلب الوصول لعنصر ما في الذاكرة يتم عن طريق المعالج وذلك بإرسال عنوان ذلك العنصر إلى الذاكرة.
العنوان المرسل يمكن أن يتطابق مع عنوان عنصر موجود حاليا في الكاش (Cache hit) وإلا يتطابق مع عنوان موجود في الMM لذا لا بد من وجود ترجمة للعنوان لتحديد مكان العنصر المطلوب، هذا العمل يتم إنجازه عن طريق وحدة إدارة الذاكرة MMU.
المخطط التالي يوضح كيفية مقابلة العنوان :

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

دور mmu في العنونة الافتراضية
-----------------------------

**ما هي virtual memory ؟**

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

1. direct mapping
2. fully mapping
3. set associative mapping

في جميع هذه التقنيات فإن المعلومات عن المواقع الذاكرية والصفحات الوهمية الموافقة لها موجودة في جدول يدعى جدول الصفحة Page table الذي يكون مخزنا في ال MM.

العنونة الفيزيائية والعنونة الافتراضية
--------------------------------------

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

عندما ينفذ ال cpu تعليمة التحميل load فإنه يولد عنوانا فعالا ويرسله للذاكرة الرئيسية عن طريق ممر الذاكرة فتقوم الذاكرة الرئيسية بجلب أربع بايتات تبدأ من العنوان الفيزيائي 4 وتعيدها للمعالج الذي بدوره يخزنها في مسجل.

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

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

إن ترجمة العنوان تتطلب تعاونا بين بنية المعالج ونظام التشغيل، البنية الصلبة في المعالج والمسئولة عن ذلك هي Memory Management Unit(MMU)، تقوم هذه الوحدة بترجمة العنوان الفعال بسرعة وذلك باستنتاجه من جدول مخزن في الذاكرة الرئيسية والذي يتم إدارة محتوياته من قبل نظام التشغيل.

ومن الوظائف الإضافية المهمة لل MMU
----------------------------------

حل مشاكل التجزئة للذاكرة التي تحصل عندما تحجز بلوكات الذاكرة وتفرغ وبالتالي ستنقسم المساحة الفارغة وبالتالي من أجل مجال من العناوين الفعالة المتجاورة يمكن أن تقابل بعدة بلوكات غير متجاورة من الذاكرة الفيزيائية.
في التصميمات القديمة لوحدات إدارة الذاكرة كانت بواسطة دارات مدمجة مستقلة مثل MC 68851 في Macintosh II أو Z8015 التي استخدمت مع عائلة Zilog معالج زد 80 للمعالجات.
فيما بعد المعالجات مثل Motorola 68030 وZilog Z280 استخدمت وحدات إدارة ذاكرة مدمجة ضمن المعالج.

مثال عن وحدة إدارة الذاكرة : MMU
--------------------------------

الشكل 5.14 يبين التصميم الأساسي لشريحة MIPSR2000 بالإضافة للمعالج ذو البنية RISC فإنه هناك أيضا معالج مساعد على الشريحة.
هذا يتضمن وحدة إدارة الذاكرة التي تظهر بشكل مفصل ضمن الشكل، تتألف MMU من TLB بسيطة تكفي ل 64 مدخل، كل مدخل يشير إلى صفحة ذاكرية وهمية وموقعها الموافق في الذاكرة الفيزيائية. انظر الشكل 5.15.
تتم عملية إدارة ال TLB من قبل نظام التشغيل نفسه، قبل أن تتمكن الصفحة من الحصول على عنونة يجب عليها أن تكون في ال MM وتمتلك مدخلا في ال TLB.

إن MMU تحتوي على خمسة مسجلات هي : REGESTRY entry-hi، entry-lo، index and random
نظام التشغيل يستخدم تلك المسجلات لإدخال مدخلات بديلة في ال TLB، عتاد العنونة يستخدمهم أيضا لإنجاز ترجمة العنوان.

نظام الذاكرة الوهمية يدعم حجم صفحات يصل إلى 4KB وبالتالي العنوان ذو 32bit سوف يقسم إلى 20bit من أجل رقم الصفحة و12bit من أجل الإزاحة.
في كل مرة يتم فيها ترجمة العنوان الفعال (و ذلك لإحضار تعليمة أو عملية كتابة أو قراءة لمعامل) فإن رقم العملية ورقم الصفحة يدخلان إلى المسجل entry-hi وسوف ييم مقارنتهما سويا مع جميع العناوين الفعالة الموافقة والموجودة في ال TLB وعند وجود تطابق فإن مسجل الدليل index يشير إليهما وإلى المُدخل المطابق في ال TLB، بعد ذلك سوف تتم قراءة مدخل ال TLB المطابق والعنوان الفيزيائي لقاعدة الصفحة تلك وينتقل إلى المسجل entry-lo، بعدها يأتي دور الإزاحة في تحديد العنوان الفيزيائي المطلوب عند إضافتها لعنوان القاعدة.

مراجع
-----

1. ↑  Frank Uyeda (2009). "Lecture 7: Memory Management" (PDF). *CSE 120: Principles of Operating Systems*. UC San Diego. مؤرشف من الأصل (PDF) في 2017-05-17. اطلع عليه بتاريخ 2013-12-04.
2. ↑  "Electronic Datasheet Search And Download Site". *Ic-on-line.cn*. مؤرشف من الأصل (PDF) في 2020-06-28. اطلع عليه بتاريخ 2017-05-03.
3. ↑  "AMD64 Architecture Programmer's Manual Volume 2: System Programming" (PDF). مارس 2017. مؤرشف من الأصل (PDF) في 2018-07-13. اطلع عليه بتاريخ 2017-12-05.

| * ع
* ن
* ت
تقنيات وحدة المعالجة المركزية |
| --- |
| معمارية | 
* ISA : CISC
* EDGE
* EPIC
* MISC
* OISC
* RISC
* VLIW
* NISC
* ZISC
* معمارية هارفارد (معمارية هارفارد المعدلة)
* هيكلة فون نيومان
* معماريات
	+ 1 بت
	+ 4 بت
	+ 8 بت
	+ 12 بت
	+ 16 بت
	+ 18 بت
	+ 24 بت
	+ 31 بت
	+ 32 بت
	+ 36 بت
	+ 48 بت
	+ 64 بت
	+ 128 بت
* مقارنة معماريات CPU

 |
| توازي | 

|  |  |
| --- | --- |
| التجزئة  | 
* خط أنابيب
* التنفيذ بالترتيب وبلا ترتيب
* إعادة تسمية السجلات
* التنفيذ الحدسي
* أخطار

 |
| المستوى  | 
* بت
* تعليمة
* حاسوب فائق
* بيانات
* مهمة

 |
| خيط (حاسوب)  | 
* تعدد المسارات
* التنفيذ المتوازي
* خيوط المعالجة الفائقة
* تعدد المسارات الرائع

 |
| تصنيف فلين  | 
* سيسد
* سيمد
* إم آي إس دي
* ميمد

 |

 |
| الأنواع | 
* معالجة رقمية للإشارة
* متحكم دقيق
* منظومة على رقاقة
* معالج شعاعي

 |
| المكونات | 
* وحدة الحساب والمنطق (ALU)
* وحدة توليد العناوين(AGU)
* طابعة طبلية
* وحدة الفاصلة العائمة
* ناقل الجانب الخلفي
* ناخب
* ناخب
* سجلات
* وحدة إدارة الذاكرة (MMU)
* مخزن البحث الجانبي (TLB)
* ذاكرة مخبأة
* ملف السجل
* شيفرة دقيقة
* وحدة معالجة مركزية
* معدل ساعة (حاسوب)

 |
| إدارة الطاقة | 
* إدارة الطاقة المتقدمة (APM)
* التكوين المتقدم وواجهة الطاقة (ACPI)
* موازنة التردد الحيوية
* موازنة الفولتية الحيوية
* حصار الساعة

 |


| * ع
* ن
* ت
لينكس |
| --- |
| منظمات | 

|  |  |
| --- | --- |
| نواة لينكس | 
* تاريخ لينكس
* مؤسسة لينكس
* Linux Mark Institute
* قانون لينوس
* Tanenbaum–Torvalds debate
* لينكس ليبرا
* تكس
* vmlinux
* SCO and Linux  ‏
* لينارو
* Xenomai

 |
| جنو | 
* مؤسسة البرمجيات الحرة
* جنو
* رخصة جنو العمومية
* GNU/Linux naming controversy
* GNU packages  ‏
* مشروع جنو

 |
| توزيعات | 

|  |  |
| --- | --- |
| توزيعة لينكس | 
* مقارنة لتوزيعات جنو/لينكس
* قائمة توزيعات لينكس
* Netbook-specific comparison  ‏
* Distributions that run from RAM  ‏
* توزيعة لينكس خفيفة
* نظام إدارة الحزم
* تنسيقات حزم لينكس

 |
| أخرى | 
* قرص حي
	+ List
* يو إس بي لايف
* Proprietary software for Linux

 |

 |
| وثائق | 
* مشروع توثيق لينكس
* تبادل بيانات حزمة البرامج  ‏

 |
| مطورون | 
* Linux conference

 |
| مستخدمون | 
* مجموعة مستخدمي لينوكس

 |

 |
| تقنيات | 

|  |  |
| --- | --- |
| معايير | 
* قاعدة لينكس القياسية
* التسلسل الهرمي القياسي لنظام الملفات
* بوزيكس
* يونكس
* RTAI
* Carrier Grade Linux

 |
| عملية | 
* بدء تشغيل لينكس
* Linux kernel oops
* واجهة نواة لينكس
* نظام إدارة الحزم
* تنسيقات حزم لينكس

 |
| مكونات أساسية | 

|  |  |
| --- | --- |
| مكتبة سي المعيارية | 
* مكتبة جنو لسي
* يوسي ليبس
* بايونك (برمجية)
	+ libhybris
* dietlibc
* EGLIBC
* klibc
* musl
* Newlib

 |
| Init daemons | 
* سيستم دي
* upstart
* Initng
* أوبن دبليو آر تي

 |
| Bootloaders | 
* جنو جرب
* Lilo
* داس يو بوت

 |
| Sysutils | 
* util-linux
* أدوات جنو الأساسية
* أدوات بحث جنو
* GNU Binutils
* بيزي بوكس

 |

 |
| مكوناتنواة لينكس | 
* وحدات الأنوية قابلة التحميل
* معمارية صوت لينكس المتقدمة
* DRM
* dm-crypt
* Console
* Device mapper
* evdev
* LIO
* Framebuffer
* دقة-محددة
* LVM
* نت فيلتر
* مجدول الشبكة
* zram
* سيغروبس

* أسلوب الأمن لينكس  ‏:
	+ درع التطبيقات
* Exec Shield
	+ grsecurity
		- PaX
	+ سي لينكس
	+ برنامج سماك
	+ تومويو لينكس

* Device drivers: 802.11  ‏
* Device drivers: graphics  ‏
* Video4Linux

* initramfs

 |
| منوع | 

|  |  |
| --- | --- |
| Main line | 
* نواة لينكس

 |
| حاسوب فائق (HPC) | 
* INK
* Compute Node Linux

 |
| حوسبة في زمن حقيقي (RTC) | 
* RTLinux

 |
| وحدة إدارة الذاكرة | 
* μClinux
* PSXLinux
* DSLinux

 |
| بيئة افتراضية | 

|  |  |
| --- | --- |
| مراقب الأجهزة الافتراضية | 
* آلة افتراضية معتمدة على النواة
* Xen

 |
| الإفتراضية بمستوى نظام التشغيل | 
* Linux-VServer
* Lguest
* ال إكس سي
* أوبن في زي

 |
| أخرى | 
* L4Linux
* ELinOS
* User-mode Linux
* MkLinux
* coLinux

 |

 |

 |
| برمجيات خبيثة | 
* Malware

 |
| واجهة المستخدم | 
* سينامن
* واجهة سطر الأوامر
* صدفة جنوم
* بلازما (كدي)
* يونتي (واجهة مستخدم)

 |
| Graphical UI  ‏ | 
* نظام النافذة إكس
* وايلاند
* Mir

* X Window Manager
* AfterStep
* بلاك بوكس
* CTWM
* إنلايتنمينت
* FVWM
* Hackedbox
* ايس دبليو ام
* Metisse
* OLVWM
* PLWM
* PWM
* Sawfish
* vtwm
* wm2
* wmx
* Xmonad
* كومبيز
* نوافذك (برمجية)
* إكس إف سي إي

 |

 |
| Linux adoption | 

|  |  |
| --- | --- |
| نطاق استخدام لينكس | 
* لينكس
* Embedded
* Gaming
* Thin client:
	+ مشروع خادم تيرمينال لينكس
	+ Thinstation
	+ PC TSC
* Server:
	+ لامب (حزمة برمجيات)
	+ LYME/LYCE
* Devices

 |
| Mobile | 
* Access Linux Platform
* أندرويد
* Ångström
* بادا (نظام تشغيل)
* فيرفكس (نظام تشغيل)
* LiMo Foundation
* تايزن
* Linux Phone Standards Forum
* iPodLinux
* mer
	+ Nemo Mobile
	+ سيلفش
	+ ميقو
	+ مايمو
	+ Moblin
* Mobilinux
* الاتحاد المفتوح للهواتف النقالة
* أوبن موكو لينكس
* ريبليكانت (نظام تشغيل)
* أوفون
* سيلفش
* SHR
* تايزن
* أوبونتو تاتش
* أوبونتو تاتش
* ويب أو إس

 |
| Adopters | 
* البرمجيات الحرة و الحكومات
* GENIVI Alliance
* Proprietary software for Linux

 |

 |
| وسائل الإعلام | 
* مجلة البرمجيات الحرة
* سورس فورج (شركة)
* مجلة لينكس فورمات
* Open Source For You
* Linux Gazette
* لينكس جورنال
* مجلة لينكس
* Linux Outlaws
* LugRadio
* LWN.net
* O3 Magazine
* فورونيكس
* *نظام تشغيل ثوري*
* *الشفرة (فيلم)*

 |
| أشخاص | 
* جونو باكون
* آلان كوكس
* أولريتش دربر
* جون هال (عالم)
* بنجامين ماكو هيل
* غريغ كروه هارتمان
* دايفيد ميلر
* أندرو مورتون (مبرمج كمبيوتر)
* إيان موردوك
* بروس بيرنز
* دانيال روبينز (مبرمج كمبيوتر)
* مارك شاتلوورث
* ريتشارد ستولمن
* لينوس تورفالدس
* ثيودور تسو
* باتريك فولكردينغ
* Matt Zimmerman

 |
| 
* **تصنيف:لينكس**
* **Commons**
* **بوابة:لينكس**

 |

| * ع
* ن
* ت
إدارة الذاكرة |
| --- |
| 
* مخطط التخصيص أحادي المستخدم

 |
| تنظيم الذاكرة اليدوي | 
* Static memory allocation
* C dynamic memory allocation
* new and delete (C++)

 |
| ذاكرة افتراضية | 
* Demand paging
* Page table
* تصحيف
* Virtual memory compression

 |
| المعدات | 
* وحدة إدارة الذاكرة (MMU)
* مخزن الترجمة المؤقت (TLB)
* Input–output memory management unit (IOMMU)

 |
| جمع القمامة | 
* Boehm garbage collector
* Concurrent mark sweep collector
* Finalizer
* Garbage
* Garbage-first collector
* Mark-compact algorithm
* Reference counting
* Tracing garbage collection
* Strong reference
* Weak reference

 |
| تجزئة الذاكرة | 
* Protected mode
* Real mode
* Virtual 8086 mode
* x86 memory segmentation

 |
| سلامة الذاكرة | 
* تجاوز سعة المخزن المؤقت
* Buffer over-read
* مؤشر متدلي
* Stack overflow

 |
| مشاكل | 
* تفرق البرامج
* تسرب الذاكرة
* ذاكرة غير قابلة للوصول

 |
| أخرى | 
* Automatic variable
* International Symposium on Memory Management
* Region-based memory management

 |

* أيقونة بوابةبوابة تقانة المعلومات
* أيقونة بوابةبوابة علم الحاسوب

|  |
| --- |
| **وحدة إدارة الذاكرة** في المشاريع الشقيقة: |
|  | 
* صور وملفات صوتية من كومنز.
 |