حل تشریحی سوالات سیستمهای عامل پیشرفته - کنکور دکتری مهندسی کامپیوتر 1399
سوالات سیستمهای عامل پیشرفته
15 سوالکدام مورد، قالب صحیح دستورات fork و Join است؟
fork<label>
Join<label>
fork<label>
Join<var>
fork<var>
Join<label>
fork<var>
Join<var>
برای دوری کردن از حالت مسابقه، حداکثر تعداد پردازههایی که میتواند در یک ناحیه بحرانی وجود داشته باشد کدام است؟
صفر
یک
دو
بیشتر از دو
سه پردازه و رخدادهای زیر را در نظر بگیرید.
P1: m1, m2, m3
P2: m4 ,m5, m6
P3: m7, m8, m9
در این سه پردازه، بین رخدادهای بین پردازهای رابطه و برقرار است. در این خصوص کدام گزینه نادرست است؟
دنباله (m1, m7, m4, m8, m5, m2, m3,m9, m6) شرایط FIFO را دارد.
دنباله (m1, m4, m2, m5, m7, m8, m3, m6, m9) شرایط FIFO را دارد.
دنباله (m1, m4, m2, m5, m7, m8, m3, m6, m9) ترتیب علّی (causal) را دارد.
دنباله (m1, m7, m4, m8, m5, m2, m3,m9, m6) ترتیب علّی (causal) را دارد.
کدام مورد در خصوص سامانههای همزمان (Synchronous) درست است؟
در یک ساماه همزمان، برای زمان اجرا اکران وجود دارد.
در یک ساماه همزمان، اجرا بهصورت همزمان انجام میشود.
در یک ساماه همزمان، برای زمان انتشار پیامها کران وجود دارد.
در یک ساماه همزمان، برای زمان انتشار پیامها و زمان اجرا کران وجود دارد.
کدام عبارت داده شده نادرست است؟
پروتکل TCP از پروتکل UDP برای فراخوانی بهصورت RPC که پاسخی حدود 100 کیلوبایت باز میگرداند، بهتر است.
حافظه نهان مبتنی بر (Callback based caching) callback یک سیستم فایل توزیع شده را stateless میکند.
پروتکل UDP از پروتکل TCP برای ارسال جویبار صدا (Streaming voice over IP) روی IP بهتر است.
RPC به شیوه دیگری از فراخوانی محلی استفاده میکند، زیرا خطاهای مختلفی را تعریف میکند.
برای پیادهسازی یک مرحله از استفاده انحصاری توزیع شده (distributed mutual exclusion) که مربوط به در اختیار گرفتن و آزاد کردن lock است، در یک سامانه با n گره چند پیام جابهجا میشود؟
یک سیستم توزیع شده ممکن است دارای مناطق بحرانی متعدد و مستقل باشد تصور کنید که پردازه P0 می خواهد وارد ناحیه بحرانی A شود و پردازه P1 میخواهد وارد ناحیه بحرانی B شود. آیا الگوریتم Ricart - Agrawala میتواند به بن بست منجر شود؟ الگوریتم به صورت زیر است:
class CriticalRegionLockout extends GlobalAssertion
{
private LogicalTime[] try Times = new LogicalTime(RicartAgrawala.PNUM);
private int procTnCR=-1, procTryingLonger = -1;
public CriticalRegionLockout()
{
for (int i=0; i<try Times. length; i++)
try Times[i] = null;
}
public boolean assert(Program progs[])
{
for (int i=0; i<progs.length; i++)
if (((Prog) progs[i].region==Prog.T)
try Times[i] = ((Prog) progs[i]).lastTry Time;
//now check when an process is in th CR, if another one is still
//trying but started to try earlier. this should not happen.
for (int i=0; i<progs.length; i++)
if (((Prog) progs[i]).region==Prog.C)
{
for (int j=0; j<progs.length; j++)
{
if(((Prog) progs|j]).region==Prog.T && try Times|j].lessThan(try Times[i]))
{
procInCR = i;
procTryingLonger = j;
return false;
}
}
}
return true;
}
}
خیر - بنبست رخ نمیدهد.
بله - پردازه منبع A را میگیرد و پردازه P0 منبع B را میگیرد.
بله - پردازه منبع A را میگیرد و پردازه P0 منبع B را درخواست میکند و پردازه منبع A را میگیرد.
بله - پردازه منبع A را میگیرد و پردازه P0 منبع B را میگیرد و سپس پردازه منبع B را درخواست می کند.
در یک سامانه totally ordered multicast با n گره، هیچ اشکالی (failure) رخ نمیدهد، پیامی که از یکی از این گرهها ارسال میشود، برای این که بهصورت in-order دریافت شود، چند پیام ACK نیاز است؟
O(n)
O(logn)
O(nlogn)
یک بردار تقدم (precedence) کدام قابلیت را فراهم میکند؟
ترتیب کلی پیامها (Total ordering)
ترتیب همزمانی پیامها (Sync ordering)
ترتیب علّی پیامها (Causal ordering)
ترتیب زمان عمومی پیامها (Global time ordering)
کدامیک از الگوریتمهای انتخابات (clection) همیشه نیاز به تماس با همه اعضا گروه را ندارد؟
الگوریتم Bully
الگوریتم Ring
الگوریتم Chang and Roberts ring
همه الگوریتمها همواره نیاز به تماس با همه اعضا را دارند.
سخت افزارهای MMU آدرسهای مجازی را به آدرسهای فیزیکی در فضای حافظهٔ قابل دسترسی ترجمه کنند مدیر ماشین مجازی (Virtual memory manager-VM) باید لایه دیگری از ترجمه را به آن اضافه کند و آدرسهای "فیزیکی" ماشین مجازی (که اکنون مجازی سازی شده است) را به آدرسهای دستگاههای واقعی نگاشت .کند یکی از بهینه سازیهای متداول استفاده از سخت افزار MMC در جداول صفحه سایه (Shadow page) است، که بهطور مستقیم نگاشتهای مجازی را به آدرسهای دستگاه نشان میدهد. VMM جداول صفحههای سایه را براساس جداول صفحه سیستم عامل مهمان و نگاشت صفحه دستگاه «فیزیکی» خود محاسبه میکند همچنین VMM میتواند با استفاده از منابع خارج از دسترس جداول صفحه سایه، عملیات به روزرسانی را در جداول صفحه سیستم عامل مهمان رهگیری کند. آیا همیشه میتوان از جداول صفحات سیستم عامل مهمان محافظت نکرد و فقط به سیستم عامل مهمان اجازه داد که جداول صفحه خود را به طور مستقیم در حافظه دستکاری کند؟
خیر - در هیچ حالتی ممکن نیست
بله - در هر حالتی ممکن است.
بله - در بعضی حالتها ممکن است.
VMM دسترسی کافی برای انجام این کار را ندارد
کدام مورد در خصوص یک Hold-back queue که در شکل زیر آمده درست است؟

