صفحه 1:
به نام خدا سیستم های عامل اسلاید 7

صفحه 2:
ایجاد اتعصار متقایل با حمایت سیستم عامل همانطور که دیدیم. ایجاد انحصار متقابل در محیط کاربر از انتظار مشفولي بهره میبرد. میتوان برای ایجاد انحصار متقابل از سیستم عامل کمك گرفت. سیستم عامل میتواند بجاي انتظار مشغولي. فررآیندها را مسدود سازد.

صفحه 3:
سمافور( ‎pole‏ نگهبان» راهنما) ‎(Semaphore)‏ ‏مکانیسم سمافور شامل يكسري متغیر و دو تابع اصلي است. بر دو نوع است: 1 سمافور صحیح 2 سمافور باينري

صفحه 4:
سمافورهاي صحیح wait (semaphore s) signal (semaphore s) t t 5 ‏بجيو‎ ‎if (s <0) if (s <= 0) t { Add current process s.queue Remove process P from s.queue: Wait current process; Add P to ready list; } } تولبع انه۷ و ‎signal‏ بصورت اتميك هستند. ( يعني در میان اجراي لین تولبع. تعویض پردازه انجام نمیگیرد.) &

صفحه 5:
ایچاد انحصار متقابل با سمافور صحیح int semaphore s ۳00 ۳10 1 ۱ wait(s); wait(s); <CS> <CS> signal(s); signal(s); wait (semaphore s) signal (semaphore s) if (6 <0) if(s<=0) Add current process s queue ‘Remove process P from s.queue: Wait current process Add P to ready list;

صفحه 6:
سمافور صحیح * براي هر نوع منبع مشترک از یک متغیر سمافور استفاده میشود. * مقدار یک راهنما بیانگر تعداد منابع آزاد است. پس: 7 اگر مقدار سمافور منفی باشد. يعني هیچ منبع آزادي وجود ندارد و تعداد درخواستها از منابع آزاد بیشتر است. 7 اگر مقدار سمافور صفر باشد. يعني هیچ منبع آزادي وجود ندارد و تمام درخواستها سرویس دهی شده است. 7 اگر مقدار سمافور مثبت باشد. یعنی منبع آزاد وجود دارد.

