
- •Види пам'яті.
- •Класифікація оп:
- •Напівпровідникові запам'ятовуючі пристрої.
- •Типи динамічної пам'яті.
- •Едо (Extended Data Output) dram.(Гіперсторінковим режимом обміну нрм (Hyper Page Mode).)
- •Тип ведо (Burst edo) dram.
- •Синхронні типи пам'яті
- •Перспективні типи пам'яті.
- •Пам'ять із внутрішнім кэшем.
- •(Нове покоління типів пам'яті.)
- •Порівняльна характеристика і перспективні типи динамічної пам'яті.
- •Коротка характеристика розглянутих типів пам'яті
- •Використання відеопам'яті. Стандартні архітектури
- •Відеопам'ять (ram).
- •Відеопам'ять (rom).
- •Необов'язкова пам'ять rom і ram.
- •Нові типи відеопам'яті
- •Що нас очікує в майбутньому?
- •Віртуальна пам'ять і організація захисту пам'яті Концепція віртуальної пам'яті
- •Сторінкова організація пам'яті
- •Сегментація пам'яті
- •Логічне представлення основної пам'яті пеом.
- •Стандартна пам'ять.
- •Додаткова пам'ять.
- •Верхня пам'ять.
Сегментація пам'яті
Інший підхід до організації пам'яті спирається на той факт, що програми звичайно розділяються на окремі області-сегменти. Кожен сегмент являє собою окрему логічну одиницю інформації, що містить сукупність даних або програм і розташовану в адресному просторі користувача. Сегменти створюються користувачами, що можуть звертатися до них по символічному імені. У кожнім сегменті установлюється своя власна нумерація слів, починаючи з нуля.
Звичайно в подібних системах обмін інформацією між користувачами будується на базі сегментів. Тому сегменти є окремими логічними одиницями інформації, які необхідно захищати, і саме на цьому рівні вводяться різні режими доступу до сегментів. Можна виділити два основних типи сегментів: програмні сегменти і сегменти даних (сегменти стека є часткою случаємо сегментів даних). Оскільки загальні програми повинні мати властивість повторної входимості, те з програмних сегментів допускається тільки вибірка команд і читання констант. Запис у програмні сегменти може розглядатися як незаконна і заборонятися системою. Вибірка команд із сегментів даних також може вважатися незаконної і будь-який сегмент даних може бути захищений від звертань по записі або по читанню.
Для реалізації сегментації було запропоновано кілька схем, що відрізняються деталями реалізації, але засновані на тих самих принципах.
У системах із сегментацією пам'яті кожне слово в адресному просторі користувача визначається віртуальною адресою, що складається з двох частин: старші розряди адреси розглядаються як номер сегмента, а молодші - як номер слова усередині сегмента. Поряд із сегментацією може також використовуватися сторінкова організація пам'яті. У цьому випадку віртуальна адреса слова складається з трьох частин: старші розряди адреси визначають номер сегмента, середні - номер сторінки усередині сегмента, а молодші - номер слова усередині сторінки.
Як і у випадку сторінкової організації, необхідно забезпечити перетворення віртуальної адреси в реальну фізичну адресу основної пам'яті. З цією метою для кожного користувача операційна система повинна сформувати таблицю сегментів. Кожен елемент таблиці сегментів містить описатель (дескриптор) сегмента (полючи бази, границі й індикаторів режиму доступу). При відсутності сторінкової організації поле бази визначає адреса початку сегмента в основній пам'яті, а границя - довжину сегмента. При наявності сторінкової організації поле бази визначає адреса початку таблиці сторінок даного сегмента, а границя - число сторінок у сегменті. Поле індикаторів режиму доступу являє собою деяку комбінацію ознак блокування читання, записи і виконання.
Таблиці сегментів різних користувачів операційна система зберігає в основній пам'яті. Для визначення розташування таблиці сегментів програми, що виконується, використовується спеціальний регістр захисту, що завантажується операційною системою перед початком її виконання. Цей регістр містить дескриптор таблиці сегментів (базу і границю), причому база містить адресу початку таблиці сегментів програми, що виконується, а границя - довжину цієї таблиці сегментів. Розряди номера сегмента віртуальної адреси використовуються як індекс для пошуку в таблиці сегментів. Таким чином, наявність базово-граничних пар у дескрипторі таблиці сегментів і елементах таблиці сегментів запобігає можливість звертання програми користувача до таблиць сегментів і сторінок, з якими вона не зв'язана. Наявність в елементах таблиці сегментів індикаторів режиму доступу дозволяє здійснити необхідний режим доступу до сегмента з боку даної програми. Для підвищення ефективності схеми використовується асоціативна кеш-пам'ять.