حل تشریحی سوالات سیستم های عامل پیشرفته - کنکور دکتری مهندسی کامپیوتر 1402
سوالات سیستم های عامل پیشرفته
15 سوالیک سیستم کامپیوتری با درجه چندبرنامگی 8 مفروض است (8 برنامه در حال اجرا در حافظه). اگر هر فرایند 70 درصد از زمانش را صرف عملیات I/O کند، چند درصد از CPU در حال استفاده است؟
92
94
96
99
در یک سیستم کامپیوتری، فرایندها تعداد 1024 صفحه در فضای آدرسشان دارند. سربار ناشی از خواندن یک صفحه از حافظه RAM برای 5 نانوثانیه است. برای کاهش این سربار در این سیستم کامپیوتری از یک حافظه TLB که 32 صفحه گنجایش دارد، استفاده شده است که مدت زمان خواندن جدول صفحه از این حافظه میانگیر را به یک نانو ثانیه کاهش میدهد. اگر بخواهیم کل سربار را به 2 نانوثانیه کاهش دهیم، میزان Hit rate چقدر باید باشد؟
75
60
40
25
یک سیستم عامل بیدرنگ نرم (soft real time) چهار رویداد متناوب که در دورههای زمانی 200,100,50 و 250 میلی ثانیه دائم تکرار میشوند را اجرا میکند. فرض کنید این چهار رویداد نیازمند 10,20,35 و x میلی ثانیه از CPU باشند. حداکثر مقدار ممکن برای x چند میلی ثانیه است؟
15/5
12/5
125
155
یک شبکه همپوشان غیرساخت یافته (Unstructured Overlay Network) متشکل از 20 گره در اختیار داریم که در آن هر گره بهصورت تصادفی تعداد 6 گره را به عنوان همسایه انتخاب میکند. اگر گرههای A و B هر دو همسایه گره C باشند، احتمال این همسایه یکدیگر نیز باشند، کدام است؟
در یک سیستم توزیع شده از روش نامگذاری سلسه مراتبی از نوع hierarchical location service استفاده میشود. اگر این سیستم دارای عمق 8 باشد و قرار باشد یک موجودیت سیار، مکان فعلی که در آن قرار دارد را ترک و به مکان جدیدی برود، در بدترین حالت چه تعداد رکورد مرتبط با موفقیت این موجودیت باید تغییر یابد؟
8
9
17
18
یک سامانه نرمافزاری بر روی ماشینی با سیستم عامل لینوکس با معماری سختافزاری ARM(RISC,32bit) پیادهسازی و اجرا شده است. فرض کنید کاربران با گوشیهای تلفن همراه خود که مجهز به سیستم عامل اندروید و یا IOS است میتوانند به راحتی با این سامانه تبادل اطلاعات کنند. در این حالت کدام یک از شفافیتهای زیر توسط این سیستم توزیع شده تضمین شده است؟
Replication transparency
Access transparency
Migration transparency
Relocation transparency
در یک سیستم توزیع شده، دو ماشین را فرض کنید که در هر ساعت، از سرور UTC زمان دقیق را دریافت میکنند. ساعت ماشین اول دقیق است و 1000 بار در هر میلی ثانیه میزند (Clock tick). اگر ساعت ماشین دوم 990 بار در هر میلی ثانیه بزند، پس از گذشت یک ساعت و به هنگام دریافت ساعت دقیق از UTC، ماشین دوم چقدر باید ساعت خود را جلو بکشد تا با ماشین اول همزمان شود؟
36 میلی ثانیه
60 میلی ثانیه
36 ثانیه
60 ثانیه
فرض کنید در یک سیستم توزیع شده، کاربران از یک File Server تقاضای دانلود فایل میدهند. اگر فایل مورد نظر کاربران در حافظه پنهان (کش) سرور قرار داشته باشد، مدت زمان پردازش درخواست 15 میلی ثانیه است. اگر فایل درخواستی در حافظه هارد دیسک قرار داشته باشد، 75 میلی ثانیه دیگر به این زمان افزوده میشود. در این سیستم بهطور معمول 25 درصد درخواستها در حافظه هارد دیسک قرار دارد. اگر این سرور بهصورت تک نخی پیاده سازی شده باشد، در هر ثانیه چه تعداد درخواستی را میتواند پاسخگو باشد؟ اگر چند نخی پیادهسازی شود چطور؟ (فرض کنید سیستم در حالت چندنخی بتواند عملیات دیسک را با تقاضاهای دیگر همپوشانی کند.)
40 درخواست در حالت تک نخی، 57 درخواست در حالت چندنخی
25 درخواست در حالت تک نخی، 67 درخواست در حالت چندنخی
30 درخواست در حالت تک نخی، 57 درخواست در حالت چندنخی
30 درخواست در حالت تک نخی، 67 درخواست در حالت چندنخی
در یک محیط اینترنت اشیا، قرار است تعداد 15 حسگر برای پایش دمای یک خانه هوشمند مورد استفاده قرار گیرند و نتایج حاصل از ارسال دادهها توسط حسگرها در یک سیستم مرکزی تجمیع و ذخیره شود. سیستم مرکزی پس از دریافت دادهها، به روش رأی اکثریت (Vote of Majority) عمل میکند و سپس داده با بیشترین رأی را بهعنوان نتیجه نهایی ذخیره میکند. در صورت خرابی حسگرها، این محیط حداکثر تا چه تعداد خرابی را میتواند تحمل کند؟ اگر خرابی حسگرها از نوع بیزانسی باشد، تا چه تعداد خرابی قابل تحمل خواهد بود؟
غیربیزانسی 7، بیزانسی 4
غیربیزانسی 8، بیزانسی 3
غیربیزانسی 6، بیزانسی 5
غیربیزانسی 7، بیزانسی 7
در طراحی سیستمها، خصوصا سیستمهای کامپیوتری، بعضی معیارها و پارامترها برای ارزیابی سیستم مورد استفاده قرار میگیرند. کدام یک از معیارهای زیر از همه معیارها در طراحی سیستم مهمتر است؟
درست بودن سیستم Correctness
کامل بودن سیستم Completeness، طراحی باید کامل باشد.
سادگی سیستم Simplicity، طراحی باید تا حد ممکن ساده باشد.
سازگار بودن سیستم Consistency، هر گونه ناسازگاری در سیستم پذیرفته نیست.
بحث همروندی پراسس ها، Concurrency ، در سیستمهای تک پردازنده، Uniprocessor، مبحث سخت و مهمی در طراحی سیستمهاست. دلیل اصلی و مهم این پدیده در سیستمهای تک پردازنده کدام است؟
سیاستهای زمانبندی سیستم، موجب race condition در سیستم میشود.
وقفههای interrupts، سختافزاری و نرمافزاری در سیستم
جایگزین کردن نخهای Thread، در حال اجرا در سیستم
نیاز به اجرای اتمیک (atomic)، برنامهها در سیستم
دستور زیر که برای قفل کردن در سیستم به کار میرود را در نظر بگیرید.
While(test_end_set(lock));
کدام مورد در رابطه با این مکانیسم قفل کردن درست است؟
این مکانیسم نیاز به پشتیبانی توسط سختافزار دارد.
کل دستور باید بهصورت اتمیک (atomic)، اجرا شود.
این مکانیسم همیشه راحتتر و سریعتر از شیوههای دیگر قفل کردن است.
موارد 1 و 2
کدام مورد در رابطه با طراحی سیستمهای عامل میکروکرنل، microkernel، نادرست است؟
این سیستمها مکانیسم IPC (Interprocess Communication) را برای ارتباط ما بین قسمتهای مختلف سیستم بهکار میگیرند. به همین دلیل کارائی (Performance)، بالایی دارند.
فلسفه طراحی آنها این است که کاربر ملزومات اجرای برنامهها را بهتر میداند. بنابراین مدیریت منابع در خارج کرنل و به عهده کاربر میگذارد.
با کوچک کردن کرنل سعی در ساخت سیستمهای کارا و امن دارند.
قابلیت گسترش (Extensibility)، بسیار خوبی دارند.
معمولا سیستمهای عامل در سیستمهای چند پردازنده Multiprocessors کارایی متناسب با تعداد هسته ها Cores از خود نشان نمی دهند؟
هسته های داخل سیستم معمولاً دارای (ISA (Instruction Set Architecture مختلف هستند و این کار بهینه سازی طراحی سیستم و پیاده سازی مؤثر کدها را عملاً غیر ممکن می کند.
به اشتراک گذاشتن منابع و ساختمانهای داده و مانع اصلی در مقیاس پذیری این سیستم هاست.
برد سیستم و باس Bus به صورت گلوگاه برای تبادل اطلاعات مابین هسته در می آید.
زمانبندی پردازنده ها به صورت یک گلوگاه در سیستم عمل می کند.
امروزه زیاد از مجازی سازی virtualization در صنعت کامپیوتر صحبت میشود کدام مورد از مزایای مجازی سازی محاسبه نمی شود؟
Disaster Recovery Good test and development environment Application Flexibility
Isolation Performance s Utility computing Server Consolidation
Cloud Computing Server Consolidation a Fault Tolerance
Fault Tolerance High Availability Utility computing