صفحه 7:
سمافورهاي باينري signalB (semaphore s) 1 { if (s.queue is empty) Remove process P from s.queue; Place P to ready queue: waitB (semaphore s) 1 if(s=1) Place current process to s.queue; Block current process;

صفحه 8:
ایچاد انعصار متقاپل پا سمافور باینری signal (semaphore s) if (queue is empty) Remove process P ftom s queue; Place P to ready queue waitB(s); <CS> signalB(s); ait (semaphore s) ۳10 راوز 1 waitB(s); <CS> signalB(s); bool semaphore s = 1; ۳00 {

صفحه 9:
تفاوت سمافورهاي صحیح و باينري مقدار سمافور صحیح نشان دهنده تعداد منلبع آزاد است. اما مقدار سمافور باينري گوباي این است که آیا منبع آزاد داریم یا نه؟ سمافور باينري در شرايطي مناسب است که « پردازه بر سر يك منبع رقابت دارند.

صفحه 10:
مسایل گلاسیک در مسأله ارتباط فرآیندها ۰ مساله تولید کننده و مصرف کننده Producer(s) and consumer(s) problem ۰ مساله خوانندگان و نویسندگان Readers and writers problem ۰ مساله فیلسوفان ‎Philosophers problem‏ ۰ مساله آرایشگاه ‎Barbershop problem‏ 0

صفحه 11:
مسایل گلاسیک در مسأله ارتباط فرآیندها ۰ مساله تولید کننده و مصرف کننده ‎“si‏ Ss Producer(s) and consumer(s) problem aS Spee تولیدکننده ad

صفحه 12:
مسایل گلاسیک در مسأله ارتباط فرآیندها * مساله خوانندگان و نوبسندگان Readers and writers problem نویسنده 1 خواتنده خواننده نویسنده 1 خواننده در هر لحظه هر تعداد دلخواه خواننده میتوانند با هم بخوانند. اما در هر لحظه تنها یک نوبسنده باید در حال نوشتن باشد. عم

صفحه 13:
مسایل کلاسیک در مسأله ارتباط فرآیندها ۰ مساله فیلسوفان 1 ۵ 8 Philosophers problem هر فیلسوف براي غذا خوردن نیاز به دو چنگال دارد. هر فیلسوف در صورتي که دو چنگال داشته باشد. شروع به خوردن میکند وگرنه به حالت تفکر میرود. چگونه عمل کنیم که بن بست ایجاد نشود؟ oe

صفحه 14:
مسایل کلاسیک در مسأله ارتباط فرآیندها * مساله آرايشكاه 2 ‎Barbershop problem‏ اگر كسي روي صندليهاي انتظار باشد. آرایش میشود وگرنه آرایشگر به خواب میرود. 6 ao

صفحه 15:
oO 3 خط 3 | بن بست و گرسنگی نتیجه مستقیم ایجاد انحصار متقابل است. بن پست و گرسنگي

صفحه 16:
4 6 روشي براي نمايش بن بست رهاكردن ‎A‏ رها کردن. ‎Aan‏ ‏7 A owt Baw 2 رها کردن رهاكردن 8 كرضن 8 ‎Awe‏ علوم 7۳ سل یه 2 ‎Ande!‏ هم۲ و هم 0 منبع 8 زا می‌خواهند = ‎Bade‏ تمه رس لایر -. 08 ‎0s Pye pty‏ بخش افقى مسير نشائدهنده اين الست كه" ذز حال أجرا و( منتظر است: بخش عمودى مسير نشائد هنده اين لست كه 0 در حال اجرا و منتظر است. Gea ®; 62 RAO; RAG; Get B; 62 #۵ Rel ۶

صفحه 17:
د درخواست منیع و نگهداري منیع درخواست (الف) منبع درخواست می‌شود. ۰ سس هي (ب) منبع نكيدارى مى شود

صفحه 18:
ملزومات پن پست براي رخداد بن بست باید همه شرایط زیر فراهم باشد: 1- انحصار متقابل: در هر زمان فقط يك پردازه میتواند از يا 2- نگهداري و انتظار: دا منبع استفاده کند يك پردازه میتواند در حالي که منتظر تخصیص منابع است منابع تخصیص يافته را نگه 3- بدون قبضه کردن: نمیتوان با زور منبعي را از پردزه اي گرفت. 4- انتظار دایره اي: يك زنجیره بسته از پردازه ها وجود دارد به طوري که هر پردازه حداقل يك منبع مورد نیاز پردازه بعدي زنجیره را نگه میدارد. oe (cans 8) ps atid

صفحه 19:
oe اگر از هر منبع چندین واحد بصورت آزاد وجود داشته باشد بن بست رخ نخواهد داد.

صفحه 20:
روشهاي مقابله با پن بست 1- جلوگيري از بن ‎(Deadlock prevention) Cum‏ در این روش سیستم عامل بگونه اي طراحي میشود که اصولا امکان رخداد بن بست وجود نداشته باشد. 2- اجتناب از بن بست ‎(Deadlock avoidance)‏ در این روش در حین عملکرد سیستم عامل سعي ميشود از رخداد بن بست جلوگيري شود. * عدم شروع پردازه هايي که شروع آنها ايمن نیست. * عدم تخصیص منابعي که تخصیص آنها ايمن نیست. 3- تشخیص و رفع بن بست ‎(Deadlock detection)‏ eo

به نام خدا سيستم هاي عامل Operating Systems 7 اساليد Email: Website: جوانمرد javanmard.ehsan@gmail.com www.ejavanmard.blogfa.com 1 ايجاد انحصار متقابل با حمايت سيستم عامل همانطور كه ديديم ،ايجاد انحصار متقابل در محيط كاربر از انتظار مشغولي بهره ميبرد. ميتوان براي ايجاد انحصار متقابل از سيستم عامل كمك گرفت. سيستم عامل ميتواند بجاي انتظار مشغولي ،فرآيندها را مسدود سازد. 2 سمافور( عالئم نگهبان ،راهنما) ()Semaphore مکانيسم سمافور شامل يکسري متغير و دو تابع اصلي است. بر دو نوع است: .1سمافور صحيح .2سمافور باينري 3 سمافورهاي صحيح توابHع waitو signalبصHورت اتميHك هسHتند ( .يعنHي در ميان اجراي ايHن توابHع ،تعويض پردازه انجام نميگيرد). 4 ايجاد انحصار متقابل با سمافور صحيح 1 5 سمافور صحيح • براي هر نوع منبع مشترک از يک متغير سمافور استفاده ميشود. • مقدار يک راهنما بيانگر تعداد منابع آزاد است .پس: – اگر مقدار سمافور منفي باشد ،يعني هيچ منبع آزادي وجود ندارد و تعداد درخواستها از منابع آزاد بيشتر است. – اگر مقدار سمافور صفر باشد ،يعني هيچ منبع آزادي وجود ندارد و تمام درخواستها سرويس دهي شده است. – اگر مقدار سمافور مثبت باشد ،يعني منبع آزاد وجود دارد. 6 سمافورهاي باينري 7 ايجاد انحصار متقابل با سمافور باينري 1 8 تفاوت سمافورهاي صحيح و باينري مقدار سHمافور صHحيح نشان دهنده تعداد منابHع آزاد اسHت ،اما مقدار سمافور باينري گوياي اين است که آيا منبع آزاد داريم يا نه؟ سمافور باينري در شرايطي مناسب است که nپردازه بر سر يك منبع رقابت دارند. 9 مسايل کالسيک در مسأله ارتباط فرآيندها • مساله توليد کننده و مصرف کننده ‏Producer(s) and consumer(s) problem • مساله خوانندگان و نويسندگان ‏Readers and writers problem • مساله فيلسوفان ‏Philosophers problem • مساله آرايشگاه ‏Barbershop problem 10 مسايل کالسيک در مسأله ارتباط فرآيندها • مساله توليد کننده و مصرف کننده ‏Producer(s) and consumer(s) problem 11 مسايل کالسيک در مسأله ارتباط فرآيندها • مساله خوانندگان و نويسندگان ‏Readers and writers problem در هر لحظه هر تعداد دلخواه خواننده ميتوانند با هم بخوانند. اما در هر لحظه تنها يک نويسنده بايد در حال نوشتن باشد. 1 2 مسايل کالسيک در مسأله ارتباط فرآيندها • مساله فيلسوفان ‏Philosophers problem هر فيلسوف براي غذا خوردن نياز به دو چنگال دارد. هر فيلسوف در صورتي که دو چنگال داشته باشد ،شروع به خوردن ميکند وگرنه به حالت تفکر ميرود. چگونه عمل كنيم كه بن بست ايجاد نشود؟ 1 3 مسايل کالسيک در مسأله ارتباط فرآيندها • مساله آرايشگاه ‏Barbershop problem اگر کسي روي صندليهاي انتظار باشد ،آرايش ميشود وگرنه آرايشگر به خواب ميرود. 1 4 بن بست و گرسنگي بن بست و گرسنگي نتيجه مستقيم ايجاد انحصار متقابل است. مثالي از بن بست: 1 5 بن بست امكان بن بست روشي براي نمايش بن بست P() { Get A; Get B; Rel A; Rel B; } Q() { Get B; Get A; Rel B; Rel A; } 1 6 درخواست منبع و نگهداري منبع 1 7 ملزومات بن بست براي رخداد بن بست بايد همه شرايط زير فراهم باشد: -1انحصار متقابل :در هر زمان فقط يك پردازه ميتواند از يك منبع استفاده كند. -2نگهداري و انتظار :يك پردازه ميتواند در حالي كه منتظر تخصيص منابع است منابع تخصيص يافته را نگه دارد. -3بدون قبضه كردن :نميتوان با زور منبعي را از پردازه اي گرفت. -4انتظار دايره اي :يك زنجيره بسته از پردازه ها وجود دارد به طوري كه هر پردازه حداقل يك منبع مورد نياز پردازه بعدي زنجيره را نگه ميدارد. 1 8 (بن بست) مثال (بن بست) اگر از هر منبع چندين واحد بصورت آزاد وجود داشته باشد بن بست رخ نخواهد داد. 1 9 روشهاي مقابله با بن بست -1جلوگيري از بن بست ()Deadlock preventionH در اين روش سيستم عامل بگونه اي طراحي ميشود که اصوال امکان رخداد بن بست وجود نداشته باشد. -2اجتناب از بن بست ()Deadlock avoidanceH در اين روش در حين عملکرد سيستم عامل سعي ميشود از رخداد بن بست جلوگيري شود. • عدم شروع پردازه هايي که شروع آنها ايمن نيست. • عدم تخصيص منابعي که تخصيص آنها ايمن نيست. -3تشخيص و رفع بن بست ()Deadlock detectionH 2 0

51,000 تومان