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

حفاظت در مدیریت حافظه به روش ابتدایی - فاطمه ارشد ای تی - ۰۲ اردیبهشت ۱۳۹۴ ۰۴:۵۶ ب.ظ

در صفحه ۳۶۱ سیستم عامل دکتر حقیقت برای حفاظت در مدیریت حافظه به روش ابتدایی امده است:
حفاظت
در سیستمهای چند کاربره باید از حافظه متعلق به برنامه یک کاربر، در مقابل دسترسی (خواندن یا نوشن) برنامه سایر کاربران حفاظت به عمل آید.
بعضی از برنامه ها مانند برنامه های خطرناک و مضر خودشان را در حین اجرا تغییر میدهند و همیشه می توانند یک دستورالعمل جدید را تولید کرده و به آن دستورالعمل پرش کنند با توجه به اینکه برنامه ها در این سیستم به جای ادرس های نسبی (نسبت به یک رجیستر ) از ادرس های مطلق حافظه استفاده می کنند هیچ راهی برای جلوگیری از ساختن یک دستورالعمل جهت نوشتن و یا خواندن یک کلمه حافظه توسط یک برنامه وجود ندارد.
من اصلا۴ خط اخر (پاراگراف دوم) بالا را نمی فهمم می شه اگه کسی می دونه برام توضیح بده

RE: حفاظت در مدیریت حافظه به روش ابتدایی - Farzamm - 03 اردیبهشت ۱۳۹۴ ۱۱:۰۴ ق.ظ

(۰۲ اردیبهشت ۱۳۹۴ ۰۴:۵۶ ب.ظ)فاطمه ارشد ای تی نوشته شده توسط:  در صفحه ۳۶۱ سیستم عامل دکتر حقیقت برای حفاظت در مدیریت حافظه به روش ابتدایی امده است:
حفاظت
در سیستمهای چند کاربره باید از حافظه متعلق به برنامه یک کاربر، در مقابل دسترسی (خواندن یا نوشن) برنامه سایر کاربران حفاظت به عمل آید.
بعضی از برنامه ها مانند برنامه های خطرناک و مضر خودشان را در حین اجرا تغییر میدهند و همیشه می توانند یک دستورالعمل جدید را تولید کرده و به آن دستورالعمل پرش کنند با توجه به اینکه برنامه ها در این سیستم به جای ادرس های نسبی (نسبت به یک رجیستر ) از ادرس های مطلق حافظه استفاده می کنند هیچ راهی برای جلوگیری از ساختن یک دستورالعمل جهت نوشتن و یا خواندن یک کلمه حافظه توسط یک برنامه وجود ندارد.
من اصلا۴ خط اخر (پاراگراف دوم) بالا را نمی فهمم می شه اگه کسی می دونه برام توضیح بده

مسئله خیلی ساده است، در سیستم های چندبرنامگی، برنامه های به صورت پویا در مکان های متفاوت حافظه (پارتیشن های مختلف حافظه) قرار می گیرند و از طرفی نیاز است راهکاری برای کنترل دسترسی برنامه ها به محدوده حافظه برنامه های دیگر داریم که به این کار حفاظت می گویند. حال اگر قرار باشد آدرس دهی مطلق باشه یعنی اگر قرار آدرس جایی را بدهیم یا به جایی پرش کنیم آدرس همان مکان را در دستور بنویسیم، چون برنامه ها می توانند در هر جایی از حافظه قرار گیرند پس نمی توانیم مکان هایی از حافظه که هر برنامه نباید به آنجا برود (آدرس های غیرمجاز) را ذخیره کنیم مثلاً اگر ۱۰ برنامه داشته باشیم برای حافظت باید لیست بزرگی از خانه های غیر مجاز را برای هر یک از برنامه ها در جایی ذخیره کنیم و هر دفعه که یکی از آنها می خواهد به آدرسی برود باید این لیست را جستجو کنیم که آیا آدرس مجاز است یا خیر، که این کار عملاً غیر ممکن است. ولی اگر آدرسی نسبی باشد به راحتی با مجهز کردن سخت افزار به دو ثبات Base و limit این مشکل را رفع کرد. به این صورت که آدرس شروع هر برنامه رو در ثبات Base (یا آدرس شروع پارتیشن) و اندازه برنامه (یا اندازه پارتیشن ) را در limit قرار می دهیم و به این صورت با دو عمل جمع و مقایسه میشه به راحتی حد مجاز هر برنامه را تشخیص داد.

