به نام خدا تمرین سری دوم درس سیستمهای عامل دانشگاه صنعتی شریف – دانشکده مهندسی کامپیوتر ترم دوم سال تحصیلی 49-49 مهلت ارسال تمرین ها 72ام فروردین ماه 4949ساعت 79:34می باشد. پاسخ تمرینات خود را به آدرس [email protected]ارسال نمایید .دقت کنید که پاسخ ها تنها در قالب یک فایل PDF بوده و نام و عنوان ایمیل ارسالی با فرمت )91101111-HW2( StudentID-HW2ارسال گردد( .پاسخهایی که با این فرمت ارسال نشوند در هنگام تصحیح با مشکل مواجه خواهند شد). ارسال پاسخها به ازای هر روز تاخیر شامل %73کسر نمره خواهد شد و بعد از چهار روز به آن نمرهای تعلق نمیگیرد. در صورت شباهت تمرینات ارسالی و احراز رونوشت بودن آنها برای هر دو نفر نمره صفر در نظر گرفته میشود. کپی برداری محض از سایتهای اینترنتی نمره ای نخواهد داشت. هرگونه سوال یا ابهام خود را به ایمیل [email protected]ارسال کنید. )4مراحل اجرای تعویض زمینه 4را بیان کنید و مشخص کنید در این کار ،چه اطالعاتی باید ذخیره شود؟ )7بین دو ریسه ،7چه اطالعاتی به اشتراک گذاشته میشوند و چه اطالعاتی یکتا هستند؟ مزایای برنامه های چند ریسه ای را بیان کنید. )9الف) در زمان پایان یافتن پردازه ،چه کارهایی توسط سیستم عامل انجام میشود؟ ب) چه پردازه هایی میتوانند پردازه های دیگر را متوقف 9کنند؟ پ) پردازه پدر 9به چه دالیلی اجرای یک یا چندتا از فرزندان خود را متوقف میکند؟ ت) پردازه های زامبی 3و یتیم 6چه نوع پردازه هایی هستند؟ 1 Context Switch Thread 3 Terminate 4 Parent Process 5 Zombie 6 Orphan 2 )9متوسط زمان انتظار ،2زمان پاسخگویی 8و زمان برگشت 4را برای لیست پردازه های زیر به ازای الگوریتم های گفته شده محاسبه کنید: الف) )Shortest Remaining Time First (SRTF ب) )Shortest Job First (SJF پ) )Round Robin (RR )3تعدادی فایل که هر فایل شامل مجموعه ای از کلمات است ،در اختیار داریم .میخواهیم برنامه ای طراحی کنیم که برای هر فایل، اطالعات آنرا از دیسک خوانده و بر روی آنها پردازشی انجام دهد .این برنامه را با استفاده از کتابخانه pthread.hطراحی میکنیم و در ابتدای برنامه با استفاده از تابع )( ،pthread_attr_setscopeتنظیمات سیستم را بر روی آن اعمال میکنیم .بررسی کنید که آیا استفاده از روش چند ریسه ای برای این برنامه ،مفید است یا خیر .کدام روش ،بیشترین تاثیر مثبت را دارد؟ الف) سیستم تک پردازنده و استفاده از تنظیم PTHREAD_SCOPE_PROCESS ب) سیستم تک پردازنده و استفاده از تنظیم PTHREAD_SCOPE_SYSTEM پ) سیستم چند پردازنده و استفاده از تنظیم PTHREAD_SCOPE_PROCESS ت) سیستم چند پردازنده و استفاده از تنظیم PTHREAD_SCOPE_SYSTEM )6مشکل واماندگی حافظه 40چیست و در پردازنده های چند هسته ای چگونه برطرف میشود؟ 7 Waiting Time Response Time 9 Turnaround Time 10 Memory Stall 8 )2در الگوریتم زمانبندی ،Rate-Monotonicبرای نحوه اجرای پردازه های زیر ،نمودار گانت رسم کنید و میزان استفاده پردازنده 44 را اندازه بگیرید: اگر به لیست پردازه های باال ،پردازه چهارمی با مشخصات P4=10,T4=3اضافه شود ،توضیح دهید میزان استفاده پردازنده به چه صورت خواهد بود؟ )8برنامه زیر به زبان C++و با استفاده از POSIX Threadsنوشته شده است .در این برنامه ،آرایه ای به نام answersتعریف شده است و هر تابع ،بیانگر یک گیت از مدارهای منطقی است که با توجه به نیاز برنامه ،در پاسخ خود ،یکی از خانه های آرایه answersرا مقداردهی میکند .هرکدام از مقادیر D,S,E,F,Cبیانگر یک سیم هستند .به خروجی های چاپ شده دقت کنید و بیان کنید که در این برنامه ،چه ماژولی پیاده سازی شده است؟ برای افزایش سرعت برنامه ،چه بهبودی میتوان در آن ایجاد کرد؟ (راهنمایی :به موازی تر کردن انجام عملیات فکر کنید) CPU Utilization 11 )4الف)توضیح دهید که کدام الگوریتم های زیر میتوانند منجر به قحطی زدگی 47شوند؟ در صورت امکان ،راه حلی برای جلوگیری از این مورد ارائه کنید: FCFS -4 SJF (Shortest Job First) -7 Round Robin -9 Priority-Based -9 ب) فرض کنید زمانبندی ما بر پایه SJFطراحی شده است .طول هرکدام از CPU Burstها را قبل از انجام آنها ،پیش بینی کنید: (حدس اول را 8واحد در نظر بگیرید) )40توابع و فراخوانی های سیستمی در هر سیستم عامل با دیگری متفاوت است .مثال در ویندوز ،نمیتوان از کتابخانه های فراخوانی سیستمی لینوکس و مثال دستور )( forkاستفاده کرد .بررسی کنید که با این وصف ،چگونه میتوان برنامه های چند سکویی 49 طراحی کرد؟ Starvation Cross-Platform 12 13
© Copyright 2025 Paperzz