برنامه نویسی

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

Summarize this content to 400 words in Persian Lang
این مقاله تفاوت های حافظه فیزیکی و منطقی، آدرس ها و روش های مختلف تخصیص حافظه از جمله پارتیشن بندی ثابت، پارتیشن بندی پویا و سیستم دوستان را در سیستم عامل ها توضیح می دهد.

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

به زبان ساده، حافظه مکانی فیزیکی است که داده ها در آن ذخیره می شوند و آدرس، آدرس حافظه داده های ذخیره شده در یک ثبات است. رجیسترها معمولاً به عنوان نوعی از حافظه کامپیوتری که مستقیماً در پردازنده یا واحد پردازش مرکزی (CPU) ساخته شده است نامیده می شود که برای ذخیره و دستکاری داده ها در طول اجرای دستورالعمل ها استفاده می شود (Hopkins, 2023).

حافظه یک جزء ضروری از عملکرد یک سیستم کامپیوتری است. “حافظه کامپیوتر حداقل در دو سطح سازماندهی شده است که به آنها حافظه اصلی و حافظه ثانویه گفته می شود” (Stalings, 2018, p. 315).

حافظه اصلی را حافظه سیستم یا حافظه دسترسی تصادفی (RAM) نیز می نامند. RAM فرار است، به این معنی که ذخیره سازی دائمی را فراهم نمی کند، به عنوان مثال، اگر کامپیوتر را خاموش کنید، داده های ذخیره شده در RAM کامپیوتر از بین می رود. علاوه بر این، CPU از RAM برای ذخیره و دسترسی سریع به داده های لازم برای اجرای فرآیندها استفاده می کند.

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

برای پیوند مفاهیم مختلف:

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

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

آدرس منطقی که آدرس مجازی نیز نامیده می شود (با حافظه مجازی اشتباه نشود) توسط CPU در طول اجرای برنامه تولید می شود. مجموعه ای از تمام آدرس های منطقی تولید شده برای یک برنامه به عنوان فضای آدرس منطقی برنامه نامیده می شود.
از طرف دیگر آدرس فیزیکی به مکانی در RAM اشاره می کند و توسط واحد مدیریت حافظه (MMU) محاسبه می شود که یک جزء سخت افزاری است که مسئول ترجمه یک آدرس منطقی به یک آدرس فیزیکی است. از طریق MMU این از حافظه فیزیکی در برابر دسترسی مستقیم یک برنامه محافظت یا محافظت می کند. به عبارت دیگر، برنامه ها نمی توانند مستقیماً به داده های ذخیره شده در رم دسترسی داشته باشند، به طور غیر مستقیم به آن دسترسی دارند. مجموعه ای از تمام آدرس های فیزیکی مربوط به آدرس های منطقی به عنوان فضای آدرس فیزیکی نامیده می شود.

شکل های زیر رابطه بین آدرس منطقی، آدرس های فیزیکی، CPU و MMU را نشان می دهند.(Silberschatz و همکاران، 2018، شکل 9.5، شکل 9.2، شکل 9.1)

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

به عنوان مثال، در شکل اول:

CPU یک مقدار آدرس منطقی 346 ایجاد کرد.
MMU یک آدرس پایه (رجیستر جابجایی) مقدار 14000 مطابق با مقدار پایه فضای آدرس فیزیکی ایجاد کرد.
MMU آدرس منطقی را به آدرس فیزیکی با استفاده از آدرس پایه ترجمه می کند، در اینجا 346 + 14000 = 14346.

به طور خلاصه، CPU آدرس های منطقی را تولید می کند و MMU آنها را به آدرس های فیزیکی برای دسترسی به داده های ذخیره شده در حافظه فیزیکی ترجمه می کند.

رم چگونه برای ذخیره داده ها پارتیشن بندی می شود؟

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

