| 
  • 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
 

Paging

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

 

 

 

 

 

 

 

 

 

(نظام الصفحات) Paging

 

 

 

 

 

 

 

 

 

 

 

الذاكرة الأساسية في نظام التشغيل مقسمة إلى صفحات (pages).ونظام الصفحات (paging) هو نقل لها  بين الذاكرة الأساسية والذاكرة المساعدة

 

مثل (hard disk drive). ويعتبر نظام الصفحات أهم جزء في تنفيذ الذاكرة التخيلية في نظم التشغيل المعاصرة حيث أنها تسهل استخدام البيانات

 

 الموجودة في قرص التخزين (disk storage)و التي لم تنقل إلى الذاكرة الفعلية (physical address) .

 

 

ما هو نظام الصفحات ؟؟؟

 

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

 

 

الصفحات تنتقل الى الذاكرة الأساسية ,بما أن أجزاء البرنامج تنتقل بين الذاكرة الأساسية والتخيلية فإن نظام التشغيل قسم وحدة التخزين إلى وحدات

 

 

(unit) أو (block) وهي تعرف كالتالي:

A block of central storage is a frame 

 

 

A block of virtual storage is a page

 

 

A block of auxiliary storage is a slot.

 

 

 

 

جميعها تكون من نفس الحجم حيث إن

 

 

·       الصفحات الفعالة(active pages in virtual storage) في الذاكرة التخيلية تنتقل إلى الذاكرة الأساسية (frame).

 

 

·       الصفحات غير فعاله(inactive pages in auxiliary storage) في الذاكرة التخيلية تنتقل إلى الذاكرة المساعدة (slot).

 

 

الشكل التالي يوضح هذه العلاقة :

 

 

 

 

 

 

نجد إن نظام التشغيل أوجد صفحات لتنفيذ برنامج  في الذاكرة التخيلية ,الأحرف الموجودة في المربعات تمثل أجزاء من البرنامج . فإن أجزاء

 

البرنامج (A,E,F,H) هي الأجزاء الفعالة (active and running) والتي يجري تنفيذها في الذاكرة الأساسية (frame).هي الغير فعالة(inactive)

 

والمنتقلة  إلى الذاكرة المساعدة (slot), مع ملاحظة أن كل  الأجزاء موجودة في الذاكرة التخيلية ولها عنوان افتراضي (virtual address).

 

مفهوم ( نظام الصفحات ) بمعنى اخر :

استعمال مفهوم نقل الصفحات ينطلق من تجزئه البرنامج الى صفحات ذات مساحة ثابتة . طول أجزاء البرنامج متغير,

وعدد البتات لتمثل الإزاحة في العنوان النسبي يحدد نهاية مساحة الجزء. عادة, يكون طول الصفحة صغيرا, يعتمد على نوع

 الجهاز المستعمل, حيث يتراوح بين 1 إلى 4 كيلوبايت. لذلك عملية التجزئة وإدارة الذاكرة الرئيسية تكون سهلة وبسيطة .

صفحات البرنامج يمكن تحميلها داخل أجزاء غير متلاصقة من الذاكرة  .

 

 

 

كيف يمكن معرفة كل  page وال  frame المقابل لها !!!!!

 

 

يمكننا معرفة ذلك عن طريق جدولة الصفحة حيث هو نوع من data structure المستخدمة منقبل الذاكرة التخيلية (virtual memory) لحفظ

 

 

التخطيط بين العنوان الافتراضي (virtual address) والعنوان الحقيقي (physical address).و يحتوي الجدول على العنوان الأساسي(base) لكل

 

 

صفحه في الذاكرة الفعلية.

 

 

نظام التشغيل يستخدم سلسلة من الجداول لتحديد نوعية صفحه(page) هل هي في وحدة التخزين الأساسية أو المساعدة وأين مكانها. ولإيجاد صفحة

 

 

معينة في البرنامج فإن نظام التشغيل يفحص الجدول بحثا عن العنوان التخيلي للصفحة عوضا عن البحث في جميع العناوين الفعلية. فنظام التشغيل

 

ينقل الصفحة إما إلى الذاكرة الأساسية أو الذاكرة المساعدة كما ذكرنا سابقا. هذا الانتقال للصفحات بين الذاكرة المساعدة(auxiliary storage-slot)

 

 

والذاكرة الفعلية(central storage- frame) يسمى Paging .

 

تحويل العنوان بين العنوان التخيلي والعنوان الفعلي :

 

 

 

CPU يقسم العنوان إلى:

 

1.    page number-p: وهو يستخدم ك (index) في الجدول.

 

 

2.    : page offset-d :يستخدم مع العنوان الأساسي(base) لمعرفة العنوان الفعلي  (physical memory address) الذي يرسل إلى وحدة

 

