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

Background(الخلفية )

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

Background(الخلفية )

 

نهتم في هذا الفصل بوصف تفصيلي لطرق تنظيم العمليات (process) في الذاكرة الرئيسية (main memory) بواسطة نظم التشغيل .

 

Input queue(مصفوفة الإدخال) :

هي مجموعة من العمليات (process) داخل القرص الصلب وتنتظر دورها للدخول إلي الذاكرة (memory) حتى يتم تنفيذها.

Cache(الذاكرة المؤقتة):

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

~ حماية الذاكرة تتطلب التأكد من صحة العمليات وأيضا من مهام الذاكرة الرئيسية هو حماية العمليات (process) حتى لا تطغى كل عملية على الأخرى.

~عادة تكون البرامج في القرص الصلب (hard disk) ثم تنقل إلي الذاكرة (memory) لوضعها في إطار العمليات (process) الجاهزة للتنفيذ.

~ عند شراء القرص الصلب (hard disk ) يأتي معه (buffer) يحتوي على البرامج اللازمة للتحميل في الذاكرة (memory) .

 

نستطيع الوصول للعمليات (process) في الذاكرة الرئيسية عن طريق :

 

 

·    Base(الأساس) :

 بداية عنوان الذاكرة(Physical address)  لعملية(process) معينة .

 

 

·    Limit:

 نهاية عنوان الذاكرة (Physical address)  لعملية(process) معينة .

وهما مكانان للتخزين(register) يحتويان على عناوين الذاكرة المنطقي logical address) ).

 

 

 

يوضح الشكل (1) عنوان الذاكرة للعملية (process1) حيث أن بداية العملية في العنوان       300040  ونهاية العملية في العنوان 120900 .

~ عند الحاجة لتنفيذ برنامج معين يجب ربط البرنامج بعنوان(Physical address)  لتتعرف عليه وحده المعالجة المركزية(cpu) .

 

 

* ملاحظه /وحده المعالجة المركزة(cpu) لا ترى إلا الذاكرة الرئيسية(main memory) .

 

 

طريقة ربط العمليات(process) بعناوين الذاكرة تتم في ثلاث حالات :

 

·       Compile time(وقت المعالجة) :

في حالة كتابة البرنامج تكتب العناوين المفترضة للذاكرة داخل الكود ( يتم تحديد مكان واحد لتخزين البيانات بواسطة المبرمج)   

 

 

مثال توضيحي/  load  AX  , 803   (ضع قيمة  AXداخل العنوان (803

 

·   Load time(وقت التحميل)

في حالة تحميل البرنامج عندما يجد عنوان خالي يضع داخله العملية.   

 

 

مثال توضيحي/ jump   أو count   يستبدل قيمهم  بعناوين مناسبة في الذاكرة .

 

·  Execution time(وقت التنفيذ)

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

 

 

عناوين الذاكرة المادية والمنطقية (Logical & Physical Address Space):

 

 

·   Logical address(العنوان المنطقي أو التخيلي) :

تنشئه وحده المعالجة المركزية (cpu) . 

·   Physical Address(العنوان المادي):

عنوان تراه وحدة الذاكرة (mu) .

العنوان التخيلي (Logical) والعنوان المادي(Physical) يتماثلان في وقت التحميل(Load time) ووقت المعالجة (Compile time) ويختلفان في وقت التنفيذ(Execution time)

 

 

وحدة إدارة الذاكرة (MMU):

تقوم بتبديل العنوان المنطقي(التخيلي  (Logical or virtualإلى عنوان مادي((Physical عن طريق إضافة الأساس (base) إلى العنوان المادي (Physical) بواسطة relocation register

 

مثال توضيحي/

 لنفرض لدينا عملية(process) تبدأ من العنوان المنطقي 346 (Logical address)

للحصول على العنوان المادي(Physical)يجمع علي العنوان المنطقي الأساس  14000(base)ويكون الناتج هو14346  وهو عنوان الأمر المطلوب بواسطة (cpu) .

 

 

المعادلة : Logical address + base= Physical address    

~ برامج المستخدمين(U-program) تتعامل مع العناوين المنطقية ولا ترى العناوين المادية الحقيقية في الذاكرة .

 

 

 

Dynamic Loading (ديناميكيه التحميل):

عادة يختلف حجم العملية(process) عن حجم البرنامج ويرجع السبب في هذا إلى أن البرنامج يكون صغير الحجم وعند تحميله(load) في الذاكرة يزيد حجمه عن الحجم الفعلي لأن البرنامج يحتاج إلى بعض الخصائص(module)  والتي تتوفر في المكتبات البرمجية (library)  فيتم مناداة هذه الخصائص وإضافتها إلى العملية((process مما يزيد من حجم العملية  .

 

 

مثال توضيحي/

عند تشغيل متصفح الانترنت(Firefox) فإن حجمه يكون صغير وبعد تشغيله يتم تحميل البرنامج في الذاكرة ويتم مناداة العديد من الخصائص من المكتبة البرمجية حيث يستخدم الفايرفوكس (API -library)  مما يزيد من حجم البرنامج الفعلي ولا نحتاج إلى إعادة برمجه هذه الخصائص من جديد.

  

~ ديناميكيه التحميل لا تحتاج عادة دعم من أنظمة التشغيل .

 

 

Dynamic Linking (ديناميكية الربط):

عملية الربط تتم في وقت التنفيذ عن طريق جذر يوضع في البرنامج يسمى (stub) ومن مهامه تحديث نظم التشغيل عن طريق البحث عن الخصائص المحدثة (module update)  واستبدالها بالخصائص القديمة وهي مفيدة للمكتبات ويعرف النظام أيضا باسم (shared libraries)

 

 

هذه الرسمة توضح الفرق بين Dynamic Loading  و Dynamic Linking .

 

 

 

المرجع : Operating System Concepts

كتبته :   فاطمه الفرج

 

Comments (7)

Anonymous said

at 2:42 pm on Nov 23, 2007

جزاك الله خير اختي فاطمه
موضوعك رائع

Anonymous said

at 1:56 pm on Nov 24, 2007

مشكوره ويعطيك العافية :)

Anonymous said

at 12:36 am on Dec 13, 2007

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

Anonymous said

at 12:50 pm on Dec 13, 2007

مشكوره على نقدك لكن اغلب مواضيعي مقتبسه من المحاضرات والكتاب بالاضافه الى فهمي للموضوع واسلوب شرحي مبسط لاننا نقدمه لناس مبتدئه في التعرف على نظم التشغيل وهذا مجهودي المتواضع ومن حق الجميع الاضافه والتعديل عالموضوع للرقي به لانى اكيد ماراح اقدر اكتب موضوع متكامل بس عالاقل حاولت

Anonymous said

at 7:51 pm on Dec 16, 2007

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

Anonymous said

at 1:37 am on Dec 17, 2007

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

Anonymous said

at 5:09 am on Jan 12, 2008

مشكووره فطمه الله يجزاك خير ..
مررره استفدت و أنا اذاكر للاختبار ..

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