پیامها را نگه داشته و مرتب میک کند تا بتواند آنها را به ترتیب صحیح ارسال کند.
پیامهای دریافتی را بافر کند تا آنها را با نرخ ثابت به برنامههای رسانهای ارسال کند.
پیامها را تا زمانی که یک برنامه کاربردی آمادگی دریافتی داشته باشد نزد گیرنده نگه میدارد.
پیامها را نزد فرستنده نگه میدارد تا در صورت از دست رفتن داده در شبکه امکان ارسال مجدد آن وجود داشته باشد.
MapReduce یک چارچوب بسیار محبوب برای محاسبات توزیع شده در خوشههای بزرگ است زیرا بسیاری از قسمتهای پیچیده در فرایند تولید گرههای زیاد برای انجام یک کار را میپوشاند و به طور کلی با محاسبات با کارایی بالا (LIPC) که بر اساس ارسال پیام پیکربندی شده است مناسب است کدام تکنیک مورد استفاده برای ارائه تحمل خطا در این چارچوب است؟
Check Point
Active Replication
Passive Replication
هیچ کدام
(Precision Time Protocol) PTP کدام موضوع را بیان میکند؟
یک نسخه گسترش یافته از (Network Time Protocol) NTP با دقت -۱۲۸ بیت برای نمایش مقادیر زمانی است.
تفاوت بین تأخیر ارتباط فراسو (up) (link) با فروسو (Down (link) را اندازه گیری و حسابرسی میکند.
نیازمند آغاز فرایند همگام سازی با میزبان (Server) از جانب مشتری (Client) است.
تأخیرهای ارتباط فراسو (Uplink) و فروسو (Downlink) را متقارن در نظر میگیرد.
یک Master clock Berkeley دارای ساعت ۱:۲۰:۰۰ است. دو سیستم متبوع (A (Slave و B وجود دارد که همگام با مدیر (Master) هستند سیستم A دارای ساعت ۲۰:۰۴ : ۱ و سیستم B دارای ساعت ۱:۲۰:۰۵ است. بعد از همگام سازی (Synchronizing) ساعت سیستم A کدام است؟
1:20:00
1:20:02
1:20:03
1:20:04