دانلود مقاله مدیریت حافظه اصلی

Word 72 KB 7770 38
مشخص نشده مشخص نشده کامپیوتر - IT
قیمت قدیم:۲۴,۰۰۰ تومان
قیمت: ۱۹,۸۰۰ تومان
دانلود فایل
  • بخشی از محتوا
  • وضعیت فهرست و منابع
  • اولین نگاه و شروع در ساده ترین سیستم مدیریت حافظه و سپس بررسی تدریجی برای جزئیات بیشتر وبیشتر.

    1-4 مدیریت حافظه اصلی سیستم های مدیریت حافظه به دو دسته تقسیم می شوند: آنهایی که مراحل را عقب وجلو بین حافظه اصلی ودیسک در طی کارحرکت می دهند و آنهایی که کار نمی کنند.

    آخری آسان تر است بنابراین ما آنها را ابتدا مطالعه خواهیم کرد.

    بعداض در بخ،ما صفحه گذاری کردن و معاوضه کردن را آزمایش خواهیم کرد.

    در این بخش خواننده باید درذهنش نگهدارد که معاوضه کردن و صفحه بندی کردن واقعیات هنری هستند که توسط فقدان حافظه اصلی کافی برای نگهداشتن تمام برنامه ها یک درجا بوجود می آیند.

    بدلیل اینکه حافظه اصلی ارزان تر بدست می آید.

    استدلال ها در رفتار یک نوع از دیدگاه مدیریت حافظه یا نوع دیگر ممکن است کنار گذاشته شوند.

    اگرچه برنامه ها سریعتر و بیشتر از حافظه ی که ارزان تر بدست می آید، در دسترس هستند.

    1-1-4 برنامه ریزی تکی بدون صفحه گذاری یا معاوضه ساده ترین امکان دیدگاه مدیریت حافظه فقط بکاربردن یک برنامه در یک زمان است، سهیم کردن حافظه بین آن برنامه و سیستم کاربردی.

    سه نوع متفاوت در این زمنیه در شکل 1-4 نشان داده شده اند.

    سیستم کاربردی ممکن است در ته حافظه در RAM باشد، همانطورکه در شکل a 1-4 نشان داده می شود ممکن است در بالای حافه در یک ROM باشد و استراحت سیستم در RAM پانی باشد همانطور که در شکل c1-4 نشان داده می شود مدل آخری توسط سیستم های Ms-Dos کوچک استفاده می شود.

    روی IBMPC ها، سیستم موجود در BISO,ROM نامیده میشود.( سیستم داده، پردازه اصلی) وقتی سیستم در این راه زمان دهی می شود فقط یک مرحله در یک زمان می تواند انجام شود.

    به همان زودی که مصرف کننده یک سفارش را تایپ میکند سیستم کاربردی برنامه مورد نیاز را از دیسک به حافظه کپی می کند و بکار می برد.

    وقتی مرحبه به پایان می رسد سیستم بکاربرده شده یک مشخصه یا خصوصیت را نشان می دهد و برای یک سفارش جدید منتظر می ماند.

    وقتی یک سفارش دریافت می کند، یک برنامه جدید را به حافظه می برد.

    2-1-4 برنامه ریزی چندگانه با قسمت بندی های ثابت اگرچه برنامه ریزی منفرد بعضی وقتها روی کامپیوترهای کوچک بدون سیستم های کاربردی ساده استفاده می شود اغلب انجام می شود تا به مراحل چندگانه اجازه بدهد که اجرا شوند.در سیستم های زمان دار، داشتن مراحل چندگانه درحافظه در ابتدا به این معنی است که وقتی یک مرحله انجام شود و منتظر پایان رسین I/O را افزایش می دهد.

    به هر صورت حتی در کامپیوتر های شخصی،اغلب قادربودن به انجام دو یا چند برنامه در یک جا مفید است.

    آسان ترین راه برای دستیابی به برنامه ریزی چندگانه آسان است و آن تقسیم حافظه به قسمت بندی های n میباشد.

    این تقسیم بندی می تواند برای مثال بطور سالانه وقتی که سیستم شروع به کار می کند انجام شود.

    وقتی کاری پیش می آید می تواند در ورودی برای کوچکترین قسمت بندی قرارداده شود که آن را نگهدارد.

    از آنجائیکه قسمت بندی ها در این قسمت ثابت می شوند، هیچ فضای در یک قسمت بندی توسط یک کار از دست داده شده استفاده نمی شود.

    در شکل a 2-4 ما هچیگونه این سیستم از دو قسمت بندی های ثابت و مجزای ورودی را می بینیم.

    یک سازماندهی متناوب برای حفظ یک ردیف تکی در شکل b 2-4 نشان داده شده است.در هرجا که تقسیم بندی آزاد می شود، نزدیکترین کار به جلوی ردیفی که در آن ثابت می شود میتواند به سمت قسمت بدی خالی رانده شود و به اجرا دربیاید.

    از آنجائیکه تلف کردن یک قسمت بندی بزرگ روی یک کار کوچک رضایت بخش نیست، یک استراتژی متفاوتی برای جستجوی تمام ردیف ورودی در جائیکه قسمت بندی آزاد میشود وجود دارد.

    توجه کنید که آلگوریتم آخری در مقابل کارهای کوچک بعنوان بی ارزش بودن یک قسمت بندی کلی عملی می کند.

    در اینجا معمولاً دادن کوچکترین کارها، مهمترین سرویس، نه بدترین مورد نظ راست.

    یک راه آخر داشتن یک محدوده قسمت بندی کوچک می باشد.

    اینچنین قسمت بندی به کارهای کوچک اجازه خواهد داد که بدون داشتن یک قسمت بندی بزرگ برای آنها وارد عمل شوند.

    موضوع بعدی داشتن یک قانون است که یک کاری که در نظر گرفته می شود ممکن است بیشتر از زمان های k انجام شود.

    هر زمانی که در نظر گرفته می مشود به یک نقطه می رود.

    وقتی نقاط k را درنظر می گیریم ممکن نیست که دوباره موضع را عوض کرده و رد شوند.

    این سیستم با قسمت بندی های ثابت توسط کاربرد صحیح و بدون تغییر بعد از آن توسط 260/OS روی چارچوبهای اصلی IBM بزرگ را چندین سال استفاده شوند که MFT نامیده شدند( برنامه ریزی چندگانه با یک تعداد ثابتی از وظایف را OS/MFT ) فهمیدن آن ساده است و بطور ساده وبرابری اجرا می شود.

    کارهای ورودی ردیف می شوند تا یک تقسیم بندی مناسب قابل دسترسی باشد در زمانی که کار بارگیری می شود به آن قسمت بندی و تا اینکه به پایان برسد و در آنجا انجام می شود.

    امروزه تعداد کمی از سیستم های کاربردی این مدل را پشتیبانی می کند.

    جایگذاری مجدد و پشتیبانی برنامه ریزی چندگانه دو مشکل اساسی را که باید حل شود را معرفی می کند.

    جایگذاری مجدد و پشتیبانی.

    کشل 2-4 را نگاه کنید.

    از شکل واضح است که کارهای متفاوتی در نشانی های متفاوتی انجام خواهد شد.

    وقتی یک برنامه نصب می شود نصل کننده باید بداند در کدام آدرس برنامه در حافظه شروع خواهد شد.

    برای مثال فرض کنید که اولین ساختار یک نام به یک مرحله در نشانی کامل 10 در فایل تولید شده توسط نصب کننده است.

    اگر این برنامع فرستاده شود و در قسمت 1 که ساختار به نشانی کامل 100 خواهد پرید که در داخل سیستم کاربردی است آنچه که مورد نیاز است یک نام به k 100+100 است.

    اگر برنامه فرستاده شود به بخش 2 باید بعنوان یک نام به k200+100 و غیره فرستاده شود.

    این مسئله بعنوان مسئله جایگزینی دوباره شناخته می شود.

    یک راه حل ممکن تعیین کردن ساختارها بعنوان برنامه فرستاده شده به حافظه می باشد .

    برنامه های برده شده به بخش 1، k 100 اضافه شده اند به هر نشانی برنامه های برده شده به قسمت 2 ، k 200 به نشانی ها اضافه شده اند.

    برای اجرای جایگزینی مجدد درطی فرستادن شبیه این، نصب کنندنه باید یک لیست یا نقشه بایت را که لغت های برنامه هستند برای جایگزینی شدن بفرستد.بعضی از میکروکامپیوترها شبیه به این کار می کنند.و جایگزینی مجدد در طی بردن مشکل را پشتیبانی را حل نمی کند.

    یک برنامه هیمشه میتواند یک ساختار جدیدی را بسازد و به آن جهش کند.

    زیرا برنامه ها در این سیسم از نشانی های حافظه کامل بیشتر از نشانی های مربوط به یک register استفاده می کند.

    هیچ راهی برای متوقف کردن یک برنامه از ساختن یک ساختار که هر لغتی را در حافظه می خواند یا می نویسد وجود ندارد.

    در سیستم های مصرف کننده چندگانه، اجازه دادن به مراحل حافظه خواندن و نوشتن به مصرف کننده دیگری است.

    راه حلی که IBM برای پشتیبانی 360 انتخاب می کند تقسیم کردن حافظه به دو بلوک k 2 بایت و یک کد پشتیبانی 4 بایت برای هر بلوک می باشد.

    psw شامل یک کلید 4 بایت می شود سخت افزار 360 هر چیزی را توسط رفتن به مرحله حافظه ورودی کد پشتیبانی را متفاوت از کلید psw می کند به دام می اندازد.

    از آنجائیکه فقط سیستم کاربردی می تواند کدهای پیشتبانی و کلید آن را تغییر بدهد مراحل مصرف کننده از مواجه با یک مورد دیگر با خود سیستم کاربردی پیشگیری می کند.

    یک راه حل متفاوت برای هر دو مشکل مجهزکردن ماشین با دو سخت افزار مخصوص می باشد کهbase ,limit نامید ه می شود.

    وقتی یک مرحله را انجام می شود عاملbase ( اصلی) با نشانی شروع قسمتش بارگیری می شد و عامل محدود(limit ) با طول قسمت بارگیری می شود هر نشانی حافظه بطور اتوماتیک بکار برده می شود و عامل اصلی موارد اضافی را شامل می شود قبل از اینکه به حافظه فرستاده شود.

    بنابراین اگر عامل اصلی، k 100 یک ساختار 100 CALL است بطور مؤثری به یک 100 + k 100 بدون اینکه خودساختار تعیین شود برگردانده می شود.

    نشانی ها در مقابل عامل محدود برای اطمینان از اینکه آنها برای نشانی حافظه بیرون از قسمت اخیر بکار برده نشده باشند بررسی می شوند.

    سخت افزار عوامل محدود اصلی(base,limit) را حمایت می کند تا برنامه های مصرف کننده را از تغییر شدن آنها پیشگیری کند.

    6600 CDC – اولین سوپر کامپیوتر دنیا- از این دیدگاه استفاده کردcpu 8088 برای IBMPC اصلی استفاده کرد یک بخش ضعیف تر از این دیدگاه – عوامل اصلی اما نه عوامل محدود.

    شروع با 286 یک دیدگاه بهتر قابل قبول شد.

    2-4 معاوضه کردن با یک سیستم گروهی، سازماندهی حافظه به سمت قسمت بندی های ثابت ساده و مؤثر است.

    هرکاری به یک قسمت وقتی که به سر ردیف می رسد فرستاده می شود و تا وقتی تمام شود درحافظه می ماند.کارهای کافی می توانند در حافظه نگهداشته شوند تا cpu را در تمام مدت مشغول نگه دارند.

    هیچ دلیلی رای استفاده از اجراشدن دیگری وجود ندارد.

    با سیستم های وقت دار یا کامپیوترهای شخصی گرافیکی موقعیت فرق می کند.

    بعضی وقتها حافظه اصلی کافی برای نگهداشتن تمام مراحل فعال وجود ندارد بنابراین مراحل باید وی دیسک نگهداشته شوند و به مرحله دینامیکی برده شوند.

    د و طرح عمومی به مدیریت حافظه می تواند انجام شود، البته وابسته به سخت افزار قابل دسترسی.ساده ترین استراتژی معاوضه نامیده می شود که شامل شورع در هر مرحله در سراسر ن بکار نداختن آن برای زمان، سپس قراردادن آن پشت دیسک می باشد.

    استراتژی دیگر حافظه مجازی نامیده میشود که به برنامه های اجازه می دهد حتی وقتی که در حافظه اصلی هستند بکار انداخته شوند.

    در قسمت پائین ما معاوضه کردن را مطالعه خواهیم کرد.

    در بخش 3-4 حافظه مجازی را آزمایش خواهیم کرد.

    کاربرد یک سیستم معاوضه در شکل 3-4 بیان شده است در ابتدا فقط مرحله A در حافظه است.

    سپس مراحل C,B خلق می شوند تا از دیسک معاوضه شوند.

    در شکل d 3-4 A به پایان می رسد یا معاوضه شوند به دیسک سپس D می آید و B می رود.

    بالاخره E می آید.

    اخلتلاف اساسی بین تقسیم بندی های ثابت شکل 2-4 و تقسیم بندیهای متغیر شکل 3-4 وجود دارد این است که تعداد،محل و سایز تقسیم بندی ها بطور دینامیکی در مرحله بعدی بعنوان مراحل آمده و رفته تغییر می کند.

    تداومی در تعداد ثابت تقسیم بندی ها که ممکن است خیلی بزرگ یا کوچک کاربرد حافظه را بهبود ببخشد وجود ندارد اما جایگیری و عدم جایگیری حافظه همانند نگهداری آن مهماست وقتی معاوضه کردن حفره های چندگانه ای را در حافظه خلق می کند ممکن است که آنها هم را به مورد بزرگ توسط حرکت دادن بعد مراحل به سمت پائین تا آنجا که ممکن است ترکیب کند.

    ای تکنیک بعنوان حافظه شناخته می شود و معمولاً انجام نمی شود.

    زیرا برنامه نیاز به زمان cpu بسیاری دارد.

    برای مثال روی یک ماشین MB -32 که می تواند 16 بایت در هر میکروثانیه کپی کند sec 2 راحت تماس پیداکردن تمام حافظه می آورد.

    یک نکته که ارزش بسیاری دارد مقدار حافظه ای است که باید برای یک مرحله وقتی که خلق می وشد یا معاوضه می شود است.

    اگر مراحل با یک سایر ثابت بوجود می آیند که هرگز تغییر نمی کنند پس جایگزینی آسان است شما دقیقاً آنچه را که نیاز است نه کمتر و نه بیشتر جایگزین می کنید.

    برای مثال قراردادن دینامیکی حافظه ای یک چیپ، همانند بسیاری از زبانهای برنامه نویسی یک مشکل بحساب می شاید وقتی که یک مرحله سعی می کند رشد کند.اگر یک حفره درمرحله ایجاد شود میتواند جایگزین شود و مرحله به حفره اجازه میدهد که رشد کند.

    از طرف دیگر اگر مرحله مربوط به مرحله دیگری بشود رشد مرحله مجبور است به یک حفره در حافظه که به اندازه کافی برای آن بزرگ است حرکت داده شود یا یک یا چند مرحله مجبورند که معاوضه شوند تا یک حفره به اندازه کافی بزرگ را خلق کنند.

    ارگ یک مرحله ی می تواند در حافظه رشد کند و منطقه را روی دیسکی که پر است معاوضه کند، مرحله مجبور خواهد بود که برای از بین رفتن صبر کند و اگر قابل قبول باشد که مراحل همانطوری که انجام می شود رشد خواهند کرد.

    احتمالاً یک عقیده خوب برای جایگزینی یک حافظه فوق العاده کوچ است این زمانی است که یک مرحله معاوضه یا حرکت کند تا همکاری باحرکت کردن و پردازش معاوضه شدن که خیلی در حافظه اختصاصی شان مناسب نیست را کاهش بدهد.

    به هر وصرت وقتیکه پردازش معاوضه به دیسک انجام می شود فقط حافظه واقعی در استفاده باید معاوضه شود.

    با یک سیستم گروهی، سازماندهی حافظه به سمت قسمت بندی های ثابت ساده و مؤثر است.

    در شکل a 4-4 ما یک شکل حافظه را در فضایی برای رشد که برای دو مرحله اختصاصی شده است می بینیم.

    اگر پردازش ها می توانند 2 قسمت رشد کرده باشند برای مثال بخش اطلاعات که بعنونان یک چیپ برای متغیرها استفاده می شود و بطور دینامیکی جایگزین می شود و یک بخش برای متغیرهای محلی نرمال و برگشت نشانی یک گزینه خودش را پیشنهاد می دهد که در شکل b 4-4 موجود است.دراین شکل می بینی که هر پردازش نشان داده شده یک بخش در بالای حافظه اش دارد که به سمت پائین در حال رشد است و یک بخش اطلاعاتی و فراتر از برنامه است که به سمت بالا در حال رشد است.حافظه بین آنها می تواند برای اجزاء بیشتر استفاده شود.

    اگر پردازش مجبور شود که به حفره با فضای کافی حرکت کند معاوضه حافظه تا یک حفره باندازه کافی بزرگ می تواند خلق شود یا از بین برود.

    1-2-4 مدیریت حافظه با نقشه های بیت( یکان کامپیوتری) وقت یحافظه بطور دینامیکی علامت گذاری م یشود سیستم کاربرد باید آنرا مدیریت کند.در وضعیت های عمومی، دو روش برای نگهداری مصرف حافظه وجود دارد.

    نقهشه های بیت ولیست های آزاد.در این بخش و بخش بعدی ما براین دو مورد توجه خواهیم کرد.

    با یک نقشه بیت حافظه به بخشهای اختصاصی شده تقسیم می شود شاید به کوچکی لغتها و شاید به بزرگی چندین کیلوبایت.

    برای در نظر گرفتن هر بخش اختصاصی یک بیت در نقشه بیت است که 0 است اگر بخش آزاد است و 1 است اگر به کار گرفته شده است.

    شکل 5-4 قسمتی از حافظه را نشان میدهد و نقشه بیت را هم در نظر می گیرد.

    سایر بخش اختصاصی یک طرح مهم است بخش اختصاصی کوچکتر، نقشه بیت بزرگتر.

    به هر صورت حتی با یک بخش اختصاص به کوچکی 4 بایت از حافظه فقط یک بایت از نقشه مورد نیاز است.

    یک حافظه 328 بایت از بایت های نقشهn استفاده خواهد کردبنابراین نقشه بایت تنها به 33/1 از حافظه برده خواهند شد.

    اگر بخش اختصاصی بزرگ انتخاب شوند نقشه بیت کوچکتر خواهد بود اما حافظه ممکن است در بخش آخر تلف شود.اگر سایز پردازش یک چندگانه دقیق از بخش اختصاصی نیست یک نقشه بیت ساده ای را برای نگهداری لغات حافظه در یک میزان ثابتی از حافظه آماده می کند زیرا سایر نقشه بیت فقط بستگی به سایر حافظه و سایر بخش اختصاصی دارد.

    مشکل اصلی با این مسئله این است که وقتی تصمیم گرفته می شود که یک پردازش بخش k ب حافظه آورده شود.مدیر حافظه بایدنقشه بایت را برای پیداکردن عملکرد k ، 0 بایت در نقشه جستجو کند.

    جستجوکردن یک نقشه بیت برای یک عملکرد طول داده شده یک عملکرد آرامی است این یک قسمت در مقابل نقشه های بایت است.

    2-2-4 مدیریت حافظه با لیست های متصل راه دیگر تگهداری حافظه حفظ کردن یک لیست متصل از بخشهای حافظه را اختصاص و آزاد است حائیکه یک بخش یا یک پردازش یا یک حفره بین دو پردازش است حافظه شکل a 5-4 درشکل c 45 بعنوان یک لیست متصل از اجزاء نشان داده می شوند هر رورودی در لیست یک حفره یا پردازش نشانی در جائیکه شروع می کند، در ازائ و اشاره کننده به ورودی بعدی را در نظر می گیرد.

    در این مثال لیست بخش توسط نشانی نگهداشته می شود.

    تقسیم کردن این روش سود دارد چون وقتی یک پرداش پایان می گیرد یامعاوضه میشود لیست به روز آوی شده ای به سمت جلو مستقیم پیش می رود.

    یک پردازش خاتمه یافته بطور نرمال دو مجاور دارد اینها ممکن است یا پردازش ها با شکاف ها باشند که هدایت می شوند که 4 ترکیب از شکل 6-4 در شکل a 6-4 به روز آوردن لیست نیاز به جایگزین کردن یک pتوسط یک H دارد.

    شکل b 6-4 و شکل c 6-4 دو ورودی تبدیل به یکی میشوند و لیست یک ورودی کوتاهتر میش ود در شکل d 6-4 سه ورودی وجود دارند و 2 حالت از لیست جابجا می شوند.چ جدول پردازش از پردازش خاتمه یافته جدا می شود و به لیست ورودی برای خود ورودی اشاره می کند.

    این ساختار آنرا آسانتر می کند تا ورودی پیشین را پیدا کنیم و آنرا ببینیم.

    وقتی پردازش ها و شکاف ها روی یک لیست نگهداشته می شوند توسط شنانی قسمت می شوند.

    چندین آلگوریتم برای حافظه اختصاصی برای یک خلق شده یامعاوضه شده جدید در پردازش می توانند استفاده شوند.

    ما میدانیم که مدیریت حافظه مقدار حافظه را نسبت به اختصاص می داند.

    آسانترین آلگوریتم اولین تناسب است مدیریت حافظه در طول لیست بخش اجرا اسکن میکند و یک شکافی را که به اندازه کافی بزرگ است پیدا می کند شکاف سپس به دو تکه شکسته میشود یکی برای پردازش و یکی برای حافظه استفاده شده بجز در حالت یک تناسب دقیق به اولین تناسب یک الگوریتم سریع است زیر با امکان خیلی کمی جستجو می کند.

    یک تنوع کوچک از اولین تناسب،تناسب بعدی است که در همان روش اولین تناسب کار می کند بجز زمانی که آن را نگه میدارد تا شکاف مناسبی پیدا کند.زمان بعدبه او گفته می شود تا یک شکاف را پیدا کند شروع به جستجو می کند در لیست مکان بجای اینکه همیشه در آغاز باشد بعنوان اولین تناسب کار می کند، تحقیقات توسطBays (1997) نشان می دهند که تناسب بعدی اجراء برتری را از اولین تناسب میدهد الگوریتم معروف دیگر بهترین تناسب است.بهترین تناسب لیست مطلق را جستجو می کند و شکاف را به دست می آورد.

    بزرگتر از شکستن یک شکاف که ممکن است بعداً نیاز شود بهترین تناسب سعی می کند که یک شکاف را پیدا ند که نزدیک سایز مورد نیاز است.

    بعنوان یک مثال از اولین تناسب و بهترین تناسب شکل 3-4 را دوباره ملاحظه کنید اگر یک بلوک از سایز 2 نیاز شود اولین تناسب حفره در 5 اختصاص خواهد داد اما بهترین تناسب شکاف در 18 را اختصاص خواهد داد.

    بهترین تناسب آهسته تر از اولین تناسب است زیرا باید هر دفعه که گفته می شود که لیست کامل راجستجو کند.

    همچنین حافظه تلف شده بیشتر از اولین تناسب یا تناسب بعدی نتیجه می دهد زیرا پرشدن حافظه رانشان می دهد.

    اولین تناسب شکاف های بزرگتر را روی میانگین فرآوری می کند.

    کشتن حول محور شکل شکست دقیقاً ما را به انتخاب یک پردازش و شکاف باریک هدایت می کند که می شود به بدترین تناسب فکر کردکه همیشه بزرگترین شکاف قابل دسترسی را ایجاد می کند.و بنابراین شکاف شکسته شده باندازه کافی مفید خواهد بود.

    نشان داده شده است که بدترین تناسب عقیده خیلی خوبی ست.

    آلگاریتم اختصاصی دیگری تناسب سریع است که لیست های مجزایی را برای بعضی از سایز های معمول تر مورد نیاز حفظ میکند.

    برای مثال ممکن است یک جدول با ورودی های n داشته باشیم که ولین ورودی یک اشاره کننده به سر لیست شکاف های k 4 است.دومین ورودی یک اشاره کننده به یک لیست شکاف های k 8 است.

    سومین ورودی یک اشاره کننده به شکاف های k 12 است و غیره.

    شکاف های k 12 میتواند بیشتر روی لیست k 20 یا روی یک لیست مخصوص شکاف های دیگر را بپوشاند.

    باتناسب سریع یافتن یک شکاف سایز مورد نیاز فوق العاده سریع است اما همان ضرر تمام دیدگاههایی را داردکه تقسیم می کند توسط اندازه شکاف وقتیکه یک پردازش خاتمه می یابد یا معاوضه میشود یافتن همسایه های آن برای دیدن یک دهم آمیختگی احتمالاً گران است.

    اگر هم آمیختن انجام شود حافظه به سرعت به یک تعداد زیادی از شکافهایی کوجک که جمع متناسب پردازش ها را ندارند می رسد.

    3-4 حافظه مجازی سالها پیش مردم اولین کاربرد با برنامه هایی را داشتند که خیلی بزرگ بوده ند رای تناسب در حافظه قابل دسترسی راه حل معمولاً با برنامه نسبت به قطعات سازگار می بود که پوشاندن نامیده می شد پوشاندن 0برای اولین بار عمل شروع خواهد شد.

    وقتی انجام شد پوشاندن دیگری نامیده خواهد شد.بعضی از سیستم های پوشاندن ترکیب شده ند پوشاندن های چندگانه در حافظه درابتدا انجام می شود.پوشاندن های روی ریسک ها وحافظه ها معاوضه شدن در داخل و بیرون توسط سیستم کاربردی بصورت دینامیکی آنچه که موردنیاز است نگکهداری می شود.اگرچه کار واقعیمعاوضه کردن پوشاندن ها در داخل و خارج توسط سیستم انجام شدکار انجام برنامه به قطعات مجبور بودکه توسط برنامهنویس انجام شود.

    از هم جداشدن برنامه های بزرگ به کوچک به قطعات مدل شده انجام میشود.

    خیلی بطور نمی انجام از یکراه به سمت تمامکاری که روی کامپیوتر انجام می شود اجرا می گردد تدی که اجرا شد بعنوان حافظه مجازی شناخته می شود.

    ایده اساسی در پشت حافظه مجازی آن استکه سایر ترکیب شده ای برای آن قابل اجرا است سیستم کاربردی آن قسمتهای برنامه جاری را در استفاده از حافظه اصلی نگه میدارد و روی دیسک استراحت می کند.

    برای مثال برنامه M 16میتواند روی ماشین M 4 توسط انتخاب دقیق که M 4 را روی حافظه در هر مقاومتی با قطعات برنامه ها و ضدشده بین دیسک و حافظه آنچنان که نیاز است قرار می گیرد اجرا می شو.

    حافظه مجازی می تواند در یک سیستم برنامه ریزی چندگانه نیزکار شود که بایتها و قطعات بسیاری از برنامه ها در ابتدا در حافظه هستند.

    وقتی یک برنامه در حال انتظار برای قسمتی از خودش است که به داخل برده شود، برایI/o منتظر می ماند و می تواند اجرا شود بنابراین cpu می تواند به پردازش دیگری داده شود همان روشی که برای هر سیستم برنامه ریزی چندگانه ای دیگری بود.

    1-3-4 صفحه بندی کردن بیشتر سیستم ها حافظه مجازی از یک تکنیک به نام صفحه بندی کردن استفاده می کنند که حالا بیان خواهد شد روی هر کامپیوتری یک سری از نشانی های حافظه وجود دارد که برنامه ها می توانند تولید کنند.

    وقتی یک برنامه از یک ساختاری شبیه زیر استفاده می کنند.

    حرکت REC ،1000 این محتویات نشانی حافظه 1000 را به RECکپی میکند نشانی ها می تواند با استفاده از بکارگیری عوامل اصلی و عوامل بعضی و جزئی و روشهای دیگر فرآوری شوند.

    این نشانی ها برنامه فرآوری شده نشانی های مجازی نامیده میشود.

    و از فضاینشای مجازی شکل می گیرد روی کامپیوترهای بدون حافظه مجازی،نشانی مجازی مستقیماً روی حافظه قرار می گیرد وباعث بوجود آوردن لغت حافظه فیزییک با همان شانی خوانده شده یا نوشته شده می شود.

    وقتی حافظه مجاز ی استفاده می شود نشانیهای مجازی مستقیماً به حافظه نمی روند بجای آن آنها به بخشمدیریت حافظه می روند و چیپ یا مجموعه چیپ ها که می کند آدرس مجازی را رو ینشان یهای حافظه فیزیکی در شکل 3-4 نشان داده میشود یک مثال خیلی ساده از چگونگی طرح ریزی کارها در شکل 8-4 نشان داده شده است در این مثال ما یک کامپیوتر داریم که می توانیم نشانی های 16 بایت را از 0 تا 64 فرآوری کند.

    اینها نشانی های مجازی هستندبه هر صورت این کامپیوتر فقط K 32 ازحافظه فیزیکی را دارد بنابراین برنامه های K 64 می توانند نوشته شوند آنها می توانندبه حافظه در سراسر شان هدایت شوند و اجرا گردند.

    یک کپی کامل از یک تصویر برنامه، بالای k 64 باید روی آسیب نشان داده شود.

    به هر صورت آن قطعات می توانند آنطورکه موردنیاز است آورده شوند.

    فضای نشانی مجازی به بخشهایی تقسیم میشوند که صفحات نامیده می شوند.

    در نظر گرفتن بخشها در حافظه فیزیکی چارچوب های صفحه نامیده می شوند.

    صفحات و چارچوب های صفحه همیشه دقیقاً به یک اندازه هستند در این مثال آنها k 4 هستند اما سایزهای صفحه از 512 بایت تا k 64 معمولاً درسیستم های موجود استفاده می شوند.

    با k 64 از فضاینشانی مجازی و 32 kاز حافظه فیزیکی ما صفحات مجازی 16 و چارچوب های صفحه 8 داریم.انتقالها بین حافظه و دیسک همیشه در بخشهایی از یک صفحه می باشد.

    وقتی برنامه سعی می کند که وارد نشانی 0 شود برای مثال از سازه زیر استفاده می شود: حرکت o.REC نشانی مجازی o به MMU فرستاده می شود.

    MM می بیندکه این نشانی مجازی درصفحه o افت می کند که بمنظور نقشه کردن آن چارچوب صفحه 2 است.

    بایدنشانی به 8192 و نشانی خروجی های 8192 منتقل شوند برد حافظه ها در تمام MMU هیچ چیزی نمی داند و فقط یک نیاز برای خواندن یا نوشتن نشانی 8192 را می شناسد که برایش مهم است بنابراین MMU بطور مؤثری طرح ریزی می شود و در تمام نشانی های مجازی بین o و 4095 به سمت نشانی هایی فیزیکی 8192 به12287 همانند سازه : حرکت REC ، 8192 بطور مؤثری منتقل می شود به: حرکت REC ، 24576 بعلت اینکه نشانی مجازی 8192 درصفحه مجازی 2 است و این صفحه نقشه می شود روی چارچوب صفحه فیزیکی 6 بعنوان سویمن مثال ، نشانی مجازی 20500 از شروع صفحه مجازی 5، 1205000 است و نقشه ها روی نشانی فیزیکی می باشند.

    این توانایی نقشه کردن صفحات مجازی 16 روی هریک از 8چارچوب صفحه با گذاشتن نقشه MMU مشکلی راکه فضای نشانی مجازی بزرگتر از حافظه فیزیکی است را حل نمی کند.

    از آنجائیکه مافقط 8 چارچوب صفحه فیزیکی داریم فقط 8 تا ا ز صفحات مجازی در شکل 8-4 روی حافظه فیزیکی طراحی می شوند.

    در سخت افزار واقعی یک بایت حاضر/غایب در هر ورودی طراحی شدن صفحه را نگه می دارد.چه اتفاقی می افتد اگر برنامه سعی کند که از یک صفحه طراحی نشده استفاده کند برای مثال با استفاد از ساختار: حرکت REC ، 32780 12 بایت در صفحه مجازی 8 چیست؟

    MMU توجه دارد که صفحه طراهی نمی شود و باعث می شود cpu برای به دام انداختن سیستم کاربردی وارد عمل شود.این به دام انداختن خطای صفحه نامیده می شود.

    سیستم کاربردی یک چارچوب صفحه کوچک استفاده شده را برمی دارد و محتویات پشت آنرا به دیسک می نویسد.

    برای مثال، اگر سیستم کاربردی تصمیم بگیرد که چارچوب صفحه 1 را بکاربرد صفحه مجازی 8 را در نشانی فیزیکی k 4 خواهد برد و 2 تغیر در نقشه MMU بوجود میآورد.

    ابتدا ورودی صفحه مجازی 1 را بعنوان یک طراحی نشده علامتگذاری می کند که هر یک از ورودیهای آینده را به نشانی های مجازی بین k 4 و k 8 به دام بیاندازد.

    سپس در ورودی صفحه مجازی 8 جایگزین می کند با یک 1 وقتیکه ساختار به دام اندازی بکاربرده می شود نشانی مجازی 3278 را به نشانی فیزیکی 4108 طراحی خواهد کرد.

    حالا اجازه دهید داخل MMU را برای دیدن چگونگی کار ها و علت انتخاب استفاده از یک سایز صفحه که در یک قدرت 2 است ببینیم.

    درد شکل 9-4 ما از یک نمونه یک نشانی مجازی 8196 استفاده می کنیم طراحی شدن با استفاده از نقشه MMU از شکل 8-4 انجام می شود.

    اب 4 بایتها برای تعداد صفحه ما می توانیم صفحات 16 و1 نشان بدهیم و با 12 بایتها می توانیم همه 4096 بایت را در یک صفحه نشان می دهیم.

    عدد صفحه بعنوان نشان دادن به جدول صفحه استفاده می شود.

    اگر حضور / غیاب بایت o است یک به دام اندازی به سیستم کاربردی را باعث م شود.

    اگر بایت 1 است عدد چارچوب صفحه در جدول صفحه پیدا می شودو به سفارش بالای 3 بایت از خروجی در طول 12 بایت کپی می شود.

    آنها با همدیگر نشانی فیزیکی 15 بایت را شکل میدهند.

    عامل خروجی سپس روی حافظه گذاشته می شود و بعنوان نشانی حافظه فیزیکی بکار برده می شود.

    2-3-4 جداول صفحه درتئوری طراحی کردن نشانیهای مجازی روی نشانی های فیزیکی همانطوری ا ست که ما بیان کرده ایم.نشانی مجازی به یک عدد صفحه مجازی تقسیم می شود.

    عدد صفحه مجازی بعنوان یک نشانگر به جداول صفحه برای پیداکردن ورودی به آن صفحه مجازی استفاده می شود.

    از ورودی جدول صفحه، عدد چارچوب صفحه پیدا می شود.

    عدد چارچوب صفحه به پایان سفارش بالا دست پیدا می کند عدد صفحه مجازی را به شکل یک نشانی فیزیکی جایگزین میکند که بتواند به حافظه فرستاده شودهدف ا جدول صفحه طرح کردن صفحات مجازی به چتارچوب های صفحه است.

    از نظر ریاضی،جدول صفحه یک عملکرد است با عدد صفحه مجازی به چارچوب های صفحه مجازی بعنوان عدد چارچوب فیزیکی درنتیجه باا ستفاده از نتیجه این عملکرد صفحه مجازی درنشانی مجازی می تواند توسط یک چارچوب صفحه جایگزین شود و همچنین یک نشانی حافظه فیزیکی فرم بگیرد.

    علیرغم این بیان ساده با دو موضوع اصلی باید مواجه شد: 1- جدول صفحه می تواند فوق العاده بزرگ باشد.

    2- نقشه ریزی کردن باید سریع باشد.

    اولین نکته از واقعیت کامپیوترهی مدرنشانی های مجازی در پایان 32 بایت پیروی می کند.

    با بکارگیری اندازه صفحه k 4 یک فضای نشانی 32 بایت یک میلیون صفحه دارد و یک فضای نشانی 64 بایت بیشتر از آن که شما بخواهید دارد با یک میلیون صفحه در فضای نشانی مجازی، جدول صفحه باید یک میلیون ورودی داشته باشد.

    بخاطر داشته باشید که هر پردازش نیاز به جداول صفحه خودش دارد.

    نکته دوم یک سلسه مراتب از واقعیتی است که نقشه کردن مجازی به فیزیکی باید روی هر حافظه مرجعی انجام شود.

    یک نوع ساختار یک لغت ساختاری دارد و اغلب یک حافظه عمل می کند.

    لازم است که 2،1 یا بعضی وقتها جدول صفحه مرجع بیشتری را در هر ساختار بسازیم.

    نیاز به طراحی صفحه سریع، بزرگ یک مسئله مهمی در روش کامپیوتر های ساخته شده است.

    مشکل خیلی جدی است.

    در این بخش و بخشهای بعدی ما به طراحی جدول صفحه در جزئیات و نشان دادن یک عدد راه حلهای سخت افزاری که در کامپیوتر های مجازی استفاده می شوند دقت می کنیم.

    ساده ترین طراحی داشتن یک صفحه منفرد شامل یک عامل سخت افزار سریع می باشد با یک ورودی برای هر صفحه مجازی که توسط عدد صفحه مجازی نشان داده می شود.وقتی یک پردازش شروع می شود سیستم کاربردی عامل ها را با جدول صفحه پردازش و گرفته شده از یک کپی نکگه داشته شده در حافظه اصلی بارگیری می کند.

    در طی پردازش هیچ مراجع حافظه ای بیشتری برای جدول صفحه موردنیاز نیست.

    فواید این روش حرکت مستقیم آن و نیاز نداشتن به مراجع حافظه درطی نقشه کردن می باشد.

    یک هنر آن ضرر گرانی بالقوه آن است.

    جدول صفحه میتواند کاملاً در حافظه اصلی باشد تمام سخت افزارها نیاز به یک عامل منفرد دارند که اشاره به شروع جدول صفحه کند.

    این طراحی اجازه می دهد که نقشه حافظه در یک سوئیچ نشانگر توسط بارگیری مجددیک عامل تغییر داده شود.

    البته یک ضرر دارد آن این است که نیاز به یک یا چند مرجع حافظه ای برای خواندن ورودیهای جدول صفحه در طی بکارگیری هر ساختاری دارد.

    به همین دلیل این طرح به ندرت درخالص ترین فرم آن استفاده می شود اما در پائین ما بعضی از متغیرها یی که اجرا بهتری دارد را مطالعه خواهیم کرد.

  • فهرست:

    ندارد.


    منبع:

    ندارد.