این روش ها حافظه (RAM) را تخصیص می دهند، این به طور پیوسته انجام می شود، به این معنی که به هر فرآیند محاسباتی یک بلوک از حافظه اختصاص داده می شود که در مجاورت بلوک های فرآیند دیگر قرار دارد. این استفاده کارآمد از حافظه را تضمین می کند و تکه تکه شدن را کاهش می دهد (تخصیص حافظه پیوسته، nd).(تصاویر از Stallings، 2018، ص 321)

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

ویژگی های پارتیشن بندی ثابت:

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

ویژگی های پارتیشن بندی دینامیک:

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

ویژگی های سیستم دوستان:

این ترکیبی از روش های پارتیشن بندی ثابت و پویا است
حافظه به پارتیشن هایی با اندازه های مختلف تقسیم می شود، اما هر اندازه توان آن 2 است. برای مثال، با شروع یک بلوک با اندازه 1024 کیلوبایت، می توان آن را به بلوک های کوچکتر “رفیق” با اندازه های 512 کیلوبایت، 256 کیلوبایت، 128 کیلوبایت، 64 کیلوبایت، 32 کیلوبایت تقسیم کرد. ، 16 کیلوبایت، 8 کیلوبایت، 4 کیلوبایت، 2 کیلوبایت و 1 کیلوبایت
هنگامی که یک فرآیند درخواست حافظه می کند، سیستم یک پارتیشن رایگان با اندازه دقیق درخواستی را بررسی می کند. اگر پارتیشنی با اندازه دقیق وجود نداشته باشد، سیستم یک پارتیشن بزرگتر را به دو نیم تقسیم می کند (و در صورت لزوم به تقسیم کردن ادامه می دهد) تا زمانی که پارتیشنی با اندازه صحیح داشته باشد.
هنگامی که حافظه آزاد می شود، سیستم بررسی می کند که آیا “رفیق” پارتیشن آزاد شده (پارتیشن مجاور با همان اندازه) نیز آزاد است یا خیر. اگر اینطور باشد، سیستم دو پارتیشن را در یک پارتیشن بزرگتر با قدرت بعدی با اندازه 2 ترکیب می کند. این ترکیب (یا ادغام) تا زمانی ادامه می یابد که سیستم نتواند پارتیشن آزاد شده را با دوست خود ترکیب کند.
سیستم بادی مصالحه خوبی بین استفاده کارآمد از حافظه و کاهش تکه تکه شدن ارائه می دهد. این کارآمدتر از پارتیشن بندی ثابت است، زیرا می تواند فرآیندهای اندازه های مختلف را با انعطاف بیشتری انجام دهد. و با ادغام بلوک های حافظه آزاد، تکه تکه شدن خارجی را که می تواند برای پارتیشن بندی پویا مشکل ساز باشد، کاهش می دهد.
با این حال، سیستم دوستان دارای اشکالاتی است. یکی از این موارد سربار است که شامل تقسیم و ترکیب بلوک های حافظه است.

در نتیجه، حافظه فیزیکی و منطقی – آدرس های فیزیکی و منطقی نقش اساسی در نحوه مدیریت ذخیره سازی و دسترسی به داده ها توسط یک سیستم عامل دارند. حافظه فیزیکی به سخت افزار واقعی (RAM) اشاره دارد. از سوی دیگر، حافظه منطقی یک انتزاع برای اجرای فرآیند است. واحد مدیریت حافظه (MMU) آدرس های منطقی را به آدرس های فیزیکی ترجمه می کند. علاوه بر این، روش های تخصیص حافظه مانند پارتیشن بندی ثابت، پارتیشن بندی پویا و سیستم دوستان برای مدیریت استفاده از RAM و به حداقل رساندن تکه تکه شدن استفاده می شود.

مراجع:

افتراکادمی (2020، 30 مارس). _تفاوت سیستم عامل Logical Address WRT با Physical Address چیست؟ _بعد از آکادمی. https://afteracademy.com/blog/چه-تفاوت-بین-نشانی-منطقی-و-فیزیکی-wrt-operating-system/

