العودة   منتديات طلاب الجامعة العربية المفتوحة > منتدى كليات الجامعة العربية المفتوحة > منتدى تقنية المعلومات والحاسوب > ITC350=M350

موضوع مغلق
 
أدوات الموضوع انواع عرض الموضوع

قديم 07-01-2012, 08:08 PM   #15
إجتهاد إجتهاد غير متصل
مشرف سابق
 
الصورة الرمزية إجتهاد

 











افتراضي رد: مناقشة كل ما يخص (( Final M350)) لــــــــFall 2011 / 2012


لازم نحمي نظام التشغيل من عمليات المستخدم ..
يعني ما نخلي عمليات المستخدم تصل لنظام التشغيل
و نحمي عمليات المستخدم من الوصول لبعضها البعض

اولا

كل عمليه لها مكان منفصل في الذاكرة

لازم نحدد مجموعة من العناوين المسموح للعملية الوصول اليها

نستخدم 2 registers

base register:
شايل اصغر عنوان مسموح
limit register:
يحدد حجم المجموعة

المعالج يقارن كل عنوان جاي من user mode مع registers

التعديل الأخير تم بواسطة إجتهاد ; 11-01-2012 الساعة 08:13 AM
إجتهاد غير متصل  
قديم 11-01-2012, 08:02 AM   #16
إجتهاد إجتهاد غير متصل
مشرف سابق
 
الصورة الرمزية إجتهاد

 











افتراضي رد: مناقشة كل ما يخص (( Final M350)) لــــــــFall 2011 / 2012


ربط العناوين :

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

تشكل العمليات (البروسسز) على الدسك و التي تنتظر إحضارها إلى الذاكرة للتنفيذ الـinput queue

يتم اختيار عمليه واحده من الـinput queue و تحميلها للذاكرة.
أثناء تنفيذ العملية ، تستطيع العملية الوصول للأوامر و البيانات من الذاكرة.
تنتهي العمليه ، و يعلن ان مساحه ذاكرتها متوفرة

برنامج المستخدم يمر بمراحل عديدة فيل تنفيذه، و خلال هذه الخطوات يختلف تمثيل العناوين :
العناوين في مصدر البرنامج symbolic
الـcompiler يربط الـsymbolic addresses بـrelocatable addresses
الـloader / linkage editor يربط relocatable addresses بـ absolute addresses


ربط الاوامر و البيانات بعناوين الذاكرة ..يتم عندي اي خطوة :
1- compile time
اذا كنت تعرف أين ستقيم العملية في الذاكرة ، يمكن توليد absolute code

2- load time:
اذا لم يعرف اين ستقيم العملية في الذاكرة عندالـ compile time ،
يولد الـcompiler
relocatable code
تأجيل الربط النهائي حتى الـload time

3- execution time
اذا كان بالامكان تحريك العملية من memory segment الى اخر ، يتم تأجيل الربط إلى الـrun-time
إجتهاد غير متصل  
قديم 11-01-2012, 09:17 AM   #17
إجتهاد إجتهاد غير متصل
مشرف سابق
 
الصورة الرمزية إجتهاد

 











افتراضي رد: مناقشة كل ما يخص (( Final M350)) لــــــــFall 2011 / 2012


logical + physical address space

logical address:

العنوان المولد من المعالج

physical address:
العنوان الذي تراه وحده الذاكرة ،
العنوان الذي يحمل إلىmemory-address register للذاكرة

***

logical(virtual) address space:
مجموعة العناوين المنطقية التي ولدها البرنامج

physical address space:
مجموعة العناوين الفيزيائية التي توافق العناوين المنطقية

***

execution-time address-binding scheme:

logical + physical address spaceمختلفين عن بعض

***
MMU >>>وحدة ادارة الذاكرة :
هاردوير ....وظيفتة:
The run time mapping from virtual to physical addresses


هناك طرق كثيرة و مختلفة لانجاز الـmapping:
a generalization of the base-register scheme:

base register يسمى بـrelocation register
القيمة الموجودة فيه تضاف لكل عنوان مولد من عمليه مستخدم عند ارسال العنوان للذاكرة

مثال:
القيمة = 14000
اي محاولة من المستخدم لمخاطبة الموقع 0 يحول ديناميكيا للموقع 14000
الوصول للموقع 346 يحول الى الموقع 14346