مقدمه استفاده از کامپیوتر در ایران از چند سال قبل رایج شده است . امروزه در موارد متعددی از کامپیوتراستفاده بعمل می آید. چرخه استفاده از کامپیوتر از مرحله تهیه سخت افزارهای لازم شروع و در ادامه با نصب تجهیزات سخت افزاری زمینه استفاده از مقولات دیگر نظیر : نرم افزار، شبکه ،اینترنت و ... فراهم می‌گردد. در زمینه بکارگیری و استفاده از پتانسیل های فوق سوالات متعدد کاربردی برای هر یک ...

در اين قسمت مي خواهيم سيستم مديريت حافظه يک سيستم عامل را مورد بررسي و کاوش قرار دهيم. ما ابتدا با يک نگاه جامع به سيستمهاي مديريت حافظه که به اختصار به آنها MM نيز ميگويند ميپردازيم و بعد سيستم هاي مديريت حافظه را در سيستم عامل هاي واقعي Linux 2.4

سيستم عامل يکي ازجنبه هاي محوري درعلوم ومهندسي کامپيوتر است که به شدت در شکل گيري درک فرد از عملکرد داخلي کامپيوتر وهمکاري متقابل سخت افزارونرم افزار تاثيري که مي تواند در طراحي وساخت سيستمهاي کامپيوتري نقش محوري ايفا نمايد. سيستم عامل يک ريزپردازند

