تالار گفتمان مانشت

نسخه‌ی کامل: کارشناسی ارشد کامپیوتر - سراسری 71
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
راه حل این سوالو طبق نوشته های دکتر حقیقت پارسه متوجه نمی شم ، لطفا کامل مرحله به مرحله توضیح داده شود

در مورد overlay driver چیست؟
در مدیریت حافظه به روش [tex]Overlay[/tex] برنامه از قبل به [tex]Overlay[/tex] های مجاز تقسیم شده. ضمنا سیستم عامل [tex]Overlay[/tex] ها رو روی دیسک نگهداری میکنه و در مواقع لزوم عملیات مبادله رو انجام میده. وظیفه سیستم عامل هم تقسیم برنامه به [tex]Overlay[/tex] هاست.
تنها نکته این سوال حافظه مورد نیاز برای [tex]Overlay Driver [/tex] که تو متن کتاب بهش اشاره ای نشده.
واضحه که برای مصرف کمترین مقدار از حافظه باید برنامه های غیر ضروری از حافظه به دیسک مبادله بشن.

ابتدا [tex]A[/tex] وارد حافظه میشه ( [tex]5K[/tex] مصرف میشه). با اجرای دستور [tex]Call D[/tex] ،
[tex]D[/tex] هم وارد حافظه میشه ( تا اینجا [tex]5K 15K=20K[/tex] ).
طی اجرای [tex]D[/tex] دستور [tex]Call E[/tex] رو داریم و [tex]E[/tex] وارد حافظه میشه ( تا اینجا [tex]20K 7K=27K[/tex] ).
با اتمام [tex]E[/tex] برنامه جدیدی وارد حافظه نمیشه پس از اتمام [tex]E[/tex] حافظه رو از اوون میگیریم.( تا اینجا [tex]27K-7K=20K[/tex] ).
در ادامه با اجرای دستور [tex]Call B[/tex] برنامه [tex]B[/tex] هم وارد حافظه میشه( تا اینجا [tex]20K 9K=29K[/tex] ). با اتمام این دستور
[tex]B[/tex] از حافظه خارج میشه( تا اینجا [tex]29K-9K=20K[/tex] ).
در ادامه [tex]D[/tex] هم تموم میشه و [tex]D[/tex] هم از حافظه پاک میشه( تا اینجا [tex]20K-15K=5K[/tex] ).
نوبت به اجرای [tex]Call F[/tex] میرسه و [tex]F[/tex] وارد حافظه میشه( تا اینجا [tex]5K 10K=15K[/tex] ).
در حین اجرای [tex]F[/tex] برنامه [tex]C[/tex] هم اجرا میشه( تا اینجا [tex]15K 10K=25K[/tex] ). با اتمام [tex]C[/tex] برنامه [tex]F[/tex] هم اجرا میشه و با اتمام [tex]F[/tex] برنامه [tex]A[/tex] هم تموم میشه.
بیشترین مقدار مصرف حافظه بخاطر حضور همزمان [tex]A,B,D[/tex]است که [tex]29K[/tex] هست و ضمنا [tex]2K[/tex] هم بخاطر [tex]Overlay Driver [/tex] که میشه جمعا [tex]31K[/tex]
لینک مرجع