تالار گفتمان مانشت
کارشناسی ارشد کامپیوتر - سراسری ۷۱ - نسخه‌ی قابل چاپ

کارشناسی ارشد کامپیوتر - سراسری ۷۱ - فاطمه ارشد ای تی - ۲۷ اردیبهشت ۱۳۹۴ ۰۲:۲۷ ب.ظ

راه حل این سوالو طبق نوشته های دکتر حقیقت پارسه متوجه نمی شم ، لطفا کامل مرحله به مرحله توضیح داده شود

در مورد overlay driver چیست؟

RE: کارشناسی ارشد کامپیوتر - سراسری ۷۱ - gunnersregister - 05 خرداد ۱۳۹۴ ۱۲:۱۰ ق.ظ

در مدیریت حافظه به روش [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]