به نام خدا تمرین سری سوم درس سیستم های عامل دانشگاه صنعتی شریف – دانشکده مهندسی کامپیوتر ترم دوم سال تحصیلی 39-39 مهلت ارسال تمرین ها 11اردیبهشت ماه 1939ساعت 29:33می باشد. پاسخ تمرینات خود را به آدرس [email protected]ارسال نمایید .دقت کنید که پاسخ ها تنها در قالب یک فایل PDFبوده و نام و عنوان ایمیل ارسالی با فرمت ) StudentID-HW3مثال )88101111-HW3ارسال گردد. ( پاسخهایی که با این فرمت ارسال نشوند در هنگاه تصحیح با مشکل موجه خواهند شد( . ارسال پاسخها به ازای هر روز تاخیر (حتی یک ساعت) شامل %23کسر نمره خواهد شد و بعد از چهار روز به آن نمره ای تعلق نمیگیرد. در صورت شباهت تمرینات ارسالی و احراز رونوشت بودن آنها برای هر دو نفر نمره صفر در نظر گرفته میشود. کپی برداری محض از سایتهای اینترنتی نمره ای نخواهد داشت. هرگونه سوال یا ابهام خود را به ایمیل [email protected]ارسال کنید -1فرض کنید زمان بندی پردازنده به صورت time sharingاست و دو صف اولویت در سیستم داریم و مادامی که پردازه ای با اولویت باالتر داریم ،پردازه هایی که در صف با اولویت پایین تر هستند را اجرا نمی کنیم .پردازه های این دو صف ، یک ناحیه ی بحرانی مشترک دارند .در چه صورت ممکن است با وجود خالی نبودن صف اولویت باالتر ،پردازه ای با اولویت پایین تر را اجرا کنیم؟ -2اگر متغیر ( totalکه در ابتد ا صفر است) یک متغیر مشترک بین دو ریسه باشد و این دو ریسه هم زمان تکه کد زیر را اجرا کنند total ،در پایان چه مقدار هایی می تواند داشته باشد ؟ {)(void run ;int count )for (count =0 ; count<50;count++ ;total++ } -9آیا ممکن است با وجود تنها یک پردازه در سیستم deadlock ،رخ دهد ؟ توضیح دهید . -9کدام الگوریتم زیر میتواند موجب قحطی 1شود؟ توضیح دهید این اتفاق در چه صورتی ممکن است بیفتد؟ درصورتیکه راهحلی برای رفع این مشکل وجود دارد ،آن را بیان کنید. starvation 1 - FCFS SJF Round Robin Priority -3دو عمل waitو signalبرای استفاده از دو منبع به طور هم زمان نوشته شده است .به جای عبارت های c1و c2چه شرطی باید نوشته شود ؟(مقدار سمافورهای mutexو blockبه ترتیب یک و صفر است ) . )Signal(S,R )Wait(S,R { { ;)Wait(mutex ;)Wait(mutex ;S1=S1+1 ;S1=S1-1 ;R1=R1+1 ;R1=R1-1 )If(c2 )If(c1 ;)Signal(block { ;)Signal(mutex ;)Signal(mutex } ;)Wait(block } else ;)Signal(mutex } -6چهار شرطی که باید همزمان برقرار باشند تا بنبست 2رخ دهد را بهاختصار توضیح دهید. -7درستی یا نادرستی عبارات زیر را با ذکر دلیل مشخص کنید: الف ) در یک گراف اختصاص منابع 9اگر یک دور به وجود بیاید یعنی بنبست رخداده است. ب) وضعیت ناامن در الگوریتم بانکدار یعنی بنبست رخداده است ولی هنوز کشف نشده است. پ) درصورتیکه با الگوریتم بانکدار وضعیتی را ناامن تلقی کنیم ،حتماً بنبست رخ خواهد داد. deadlock Resource- Allocation graph 2 9 -8سهراه حل برای جلوگیری از بنبست 9ارائه دهید و بیان کنید که هرکدام از این راهحلها کدامیک از شروط ایجاد بنبست را از بین میبرد؟ -3راههای بازگرداندن سیستم به وضعیت بدون بنبست بعد از رخداد بنبست را توضیح دهید. -11سیستمی با 3پردازه و 9منبع در حالت زیر قرار دارد ،آیا سیستم در حالت امن است؟ (با ذکر محاسبات) D 0 D 2 0 4 2 4 C 1 0 5 3 1 B 0 0 3 6 0 A 0 1 1 0 0 Allocation P0 P1 P2 P3 P4 D 2 0 6 2 6 C 1 5 5 5 5 B 0 7 3 6 6 A 0 1 2 0 0 Max P0 P1 P2 P3 P4 A 1 Available C 2 B 5 deadlock prevention 9
© Copyright 2026 Paperzz