logo

Керування пам'яттю в операційній системі (ОС)

У цій статті ми детально розберемося в управлінні пам'яттю.

Що ви маєте на увазі під керуванням пам’яттю?

Пам'ять - це важлива частина комп'ютера, яка використовується для зберігання даних. Керування нею має вирішальне значення для комп’ютерної системи, оскільки обсяг основної пам’яті, доступної в комп’ютерній системі, дуже обмежений. У будь-який час за нього змагаються багато процесів. Крім того, для підвищення продуктивності кілька процесів виконуються одночасно. Для цього ми повинні зберігати кілька процесів в основній пам’яті, тому ще важливіше ефективно ними керувати.

livecricket.is
Управління пам'яттю

Роль управління пам'яттю

Нижче наведено важливі ролі керування пам’яттю в комп’ютерній системі:

  • Менеджер пам’яті використовується для відстеження стану ділянок пам’яті, незалежно від того, чи є вона вільною чи виділеною. Він звертається до первинної пам’яті, надаючи абстракції, щоб програмне забезпечення сприймало, що йому виділено велику пам’ять.
  • Менеджер пам’яті дозволяє комп’ютерам із невеликим об’ємом основної пам’яті виконувати програми, які перевищують розмір або обсяг доступної пам’яті. Це робиться шляхом переміщення інформації вперед і назад між первинною пам’яттю та вторинною пам’яттю за допомогою концепції обміну.
  • Менеджер пам'яті відповідає за захист пам'яті, виділеної для кожного процесу, від пошкодження іншим процесом. Якщо цього не зробити, система може проявляти непередбачувану поведінку.
  • Менеджери пам’яті повинні дозволяти спільне використання простору пам’яті між процесами. Таким чином, дві програми можуть перебувати в одному місці пам’яті, хоча й у різний час.

Методи управління пам'яттю:

Методи управління пам'яттю можна класифікувати за такими основними категоріями:

  • Схеми управління безперервною пам'яттю
  • Схеми управління несуміжною пам'яттю
Управління пам'яттю

Схеми керування безперервною пам'яттю:

У схемі безперервного керування пам’яттю кожна програма займає один безперервний блок ділянок зберігання, тобто набір ділянок пам’яті з послідовними адресами.

Схеми управління окремою безперервною пам'яттю:

Схема єдиного безперервного керування пам’яттю є найпростішою схемою керування пам’яттю, яка використовувалася в комп’ютерних системах самого раннього покоління. У цій схемі основна пам'ять розділена на дві суміжні області або розділи. Операційні системи постійно знаходяться в одному розділі, як правило, у нижній частині пам’яті, а процес користувача завантажується в інший розділ.

Переваги схем управління одиночною безперервною пам'яттю:

  • Простий у виконанні.
  • Простий в управлінні та дизайні.
  • У схемі єдиного безперервного керування пам’яттю після завантаження процесу йому надається повний час процесора, і жоден інший процесор не перериватиме його.

Недоліки схем управління одиночною безперервною пам'яттю:

  • Втрата простору пам’яті через невикористану пам’ять, оскільки процес навряд чи використає весь доступний простір пам’яті.
  • Центральний процесор залишається неактивним, чекаючи, поки диск завантажить двійковий образ в основну пам'ять.
  • Її не можна виконати, якщо програма занадто велика, щоб вмістити весь доступний простір основної пам'яті.
  • Він не підтримує мультипрограмування, тобто не може працювати з кількома програмами одночасно.

Кілька розділів:

Схема єдиного безперервного керування пам’яттю є неефективною, оскільки вона обмежує комп’ютери виконувати лише одну програму за раз, що призводить до втрати пам’яті та часу ЦП. Проблему неефективного використання центрального процесора можна подолати за допомогою мультипрограмування, яке дозволяє одночасно виконувати декілька програм. Щоб переключатися між двома процесами, операційні системи повинні завантажити обидва процеси в основну пам’ять. Операційній системі необхідно розділити доступну основну пам’ять на кілька частин, щоб завантажити кілька процесів в основну пам’ять. Таким чином, в основній пам'яті одночасно можуть перебувати кілька процесів.

Схеми кількох розділів можуть бути двох типів:

перехід непрозорості css
  • Виправлене розділення
  • Динамічне розділення

Виправлене розділення

Основна пам'ять розділена на кілька розділів фіксованого розміру за схемою керування пам'яттю фіксованого розділу або статичного розділення. Ці перегородки можуть бути як одного, так і різного розміру. Кожен розділ може містити один процес. Кількість розділів визначає ступінь мультипрограмності, тобто максимальну кількість процесів у пам'яті. Ці розділи створюються під час створення системи та залишаються фіксованими після цього.

Переваги схем управління пам'яттю з фіксованим розділенням:

  • Простий у виконанні.
  • Простий в управлінні та дизайні.

Недоліки схем управління пам'яттю з фіксованим розділенням:

  • Ця схема страждає від внутрішньої фрагментації.
  • Кількість розділів вказується під час генерації системи.

Динамічне розділення

Динамічне розділення було розроблено, щоб подолати проблеми фіксованої схеми розділення. У схемі динамічного розділення кожен процес займає стільки пам’яті, скільки йому потрібно під час завантаження для обробки. Запитуваним процесам виділяється пам’ять, доки вся фізична пам’ять не буде вичерпана або залишилося недостатньо місця для утримання процесу, який запитує. У цій схемі використовуються розділи змінного розміру, а кількість розділів не визначається під час створення системи.

Переваги схем керування пам'яттю Dynamic Partitioning:

  • Простий у виконанні.
  • Простий в управлінні та дизайні.

Недоліки схем керування пам'яттю Dynamic Partitioning:

знайти мій iphone android
  • Ця схема також страждає від внутрішньої фрагментації.
  • Кількість розділів вказується під час сегментації системи.

Схеми управління несуміжною пам'яттю:

У схемі керування несуміжною пам’яттю програма розділена на різні блоки та завантажується в різні частини пам’яті, які не обов’язково повинні бути суміжними одна з одною. Цю схему можна класифікувати залежно від розміру блоків і того, чи знаходяться блоки в основній пам'яті чи ні.

Що таке пейджинг?

Пейджинг — це техніка, яка усуває вимоги безперервного розподілу основної пам'яті. У цьому випадку основна пам’ять розділена на блоки фізичної пам’яті фіксованого розміру, які називаються кадрами. Розмір кадру має бути таким самим, як і розмір сторінки, щоб максимізувати основну пам’ять і уникнути зовнішньої фрагментації.

Переваги пейджінгу:

  • Сторінки зменшують зовнішню фрагментацію.
  • Простий у виконанні.
  • Ефективна пам'ять.
  • Завдяки рівному розміру рамок заміна стає дуже простою.
  • Використовується для швидшого доступу до даних.

Що таке сегментація?

Сегментація - це техніка, яка усуває вимоги безперервного розподілу основної пам'яті. У цьому випадку основна пам’ять розділена на блоки фізичної пам’яті змінного розміру, які називаються сегментами. Він заснований на тому, як програміст структурує свої програми. За допомогою сегментованого розподілу пам’яті кожне завдання ділиться на кілька сегментів різного розміру, по одному для кожного модуля. Прикладами таких модулів є функції, підпрограми, стеки, масиви тощо.