تا چندین سال قبل فقط کسانی که به سیستم های بزرگ و گران قیمت دسترسی داشتند، می توانستند از برنامه های مدیریت بانک اطلاعاتی استفاده کنند ولی با پا به عرصه گذاشتن کامپیوتر های شخصی در نوع ، اندازه و سرعت های مختلف ، برنامه های متعددی هم ، همراه اینان وارد میدان شدند که هر کدام دارای خصوصیات منحصر به فرد خود بودند. در این میان dBASE می توانست جلوگیری از بسیاری از مشکلات مدیران و ...

مديريت حافظه براي سيستم هاي چند رشته اي نرم افزار SDSM خلاصه: زمانيکه سيستم هاي حافظه اشتراکي گسترده نرم افزار (SDSM) چند رشته اي را با بهره برداري از چند پردازشگرهاي متقارن فراهم مي آورد، اعتراض کردن چگونگي حفظ سازگاري حافظه سازگا

در هر کامپيوتر از مجموعه اي منابع سخت افزاري و نرم افزاري استفاده مي گردد که هر يک داراي جايگاه مختص به خود مي باشند . سيستم عامل ،‌ مسئوليت مديريت منابع موجود در يک کامپيوتر را برعهده دارد . مجموعه پتانسيل هاي سخت افزاري و نرم افزاري موجود و نحوه م