RE: حفاظت در مدیریت حافظه به روش ابتدایی - فاطمه ارشد ای تی - ۰۳ اردیبهشت ۱۳۹۴ ۱۱:۵۶ ق.ظ

(۰۳ اردیبهشت ۱۳۹۴ ۱۱:۰۴ ق.ظ)Farzamm نوشته شده توسط:  
(02 اردیبهشت ۱۳۹۴ ۰۴:۵۶ ب.ظ)فاطمه ارشد ای تی نوشته شده توسط:  در صفحه ۳۶۱ سیستم عامل دکتر حقیقت برای حفاظت در مدیریت حافظه به روش ابتدایی امده است:
حفاظت
در سیستمهای چند کاربره باید از حافظه متعلق به برنامه یک کاربر، در مقابل دسترسی (خواندن یا نوشن) برنامه سایر کاربران حفاظت به عمل آید.
بعضی از برنامه ها مانند برنامه های خطرناک و مضر خودشان را در حین اجرا تغییر میدهند و همیشه می توانند یک دستورالعمل جدید را تولید کرده و به آن دستورالعمل پرش کنند با توجه به اینکه برنامه ها در این سیستم به جای ادرس های نسبی (نسبت به یک رجیستر ) از ادرس های مطلق حافظه استفاده می کنند هیچ راهی برای جلوگیری از ساختن یک دستورالعمل جهت نوشتن و یا خواندن یک کلمه حافظه توسط یک برنامه وجود ندارد.
من اصلا۴ خط اخر (پاراگراف دوم) بالا را نمی فهمم می شه اگه کسی می دونه برام توضیح بده

مسئله خیلی ساده است، در سیستم های چندبرنامگی، برنامه های به صورت پویا در مکان های متفاوت حافظه (پارتیشن های مختلف حافظه) قرار می گیرند و از طرفی نیاز است راهکاری برای کنترل دسترسی برنامه ها به محدوده حافظه برنامه های دیگر داریم که به این کار حفاظت می گویند. حال اگر قرار باشد آدرس دهی مطلق باشه یعنی اگر قرار آدرس جایی را بدهیم یا به جایی پرش کنیم آدرس همان مکان را در دستور بنویسیم، چون برنامه ها می توانند در هر جایی از حافظه قرار گیرند پس نمی توانیم مکان هایی از حافظه که هر برنامه نباید به آنجا برود (آدرس های غیرمجاز) را ذخیره کنیم مثلاً اگر ۱۰ برنامه داشته باشیم برای حافظت باید لیست بزرگی از خانه های غیر مجاز را برای هر یک از برنامه ها در جایی ذخیره کنیم و هر دفعه که یکی از آنها می خواهد به آدرسی برود باید این لیست را جستجو کنیم که آیا آدرس مجاز است یا خیر، که این کار عملاً غیر ممکن است. ولی اگر آدرسی نسبی باشد به راحتی با مجهز کردن سخت افزار به دو ثبات Base و limit این مشکل را رفع کرد. به این صورت که آدرس شروع هر برنامه رو در ثبات Base (یا آدرس شروع پارتیشن) و اندازه برنامه (یا اندازه پارتیشن ) را در limit قرار می دهیم و به این صورت با دو عمل جمع و مقایسه میشه به راحتی حد مجاز هر برنامه را تشخیص داد.

متشکرم متوجه شدم ممنونم