***
برنامج المستخدم لا يرى نهائيا العناوين الفيزيائية الحقيقية:
البرنامج ينشئ pointer للموقع 346 ، يخزنه في الذاكرة ،يعالجه ، يقارنه بعناوين اخرى كأنه الرقم 346. يتعامل فقط مع العناوين المنطقية
فقط عندما يستخدم كـmemory address يحول حسب الـbase register.
الهاردوير يحول العنوان المنطقي لعنوان فيزيائي.
الموقع النهائي لعنوان الذاكرة المشار إليه.. لا يحدد حتى نقوم بعمل reference

***
إجتهاد غير متصل  
قديم 14-01-2012, 04:41 AM   #18
إجتهاد إجتهاد غير متصل
مشرف سابق
 
الصورة الرمزية إجتهاد

 











افتراضي رد: مناقشة كل ما يخص (( Final M350)) لــــــــFall 2011 / 2012


dynamic loading


البرنامج كامل + كل بيانات العملية .....لازم تكون بالذاكرة الفيزيائية ..حتى تنفذ العملية.

لذلك حجم العملية محدود بحجم الذاكرة الفيزيائية

لاستخدام الذاكرة بشكل افضل ...نستخدم الـdynamic loading

كيف؟؟

الـroutine لا يحمل حتى يستدعى.
كل الـroutines محفوظة على الدسك in a relocatable format

يتم تحميل البرنامج الرئيسي للذاكرة و تنفيذه
عندما يريد routine استدعاء routine اخر
يفحص اولا اذا ما كان الـroutine قذ تم تحميلة
اذا لم يحمل ..
يستدعى الـrelocatable linking loader لتحميله للذاكرة و تحديث جداول العناوين للبرنامج
ثم يٍِِعطى التحكم لهذا الـroutine

الفائدة :
الـroutine الذي لا يستخدم ......لا يحمل للذاكرة ابدا

مثال :
الـerror routines
كمية اكواد كبيرة للتعامل مع حالات لا تظهر دائما
حجم البرنامج كبير ولكن الجزء المستخدم منه و الذي يحمل للذاكرة أصغر.


يوفر نظام التشغيل للمبرمج library routines للتنفيذ الـdynamic loading
إجتهاد غير متصل  
قديم 14-01-2012, 06:02 AM   #19
إجتهاد إجتهاد غير متصل
مشرف سابق
 
الصورة الرمزية إجتهاد

 











افتراضي رد: مناقشة كل ما يخص (( Final M350)) لــــــــFall 2011 / 2012


dynamic linking + shared libraries

static linking
مكتبات لغة النظام تعامل كأي object module و يتم ضمها بواسطة الـloader للـbinary program image

dynamic linking

يتم تأجيل الربط حتى وقت التنفيذ

و يستخدم مع مكتبات النظام مثل language subroutine libraries

و يتطلب دعم من نظام التشغيل ..

كيف ؟؟؟
يوضع stub في الـimage لكل library routine reference
عند تنفيذ الـstub ..
يفحص اذا ما كان الـroutine المطلوب موجود في الذاكرة
اذا لا ..
يحمل البرنامج الروتين المطلوب للذاكرة
بكل الحالتين ..
الـstub يبدل نفسه بعنوان الروتين و ينفذ الروتين.

طيب ايش هو الـstub ??
كود صغير ...فايدته ....يدل كيف نحدد موقع library routine المناسبة و الموجود في الذاكرة
او كيف نحمل الـlibrary اذا لم يكن الروتين موجود الذاكرة

بدون استخدام الـdynamic linking:
كل برنامج على النظام يجب ان يتضمن مكتبة اللغة في الـexecutable image
وهذ يضيع مساحة الدسك و الذاكرة الرئيسية.


المكتبات المشتركة:
يمكن استبدال المكتبة بنسخة جديدة .
كل البرامج التي تشير للمكتبة ،ستستخدم النسخة الجديدة اوتوماتيكيا
معلومات النسخة موجودة في البرنامج + في المكتبة
يمكن تحميل للذاكرة اكثر من نسخة للمكتبة..
كل برنامج يستخدم معلومات النسخة التي لدية لتحديد اي نسخة من المكتبة ليستخدمها
النسخة ذات التغيرات الطفيفة تحتفظ بنفس رقمها
النسخة ذات التغيرات الكبيرة تزيد الرقم.
البرامج التي تم ترجمتها compiled مع النسخة الجديدة للمكتبة تتأثر بأي تغييرات غير متوافقه فيها
البرامج المرتبطة قبل تثبيت المكتبة الجديدة تستمر باستخدام المكتبة القديمة