تخصیص حافظه پیوسته (nd). دوره های آنلاین و کتابخانه کتاب های الکترونیکی. https://www.tutorialspoint.com/contiguous-memory-allocation#:~:text=Contiguous%20memory%20allocation%20is%20a,or%20adjacent%20to%20each%20other.

هاپکینز، جی (2023، 24 مه). رجیستر در CPU چیست و چگونه کار می کند؟ بلاگ کل فاز. https://www.totalphase.com/blog/2023/05/what-is-register-in-cpu-how-does-it-work/

Silberschatz، A.، Galvin، PB، & Gagne، G. (2018). مفاهیم سیستم عامل [PDF]. وایلی. برگرفته از: https://os.ecci.ucr.ac.cr/slides/Abraham-Silberschatz-Operating-System-Concepts-10th-2018.pdf

Stallings، W. (2018). سیستم عامل: اجزای داخلی و اصول طراحی. پیرسون.

در ابتدا در Alex.omegapy – Medium در 8 سپتامبر 2024 منتشر شد.

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


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

به زبان ساده، حافظه مکانی فیزیکی است که داده ها در آن ذخیره می شوند و آدرس، آدرس حافظه داده های ذخیره شده در یک ثبات است. رجیسترها معمولاً به عنوان نوعی از حافظه کامپیوتری که مستقیماً در پردازنده یا واحد پردازش مرکزی (CPU) ساخته شده است نامیده می شود که برای ذخیره و دستکاری داده ها در طول اجرای دستورالعمل ها استفاده می شود (Hopkins, 2023).

حافظه یک جزء ضروری از عملکرد یک سیستم کامپیوتری است. “حافظه کامپیوتر حداقل در دو سطح سازماندهی شده است که به آنها حافظه اصلی و حافظه ثانویه گفته می شود” (Stalings, 2018, p. 315).

حافظه اصلی را حافظه سیستم یا حافظه دسترسی تصادفی (RAM) نیز می نامند. RAM فرار است، به این معنی که ذخیره سازی دائمی را فراهم نمی کند، به عنوان مثال، اگر کامپیوتر را خاموش کنید، داده های ذخیره شده در RAM کامپیوتر از بین می رود. علاوه بر این، CPU از RAM برای ذخیره و دسترسی سریع به داده های لازم برای اجرای فرآیندها استفاده می کند.

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

برای پیوند مفاهیم مختلف:

  • حافظه فیزیکی به سخت افزار حافظه واقعی یعنی RAM اشاره دارد. در حالی که می تواند به حافظه ثانویه نیز اشاره کند، برای هدف این پست، آن را به عنوان RAM تعریف می کنم.
  • حافظه منطقی، در زمینه این پست، می تواند به عنوان ثبات آدرس CPU، جایی که آدرس های منطقی داده ها ذخیره می شود، تعریف شود.

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

  • آدرس منطقی که آدرس مجازی نیز نامیده می شود (با حافظه مجازی اشتباه نشود) توسط CPU در طول اجرای برنامه تولید می شود. مجموعه ای از تمام آدرس های منطقی تولید شده برای یک برنامه به عنوان فضای آدرس منطقی برنامه نامیده می شود.
  • از طرف دیگر آدرس فیزیکی به مکانی در RAM اشاره می کند و توسط واحد مدیریت حافظه (MMU) محاسبه می شود که یک جزء سخت افزاری است که مسئول ترجمه یک آدرس منطقی به یک آدرس فیزیکی است. از طریق MMU این از حافظه فیزیکی در برابر دسترسی مستقیم یک برنامه محافظت یا محافظت می کند. به عبارت دیگر، برنامه ها نمی توانند مستقیماً به داده های ذخیره شده در رم دسترسی داشته باشند، به طور غیر مستقیم به آن دسترسی دارند. مجموعه ای از تمام آدرس های فیزیکی مربوط به آدرس های منطقی به عنوان فضای آدرس فیزیکی نامیده می شود.

