خريطة النظام
في نظام لينكس ، ملف System.map هو جدول رموز يستخدمه النواة .
جدول الرموز هو عبارة عن مرجع يربط بين أسماء الرموز وعناوينها في الذاكرة. قد يكون اسم الرمز اسم متغير أو اسم دالة. يُستخدم ملف System.map عند الحاجة إلى عنوان اسم رمز، أو اسم رمز مرتبط بعنوان. وهو مفيد بشكل خاص لتصحيح أخطاء النواة (kernel panics) وأخطائها (kernel oopses) . تقوم النواة بترجمة العناوين إلى أسماء بنفسها عند CONFIG_KALLSYMSتفعيل هذه الخاصية، مما يُغني عن استخدام أدوات مثل ksymoops. [ 1 ]
المكونات الداخلية
ما يلي جزء من System.mapملف: [ 2 ]
c041bc90 b packet_sklist c041bc94 b packet_sklist_lock c041bc94 b packet_socks_nr c041bc98 A __bss_stop c041bc98 A _end c041c000 A pg0 ffffe400 A __kernel_vsyscall ffffe410 A SYSENTER_RETURN ffffe420 A __kernel_sigreturn ffffe440 A __kernel_rt_sigreturnنظرًا لأن العناوين قد تتغير من إصدار إلى آخر، System.mapيتم إنشاء عنوان جديد لكل إصدار من النواة. [ 3 ]
أنواع الرموز
الحرف الموجود بين العنوان والرمز (مفصولين بمسافات) يُمثل نوع الرمز. يقوم nmبرنامج الأدوات المساعدة في أنظمة يونكس بعرض قائمة الرموز من ملفات الكائنات. System.mapيرتبط هذا البرنامج ارتباطًا مباشرًا به، حيث يتم إنتاج هذا الملف بواسطة nmبرنامج النواة بأكمله - تمامًا كما يعرض البرنامج الرموز وأنواعها لأي برنامج كائن صغير. [ 4 ] nm
بعض هذه الأنواع هي: [ 4 ]
AللمطلقBأوbلقسم البيانات غير المهيأ (المسمى BSS)Dأوdلقسم البيانات المُهيأةGأوgلقسم البيانات المُهيأة للكائنات الصغيرة (العالمية)iللاطلاع على الأقسام الخاصة بملفات DLLNرمز تصحيح الأخطاءpقسم فك التكديسRأوrلقسم البيانات للقراءة فقطSأوsلقسم البيانات غير المهيأة للكائنات الصغيرةTأوtلقسم النص (الرمز)Uلغير محددVأوvللأجسام الضعيفةWأوwبالنسبة للأشياء الضعيفة التي لم يتم وضع علامة عليها.-للحصول على رمز الطعنات في ملف كائن a.out?بالنسبة لـ "نوع الرمز غير معروف"
موقع نظام الملفات
بعد بناء نواة لينكس ، System.mapيوجد الملف في جذر دليل المصدر. ومع ذلك، تتطلب بعض خطوات تثبيت البرامج اللاحقة تحديد موقع الملف في مكان آخر: [ 5 ]
- مثل
/boot/System.map-$(uname -r) - يتوقع بناء مكتبة SVGAlib أن يجد
/lib/modules/$(uname -r)/build/System.map
انظر أيضاً
مراجع
- ↑ "FAQ/System.map - مبتدئو نواة لينكس" . kernelnewbies.org. 2006-04-14 . تم الاطلاع عليه بتاريخ 2014-04-06 .
- ↑ بيتر جاي سالزمان (28 مايو 2003). "ملف system.map" . Rlworkman.net . تم الاطلاع عليه بتاريخ 6 أبريل 2014 .
- ↑ "Kernel-HOWTO" . faqs.org . تم الاطلاع عليه بتاريخ 2014-04-06 .
- 1 2 "nm(1): الرموز من ملفات الكائنات - صفحة دليل لينكس" . Linux.die.net . تم الاسترجاع في 2014-04-06 .
- ↑ "ملاحظات بيتر: System.map" . Linuxmafia.com. 29-05-2003 . تم الاطلاع عليه بتاريخ 06-04-2014 .
- تنسيقات الملفات القابلة للتنفيذ
- نواة لينكس