التعديل الأخير تم بواسطة إجتهاد ; 14-01-2012 الساعة 07:51 AM
إجتهاد غير متصل  
قديم 16-01-2012, 04:32 AM   #20
إجتهاد إجتهاد غير متصل
مشرف سابق
 
الصورة الرمزية إجتهاد

 











افتراضي رد: مناقشة كل ما يخص (( Final M350)) لــــــــFall 2011 / 2012


Swapping
المبادلة

العملية لازم تكون في الذاكرة عشان تتنفذ

يمكن تبديل العملية :
اخرجها من الذاكرة مؤقتا ووضعها في الـbacking store
ثم ارجاعها للذاكرة مره اخرى لاكمال التنفيذ

مثال :
في بيئة multiprogramming + خوارزمية جدولة المعالج round -robin:
عند انتهاء الـquantum يخرج العمليه التي انتهت و يدخل عملية اخري في مكانها

مثال:
في خوارزمية priority-based scheduling
عند وصول عملية ذات اولوية عالية و تريد خدمة ، بمكن لمدير الذاكرة ان يبدلها بعملية ذات اولوية اقل ثم يحمل و ينفذ العملية ذات الاولوية الاعلى و عندما تنتهي يرجع العملية ذات الاولوية الاقل لمكانها في الذاكرة و تكمل
يسمى هذا التبديل : roll out , roll in

التبديل يتطلب backing store

ايش هو الـbacking store؟؟؟؟؟؟؟

هو دسك سريع ،،يتسع لتسخ لكل memory images للكل المستخدمين .
يجب ان يوفر وصول مباشر للـmemory images


يحتفظ النظام بـready queue يتكون من كل العمليات التي لديها memory images في backing store + جاهزة للتنفيذ


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

إجتهاد غير متصل  
قديم 18-01-2012, 04:58 PM   #21
aob aob غير متصل
طالب نشيط
 
الصورة الرمزية aob

 











افتراضي رد: مناقشة كل ما يخص (( Final M350)) لــــــــFall 2011 / 2012


جزاك الله خير اجتهاد اعاني من صعوبه في مذاكرة الماده الله يسهلها لنا ياااارب
aob غير متصل  
قديم 19-01-2012, 01:46 PM   #22
aob aob غير متصل
طالب نشيط
 
الصورة الرمزية aob

 











افتراضي رد: مناقشة كل ما يخص (( Final M350)) لــــــــFall 2011 / 2012


احد فاهم اكواد
producer consumer problem???
كود PHP:
while (true) {   /* Produce an item */
        
while (((in = (in 1) % BUFFER SIZE count)  == out)
         ;   
/* do nothing -- no free buffers */
        
buffer[in] = item;
        
in = (in 1) % BUFFER SIZE;
     } 
كود PHP:
while (true) {
          while (
in == out)
                 ; 
// do nothing -- nothing to consume

         // remove an item from the buffer
         
item buffer[out];
         
out = (out 1) % BUFFER SIZE;
    return 
item;
     } 
aob غير متصل  
قديم 19-01-2012, 09:12 PM   #23
إجتهاد إجتهاد غير متصل
مشرف سابق
 
الصورة الرمزية إجتهاد

 











افتراضي رد: مناقشة كل ما يخص (( Final M350)) لــــــــFall 2011 / 2012


Contiguous memory allocation
التوزيع المتجاور للذاكرة

***
يجب ان تتسع الذاكرة لنظام التشغيل + عمليات المستخدم

لذلك يجب أن تخصص اماكن الذاكرة الرئيسية بأكثر الطرق فعالية ..

واحدة من الطرق المنتشرة :
contiguous memory allocation


تقسم الذاكرة عادة ...إلى جزئين :
واحد لتخزين نظام التشغيل
الثاني لعمليات المستخدم

نضع نظام التشغيل اما في الذاكرة المتدنية او في الذاكرة المرتفعة
القرار يعتمد على مكان الـinterrupt vector .

بما ان الـinterrupt vector يكون عادة في الذاكرة المتدنية ، يضع المبرمجون نظام التشغيل في الذاكرة المتدنية أيضا

***

نريد العديد من عمليات المستخدم ان تبقى في الذاكرة في نفس الوقت..


كيف نعطي الذاكرة المتوفرة ..للعمليات الموجودة في طابور الادخال تنتظر إحضارها للذاكرة؟؟

في الـcontiguous memory allocation

كل عملية توضع في قسم متجاور واحد
إجتهاد غير متصل  
قديم 19-01-2012, 10:45 PM   #24
إجتهاد إجتهاد غير متصل
مشرف سابق
 
الصورة الرمزية إجتهاد

 











افتراضي رد: مناقشة كل ما يخص (( Final M350)) لــــــــFall 2011 / 2012


Memory mapping +protection

نوفر هذه الخصائص باستخدام relocation register + limit register

relocation register:
يحتوي على قيمة أصغر عنوان فيزيائي
مثال : relocation =100040

limit registers:
يحتوي على نطاق من العناوين الفيزيائية
مثال : limit = 74600

كل عنوان فيزيائي يجب ان يكون أقل من الـlimit register

الـMMU ..تقوم ديناميكيا بـmap للعنوان الفيزيائي
عبر إضافة القيمة الموجودة في الـrelocation register
و هذا الـmapped address يتم ارسالة للذاكرة

***
عندما يختار الـCPU scheduler عملية من اجل تنفيذها
يقوم الـdispatcher بتحميل الـ relocation + limit registers بالقيم الصحيحة
كجزء من الـ context switch

و لان كل عنوان مولد عن طريق المعالج يتم فحصه بمقارنته مع هذين الـregisters
يمكننا حماية كل من نظام التشغيل +برامج المستخدم + البيانات
من التعديل بواسطة هذه العملية

***
إجتهاد غير متصل  
قديم 20-01-2012, 12:33 PM   #25
إجتهاد إجتهاد غير متصل
مشرف سابق
 
الصورة الرمزية إجتهاد

 











افتراضي رد: مناقشة كل ما يخص (( Final M350)) لــــــــFall 2011 / 2012


اسئلة ترو اند فالس + فراغات لليونتات من 5 - 9


http://www.4shared.com/get/Vck4FUVJ/...5678_and_.html


http://www.4shared.com/get/rB3d2Psz/Chapters_5-9.html

التعديل الأخير تم بواسطة إجتهاد ; 20-01-2012 الساعة 12:38 PM
إجتهاد غير متصل  
قديم 20-01-2012, 12:46 PM   #26
إجتهاد إجتهاد غير متصل
مشرف سابق
 
الصورة الرمزية إجتهاد

 











افتراضي رد: مناقشة كل ما يخص (( Final M350)) لــــــــFall 2011 / 2012


assessment4.ppt
إجتهاد غير متصل  
قديم 20-01-2012, 12:53 PM   #27
إجتهاد إجتهاد غير متصل
مشرف سابق
 
الصورة الرمزية إجتهاد

 











افتراضي رد: مناقشة كل ما يخص (( Final M350)) لــــــــFall 2011 / 2012


قوانين لحل بعض المسائل :

كود PHP:
waiting time Start executing in CPU Ready queue arrive time 

التعديل الأخير تم بواسطة إجتهاد ; 20-01-2012 الساعة 02:21 PM
إجتهاد غير متصل  
قديم 20-01-2012, 07:40 PM   #28
aob aob غير متصل
طالب نشيط
 
الصورة الرمزية aob

 











افتراضي رد: مناقشة كل ما يخص (( Final M350)) لــــــــFall 2011 / 2012


شكرا اختي اجتهاد يسلمو
بس عندي سؤال هل الاكواد تجي في الاختبار كشرح مثل الواجب في كثير اكواد ماني فاهمتها؟؟؟؟
aob غير متصل  
موضوع مغلق

مواقع النشر (المفضلة)

أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع


الساعة الآن 01:59 AM.


Powered by vBulletin® Version 3.8.1, Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. TranZ By Almuhajir
جميع المواضيع والمشاركات تعبر عن وجهة نظر أصحابها
ولا تعبر باي شكل من الاشكال عن وجهة نظر منتديات AOUA
تصميم وتطوير : التكنولوجيا الماسية