| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • You already know Dokkio is an AI-powered assistant to organize & manage your digital files & messages. Very soon, Dokkio will support Outlook as well as One Drive. Check it out today!

View
 

page fault

Page history last edited by PBworks 16 years, 3 months ago

 

 

 

 

 

page fault

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   (levels of indirection )  من الأفكار الرائعة التي نستخدمها غالبا في تطوير برمجيات الحاسب هي إظافة   

وبالرغم من معرفتنا ان ذلك لايحسن من أدائها إلا أنها غالبا ماتسمح لنا بإجراء

 تغيرات بدون التداخل مع مكونات البرمجيات الأخرى التي تستخدم مصادرنا.

وتعد الذاكرة الافنراضية فكرة قديمة تم وصفها لأول مرة في ورقة بحث أكادمية في 1959 ومنذ ذلك الوقت تم إعادة اكتشافها مرات عديدة عن طريف مجموعات أنظمة التشغيل المتنوعة في إطار

   الموجوده في النظامPhysical Memory محاولتهم البحث عن طرق لتجنب المشاكل المتعلقة بكمية

  لكن يجب أن يستخدم الدرايفر الحجم الظاهر والثابت xالموجوده في النظام إلى سلسلة من الصفحات(وهي بحجم 4كيلو بايت في 68  Physical Memory  وللقيام بذلك قسمت ويندوز كافة

للصفحة) وقسمت ويندوز كذلك مساحة العنوان الإفتراضية Virtual address space وكذلك الى سلسلة من الصفحات المتقاربة في الحجم واخيرا اتفق ويندوز على 

مماثلة بالطبع بما ان  Physical pageوعلى وسيلة لتعليم العتاد كيفية ترجمة عنوان الصفحة الافتراضية الى الصفحة المادية underlying hardware platform

Pysical Memory اقل بكثير من الذاكرة الإفتراضية فإن جزءا من طريقة العمل هذه تشرح للعتاد مايجب القيام به إذا تم الدخول إلى الصفحة الإفتراضية لكن لم يظهر ترجمة للصفحة المادية

Pysical Page ويعرف ذلك ب(خطأ الصفحة)في مصطلحات ويندوز.

وعندما يحدث خطأ الصفحة Page Fault فإن العتاد لا يمكنه القيام بأي شي أخر للأمر الذي سبب حدوث ذلك وبالتالي يجب أن يقوم العتاد بنقل التحكم إلى نظام التشغيل (وهذا هو معالج خطأ

الصفحة Page Fault Handler)

 

 

 

 

 

 

 

 

 

 

ويجب أن يقرر معالج خطأ الصفحة كيفية معالجة الخطأ. ويمكنه القيام بإحدى هاتين الطرقتين:

 

  1- يمكنه أن يقرر أن العنوان الإفتراضي غير صالح وفي هذه الحالة يقوم ويندوز بإرسال هذا الخطأ بالإشارة إلى حدوث حالة استثنائية (Status_Access_Violation)

 

 

 

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

 

 الإفتراضية إلى مادية ثم يقوم بإخبار العتاد بإعادة العملية وعند ما يقوم العتاد بذلك سيجد ترجمة الصفحة ويكمل العمليات وكأن شيئا لم يكن.

 

 

 

وهناك ميل لإضافة بعض الخصائص على ترجمة الصفحة الافتراضية إلى مادية لذلك يمكن أن تدعم كل صفحة أنواعا محددة من دخول هذه الصفحات.

 

  طريقة دخول المستخدمuser mode access

 

 

 ان يدخل الصفحة بشكل دائمKernel ويشير ذلك إلى أن الرمز المستخدم في طريقة المستخدم يمكن أن يدخل الصفحة ويمكن لرمز في طريقة 

 

 

Write accessطريقة       

 

 

ويشير هذا النوع إلى ما إذا كان الرمز الذي يدخل الصفحة مسموحا له بإجراء تعديل على محتويات الصفحة الافتراضية وينطبق ذلك على كافة الرموز المستخدمة

 

فإن العتاد يحول التحكم إلى ويندوز لكي يتمكن من السيطرة على مايجري بشكل مناسب وبالرغم من أن ويندوز قد يلقى بهذا

 

الخطأ إلى العتاد مرة أخرى عنAccessوإذا تم خرق أي من القيود ال

  إلاأنه قد يجري تعديلا على جداول الصفحات لحل المشكلةStatus_Access_Violation 

 

 

والوسيلة الأخيرة هي أن يقوم العتاد باستخدام جداول متنوعة للصفحات في أوقات مختلفة.ويمكن تبديل مجموعة من تراجم الصفحات الافتراضية إلى مادية بمجموعات مختلفة من التراجم. وبالتالي عندما ننتقل من عملية إلى أخرى فإننا نقوم بتغيير جداول الصفحة.وهذا يعني أن العملية الجديدة لها مساحة عنوان افتراضية. .

 

 

 

 

 

وباختصار فإن خطأ الصفحة ما هو إلا تقرير من عتاد الحاسب إلى ويندوز عن:

 

إما انه غير مسموح بدخول الصفحة الافتراضية كما هو مطلوب عن طريق الرمز المستخدم(بسبب الaccess)

 

 

أو أنه لا يمكن ترجمة الصفحة الافتراضية إلى مادية

 

 

وفي كلا الحالتين فإن المسؤولية تقع على عاتق ويندوز بالقيام بالتصرف المناسب والصحيح والسماح للنظام باستمرار العمل.

 

 

 

 

 

 

 

 

 

 مصدر الموضوع..

http://www.osronline.com/article.cfm?article=222

 

اعداد

نجد عبدالعزيز الموح 

 

 

 

 

 

 

 

 

 

 

 

 

Comments (1)

Anonymous said

at 10:14 pm on Dec 1, 2007

Please rearrange your text!

You don't have permission to comment on this page.