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

یک سوال کلی از حافظه ی مجازی - m-kafiyan - 16 آذر ۱۳۹۳ ۱۰:۰۷ ب.ظ

دانشمندان و مهندسان عزیز شب همگی بخیرBig Grin

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

با یک مفهوم اولیه مشکل دارم Huh و اونم اینکه حافظه ی مجازی این جدوول مجازی که تو صفحه ۳۸۸ کتاب پارسه بهش اشاره میشه دقیقا کجاست؟

تو دیسک؟
من درک نمیکنم اگر مجازی هست اگر نیست درواقع(آخه دکتر حقیقت سر کلاسشون گفتند فرض کنین یک زمین زراعتی به شما میدهند بعد شماهم کل خانواده رو بزاری کار کنند شاید نتونین از اون زمین استفاده کنید گفتند اون فضا هدر هم برود مهم نیست چون فرضی هست ،مجازی هستف مجازی که هدر رفتن نداره هر چی میخواهی هدرش بده به کسی آسیب میرسونه وقتی فضا رو فرض کردی؟نه )
اگر مجازیه خوب چرا داریم ادرسش رو حساب میکنیم یعنی ام ام یو رو درگیر محاسبه ی آدرس فیریکی کنیم؟
من یک مقدار روی این موضوع گیر کردم
کسی هست بتونه کمک کنه؟Dodgy

RE: یک سوال کلی از حافظه ی مجازی - Mohammad-A - 18 آذر ۱۳۹۳ ۱۰:۴۵ ب.ظ

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

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

RE: یک سوال کلی از حافظه ی مجازی - m-kafiyan - 18 آذر ۱۳۹۳ ۱۰:۵۱ ب.ظ

(۱۸ آذر ۱۳۹۳ ۱۰:۴۵ ب.ظ)Mohammad-A نوشته شده توسط:  حافظه‌ی مجازی به اندازه‌ی تعداد بیت‌های گذرگاه تعیین میشه. فکر میکنم در کتاب سیستم عامل دکتر هم این موضوع گفته شده.
اینکه چرا آدرس‌دهی انجام میشه، به خاطر این هست که بالاخره اطلاعاتی که در جدول‌های مجازی وجود داره، به آدرس‌هایی ترجمه بشه که ما یا روی RAM داریم یا روی Disc

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

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

RE: یک سوال کلی از حافظه ی مجازی - Mohammad-A - 18 آذر ۱۳۹۳ ۱۰:۵۸ ب.ظ

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

بنابراین در حافظه‌ی مجازی این مفهوم وجود نداره که ما میاییم و چندین برابر ظرفیتی که حافظه‌ی اصلی ما داره، صفحه ذخیره میکنیم. در حقیقت، طی یک بازه‌ی زمانی ممکنه اندازه‌ی صفحاتی که فراخوانی میشه و باعث اجرا شدن یک فرایند به صورت کامل میشه، بیشتر از حافظه‌ی اصلی بشه.