سوال ۱۰۱ کنکور ارشد مهندسی کامپیوتر ۱۴۰۱
اگر نرخ انتقال اطلاعات بین حافظه اصلی و حافظه مجازی بهطور متوسط ، اندازه هر فرایند بهطور متوسط باشد و سیستم عامل چند برنامگی (Multi program) باشد که بتواند فرایندهای زیادی داخل حافظه بارگذاری کرده و همزمان با DMA اجرا نماید و هر فرایند به CPU به مدت میلی ثانیه نیاز داشته باشد، نرخ بهرهوری CPU به کدام مورد نزدیکتر است؟
پاسخ صحیح: گزینهٔ A — ٪۱۰۰
Setup
Each process must first be brought into main memory over the DMA channel, then it uses the CPU.
Transfer (I/O) time per process — moving at :
CPU time per process:
Because DMA transfers data without occupying the CPU, the loading of one process overlaps with the computation of others.
Multiprogramming utilization model
In the classic multiprogramming model, a process spends a fraction of its life-time waiting on I/O (here, waiting to be loaded by DMA):
With processes resident in memory at once, the probability that all of them are simultaneously blocked on I/O (leaving the CPU idle) is , so
Take the limit
The key phrase is that the system can load many processes («فرایندهای زیادی») and run them concurrently with DMA, i.e. the degree of multiprogramming is large. Since ,
Already for a modest the term collapses (, ), pushing utilization toward . With many overlapped processes the CPU is essentially never starved.
Hence the CPU utilization is closest to — option 1.
Exam trick: The whole purpose of multiprogramming + DMA overlap is to hide I/O latency. When the problem says “many processes loaded concurrently,” read it as in , so utilization — do not compute the single-process ratio , which would only apply to one job with no overlap.