شکل های زیر رابطه بین آدرس منطقی، آدرس های فیزیکی، CPU و MMU را نشان می دهند.
رابطه بین آدرس منطقی، آدرس های فیزیکی، CPU و MMU.
(Silberschatz و همکاران، 2018، شکل 9.5، شکل 9.2، شکل 9.1)

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

به عنوان مثال، در شکل اول:

  • CPU یک مقدار آدرس منطقی 346 ایجاد کرد.
  • MMU یک آدرس پایه (رجیستر جابجایی) مقدار 14000 مطابق با مقدار پایه فضای آدرس فیزیکی ایجاد کرد.
  • MMU آدرس منطقی را به آدرس فیزیکی با استفاده از آدرس پایه ترجمه می کند، در اینجا 346 + 14000 = 14346.

به طور خلاصه، CPU آدرس های منطقی را تولید می کند و MMU آنها را به آدرس های فیزیکی برای دسترسی به داده های ذخیره شده در حافظه فیزیکی ترجمه می کند.

رم چگونه برای ذخیره داده ها پارتیشن بندی می شود؟

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

این روش ها حافظه (RAM) را تخصیص می دهند، این به طور پیوسته انجام می شود، به این معنی که به هر فرآیند محاسباتی یک بلوک از حافظه اختصاص داده می شود که در مجاورت بلوک های فرآیند دیگر قرار دارد. این استفاده کارآمد از حافظه را تضمین می کند و تکه تکه شدن را کاهش می دهد (تخصیص حافظه پیوسته، nd).
بلوک های غیر پیوسته به هم پیوسته
(تصاویر از Stallings، 2018، ص 321)

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

ویژگی های پارتیشن بندی ثابت:

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

ویژگی های پارتیشن بندی دینامیک:

  • اندازه پارتیشن ثابت نیست هنگامی که یک فرآیند نیاز به بارگذاری در حافظه دارد، یک پارتیشن به اندازه کافی بزرگ برای نگه داشتن فرآیند اختصاص داده می شود.
  • اغلب منجر به استفاده کارآمدتر از حافظه می شود زیرا قطعه قطعه شدن داخلی را به حداقل می رساند. از آنجایی که هر پارتیشن به اندازه کافی بزرگ است تا فرآیند خود را حفظ کند، فضای استفاده نشده کمتری در هر پارتیشن وجود دارد.
  • با وجود کاهش پراکندگی داخلی، پارتیشن بندی پویا می تواند منجر به مشکلی به نام تکه تکه شدن خارجی شود. این زمانی اتفاق می‌افتد که حافظه آزاد در طول زمان به بلوک‌های کوچک و غیر پیوسته تقسیم شود. حتی اگر مجموع حافظه آزاد کافی برای تطبیق با یک فرآیند وجود داشته باشد، اگر حافظه آزاد به هم پیوسته نباشد، ممکن است نتوان آن را تخصیص داد.
  • برای مقابله با تکه تکه شدن خارجی، ممکن است از فرآیندی به نام فشرده سازی استفاده شود. این شامل جابجایی فرآیندها در حافظه است تا تمام حافظه آزاد به هم پیوسته شود. با این حال، فشرده سازی می تواند یک کار منابع فشرده باشد.
  • برای تخصیص و عدم تخصیص حافظه به الگوریتم های کارآمد نیاز دارد. متداول ترین آنها الگوریتم های “برازش اول” و “برازش بعدی” هستند که هر کدام از نظر استفاده از حافظه و سرعت تخصیص، معاوضه های خاص خود را دارند.

