Системні ресурси

Содержание

Слайд 2

СИСТЕМНИМИ РЕСУРСАМИ НАЗИВАЮТЬСЯ КОМУНІКАЦІЙНІ КАНАЛИ, АДРЕСИ І СИГНАЛИ, ЯКІ ВИКОРИСТОВУЮТЬСЯ ВУЗЛАМИ

СИСТЕМНИМИ РЕСУРСАМИ НАЗИВАЮТЬСЯ КОМУНІКАЦІЙНІ КАНАЛИ, АДРЕСИ І СИГНАЛИ, ЯКІ ВИКОРИСТОВУЮТЬСЯ ВУЗЛАМИ

КОМП'ЮТЕРА ДЛЯ ОБМІНУ ДАНИМИ ЗА ДОПОМОГОЮ ШИН.

Зазвичай під системними ресурсами мають на увазі:
адреси пам'яті;
канали запитів переривань (IRQ);
канали прямого доступу до пам'яті (DMA),
адреси портів вводу-виводу.

Слайд 3

У наведеному списку системні ресурси розміщені в порядку зменшення ймовірності виникнення

У наведеному списку системні ресурси розміщені в порядку зменшення ймовірності виникнення

через них конфліктних ситуацій в комп'ютері.
Найбільш поширені проблеми пов'язані з ресурсами пам'яті.
Так, виникає значно більше конфліктів, пов'язаних з ресурсами IRQ, ніж з ресурсами DMA, оскільки переривання запрошуються частіше.
Загальним для всіх видів ресурсів є те, що будь-яка встановлена в комп'ютері плата (або пристрій) повинні використовувати унікальний системний ресурс, інакше окремі компоненти комп'ютера не зможуть розділити ресурси між собою і відбудеться конфлікт.
Слайд 4

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

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

ресурси для взаємодії з усією системою і для виконання своїх специфічних функцій.
Кожній платі адаптера потрібен свій набір ресурсів. Так, послідовним портам для роботи необхідні канали IRQ і унікальні адреси портів вводу-виводу, для аудіо потрібно ще хоча б один канал DMA. Більшістю мережевих плат використовується блок пам'яті ємністю 16 Кбайт, канал IRQ і адреса порту вводу-виводу.
Слайд 5

При встановлення додаткових плат в комп'ютері зростає ймовірність конфліктів, пов'язаних з

При встановлення додаткових плат в комп'ютері зростає ймовірність конфліктів, пов'язаних з

використанням ресурсів. Конфлікт виникає при установці двох або більше плат, кожній з яких потрібно лінія IRQ або адреса порту вводу-виводу.
Для запобігання конфліктів на більшості плат встановлюються перемички або перемикачі, за допомогою яких можна змінити адресу порту вводу-виводу, номер IRQ і т. д.
В сучасних операційних системах, що задовольняють специфікації Plug and Play, встановлення правильних параметрів здійснюється на етапі інсталяції обладнання.
Слайд 6

Отже під розподілом ресурсів розуміється: розподіл адресного простору системної пам'яті, відведення

Отже під розподілом ресурсів розуміється:
розподіл адресного простору системної пам'яті, відведення

окремих областей пам'яті під особливі цілі;
розподіл адресного простору пристроїв введення / виводу, в тому числі для системних засобів комп'ютера;
розподіл каналів запиту переривань, у тому числі для системних пристроїв;
розподіл каналів запиту прямого доступу до пам'яті.
Слайд 7

РОЗГЛЯНЕМО ПРИЙНЯТИЙ В ПЕРСОНАЛЬНИХ КОМП'ЮТЕРАХ СТАНДАРТНИЙ РОЗПОДІЛ РЕСУРСІВ.

РОЗГЛЯНЕМО ПРИЙНЯТИЙ В ПЕРСОНАЛЬНИХ КОМП'ЮТЕРАХ СТАНДАРТНИЙ РОЗПОДІЛ РЕСУРСІВ.

Слайд 8

Для пам'яті, що входить до складу пристроїв введення / виводу, відводиться

Для пам'яті, що входить до складу пристроїв введення / виводу, відводиться

зона в 92 Кбайта (адреса С8000 ... DFFFF). У цьому просторі може розташовуватися як оперативна пам'ять, так і постійна пам'ять пристроїв введення / виводу.
Іноді пам'ять пристроїв введення / виводу захоплює також і зону адрес С0000 ... С7FFF.
Важливо пам'ятати, що крім цього розподілу, спільного для будь-яких програмних і апаратних засобів, існує ще розподіл пам'яті, специфічний для кожної операційної системи. Його також необхідно враховувати, щоб уникнути відмови при виконанні системних програм.
Слайд 9

РОЗПОДІЛ ПРОСТОРУ ПАМ'ЯТІ Простір пам'яті в PC-сумісних комп'ютерах використовується для розміщення