الذاكرة memory unit .

 

 

في الشكل التالي نجد أن ال(index) يحدد رقم الصفحة في حين أن محتواها يحدد رقم frame

 

 

 

 

 

 

 

والشكل التالي يبين أن offset  لا يتغير بينما page  number سيتحول إلى رقم ال  frame المقابل لها

 

 

 

 

  

 

 

 

 فإذا أعطينا هذا العنوان33 فانه بالنظر الى الجدول في الشكل السابق نجد انهindex 3 يحتوي على frame no.7 وبما ان offset لايتغير سيصبح

 

العنوان الفعلي هو 73

 

حجم الصفحة وحجم الجدول:

 

           

النظام الذي يحتوي على صفحات بحجم صغير يحتوي على عدد كبير منها .

 

إذا كانت الذاكرة عندنا من حجم 232 واستخدمنا 212 (4KB) لحجم الصفحة

 

 

فان عدد الصفحات =  220pages   (20=32-12)

 

 

أما إذا كان حجم الصفحة(215(32KB

 

 

فان عدد الصفحات =217pages ( 17=32-15)

 

الفرق بين page and swap :

 

 

 

التصفح في (page in)ينقل الصفحة من disk إلى RAM بينما التصفح إلى( (page out ينقل الصفحة من RAM إلى disk .

 

بينما(swap in and out )هو فقط ينقل الصفحات بين RAM و  swap space أوswap file محدد وليس إلى مكان أو disk آخرين. 

 

 

العلاقه بين التجزئة ونقل الصفحات : 

نحن نعلم أن التجزئه تعطي تعطي مفهوما جديدا واضافي لمنى البرمجة, ونقل الصفحات اساس عمل الجهاز المادي.

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

على البرمجيات والجزء المادي .

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

 فالمبرمج يخطط طريقه لتجزئة برامجه ونظام التشغيل يحمل الصفحات .

يكون العنوان في هذه الحالة متكون من : رقم الجزء , ورقم الصفحات , والازاحة داخل الصفحة

تحتوي عملية تحويل العنوان النسبي الى عنوان مطلق على المراحل التالية :

-          يُعرف جدول أجزاء البرنامج باستعمال مسجل موقع جدول الاجزاء ومنه يحصل على عنوان

 

جدول صفحات الجزء Segment's page table

 

-          يتم البحث في جدول صفحات الجزء باستعمال رقم الصفحة  لأخذ العنوان الاساسي

 

للصفحة Page's base address .

 

-          يضاف الى العنوان الاساسي للصفحة الازاحة, لنحصل على العنوان المطلق .   

          

لتقليل الوقت المفقود في عمليات البحث في الجداول , تستعمل في بعض النظم مسجلات سريعة

 

خاصة بعنوان الصفحة Page address register  . يصمم البرنامج بحيث تتواجد مواقع تخزين البيانات في شكل مجمع .

 

واذا استعمل البرنامج عنوانا يخص أحد هذه البيانات , فان التعليميه التاليه تستعمل بيانات مخزنة في

 

 نفس الصفحة التي سبق استعمالها. لذلك , عند تنفيذ التعليمات تخزن العناوين الاساسية حتى نهاية الصفحات المستعملة

 

في مسجلات عنوان الصفحة . وتستعمل هذه المسجلات وتختبر بصفة متوازية . اذا كان عنوان الصفحة المطلوبه موجود

 

لا يحتاج الى عملية التحويل . يستبدل اقدم صفحة مستعملة بالصفحة الجديدة, وتخزن هذه الصفحة الجديدة في مسجل عنوان الصفحة .

 

 

 

 

 

المصادر :

 

 

http://publib.boulder.ibm.com/infocenter/zoslnctr/v1r7/?topic=/com.ibm.zconcepts.doc/zconcepts_90.html

 

 

 

 

 

 

 

http://en.wikipedia.org

 

 

 

كتاب  : نظم تشغيل الحاسبات

للمؤلف : محمد أحمد فكيرين

 

 

 

 

 
written by nouf al-ghanmi
اضافت عليه : نوال باعبد الله

 


 


 

Comments (3)

Anonymous said

at 2:26 pm on Nov 23, 2007

الموضوع جميل وواضح

(من وجة نظري)

ارجو ان نرى مواضيع اخرى لك.. : )



نجد الموح

Anonymous said

at 5:18 pm on Nov 23, 2007

اعجبني شرحك للتحويل من العنوان لتخيلي للفعلي..

الى الامام :)

Anonymous said

at 11:19 pm on Jan 8, 2008

موضوع جميل ثري بالمعلومات

شكرا لك

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