در اين تحقيق به ميکروپروسسورهاي PXA250 & PXA210 پرداخته مي شود. اين ميکروپروسسورها ميزان سرعت پردازش در برنامه هاي پردازشي قابل حمل، مانند pc pocket ها را افزايش مي دهند. هرکدام از اين پروسسورها در اصل يک سيستم مجتمع با قابليت پردازش بالاست که روي ي

مزایای رایانه: مزایای رایانه را می توان به شرح زیر بیان کرد. سرعت انجام عملیات وقت و صحت انجام کار قابلیت اطمینان توانایی ذخیره سازی تعریف رایانه : رایانه دستگاهی الکترونیکی است که دارای حافظه می باشد و قابل برنامه ریزی است. همچنین امکان انجام عملیات ریاضی و محاسباتی را با دقت و سرعت بالا دارد. تعریف نرم افزار: به مجموعه هماهنگ از برنامه ها که کنترل و هماهنگی فعالیت های سخت ...

در نسل سوم کامپیوتر ها (80-1965) از مدارات مجتمع (Integrated Circuit=IC) برای ساخت کامپیوترها استفاده شد. به طور کلی برنامه را می توان به دو دسته تقسیم کرد: یکی برنامه ها با تنگنای محاسباتی (CPU bound یا CPU Limited) مانند محاسبات علمی سنگین که بیشتر زمان کامپیوتر صرف محاسبات CPU می شود و دیگری برنامه ها با تنگنای (I/O Limited) I/O مانند برنامه های تجاری که بیشتر زمان کامپیوتر ...

در اواسط دهه 1980، با نزول قيمت DRAM، اين ايده مطرح شد که کامپيوترهاي آتي با داشتن حافظه اصلي با ظرفيت بالا، مي توانند بسياري از پايگاه داده ها را درحافظه اصلي داشته باشند. در اين شرايط مي توان همه I/O ها (که بسيار هزينه بر مي باشند) را از پردازش DB

ثبت سفارش
تعداد
عنوان محصول