РОЗПОДІЛ ПРОСТОРУ ПАМ'ЯТІ

Простір пам'яті в PC-сумісних комп'ютерах використовується для розміщення власне

пам'яті (ОЗП, ПЗП), а також регістрів (і областей локальної пам'яті) периферійних пристроїв.
Розподіл простору пам'яті PC обумовлено особливостями системи адресації процесорів сімейства х86 та вимогами зворотної сумісності PC з ПЗ всіх попередніх поколінь.
Адресуючись у просторі пам'яті, центральний процесор і активні пристрої (майстри шин) можуть звертатися і до пам'яті периферії, відображеної на цей простір.
Відзначимо, що в логічному розподілі пам'яті фігурує фізична пам'ять (оперативна і постійна), а кеш є лише «прозорим» засобом підвищення її продуктивності і не окремою областю адресації.
Слайд 10

Процесори 8086/88 мали доступний адресний простір 1 Мбайт (20 біт шини

Процесори 8086/88 мали доступний адресний простір 1 Мбайт (20 біт шини

адреси).
Ці процесори використовували сегментну модель пам'яті, успадковану і пізнішими моделями в реальному режимі.
Відповідно до цієї моделі, виконавча (лінійна) адреса обчислюється за формулою Addr=Seg+Offset, де Seg і Offset - вміст сегментного та адресного регістрів (16-розрядних). Таким чином забезпечується доступ до адресного простору Addr = 00000 - FFFFFh за допомогою пари 16-бітних регістрів. Зауважимо, що при Seg = FFFFh і Offset = FFFFh дана формула дає адресу 10FFEFh, але через 20-бітне обмеження на шину адреси ця комбінація фізичної пам'яті вказує на адресу 0FFEFh. Таким чином, адресний простір як би згортається в кільце з невеликим «нахлестом».
Слайд 11

Починаючи з процесора 30286 шина адрес була розширена до 24 біт,

Починаючи з процесора 30286 шина адрес була розширена до 24 біт,

а згодом (386DX, 486 і вище) до 32 і навіть 36 (у процесорів Р6).
В реальному режимі процесора, що використовується в DOS, застосовується та ж сегментна модель пам'яті і формально доступний 1 Мбайт пам'яті, що є недостатнім для більшості сучасних додатків.
Процесори 80286 емулюють 8086 з помилкою: та сама одиниця в біті А20, яка відкидалась в процесорах 8086/88 тепер потрапляє на шину адреси і в результаті максимально доступна лінійна адреса в реальному режимі досягає 10FFEFh.
Слайд 12

Додаткові 64К байти оперативної пам'яті, що адресуються в реальному режимі, дозволяють

Додаткові 64К байти оперативної пам'яті, що адресуються в реальному режимі, дозволяють

звільнити дефіцитний простір оперативної пам'яті для прикладних програм.
У цю область (100000h - 10FFEFh), названу високою пам'яттю (High Memory Area, HMA) стали розміщувати частину операційної системи і невеликі резиденті програми.
Однак для повної сумісності з процесором 8086/88 в схему PC ввели вентиль лінії А20 шини адреси - GateA20, який або пропускає сигнал від процесора, або примусово обнуляє лінію А20 системної шини адреси.
Управління цим вентилем підключили до вільного програмно-керованого вихідного біту 1 контролера клавіатури 8042, що став стандартним елементом архітектури PC.
Слайд 13

Передбачалося, що цим вентилем часто користуватися не доведеться. Однак виявилося, що


Передбачалося, що цим вентилем часто користуватися не доведеться. Однак виявилося, що

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

Крім того, іноді використовували апаратну логіку швидкого декодування команди на перемикання

Крім того, іноді використовували апаратну логіку швидкого декодування команди на перемикання

біта, що надходить до контролера клавіатури. Для визначення способу перемикання в утиліту CMOS Setup ввели відповідні параметри, що дозволяли вибрати між стандартним, але повільним способом і менш стандартизованим, але швидким, в залежності від ПЗ, яке використовувалось.
Для спрощення зовнішніх схем в процесори, починаючи з 486, ввели і вентиль GateA20 з відповідним зовнішнім керуючим виводом.
Слайд 15

32 - розрядні процесори дозволили організувати режим, так званий "великий реальний"

32 - розрядні процесори дозволили організувати режим, так званий "великий реальний"

, в якому інструкції виконуються як в реальному, але доступні всі 4 гігабайти пам'яті ( для 32 - розрядної адреси ) . Цей режим стали використовувати в ігрових програмах , що захоплююють всі ресурси комп'ютера.     Основну частину адресного простору займає оперативна пам'ять. Обсяг встановленої оперативної пам'яті визначається тестом POST при початковому включенні комп'ютера , починаючи з молодших адрес. Натрапивши на відсутність пам'яті ( помилку ), тест зупиняється на досягнутому і повідомляє системі обсяг реально працюючої пам'яті.
Слайд 16

РОЗПОДІЛ ПАМ'ЯТІ ПЕРСОНАЛЬНОГО КОМП'ЮТЕРА, ЩО БЕЗПОСЕРЕДНЬО АДРЕСУЄТЬСЯ ПРОЦЕСОРОМ Адреса 00000h-9FFFFh (640

РОЗПОДІЛ ПАМ'ЯТІ ПЕРСОНАЛЬНОГО КОМП'ЮТЕРА, ЩО БЕЗПОСЕРЕДНЬО АДРЕСУЄТЬСЯ ПРОЦЕСОРОМ

Адреса 00000h-9FFFFh (640 Кбайт)

- стандартна, або базова, пам'ять (conventional, або base memory). Доступна DOS і програмам реального режиму. У деяких системах з відеоадаптером MDA верхня межа зсувається до AFFFFh (704 Кбайт). Іноді верхні 128 Кбайт стандартної пам'яті (область 80000h-9FFFFh) називають розширеною базовою пам'яттю (extended conventional memory).
Слайд 17

Адреса A0000h--FFFFFh (384 Кбайт) -- верхня пам'ять (Upper Memory Area, UMA),

Адреса A0000h--FFFFFh (384 Кбайт) -- верхня пам'ять (Upper Memory Area, UMA),

зарезервована для системних потреб. У ній розміщують області буферної пам'яті адаптерів, підключених до шин ISA (наприклад, відеопам'ять), і постійна пам'ять (BIOS з розширеннями). Ця область використовується не у повному обсязі, ставить архітектурний бар'єр на шляху безперервної (нефрагментованої) пам'яті, зручна для програмного застосування.
Пам'ять вище 100000h - додаткова, або розширена, пам'ять (extended memory). Безпосередньо доступна тільки в захищеному (і у «великому реальному») режимі для комп'ютерів з процесорами 286 і вище. В ній виділяється область 100000h--10FFEFh - висока пам'ять (НМА) - єдина область розширеної пам'яті, доступна 286+ в реальному режимі при відкритому вентилі Gate A20.
Слайд 18

РОЗПОДІЛ ПАМ'ЯТІ PC Вищенаведений розподіл пам'яті актуальний тільки для додатків і

РОЗПОДІЛ ПАМ'ЯТІ PC

Вищенаведений розподіл пам'яті актуальний тільки для додатків і операційних

систем реального режиму типу MS-DOS.
Для ОС захищеного режиму доступна вся оперативна пам'ять.
Слайд 19

Область пам'яті вище першого мегабайта у різних джерелах називається по-різному. Її

Область пам'яті вище першого мегабайта у різних джерелах називається по-різному. Її

сучасна англійські назва - extended memory - перетинається з назвою однієї із специфікацій її використання - extended memory specification.
Назва іншої специфікації - expanded memory specification - в прямому перекладі на українську не відрізняється від перекладу попереднього терміну (обидва терміни переводиться як «розширений»).
Її обсяг вказується рядком Extended Memory ххххх Kbyte в таблиці, що виводиться після проходження тесту РOSТ, і в меню стандартної конфігурації CMOS Setup. У сучасних комп'ютерах вказується загальний обсяг оперативної пам'яті.
Слайд 20

Верхня межа пам'яті, яка адресується визначається розрядністю шини адреси процесора та

Верхня межа пам'яті, яка адресується визначається розрядністю шини адреси процесора та

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

Для перших комп'ютерів на процесорах 8086/88 з 20-бітної шиною адрес верхня

Для перших комп'ютерів на процесорах 8086/88 з 20-бітної шиною адрес верхня

межа пам'яті, що адресується - 0F FFFFh. Область ПЗП BIOS розташована за адресами 0Е 0000h-0F FFFFh; для оперативної пам'яті доступні області стандартної пам'яті (640 К) і деякі області UMA. Пам'ять периферійних пристроїв може розташовуватися тільки в UMA.
Для комп'ютерів класу AT-286 з 24-бітною шиною адрес верхня межа пам'яті- FF FFFFh. Область FE 0000h--FF FFFFh містить ПЗП BIOS (ROM BIOS Area). У цих комп'ютерах для оперативної пам'яті доступна і область додаткової пам'яті, максимальний розмір ОЗП може досягати 15.9 Мбайт. Однак останній мегабайт (крім області BIOS) може бути відданий для областей пам'яті периферії (додатково до UMA), так що об'єм оперативної пам'яті виявиться менше 15 Мбайт.
Слайд 22

Для процесорів 386+ і 32-бітної шини адрес верхня межа пам'яті- FFFF

Для процесорів 386+ і 32-бітної шини адрес верхня межа пам'яті- FFFF

FFFFh (4 Гбайт). Образ BIOS знаходиться в адресах FFFE 0000h-FFFF FFFFh, для ОЗП і пам'яті периферії залишається майже 4 Гбайт. Для забезпечення сумісності BIOS додатково проектується і в адреси Е0000h - FFFFFh (для програм, що викликають сервіси BIOS але фіксованими адресами).
Для периферії доступна область UMA, не зайнята BIOS, і область, що знаходиться вище межі ОЗП (але нижче межі 4 Гбайт). Периферія розташована на шині PCI і її «родичів», може бути приписана до будь-яких адрес (на PCI доступний весь адресний простір). Периферія на шині ISA з її 20-розрядною адресою може розташовуватися тільки в межах перших 16 Мбайт в UMA або в 16-му мегабайті пам'яті.
Слайд 23

Сучасні процесори з 64-бітними розширеннями, як і 32-розрядні процесори з 36-бітною

Сучасні процесори з 64-бітними розширеннями, як і 32-розрядні процесори з 36-бітною

шиною адрес, дозволяють адресувати пам'ять від 4 гігабайт і вище (64 Гбайт).
Обсяг встановленого ОЗП також може перевищувати 4 Гбайт, але для периферійних пристроїв передбачається «вікно» - під межею 4 Гбайт.
В процесорах з 64-бітним розширенням є пара спеціальних регістрів, що визначають нижні межі адрес для пристроїв вводу-виводу, відображених на пам'ять, для двух областей; під межею 4 Гбайт і під межею фізичної пам'яті, яка адресується (залежно від моделі процесора).
Слайд 24

Для сучасних процесорів верхньої межі практично не існує. У комп'ютерах з

Для сучасних процесорів верхньої межі практично не існує.
У комп'ютерах з

32-розрядної шиною адреси образ BIOS додатково проектується в адреси FFFE0000h-FFFFFFFFh.
Обсяг встановленої оперативної пам'яті визначається тестом POST при початковому включенні комп'ютера, починаючи з молодших адрес. Натрапивши на відсутність пам'яті (помилку), тест зупиняється і повідомляє системі обсяг реально пам'яті, яка працює. Сучасні системні плати дозволяють встановити ОЗП, обсяг якого обчислюється вже гігабайтами. Можливість використання тих чи інших областей оперативної пам'яті визначається типом операційної системи: ОС реального (MS-DOS і аналогічні) або захищеного режиму (Windows» Unix, Linux).
Слайд 25

Фізичний розподіл адресного простору виконується програмуванням регістрів чіпсета системної плати і

Фізичний розподіл адресного простору виконується програмуванням регістрів чіпсета системної плати і

мостів шин розширення.
Північний хаб (або міст) чіпсета визначає діапазони адрес, які обслуговуються контролером пам'яті (з «вирізами» в області UMA та іншими «дірками»). Розподілом пам’яті, що залишилася, займаються мости ієрархії шин PCI (до цієї ієрархію входять мости AGP, PCI-X і PCI-E), до яких можуть підключатися і мости старих шин (ISA).
Більшість адаптерів персонального комп'ютера, виконаних у вигляді окремих плат розширення, використовують як системні ресурси - верхні блоки пам'яті UMА.
Слайд 26

ПАМ'ЯТЬ ДЛЯ РЕЖИМУ SMM Комп'ютери, які використовують режим системного управління (System

ПАМ'ЯТЬ ДЛЯ РЕЖИМУ SMM

Комп'ютери, які використовують режим системного управління (System Management

Mode, SMM), який підтримується більшістю процесорів останніх поколінь, мають ще один адресний простір пам'яті - SMRAM (System Management RAM). Цей адресний простір «паралельний» простору звичайної пам'яті і доступний процесору тільки в режимі SMI.
Пам'ять SMRAM може бути частиною фізичної оперативної пам'яті, а може бути реалізована і окремою мікросхемою пам'яті.
Об'єм пам'яті для режиму SMM може варіюватися в діапазоні від 32 Кбайт (мінімальні потреби SMM) до 4 Гбайт.
Слайд 27

SMRAM розташовується, починаючи з адреси SMIBASE (по замовчуванню 30000h), і розподіляється

SMRAM розташовується, починаючи з адреси SMIBASE (по замовчуванню 30000h), і розподіляється

таким чином:
SMIBASE + (FE00h-FFFFh) - область збереження контексту процесора (розподіляється, починаючи із старших адрес у напрямку до молодших). За перериванням SMI тут зберігаються майже всі регістри процесора, але збереження регістрів FPU/MMX не проводиться.
SMIBASE+8000h - точка входу в обробник (SMI handler).
SMIBASE + (0-7FFFh) -- вільна область.
Слайд 28

Після скидання процесора встановлюється SMIBASE - 0003 0000h, і перше ж

Після скидання процесора встановлюється SMIBASE - 0003 0000h, і перше ж

переривання SMI викличе збереження контексту в область 0003 FE00h - 0003 FFFFh і запуск обробника за адресою 0003 8000h, при цьому процесор генерує спеціальний вихідний сигнал SMIACT#, що означає доступ до пам'яті SMRAM.
Код обробника, повинен бути поміщений в цю область до виклику SMI. Якщо для SMRAM використовується системне ОЗП, то область SMRAM зміщують у старші адреси.
Це можна зробити тільки обробником переривання SMI, замінивши образ регістра SMIBASE в збережену область контексту. Після виходу з переривання SMI це призначення вступить в силу, і наступний вхід у SMM вже буде проводитися за новими адресами. Область SMRAM повинна виключатися з області оперативної пам'яті, доступної операційній системі (обробник SMI є більш низькорівневою процедурою, ніж драйвери ОС).
Слайд 29

СТАНДАРТНА ПАМ'ЯТЬ - CONVENTIONAL MEMORY Стандартна пам'ять є найдефіцитнішою в PC

СТАНДАРТНА ПАМ'ЯТЬ - CONVENTIONAL MEMORY

    Стандартна пам'ять є найдефіцитнішою в PC ,

коли мова йде про роботу в середовищі операційної системи типу MS- DOS. На її невеликий обсяг (типово 640 Кбайт) претендують і BIOS , і ОС реального режиму, а залишки віддаються прикладному ПЗ. Стандартна пам'ять розподіляється наступним чином:     00000h - 003FFh - Interrupt Vectors - Вектор переривання ( 256 подвійних слів);     00400h - 004FFh - BIOS Data Area - область змінних BIOS;     00500h - 00xxxh - DOS Area - область DOS ;     00xxxh - 9FFFFh - User RAM - пам'ять , що надається користувачу (до 638 Кбайт) ; при використанні PS/2 Mouse область 9FC00h - 9FFFFh використовується як розширення BIOS Data Area , і розмір User RAM зменшується.
Слайд 30

ВЕРХНЯ ПАМ'ЯТЬ - UMA Верхня пам'ять має області різного призначення, які

ВЕРХНЯ ПАМ'ЯТЬ - UMA

Верхня пам'ять має області різного призначення, які можуть

бути заповнені буферною пам'яттю адаптерів, постійною пам'яттю або залишатися незаповненими.
Спочатку ці «дірки» не використовували через складність «фігурного випилювання» адресного простору. З появою механізму сторінкової переадресації (у процесорів 386 і вище) їх стали по можливості заповнювати «острівцями» оперативної пам'яті, названими блоками верхньої пам'яті (Upper Memory Block, UMB). Ці області доступні DOS для розміщення резидентних програм і драйверів через драйвер EMM386, який відображає в них доступну додаткову пам'ять.
Слайд 31

Стандартний розподіл верхньої пам'яті виглядає наступним чином: A0000h - BFFFFh (128

Стандартний розподіл верхньої пам'яті виглядає наступним чином:
A0000h - BFFFFh (128 Кбайт)

-відеопамять (Video RAM, VRAM). Використовується не повністю.
C0000h - DFFFFh (128 Кбайт) - резерв для адаптерів (adapter ROM і adapter RAM), використовують власні модулі ROM BIOS або/і спеціалізоване ОЗП, які розділяють з системною шиною.
E0000h - EFFFFh (64 Кбайт) - вільна область, іноді зайнята підсистемними модулями BIOS (system BIOS).
F0000h - FFFFFh (64 Кбайт) - системні модулі BIOS.
FD000h - FDFFFh - ESCD (Extended System Configuration Data) - область незалежної пам'яті, що використовується для конфігурування пристроїв Plug and Play.
Слайд 32

В області UMА практично завжди присутній графічний адаптер. В залежності від

В області UMА практично завжди присутній графічний адаптер. В залежності від

моделі він займає наступні області:
MDA RAM -- B0000h-B0FFFh,
CGA RAM -- B8000h-BBFFFh.
EGA ROM -- C0000h-C3FFFh/C7FFFh.
VGA ROM - С0000h--C7FFFh.
EGA, VGA RAM -- A0000h--BFFFFh, залежно від відеорежиму використовуються наступні області:
Graphics -- A0000h-AFFFFh;
Color Text -- B8000h-BFFFFh;
Mono Text -- B0000h-B7FFFh,
Слайд 33

РОЗПОДІЛ ВЕРХНЬОЇ ПАМ'ЯТІ (UMA)

РОЗПОДІЛ ВЕРХНЬОЇ ПАМ'ЯТІ (UMA)

Слайд 34

Також поширеним споживачем UMA є розширення ROM BIOS, розташовані на платах

Також поширеним споживачем UMA є розширення ROM BIOS, розташовані на платах

дискових контролерів, а ще мікросхеми віддаленого завантаження (boot ROM) на платах адаптерів ЛОМ.
Зазвичай вони займають область C8000h -- CBFFFh/C9FFFh/C8FFFh (для дискових контролерів), але можуть і зміщуватися при конфігуруванні адаптерів.
Слайд 35

ТІНЬОВА ПАМ'ЯТЬ -- SHADOW ROM І SHADOW RAM В області верхньої

ТІНЬОВА ПАМ'ЯТЬ -- SHADOW ROM І SHADOW RAM

В області верхньої пам'яті

UMA звичайно розташовуються пристрої з повільною пам'яттю: системна пам'ять BIOS (system ROM BIOS), розширення BIOS на графічному адаптері (video ROM BIOS), на контролерах дисків і інтерфейсів (adapter ROM), ПЗП початкове завантаження на мережевій карті (boot ROM), відеопам'ять (video memory buffer).
Вони, як правило, реалізовані на 8 - або 16-бітних мікросхемах з досить великим часом доступу. Звернення до повнорозрядного системного ОЗП виконується набагато швидше.
Для прискорення звернень до пам'яті цих пристроїв застосовується тіньова пам'ять (shadow memory) - підміна пам'яті системним ОЗП.
Слайд 36

Тіньова пам'ять з'явилася на розвинених моделях AT-286, де вона була реалізована

Тіньова пам'ять з'явилася на розвинених моделях AT-286, де вона була реалізована

апаратно. Процесори класу 386+ дозволяють це реалізувати програмно за рахунок сторінкової переадресаціі. Затінення ОЗП і ПЗП пристроїв виконується по-різному.
При ініціалізації тіньового ПЗП (shadow ROM) вміст затіненої області розміщається в ОЗП і при подальшому читанні за цими адресами підставляється в ОЗП, а запис в цю область блокується.
Слайд 37

При використанні тіньового ОЗП (shadow RAM) запис проводиться одночасно у фізичну

При використанні тіньового ОЗП (shadow RAM) запис проводиться одночасно у фізичну

пам'ять затіненої області і в системне ОЗП, накладене на цю область. При читанні затіненої області звернення йде тільки до системної пам'яті, що є швидшим.
Особливо великий ефект від затінення відеопам'яті старих графічних адаптерів, яка при читанні буває доступна тільки під час зворотнього кола розгортки, і процесору доводиться довго чекати цього моменту. До роздільної пам'яті відносяться буферна пам'ять мережевих адаптерів, відеопам'ять адаптерів з графічними співпроцесорами (акселераторами). З цього випливає, що затінення відеопам'яті застосовується лише до примітивних графічних карт, що встановлюються в слот ISA, і то не в усіх режимах.
Слайд 38

Зазвичай тіньова пам'ять включається через CMOS Setup окремими областями розміром по

Зазвичай тіньова пам'ять включається через CMOS Setup окремими областями розміром по

16 Кбайт або більшими, і для кожної області вказується режим затінення (shadow ROM або shadow RAM).
ЇЇ включення можливе і драйверами ОС (наприклад, драйвером EMM386). На сучасних системних платах затінення області системної мікросхеми BIOS виконується завжди, на старих платах затіненням цієї області можна було керувати.
Затінення BIOS відеоадаптера (video BIOS shadowing) для роботи в середовищі Windows з «рідними» драйверами графічного адаптера може і не дати приросту продуктивності.
Слайд 39

Всі програмні налаштування, що впливають на обсяг доступної пам'яті , криються

Всі програмні налаштування, що впливають на обсяг доступної пам'яті , криються

в файлах CONFIG.SYS і AUTOEXEC.BAT , розміщених в кореневому каталозі завантажувального диска.     Резидентні драйвери ( русифікатори клавіатури , екрана та принтера , драйвер миші) за замовчуванням зазвичай завантажуються в стандартну пам'ять.     Збільшення фізичного обсягу оперативної пам'яті в ряді випадків може привести до несподіваного зниження продуктивності комп'ютера. Це можливо , коли системна плата ( або процесор з вторинним кешем) не здатна кешувати весь обсяг ОЗУ. У багатьох системних плат для процесорів Pentium кешируются тільки перші 64 Мбайт ОЗУ; у першому процесорів Pentium II кешуватися тільки 512 Мбайт.
Слайд 40

Пам'ять , що виходить за розміри кешируємой області , звичайно ж

Пам'ять , що виходить за розміри кешируємой області , звичайно ж

доступна , але її продуктивність набагато нижче «закешованої» .
ОС Windows 9x розподіляє пам'ять , починаючи з верхньої межі доступної пам'яті , причому наверх потрапляє її ядро , швидкість роботи якого істотна для роботи багатьох програм .
Якщо після збільшення ОЗП ядро потрапляє в незакешовану область, можна спостерігати зниження продуктивності.
Слайд 41

ВІРТУАЛЬНА ПАМ'ЯТЬ Для ОС захищеного режиму (у тому числі Windows) доступна

ВІРТУАЛЬНА ПАМ'ЯТЬ

Для ОС захищеного режиму (у тому числі Windows) доступна вся

оперативна пам'ять. Більше того, обсяг пам'яті, доступної додаткам, завдяки механізму віртуальної пам'яті може бути більше розміру фізичної оперативної пам'яті.
Віртуальна пам'ять (virtual memory) - це програмно-апаратний засіб розширення простору пам'яті, що надається програмі як оперативна. Ця пам'ять фізично реалізується в оперативній і дисковій пам'яті під керуванням відповідної операційної системи.
Слайд 42

Віртуальний простір пам'яті розбито на сторінки фіксованого розміру, а у фізичної

Віртуальний простір пам'яті розбито на сторінки фіксованого розміру, а у фізичної

оперативної пам'яті в кожний момент часу присутня тільки частина з них.
Інші сторінки зберігаються на диску, звідки операційна система може «підкачати» їх в фізичну пам'ять, попередньо вивантаживши на диск частину не використовуваних в даний момент модифікованих сторінок.
Звернення процесора до комірки віртуальної пам'яті, яка присутня у фізичній пам'яті, відбувається звичайним способом.
Слайд 43

Якщо ж затребувана область в даний момент не відображена на фізичній

Якщо ж затребувана область в даний момент не відображена на фізичній

пам'яті, процесор виробляє виключення (внутрішні переривання), за яким операційна система програмно організовує заміщення сторінок, яке називається свопінг (swapping).
Віртуальну пам'ять підтримують процесори, що працюють в захищеному режимі, починаючи з 80286, але реально її широко стали застосовувати тільки в операційних системах і оболонках для 32-радрялних процесорів (80386+). Віртуальна пам'ять використовується лише за наявності додаткової пам'яті.
Слайд 44

Сумарний обсяг віртуальної пам'яті, доступної всім програмам, визначається об'ємом ОЗП і

Сумарний обсяг віртуальної пам'яті, доступної всім програмам, визначається об'ємом ОЗП і

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

При виборі диска для розміщення файлу підкачки слід враховувати його швидкодію

При виборі диска для розміщення файлу підкачки слід враховувати його швидкодію

- час доступу і швидкість передачі даних.
При використанні додатків реального часу, що інтенсивно обмінюються з дисками (ті ж програвачі та кодеки, а також програми, що записують компакт-диски), файл підкачки і дані, з якими працюють ці програми, але, по можливості слід розміщувати на різних дисках.
Слайд 46

Розглянемо використання пам'яті операційною системою Windows. Оперативна пам'ять, до якої безпосередньо

Розглянемо використання пам'яті операційною системою Windows. Оперативна пам'ять, до якої безпосередньо

може звернутися процесор утворює адресний простір.
32 - розрядний адресний простір в процесорах 80386 і старше ділиться на сторінки пам'яті розміром 4 Кб кожна.
Управління кожної з цих сторінок здійснюється незалежно від інших. Реальний (фізичний) адресний простір доступний тільки ядру (основними програмами) операційної системи і програмам драйверам (які забезпечують управління роботою зовнішніх пристроїв ) , лише вони можуть безпосередньо звернутися до фізичної пам'яті
Слайд 47

Інші компоненти системи і всі прикладні програми працюють у віртуальних адресних

Інші компоненти системи і всі прикладні програми працюють у віртуальних

адресних просторах, з віртуальними адресами.
Весь віртуальний адресний простір програм ділиться на чотири області . Перша область займає діапазон адрес від нуля до 4 Мб і недоступна для програм керованих Windows. Тут розташовуються адреси підпрограм обробки переривань , програми ДОС і драйвери зовнішніх пристроїв. Область від 4 Мб до 2 Гб є робочим простором програм. Кожній програмі відводиться свій адресний простір.
Слайд 48

Третій гігабайт використовується як віртуальний адресний простір , спільний для всіх

Третій гігабайт використовується як віртуальний адресний простір , спільний для всіх

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

Четвертий гігабайт (адреси C0000000 - FFFFFFFF ) також є загальним для

Четвертий гігабайт (адреси C0000000 - FFFFFFFF ) також є загальним для

всіх програм і для системи.
В нього система завантажує своє ядро​​, драйвери та інші модулі, що працюють на рівні ядра (якщо такі модулі є в системі) . У цьому адресному просторі виділяється також область пам'яті, що використовується дисковою кеш пам'яттю (VCACHE) .
У цьому ж гігабайті знаходяться адреси пам'яті (реальні , а не віртуальні) тих пристроїв вводу-виводу, яким надається можливість прямого доступу до пам'яті.     Модуль VCACHE вперше з'явився в Windows 3.11 для робочих груп, що вийшов у 1993 році.
Слайд 50

У першій IBM PC , випущеній в 1980 році , стояло

У першій IBM PC , випущеній в 1980 році , стояло

64 Кб ОЗП , а в 1993 році нормою були комп'ютери з чотирма мегабайтами оперативної пам'яті. У 2006 звичайною стала пам'ять 256 - 512 Мб.
Під кеш жорсткого диска було виділено лінійний віртуальний адресний простір і потім засобами диспетчера пам'яті вміст кеш відображався на реально використовувану фізичну пам'ять.
Тому на етапі завантаження системи частина адресного простору в четвертому гігабайті резервується під використання дисковою кеш пам'яттю.
Розмір цієї частини залежить від версії операційної системи, від деяких характеристик обладнання і від кількості оперативної пам'яті , встановленої в комп'ютері.
Слайд 51

Ще одне використання четвертого гігабайти - забезпечення доступу до пам'яті пристроїв.

 Ще одне використання четвертого гігабайти - забезпечення доступу до пам'яті пристроїв.


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

При цьому виникає необхідність у подвійній переадресації: коли програма звертається до

При цьому виникає необхідність у подвійній переадресації: коли програма звертається до

адреси в першому мегабайті, замість нього підставляється відповідна адреса віртуальної машини (у четвертому гігабайті), а оскільки ця адреса віртуальна, то відбувається друга переадресація - на адресу фізичної пам'яті, в якій знаходиться потрібна сторінка віртуальної машини.
Впливати на використання адрес пам'яті пристроями операційна система , як правило , не може - ці адреси в більшості випадків зафіксовані самим обладнанням.
Слайд 53

РОЗПОДІЛ ПАМ'ЯТІ ПРИ ЗАВАНТАЖЕННІ WINDOWS Найперший етап - завантаження ДОС .

РОЗПОДІЛ ПАМ'ЯТІ ПРИ ЗАВАНТАЖЕННІ WINDOWS

 Найперший етап - завантаження ДОС .
Потім

з неї запускається ядро Windows - VMM.VXD.
Цей файл містить багато модулів, і один з них - диспетчер віртуальних машин (саме він керує розподілом пам'яті) за своєю структурою є звичайною програмою для ДОС.
Але тільки за структурою і тільки для того , щоб його можна було запустити з ДОС. Після свого запуску він переводить процесор в захищений режим і використовує ДОС переважно як драйвер різних пристроїв, в першу чергу диска і відеоадаптера.
Слайд 54

Потім диспетчер віртуальних машин починає завантажувати в пам'ять інші модулі (драйвери)

Потім диспетчер віртуальних машин починає завантажувати в пам'ять інші модулі (драйвери)

, що знаходяться у файлі VMM.VXD, драйвери, на які є посилання в реєстрі або у файлі system.ini, а також витребувані раніше завантаженими програмами для ДОС.
Слайд 55

Але щоб завантажити драйвер в пам'ять, йому цю пам'ять треба виділити,

 Але щоб завантажити драйвер в пам'ять, йому цю пам'ять треба виділити,

а при виділенні пам'яті - зробити відповідні позначки в таблиці сторінок.
А щоб виділити місце для таблиці сторінок, потрібно заздалегідь виконати розподіл пам'яті.
Тому диспетчер віртуальних машин виконує розподілення у два прийоми: спочатку виділяється невелика гарантовано наявна область пам'яті , в яку завантажуються тіла драйверів. У ній також будується таблиця сторінок. На другому етапі , власне ініціалізації , аналізуються вимоги драйверів до пам'яті і їм виділяються віртуальні адреси в четвертому гігабайті .
Слайд 56

Якщо при завантаженні Windows включити створення протоколу завантаження, то в ньому

 Якщо при завантаженні Windows включити створення протоколу завантаження, то в ньому

(файл bootlog.txt ) ці стадії чітко видно. Спочатку йдуть пари повідомлень Loading і LoadSuccess для кожного драйвера , потім виконується ініціалізація диспетчера віртуальних машин і драйверів.     Сучасні драйвери дисплея, як правило , складаються з двох частин - ядра , виконаного у вигляді драйвера віртуального пристрою ( vxd ) і основної частини, виконаної у вигляді динамічно завантажуваних бібліотек .
Слайд 57

Коли вантажиться ядро системи, завантажується і ядро відеоадаптера. Воно зазвичай забезпечує

Коли вантажиться ядро системи, завантажується і ядро відеоадаптера.
Воно зазвичай забезпечує

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