ویژگی های سیستم دوستان:

  • این ترکیبی از روش های پارتیشن بندی ثابت و پویا است
  • حافظه به پارتیشن هایی با اندازه های مختلف تقسیم می شود، اما هر اندازه توان آن 2 است. برای مثال، با شروع یک بلوک با اندازه 1024 کیلوبایت، می توان آن را به بلوک های کوچکتر “رفیق” با اندازه های 512 کیلوبایت، 256 کیلوبایت، 128 کیلوبایت، 64 کیلوبایت، 32 کیلوبایت تقسیم کرد. ، 16 کیلوبایت، 8 کیلوبایت، 4 کیلوبایت، 2 کیلوبایت و 1 کیلوبایت
  • هنگامی که یک فرآیند درخواست حافظه می کند، سیستم یک پارتیشن رایگان با اندازه دقیق درخواستی را بررسی می کند. اگر پارتیشنی با اندازه دقیق وجود نداشته باشد، سیستم یک پارتیشن بزرگتر را به دو نیم تقسیم می کند (و در صورت لزوم به تقسیم کردن ادامه می دهد) تا زمانی که پارتیشنی با اندازه صحیح داشته باشد.
  • هنگامی که حافظه آزاد می شود، سیستم بررسی می کند که آیا “رفیق” پارتیشن آزاد شده (پارتیشن مجاور با همان اندازه) نیز آزاد است یا خیر. اگر اینطور باشد، سیستم دو پارتیشن را در یک پارتیشن بزرگتر با قدرت بعدی با اندازه 2 ترکیب می کند. این ترکیب (یا ادغام) تا زمانی ادامه می یابد که سیستم نتواند پارتیشن آزاد شده را با دوست خود ترکیب کند.
  • سیستم بادی مصالحه خوبی بین استفاده کارآمد از حافظه و کاهش تکه تکه شدن ارائه می دهد. این کارآمدتر از پارتیشن بندی ثابت است، زیرا می تواند فرآیندهای اندازه های مختلف را با انعطاف بیشتری انجام دهد. و با ادغام بلوک های حافظه آزاد، تکه تکه شدن خارجی را که می تواند برای پارتیشن بندی پویا مشکل ساز باشد، کاهش می دهد.
  • با این حال، سیستم دوستان دارای اشکالاتی است. یکی از این موارد سربار است که شامل تقسیم و ترکیب بلوک های حافظه است.

در نتیجه، حافظه فیزیکی و منطقی – آدرس های فیزیکی و منطقی نقش اساسی در نحوه مدیریت ذخیره سازی و دسترسی به داده ها توسط یک سیستم عامل دارند. حافظه فیزیکی به سخت افزار واقعی (RAM) اشاره دارد. از سوی دیگر، حافظه منطقی یک انتزاع برای اجرای فرآیند است. واحد مدیریت حافظه (MMU) آدرس های منطقی را به آدرس های فیزیکی ترجمه می کند. علاوه بر این، روش های تخصیص حافظه مانند پارتیشن بندی ثابت، پارتیشن بندی پویا و سیستم دوستان برای مدیریت استفاده از RAM و به حداقل رساندن تکه تکه شدن استفاده می شود.


مراجع:

افتراکادمی (2020، 30 مارس). _تفاوت سیستم عامل Logical Address WRT با Physical Address چیست؟ _بعد از آکادمی. https://afteracademy.com/blog/چه-تفاوت-بین-نشانی-منطقی-و-فیزیکی-wrt-operating-system/

تخصیص حافظه پیوسته (nd). دوره های آنلاین و کتابخانه کتاب های الکترونیکی. https://www.tutorialspoint.com/contiguous-memory-allocation#:~:text=Contiguous%20memory%20allocation%20is%20a,or%20adjacent%20to%20each%20other.

هاپکینز، جی (2023، 24 مه). رجیستر در CPU چیست و چگونه کار می کند؟ بلاگ کل فاز. https://www.totalphase.com/blog/2023/05/what-is-register-in-cpu-how-does-it-work/

Silberschatz، A.، Galvin، PB، & Gagne، G. (2018). مفاهیم سیستم عامل [PDF]. وایلی. برگرفته از: https://os.ecci.ucr.ac.cr/slides/Abraham-Silberschatz-Operating-System-Concepts-10th-2018.pdf

Stallings، W. (2018). سیستم عامل: اجزای داخلی و اصول طراحی. پیرسون.


در ابتدا در Alex.omegapy – Medium در 8 سپتامبر 2024 منتشر شد.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا