دانلود پاورپوينت سیستم عامل 29 اسلاید رشته کامپیوتر در قالب 29 اسلايد و با فرمت pptx بصورت کامل و جامع و با قابليت ويرايش

 


اغلب نیاز است که يک پردازش با پردازشهای دیگر بتواند ارتباط داشته باشد . به عنوان مثال Shell Pipeline یا پوسته سیستم عامل بصورت پردازشهای متوالی پیاده سازی شده است . خروجی Process اول باید به Process دوم داده شود و . .  . .
بنابراین نیاز است که پردازشها بتوانند با یک روش دارای ساختار مناسب با هم Communicate داشته باشند . حالا می خواهیم به برخی موضوعات مربوط به این ارتباط میان پردازشی Interprocess Communication (IPC)  بپردازیم .
چند موضوع باید بحث شود

 

 


1- چگونه یک Process می تواند اطلاعاتی را به Process دیگر انتقال دهد ؟
2- چگونه مطمئن شويم دو يا چند پروسس مزاحم همديگر نميشوند. مثلا هر دو نمی خواهند در يک فضای حافظه بنويسند.                    
3- وقتی پردازشها وابستگيهايی نسبت به هم دارند، دنباله صحيح پروسسها چگونه است.

 

 


علت رخ دادن اشکال در مثال بالا این است که  پروسس B استفاده از یکی از متغیرهای مشترک را زمانی شروع می کند که پروسس A هنوز کارش را با آن متغیر مشترک تمام نکرده است .
انتخاب Primitive (عمل اولیه) مناسب برای دستیابی به Mutual Exclusion یک موضوع مهم طراحی در هر سیستم عاملی است و موضوعی است که بطور دقیق با جزئیات به آن می پردازیم .
مسئله اجتناب از شرایط مسابقه بطور انتزاعی می تواند مطرح شود .
 برخی زمانها Process مشغول Computing (محاسبات) داخلی خودش و کارهای دیگری است که به شرایط مسابقه منجر نمی شود .
برخی زمانهایک پردازش ممکن است در حال دستیابی به فایل يا حافظه مشترک یا کارهای بحرانی دیگری باشد که منجر به شرایط مسابقه می شود .
تعریف : بخشی از برنامه که طی آن Shared Memory (حافظه مشترک) مورد دستیابی قرار می گیرد Critical region (ناحیه بحرانی) یا Critical Section (بخش بحرانی) نامیده می شود .
اگر بتوانيم کاری کنيم که هيچ دو پردازشي همزمان در بخشهای بحرانی خود نباشند میتوانيم از شرايط مسابقه جلوگيری کنيم .                              

 

 

فهرست مطالب
Interprocess Communication
شرايط مسابقه   Race Conditions
تعریف
انحصار متقابل توسط در حال انتظار، مشغول است
(Disabling interrupts) غير فعال نمودن وقفه ها
جمع بندی
(Lock Variables) استفاده از متغيرهای قفل
(Strict Alternation) تناوب قطعی
Busy Waiting  (مشغول است در حال انتظار باشد )
دستورالعمل TSL (Test and Set Lock)
خوابیدن و بیدار کردن (Sleep and Wakeup )
مسئله تولید کننده - مصرف کننده
سمافورها  (Semaphores)
Monitor ها
فراخوانهای Send  و Receive