HW2.pdf

‫به نام خدا‬
‫تمرین دوم درس سیستمهای عامل ‪1‬‬
‫دانشگاه صنعتی شریف – دانشکده مهندسی کامپیوتر‬
‫ترم اول سال تحصیلی ‪49-49‬‬
‫‪‬‬
‫مهلت ارسال این تمرین تا روز دوم آذر ماه ساعت ‪ 99:34‬می باشد‪.‬‬
‫‪‬‬
‫پاسخ تمرینات خود را به آدرس ‪ [email protected]‬ارسال نمایید‪ .‬دقت کنید که پاسخ ها تنها در قالب یک فایل ‪ pdf‬بوده‬
‫و نام آن و عنوان ایمیل ارسالی با فرمت ‪ )88101111-HW1( StudentID-HW1‬ارسال گردد‪( .‬پاسخهایی که با این فرمت ارسال‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫نشوند در هنگام تصحیح با مشکل مواجه خواهند شد‪).‬‬
‫ارسال پاسخها به ازای هر روز تاخیر شامل ‪ %52‬کسر نمره خواهد شد و بعد از چهار روز به آن نمرهای تعلق نمیگیرد‪.‬‬
‫در صورت شباهت تمرینات ارسالی و احراز رونوشت بودن آنها برای هر دو نفر نمره صفر در نظر گرفته میشود‪.‬‬
‫کپی برداری محض و ترجمه از سایتهای اینترنتی نمره ای نخواهد داشت‪.‬‬
‫‪‬‬
‫هرگونه سوال یا ابهام خود را به ایمیل ‪ [email protected]‬ارسال کنید‪.‬‬
‫‪)1‬‬
‫یک پردازه در حافظهی ‪ RAM‬به چه صورت قرار میگیرد و از چه بخشهایی تشکیل شده است؟ هر کدام را نام برده و توضیح مختصر‬
‫دهید‪.‬‬
‫به طور مشروح‪ ،‬اتفاقاتی را که هنگام تعویض بافتار پردازهها اتفاق میافتد (‪ )Context Switching‬را بیان کنید‪ .‬در ‪ PCB‬چه‬
‫اطالعاتی ذخیره میشود؟ نام ببرید‪.‬‬
‫دستورهای ‪ exec ،fork‬و‪ wait‬در ‪ POSIX‬هر کدام چه کاری انجام میدهند؟ شرح دهید‪.‬‬
‫انواع ‪ scheduling‬را از لحاظ فراوانی تعداد دفعات اجرا نام برده و توضیح دهید‪.‬‬
‫پردازههای زامبی (‪ )Zombie‬و یتیم (‪ )Orphan‬را توضیح دهید‪..‬‬
‫مشکالت زیر در ‪ RPC‬وجود دارند‪ .‬راهحل برطرف کردن آنها را بیان کنید‪:‬‬
‫‪little/big-endian .a‬‬
‫‪ .b‬درخواست تکراری به علت خرابی‪/‬ازدحام شبکه‬
‫پنج چالش در برنامهنویسی چندهستهای را نام ببرید‪.‬‬
‫منظور از ‪ LWP‬و کاربرد آن چیست؟ (‪)Lightweight process‬‬
‫میدانید که ‪ Google Chrome‬برای هر ‪ tab‬یک پردازهی جداگانه ایجاد میکند‪ .‬اگر بجای این کار از ‪ threading‬استفاده‬
‫میکرد چه مزایایی را از دست میداد و چه بهرهای میبرد؟‬
‫در برنامهی زیر چند پردازهی یکتا و چند ریسه (‪ )thread‬یکتا ایجاد میشود؟ توضیح دهید‪.‬‬
‫‪)5‬‬
‫‪)3‬‬
‫‪)4‬‬
‫‪)2‬‬
‫‪)6‬‬
‫‪)7‬‬
‫‪)8‬‬
‫‪)9‬‬
‫‪)11‬‬
‫;‪PID t pid‬‬
‫;)(‪pid = fork‬‬
‫{ )‪if (pid == 0‬‬
‫;)(‪fork‬‬
‫;)‪thread create( . . .‬‬
‫}‬
‫;)(‪fork‬‬