Презентація на тему «Керування оперативною памя’ттю»

content: Лекція 7. Керування оперативною памя'ттю.Викладач:Карчевська Ольга Ігорівна,асистент кафедри інформаційних систем та технологій,Інститут підприємництва та перспективних технологійНаціонального університету “Львівська політехніка”

content: Лекція 7. Керування оперативною памя'ттю.План лекції.1. Ієрархія пам'яті.2. Функції операційної системи по керуванню пам'яттю.3. Логічні та фізичні адреси.4. Способи розподілу пам'яті.

content: 1. Ієрархія пам'ятімагнітний дискосновна пам'ятькешрегістритипи пам'ятіприблизнашвидкість доступуприблизніобсяги1 нс2 нс10 нс10 мс1 Кбайт4-15 Мбайт1 ГБ – 8 ГБ250 ГБ –2000 ГБПам'ять призначена для зберігання інформації, з якою працює процесор. Найкращим є варіант, коли доступ до пам'яті є максимально швидким. Але така пам'ять є дуже дорогою.Тому в комп'ютері використовують різні види пам'яті; при цьому дані, котрі використовуються часто, розміщують у швидшій пам'яті.Система пам'яті складається з ієрархії рівнів, котру можна зобразити наступним чином:

content: 2. Функції операційної системи по керуванню пам'яттюОперативна пам'ять – це набір комірок у запам'ятовувальному пристрої, кожна з котрих має свою адресу.Основними функціями операційної системи з управління пам'яттю є:облік вільної та зайнятої пам'яті;виділення пам'яті процесам та її вивільнення;вивантаження даних та коду процесів на диск у файл підкачки, у випадку нестачі оперативної пам'яті;переведення логічних адрес у фізичні адреси пам'яті;дефрагментація пам'яті.

content: 3. Логічні та фізичні адресиУ процесі роботи з пам'яттю використовуються наступні засоби:Символьна змінна – ідентифікатор об'єкту у мові програмування.Логічна адреса – адреса, яку генерує програма.Фізична адреса – адреса, якою оперує мікросхема пам‘яті.Схема перетворення символьних змінних у фізичні адреси пам'яті:Символьні імена надає об'єктам програміст при написанні програми.Транслятор в процесі переведення програми у машинний код генерує логічну адресу пам‘яті, з котрої потрібно зчитати наступну команду чи дані. (цю операцію виконує система програмування)Пристрій керування пам'яттю перетворює цю адресу у фізичну адресу оперативної пам'яті, де розміщено дані. (цю операцію виконує операційна система)ТрансляторПристрійкеруванняпам'яттю (MMU)ЛогічнаадресаОперативнапам'ятьФізичнаадресаПрограмаСимвольназмінна

content: 4. Способи розподілу пам'яті1. Розподіл пам'яті без використання зовнішньої пам'яті:Розподіл фіксованими розділамиРозподіл змінними розділамиРозподіл переміщуваними розділами2. Розподіл пам'яті з використанням зовнішньої пам'яті:Сегментація пам'ятіСторінкова організація пам'ятіСторінково-сегментна організація пам'яті

content: Розподіл пам'яті без використання зовнішньої пам'ятіРозподіл пам'яті фіксованими розділами передбачає поділ оперативної пам'яті на розділи фіксованої довжини. У кожен з цих розділів поміщається програма при її завантаженні.Переваги: простота реалізації.Недоліки: можна завантажити тільки обмежену кількість програм, котра дорівнює кількості розділів;неефективний розподіл пам'яті у випадку розміщення невеликої програми у великому розділі.Розподіл пам'яті змінними розділами. В такому випадку пам'ять не поділяється завчасно на розділи. Новий розділ виділяється при завантаженні нової програми відповідно до її обсягу. Якщо розділу потрібного обсягу не існує, то програма відправляється у чергу та чекає, доки інша задача не звільнить потрібний розділ.Переваги: гнучкість в процесі розподілу пам'яті.Недоліки: фрагментація пам'яті внаслідок інтенсивного завантаження/вивантаження програм.Розподіл переміщуваними розділами. Аналогічний до розподілу зі змінними розділами. Відрізняється тим, що або після вивантаження чергової задачі, або у випадку відсутності місця для нової задачі, здійснюється переміщення усіх зайнятих розділів у бік старших чи молодших адрес (стиснення).Переваги: ефективний розподіл пам'яті.Недоліки: значні витрати часу на процедуру стистення.

content: Розподіл пам'яті з використанням зовнішньої пам'яті (технології віртуальної пам'яті)Віртуальна пам'ять – це сукупність програмно-апаратних засобів, котрі дозволяють оперувати більшим обсягом пам'яті, ніж є наявної фізичної пам‘яті.Використання віртуальної пам'яті дозволяє вирішити наступні задачі:Виконувати процеси, котрим потрібно більше оперативної пам'яті, ніж встановлено на комп'ютері;Виділяти додаткову пам'ять процесу під час його виконання;Перетворювати логічні адреси у фізичні адреси пам'яті.Проблеми реалізації віртуальної пам'яті:Ефективність реалізації (механізм вибору найбільш використовуваних даних)Фрагментація пам'яті

content: Сегментація пам'ятіСуть: адресний простір процесу поділяється на логічні сегменти різної довжини, у котрих можуть міститися окремі дані чи блоки коду (сегмент даних, сегмент коду, сегмент стеку, тощо.Принцип формування адрес:Логічна адреса = номер сегменту + зміщення всередині сегментуФізична адреса = адреса сегменту + зміщення всередині сегменту.Під час завантаження програми у пам'ять створюється таблиця дескрипторів сегментів процесу, кожен елемент якої відповідає одному сегменту та складається з:- базової адреси сегменту;- значення межі (довжини сегменту);- прав доступу до цього фрагменту пам'яті.Переваги:можливість зберігати дані різної природи (наприклад, потрібно розмежувати доступ до різних сегментів програми);окремі сегменти можуть використовуватись різними процесорами;Недоліки:повільне перетворення адрес;необхідність керування блоками пам'яті змінної довжини;зовнішня фрагментація пам'яті (між сегментами можуть бути вільні ділянки пам'яті).Приклад: OS/2 ранніх версій.

content: Сегментація пам'ятіПеретворення адреси у разі сегментаціїЛогічна адреса2128НомерсегментаБаза0х1000Ліміт512Правадоступуrw12?Перевірка, чизсув < ліміті перевірка прав?+помилка доступуніОсновнапам'ятьзсув128сегмент0х10000х1000+512такзсув0х1000+128Таблиця сегментів

content: Логічний і фізичний адресний простір у разі сегментаціїЛогічнапам'ятьФізична (основна) пам'ятьСегмент 10х1000Сегмент 1Сегмент 2Сегмент 0Сегмент 20х20000х5000Сегмент 312Таблицясегментів

content: Сторінкова організація пам'ятіСуть: фізичну пам'ять розбивають на блоки однакової фіксованої довжини – сторінкові блоки, логічну пам'ять розбивають на блоки такої ж довжини - сторінки.Принцип формування адрес:Логічна адреса = номер сторінки + зміщенняФізична адреса = номер_блоку * 2ⁿ + зміщення. (2ⁿ - розмір сторінки)Під час завантаження програми у пам'ять створюється таблиця сторінок, кожен елемент якої відповідає одній сторінці та складається з:- номеру сторінки;- базової адреси сторінкового блоку;- прав доступу до цього фрагменту пам'яті.Переваги:спрощення розподілу та звільнення пам'яті, оскільки всі сегменти рівноправні;Спрощення операцій з диском (диск теж можна розбити на фіксовані ділянки);Недоліки:таблиці сторінок значно більші за розміром, ніж таблиці сегментів;внутрішня фрагментація пам'яті (в середині сторінок можуть бути вільні ділянки пам'яті).Приклад: UNIX, Windows.

content: Сторінкова організація пам'ятіПеретворення адреси у разі сторінкової організації пам'ятіЛогічна адреса2128НомерсегментаНомерстор. блоку1Правадоступуrw12?Перевірка прав.?+помилка доступуНемає правОсновнапам'ятьзсув128Сторінковийблок0х10000х1000+512Права єзсув0х1000+128Таблиця сторінокn біт+Визначення фізичної адреси за формулою:номер_блоку * 2ⁿ + зсув.НомерсторінкиФізичніадреси

content: Логічний і фізичний адресний простір у разі сторінкової організації пам'ятіЛогічнапам'ятьФізична (основна)пам'ятьСторінка 13Сторінка 3Сторінка 0Сторінка 0Сторінка 246Сторінка 2ТаблицясторінокСторінка 321Номер фреймуНомер сторінки13Сторінка 1Номер фрейму124563

content: Сторінково-сегментна організація пам'ятіСуть: здійснюється комбінація сторінкової та сегментної організації пам'яті, віртуальна пам'ять поділяється на сегменти, а сегменти – на сторінки.Етапи перетворення логічної адреси у фізичну:У програмі задають логічну адресу з використанням сегменту і зміщення,Логічну адресу перетворюють у віртуальну адресу за правилами сегментації,Віртуальну адресу перетворюють за правилами, заданими для сторінкової організації.

content: Висновки:1. Основними видами пам'яті є: регістри, кеш, оперативна пам'ять, жорсткий диск.2. Оперативна пам'ять – це набір комірок у запам'ятовувальному пристрої, кожна з котрих має свою адресу.3. У процесі роботи з пам'яттю використовуються символьні змінні, логічні адреси та фізичні адреси.4. Виділяють розподіл пам'яті без використання зовнішньої пам'яті та з використанням зовнішньої пам'яті.5. До методів розподілу пам'яті без використання зовнішньої пам'яті відносять розподіл фіксованими розділами, розподіл змінними розділами, розподіл переміщуваними розділами.6. До методів розподілу пам'яті використанням зовнішньої пам'яті відносять сегментацію пам'яті, сторінкову організацію пам'яті, сторінково-сегментну організацію пам'яті.

content: Література:Шеховцов В. А. Операційні системи. – К.: BHV, 2005 . -576 с.Таненбаум. Э. Современные операционные системы.2-е изд. – СПб.: Питер, 2002. – 1040 с.