Що таке сторінкова організація пам'яті. Сторінкова організація пам'яті. Призначення та функції програмної системи

Сторінкова організаціявіртуальної пам'яті

У більшості сучасних операційних систем віртуальна пам'ятьорганізується з допомогою сторінкової адресації. Оперативна пам'ять ділиться на сторінки: області пам'яті фіксованої довжини (наприклад, 4096 байт), які є мінімальною одиницеюпам'яті, що виділяється (тобто навіть запит на 1 байт від програми призведе до виділення йому сторінки пам'яті). Процес звертається до пам'яті за допомогою адреси віртуальної пам'яті, яка містить номер сторінки і зміщення всередині сторінки. Процесор перетворює номер віртуальної сторінкиадресу відповідної їй фізичної сторінки за допомогою буфера асоціативної трансляції. Якщо йому вдалося це зробити, потрібно звернення до таблиці сторінок (так званий Page Walk), що може зробити або сам процесор, або операційна система (залежно від архітектури).

(Слайд №12)

Мал. 16.4.Приклад сторінки організації.

Сторінка (paging) –стратегія управління пам'яттю, за якої:

· Логічна пам'ять ділиться на сторінкисуміжні областіоднакової довжини, зазвичай – ступінь 2 (наприклад, 512 слів);

· фізична пам'ять, відповідно, ділиться на фреймитакого ж розміру;

· Розподіл логічної пам'ятівідбувається з точністю до сторінки;

· фізична пам'ять процесу може бути безперервної;

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

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

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

на Мал. 16.4наведено приклад сторінкової організації, який демонструє, що, на відміну від безперервної логічної пам'яті процесу, відповідні кадри сторінок в основній пам'яті можуть бути розташовані не суміжно: логічній сторінці 0 відповідає кадру 1, сторінці 1 - кадру 4, сторінці 2 - кадру 3, сторінці 3 – кадр 7.

(Слайд №13)

Мал. 16.5.Приклад сторінки організації блоками по 4 сторінки.

на Мал. 16.5наведено інший можливий приклад сторінкової організації: логічна та фізична пам'ять розбита на блоки по 4 сторінки поспіль; у таблиці сторінок зберігається не номер сторінки, а номер блоку. Наприклад, в елементі 0 таблиці сторінок зберігається номер блоку 5, яким адреса початку блоку обчислюється домноженням вмісту елемента таблиці сторінок на розмір блоку, рівний 4 (результат – 20).



Реалізація таблиці сторінок

Використання асоціативної пам'яті. Таблиця сторінок - безперервна область фізичної пам'яті. У системі є базовий регістр таблиці сторінок (page table base register - PTBR),що вказує на таблицю сторінок і зберігає її довжину.

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

(Слайд №14)

Мал. 16.3.Архітектура трансляції адрес при сторінковій організації.

При сторінковій організації логічна адреса обробляється системою особливим чином як структура (p, d):його старші розряди позначають номер сторінки, молодші – зміщення всередині сторінки. Номер сторінки (p)трактується як індекс у таблиці сторінок, відповідний елемент якої містить базовий адреса початку сторінки у фізичній пам'яті. Зміщення всередині сторінки (d)додається до її базової адреси. В результаті формується фізична адреса, що передається в пристрій керування пам'яттю. Архітектура трансляції адрес при сторінковій організації зображена на Мал. 16.3.

(Слайд №15)

Мал. 16.7.Схема трансляції адрес із використанням асоціативної пам'яті.

Проблема двох звернень вирішується запровадженням асоціативної пам'яті (cache) сторінок,званої також буфер трансляції адрес (translation lookaside buffer - TLB).Асоціативна пам'ять, по суті, є асоціативним списком пар: (Номер сторінки, номер кадру).Її швидкодія значно вища, ніж у основної пам'яті та у регістрів.

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

Модифікована схема трансляції адрес з використанням TLB ілюструється Мал. 16.7.

Сторінка організація пам'яті застосовується тільки в захищеному режиміякщо в регістрі управління CR0 біт PG = 1.

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

Принцип віртуальної пам'ятіпередбачає, що користувач при підготовці своєї програми має справу не з фізичної ВП, що дійсно працює у складі комп'ютера і має деяку фіксовану ємність, а з віртуальною (здається) однорівневою пам'яттю, ємність якої дорівнює всьому адресному простору, що визначається розміром адресної шини (L ша комп'ютера:

Для 32-розрядного мікропроцесора:

Програміст має у своєму розпорядженні адресний простір, обмежений лише розрядністю адресної шини, незалежно від реальної ємності оперативної пам'ятікомп'ютера та обсяги пам'яті, які використовуються іншими програмами, паралельно оброблюваними в мультипрограмній ЕОМ.

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

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



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

Як зазначалося вище, при сторінковому поданні пам'яті віртуальна (логічна) адреса є номером віртуальної сторінки і зміщення всередині цієї сторінки. У свою чергу, фізична адреса - це номер фізичної сторінки та усунення в ній.

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

Переведення віртуальних адрес у фізичні проілюстровано на рис. 3.12.

Мал. 3.12.Принцип перетворення віртуальної сторінкової адреси на фізичну

Розглянемо приклад перетворення адреси віртуальної сторінки на адресу фізичної сторінки. Нехай комп'ютер використовує адресний простір, що передбачає розбиття на сторінки обсягом V стор = 1I, і має оперативну пам'ять V ОЗП = 3 сторінки. Нехай на комп'ютері одночасно виконуються чотири програми, що мають таку кількість сторінок: V A = 2, V B = 1, V C = 3, V D = 2. Перемикання між програмами відбувається через час кванта t k = 1. Час виконання кожної сторінки будь-якої програми становить t = 2t k. Вважаємо, що сторінки програм завантажуються в оперативну пам'ять у міру необхідності та наскільки можна у вільні області ОЗУ. Якщо вся пам'ять зайнята, то Нова сторінказаміщає ту, до якої найдовше не було звернень.

За таких умов таблиця завантаження оперативної пам'яті та таблиці сторінкового перетворення кожної програми матимуть вигляд, представлений у табл. 3.2.

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

Таблиця 3.2. Приклад сторінки розподілу пам'яті в мультипрограмній ЕОМ
Сторінка Так ти
Динамічне розподіленняоперативної пам'яті
ОЗУ 0 АТ АТ АТ DO DO DO CO CO CO C1 C1 C1 C1 C1 C1 C1
B0 B0 B0 A0 A0 A0 D0 D0 D0 D1 D1 D1 D1 D1 D1
C0 C0 C0 B0 B0 B0 A1 A1 A1 A1 A1 A1 C2 C2
Таблиця сторінки перетворення для програми А
A 0 - - - - - - - - - - -
- - - - - - - - - -
Таблиця сторінкового перетворення для програми
B 0 - - - - - - - - - -
Таблиця сторінкового перетворення для програми С
З 0 - - - - - - - - - -
- - - - - - - - -
- - - - - - - - - - - - - -
Таблиця сторінки перетворення для програми D
D 0 - - - - - - - - - -
- - - - - - - - - -

Якщо кожна сторінка має об'єм 1000 адресованих осередків, то, наприклад, у такті 9 звернення за віртуальною адресою 1100 програми A (віртуальна сторінка 1, зсув у сторінці дорівнює 100) призведе до звернення за фізичною адресою 2100 (фізична сторінка 2, зміщення в таке ж, як і у віртуальній, тобто 100).

Розглянемо тепер застосування цих загальних принципівсторінкового перетворення адреси в процесорі з архітектурою IA-32 при об'ємі сторінки в 4 Кбайт.

Основою сторінкового перетворення є 32-розрядний лінійна адресаотриманий на етапі сегментного перетворення логічної адреси. Сторінне перетворення виконується при значенні біта PG = 1 в керуючому регістрі CR0.

У цьому випадку старші 20 розрядів лінійної адресифактично є номер віртуальної сторінки. Однак при прямому одноступеневому перетворенні цього номера в номер фізичної сторінки необхідна таблиця з 2-20 елементів довжиною 4 байти кожен (20-розрядний номер сторінки плюс деяка додаткова інформація), тобто 4 Мбайт. У мультипрограмному середовищі така таблиця може знадобитися кожної задачі. Ця таблиця повинна постійно зберігатися в оперативній пам'яті, щоб суттєво не збільшувати час формування фізичної адреси. Для цього потрібно постійне резервування значної частини ємності ОЗУ, що у етапі появи перших ЕОМ з урахуванням МП з архітектурою IA-32 було неможливо.

Натомість мікропроцесор використовує двоступінчасте сторінкове перетворення адреси. Коренева сторінка, звана каталогом таблиць сторінок(КТС), містить 1024 32-розрядних елемента каталогу таблиць сторінок(ЕКТС - PDE page directory entry). Кожен із них адресує підлеглу таблицю сторінок(ТЗ), тобто всього допускається до 1024 підпорядкованих таблиць сторінок. Кожна таблиця сторінок містить 1024 32-розрядних елемент таблиці сторінок(ЕТС - PTE page table entry), кожен із яких адресує фізичну сторінку. Таким чином, загальна кількість фізичних сторінок, що адресуються, дорівнює 2 20 , тобто весь віртуальний адресний простір (4 Кбайт * 220 елементів = 2 32 байт). Кожна таблиця займає 1024 4 = 4 Кбайт, тобто 1 сторінку. Загальний обсяг таблиць, що використовуються для сторінкового перетворення, не зменшився, а навіть дещо зріс за рахунок використання каталогу таблиць сторінок. Однак, по-перше, практично завжди в системі цей розмір можна суттєво зменшити за рахунок того, що деякі лінійні адресиніколи не будуть сформовані (а цю інформацію дають таблиці дескрипторівсегментів), і їм не потрібно створювати таблицю сторінок. А по-друге, в оперативній пам'яті повинні постійно перебувати лише каталог таблиць сторінок та таблиця сторіноквиконуваної нині програми. Інші таблиці сторінокможуть тимчасово зберігатися у зовнішній пам'яті.

Мал. 3.13.Сторінне перетворення лінійної адреси на фізичну

Таким чином, перетворення лінійної адреси на фізичний має вигляд, представлений на рис. 3.13.

Старші 20 розрядів лінійної адресирозбиваються на два 10-розрядні поля: поле номери елемента каталогу таблиць сторінокта поле номери елемента таблиці сторінок. Так як і каталог таблиць сторінок, і кожна таблиця сторінокзаймають рівно 1 сторінку і вирівняні по межі сторінки, то молодші 12 розрядів їхньої базової адреси дорівнюють нулю, і для визначення їхньої фізичної адреси достатньо 20-розрядного поля.

Для каталогу таблиць сторінокйого 20-розрядна адреса знаходиться в регістрі управління CR3. КТС постійно перебуває у пам'яті і бере участь у свопінгу.

Старші 20 розрядів фізичної адреси таблиці сторіноквитягуються з ЕТС. Структури елемента КТС та елемента ТЗ схожі (рис. 3.14).

Мал. 3.14.Структура елементів каталогу таблиць сторінок та таблиці сторінок

Старші 20 розрядів елемента дають базова адреса таблиці сторінок(В ЕКТС) або фізичної сторінки (в ЕТС). Біти P, A, R/W та U/S мають певну схожість з аналогічними атрибутами дескриптора сегмента, інші біти мають специфічне призначення.

Біт присутності P показує, чи відображається адреса сторінкового кадру (таблиці сторінок або сторінки пам'яті) на сторінку у фізичній пам'яті. При P = 1 сторінка є у ОЗУ. При P = 0 сторінки в пам'яті немає і звернення до цієї сторінки викликає переривання типу "сторінкове порушення".

Біт доступуА встановлюється мікропроцесором стан А = 1 при зверненні до даного сторінкового кадру для запису чи читання інформації.

Біт модифікації D (Dirty - "брудний") встановлюється процесором рівним 1 елементі ЕТС при записі на цю сторінку. Для елементів каталогу таблиць сторінок значення біта D є невизначеним. При завантаженні сторінки в пам'ять операційна система скидає біт D. Якщо при необхідності вивантаження сторінки у зовнішню пам'ять виявляється, що для неї D = 0, це означає, що до сторінки в пам'яті не було звернень на запис, у зовнішній пам'яті є її точна копіяі реально передавати сторінку з пам'яті на диск не потрібно. Тим самим заощаджується час при свопінгу.

Біт читання-запису R/W і біт U/S (user/supervisor - користувач/супервізор) визначають права доступу до таблиці сторінок або сторінки для програм з різними рівнями привілеїв. Для сторінок існує лише 2 рівні привілеїв: рівень супервізора (U/S = 0), що відповідає значенню DPL сегмента 0, 1, 2, та рівень користувача (U/S = 1), відповідний DPL = 3. Якщо до сторінки здійснюється запит з рівнем привілеїв 3 (програми користувача), то за значення U/S = 0 йому забороняється доступом до відповідної таблиці чи сторінці. Якщо U/S = 1, то за значення R/W = 0 дозволяється лише читання таблиці чи сторінки, а за R/W = 1 - і читання, і запис.

При запитах з великими привілеями (системні програмні рівні 0, 1, 2) допускається запис та читання таблиць і сторінок при будь-яких значеннях U/S, R/W (табл. 3.3).

Біти PWT та PCD використовуються для керування роботою кеш-пам'яті при сторінковій адресації. Біт PCD – заборона кешування сторінки. При PCD = 1 кешування заборонено. Біт PWT - біт зворотного записусторінок. Визначає спосіб оновлення зовнішньої кеш-пам'яті (кеш 2-го рівня). При PWT=1 – оновлення проводиться методом наскрізного запису (як для внутрішнього кешу), при PWT=0 – методом зворотного запису.

Біти 9…11 в ЕКТС та ЕТС зарезервовані за операційною системою. Процесор ніколи не використовує та не змінює ці біти. Розробники ОС можуть залучити ці біти для зберігання інформації про "старіння" сторінок, щоб визначати сторінки, що підлягають заміні із зовнішньої пам'яті, та інших цілей.

Старші 10 розрядів лінійної адресиспільно з вмістом регістру управління CR3 визначають необхідний елемент каталогу таблиць сторінок. Наступні 10 розрядів лінійної адреси містять номер елемента у вибраній таблиці сторінок.

Оскільки і ЕКТС, і ЭТС мають довжину 4 байти, щоб одержати зміщення початку елемента щодо початку відповідної таблиці необхідно його номер помножити на 4.

Останні 12 розрядів лінійної адресимістять усунення у сторінці. Таким чином, сума усунення у сторінці та базової адреси сторінки, витягнутого з ЕТС, дає фізичну адресу шуканого байта.

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

Кожен елемент таблиці сторінок містить номер фізичної сторінки основної пам'яті та спеціальний індикатор. Одиничний індикатор свідчить про наявність цієї сторінки в основній пам'яті. Нульовий стан індикатора означає відсутність сторінки оперативної пам'яті.

Пошук у таблицях сторінок, розміщених у основній пам'яті, та завантаження TLB можуть здійснюватися або програмним способом, чи спеціальними апаратними засобами. З цією метою в процесорі передбачається додатковий регістр захисту, який містить описник (дескриптор) таблиці сторінок або базово-граничну пару. База визначає адресу початку таблиці сторінок основної пам'яті, а кордон – довжину таблиці сторінок відповідної програми.

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

Сегментація пам'яті



У системах із сегментацією пам'яті кожне слово адресному просторі користувача визначається віртуальною адресою, що з двох частин: старші розряди адреси розглядаються як номер сегмента, а молодші - як номер слова всередині сегмента. Поряд із сегментацією може також використовуватися сторінкова організація пам'яті. І тут віртуальний адресу слова складається з трьох частин: старші розряди адреси визначають номер сегмента, середні - номер сторінки всередині сегмента, а молодші – номер слова всередині сторінки.

Як і у випадку сторінкової організації, необхідно забезпечити перетворення віртуальної адреси на реальну фізичну адресу основної пам'яті. З цією метою для кожного користувача операційна система має сформувати таблицю сегментів. Кожен елемент таблиці сегментів містить описник (дескриптор) сегмента (поля бази, межі та індикатори режиму доступу). За відсутності сторінкової організації полі бази визначає адресу початку сегмента основний пам'яті, а кордон – довжину сегмента. За наявності сторінкової організації поле бази; визначає адресу початку таблиці сторінок даного сегмента, а межа - кількість сторінок у сегменті. Поле індикаторів режиму доступу є деякою комбінацією ознак блокування читання, запису та виконання.


СПЕЦІАЛЬНА ЧАСТИНА

Призначення та функції програмної системи

Розроблена база даних «Поліклініка» призначена для використання в медичних установ. Основною функцією є зберігання даних та простота пошуку історій хвороби пацієнтів поліклініки.

Основні об'єкти:

1) пацієнти;

2.2. Системні вимоги

Для роботи бази даних необхідні такі ресурси:

· процесор Pentium 133 або вище;

· Мінімальний обсяг оперативної пам'яті - 32 Мбайт;

· жорсткий дискз обсягом вільного просторущонайменше 100 Мбайт;

· CD-ROM, клавіатура, миша.

Для запуску даної бази даних потрібна Visual Fox Fox Pro 6 та операційна система: Windows 98/ME/NT 4.0/2000/XP.

Основні об'єкти даної інформаційної системи:

· «Відомості про лікарів» - містить дані про лікарів;

· «Відомості про пацієнта» – містить особисті дані пацієнта;

· «Облік надходження, виписок» - містить інформацію про діагноз та час перебування пацієнтів у лікарні.

Зв'язування таблиць

Access 2007 дозволяє будувати реляційні базиданих, окремі таблиці яких може бути пов'язані між собою.

Найпростішою та найрідкіснішою формою зв'язку між таблицями є зв'язок «один до одного», при якому для кожного запису в одній таблиці існує найкращому випадкуодна пов'язана з нею запис в іншій таблиці.

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

Нерідко доводиться мати справу також із зв'язком «багато до багатьох», при якому відсутні обмеження на безліч пар записів, що належать до зв'язку. Такий зв'язок у Access не використовується. Її необхідно подати у вигляді двох зв'язків «один до багатьох».

З базі даних «Поліклініка» таблиці пов'язані один з одним двома зв'язками «один до багатьох».


Запити

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

Таблиця 3 «Функції та операції»

Перелік запитів, що застосовувалися в цій базі даних, наведено нижче.

Запит «Лікарі та їхні пацієнти»

Запит «Лікарі та їхні пацієнти» дозволяє вивести прізвища лікарів, які працюють за цією медичною спеціальністю.

Запит «Час перебування у лікарні»

Запит «Час перебування в лікарні» дозволяє дізнатися про тривалість перебування пацієнта на стаціонарному лікуванні.

Запит «Пацієнти-жінки»

Запит «Пацієнти-жінки» відображає пацієнтів жіночої статі

Запит "Пацієнти, що лежали неодноразово"

Запит «Пацієнти, які лежали неодноразово», виводить пацієнтів, які лежали в лікарні більше одного разу.

Запит «Пацієнти-пенсіонери»

Запит "Пацієнти-пенсіонери" відображає всіх пацієнтів, які досягли пенсійного віку.

Запит «Підбір спеціальності лікаря з діагнозу»

Запит «Підбір спеціальності лікаря з діагнозу» дозволяє шляхом введення діагнозу при запуску запиту визначити лікаря, що спеціалізується на даній хворобі.

Форми

Робота з даними у режимі таблиці має істотний недолік: якщо полів занадто багато, вони не вміщаються на екрані і доводиться вдаватися до різних маніпуляцій, щоб оптимізувати уявлення: наприклад, прибирати деякі стовпці, змінювати їхнє положення.

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

Будь-яка форма будується на основі таблиці Access або запиту. Імена полів вилучаються зі специфікації таблиці, а поля у формі можна розташувати на власний розсуд. За підсумками однієї таблиці можна побудувати кілька форм.

У Access 2007 існує кілька способів створення форм:

Таблиця 4Способи створення форм

Існує кілька різновидів автоформ:

Форма - створення форми для введення даних по одному запису за один раз

Розділена форма - створення розділеної форми, у верхній частині якої відображається таблиця, а нижній – форма для введення даних у запис, виділену таблиці.

Декілька елементів - створення форми, в якій записи відображаються у вигляді таблиці, при цьому кожен запис займає окремий рядок

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

Перелік форм, що застосовувалися в даній роботі, наведено нижче:

Форма "Історія хвороби"

Форма «Історія хвороби» показує дані хворого, діагноз та дату надходження з цим діагнозом до лікарні.

Головна кнопкова форма

Головна кнопкова форма призначена для відкриття запитів, форм та звітів бази даних шляхом натискання відповідної кнопки про область головної кнопкової форми.

Форма «Відомості про лікарів»

Форма «Відомості про лікарів» представлена ​​у стрічковому вигляді та показує ПІБ лікаря та його спеціальність.

Форма «Відомості про пацієнта»

Форма «Відомості про пацієнта» є стрічковим типом форми, що показує дані про пацієнта.


Звіти

Звіти використовуються для відображення даних таблиці або запиту у зручному для користувача форматі (із заголовками та номерами сторінок).

Найбільше відомостей у звіті береться з базової таблиці та запиту, які є джерелами даних для звіту. Інші відомості вводяться під час розробки звіту. Під час створення звіту можна використовувати кілька таблиць та запитів.

Використання звітів має такі переваги:

· Дані можуть бути представлені в зручній для читання та аналізу формі;

· звіт дозволяє включати та друкувати графічні об'єкти(наприклад, діаграми);

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

Звіти можна створювати двома способами:

1) за допомогою майстрів звітів/автозвітів;

2) "вручну".

Звіт «Лікарі за фахом»

Звіт «Лікарі за фахом» побудований у вигляді макета «структура» з рівнем угрупування за фахом лікаря та відображає всіх лікарів поліклініки за конкретною сепціальністю.

Звіт «Пацієнти-пенсіонери»

Звіт "Пацієнти-пенсіонери" показує всіх пацієнтів пенсійного віку.

Звіт «Облік надходження, виписок»

Звіт «Облік надходження, виписок» виконаний з рівнем групування подання даних по ПІБ пацієнта та дозволяє переглянути дані про діагноз, надходження та виписки пацієнтів


Макроси

Зручно розробляти макроси для автоматизації нескладних процесів, таких як відкриття та закриття форм та звітів, виведення на екран або друк документів тощо. Вікно макросів містить чотири стовпці: Ім'я макросу, Умова, Макрокоманда, Аргументи, Примітка.

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


ВИСНОВОК

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

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


СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ

1. Дейт К. Дж. Введення в системи баз даних/Пер. з англ. 6-те вид. К.: Діалектика, 1999.

2. Замулін А. В. Системи програмування баз даних та знань. Новосибірськ.: Наука. Сиб. Відд., 2002.

3. Мартін Дж. Організація баз даних у обчислювальних системах. / Пер. з англ. М: Світ, 2000.

4. Романов Б. Л., Кушніренко А. С. dBase IV. Призначення, функції, застосування. М.: Радіо та баз даних, 1999.

5. Ульман Дж. Основи систем баз даних. М.: Фінанси та статистика, 2003.

6. Бородаєв В. А., Кустов В. Н. Банки та бази даних. Уч. допомога. Л.: Вікі, 2000.

7. Кузнєцов З. Д. Запровадження СУБД: частина 4.// Системи Управління Базами Даних, №4, 1999. - З. 114-122.

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

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

Такий спосіб одного рівня адресації тільки для великих сторінок 4мб використовується тільки Ос, користувацькі програмив такому режимі не працюють

Двохрівнева адресація. Для кожної програми використовується каталог сторінок (Page Directory) та таблиця сторінок. У каталозі задаються адреси таблиць сторінок. Вся адреса поділяється на 3 складові

А0 визначає зміщення всередині сторінки

А1 визначає номер рядка у таблиці рядка (не більше 1024 рядків). Кожен такий рядок повинен містити адресу початку сторінки. Розмір сторінок також становить 4кб, тобто на одній сторінці.

У результаті така таблиця може ставити простір 1024 сторінки або 4мб. Якщо для якоїсь програми відоме пам'яті, можна визначити кількість сторінок.

А2 визначає номер рядка в каталозі сторінок, (не більше 1024) розмір теж 4кб. У пам'яті обов'язково повинен бути присутнім каталог, причому ардес його управляючого зберігатися в регістрі CR2.

Трирівнева сторінкова адресація. Адреса поділяється на 4 компоненти

А3 А2 А1 А0

Розмір самої таблиці залишається по 4кб, але розмір рядка збільшується в 2 рази.

А3 визначає однією з 4 таблиці каталогу. При 3 рівнів сторінковій адресації можна використовувати великі сторінки 2 мб збіднівши А1 А0. наявності чи відсутність конкретної пам'ятівідстежує процес за допомогою механізму переривання. Пам'ять для кодів програм, даних виділяються за сторінкою адреси початку сторінки кратний його довжині, якщо якась ділянка даних знаходиться в кінці сторінки створюється нова сторінка. При розробці критичних пам'яті, потрібно знати розмір сторінки і вирівнювати, адреса початку сторінки в тому числі сторінки і каталогу завжди кратні розміру сторінки, і тому в будь-якому з розглянутому варіанті молодший 12 біт адреси сторінки вільні. У таблиці використовують для зберігання додаткової інформації про сторінку. Додаткова інформація про сторінку дозволяє задати: ознака тирпа сторінки для запису або читання, ознака присутності сторінки в пам'яті, рівень привілеїв сторінки, ознака були зміни в даній сторінці режимі запису а скидається програмним аналізом) ознака, чи був доступ до цієї сторінки, режими використання кеша. При використанні великих таблиць і сторінок у рядку каталогу вказується що він відповідає на таблиці а великий таблиці. На паратному рівні процесор дозволяє коретно використовувати сторінки трьох розмірів, задавати режими доступу та рівень привілеїв. Якщо сторінка існує в пам'яті процесор генерує винятки, що обробляє ОС.

Дії оброблювача винятків:

1) Знайти вільну сторінку або оприлюднювати зайняту якщо вільних немає

2) Завантажити сторінку на згадку

3) Записати адресу в Page Table при необхідності виконати потребу …

4) Оновити сторінки кеш-сторінок

5) Повернутися до команди звернення пам'яті яка викликала оброблювані винятки.

Завдання сторінкової адресації (5 кроків + керуючі регістри)

Стратегія завантаження та вивантаження сторінок

При використанні регулярно треба вирішувати такі питання:

1) Визначати які саме потрібно видалити з пам'яті

2) визначити які сторінки завантажені

3) визначити методи завантаження вивантаження сторінки

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

1) Оптимальний алгоритм– для вивантаження сторінки вибирається сторінки, в якій не було жодного звернення. Недоліки 6 необхідні хнать історію роботи з кожної таблиці.

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

3) Випадковий – таблиця, що вивантажується визначається випадково, при цьому інформація для використання їх або далее, але не виключено що інформація може далі використовуватися

4) Хронологічний – вивантажуються з пам'яті у тому порядку у якому вони були завантажені. Недоліки: таблиця може знадобитися.

5) Хронологічний порядок з урахуванням використання (List R.. Using) 1 – вигражується сторінка яка не використовувалася великим часом для визначення таких сторінок формується не черга, а список використаних таблиць. Використовується записується в кінець такого сиска, для вивантаження вибераються перші сторінки в цьому списку. Недолік: може вивантажена сторінка необхідна на наступному етапі виконання. Він найчастіше використовується в сучасних ОС.

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

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

Глобальний метод – володіє все безліччю виділеної за необхідності незалежно від додатка для якого ці сторінки виділені (для всіх додатків використовується централізований механізм управління). У такому разі її потрібно зберігатися до Камо додатку вона належить.

Пробуксовка – це ситуація, що викликає при великого завантаженнясистеми, тобто є велика кількістьпроцесів і нестача фізичної пам'яті призводить до істотного скорочення продуктивності. Способи боротьби з пробуксуванням:

1) Збільшення обсягу фізичної пам'яті

2) Обмеження кількості активних процесів

3) Скорочення необхідного обсягу пам'яті, що виділяється для процесу

4) Спеціальні алгоритми виділення сторінок.

Механізми управління пам'яті

Для роботи з пам'яті використовується 3 основних механізмів

1. Віртуальна пам'ять для роботи з великими обсягами

2. Відображення файлів на пам'яті (потрібна швидка обробка або довільна я обробки а також створення пам'яті розділяється між процесами)

3. «Кучі» – механізм виділення невеликих обсягівпам'яті для програми

Використання віртуальної пам'яті – для виділення регоїну пам'яті (великого обсягу пам'яті) служить функція

LPVOID VirtualAlloc(

LPVOID lpAdress,//початкова адреса виділеної ділянки(вирівнюється на кордон 64кб, якщо пам'яті вирівнюється то адреса має вирівняні на початок сторінку, при першому виділенні пам'яті має значення NULL)

DWORD lpSize,//розмір пам'яті, що виділяється в кб (регіон), якщо перший параметр NULLто буде збільшений до межі сторінки

DWORD flAllcocationType,//тип операції виділення(або одиночний або комбінацій прапорів) таблиця бондаренка 6,1 атрибути ехе не підтримується

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

Сиситаема ініціалізувати і розервує, при спробі доступу до таклой пам'яті, після завершення процесу ОС звільняє всі закріплені за ним сторінки. Функція VirtualAlloc може знову зв'язати. Фізичну пам'ять пов'язану з конткретними сторінками можна звільнити за допомогою функції vitualFree. Для довготривалого зберігання пам'яті краще виділити в сторінках адресах. В цьому випадку в адресі передатися NULL і встановлюється прапори MEM_RESERVE, MEM_TOP_DOWN/ для резервування під регіон рекомендую задавати атрибут захисту найбільш загальний. Виділяючи віртуальну пам'ять, можна задавати всі атрибути захисту, крім тих, які призначені пов'язані з фізичною пам'яттю: PAGE_WRITECOPY, PAGE_EXECUTE_WRITECOPY, PAGE_GUARD, PAGE_NOCAСHE.

Можна виділити не всі ділянки фізичної пам'яті лише частину. Якщо розмір пам'яті збігається з розміром пов'язаної пам'яті то можна не 2 рази викликати функцію, а задавати прапори MEM_COMMIT | MEM_RESERVE. Для повернення фізичної пам'яті використовується фугкци мшкгфдаккус параметром адреса початку пам'яті, розмір ділянки та MEM_DECOMMIT, якщо розмір вказати розмір 0 то звільняється вся пам'ять, якщо в пам'яті відбуватись звернення то відбуватиметься помилка. Для звільнення траниць існує 3 варіанти

1. Припускає що один запис відповідає одній сторінки, видалення такого запису звільняє сторінку

2. Створити бітову карту зайнятих записи

3. У структурі можна додати поле зайнятості у якому прийматиме істина чи брехня

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

BOOL virtualProtect(

LPVOID lpAdress,//

DWORD flNewProtect,//новий атрибут захисту

DWORD lpflOldProtect//

Як правило, витіснення сторінок витісняється та яка довго не використовувалася. Для блокування траниць використовується функція

LPVOID lpAdress,//

За умовчанням процес може заблокувати максимум 30 сторінок, якщо треба більше, то використовується проміжний дії. На розблокування використовується функція ViruaUnLock. При завіренні процесу заблоковані сторінки автоматично розблокуються.

Бондаренко купи (створення визначення виділеної, отримання інобедіння свободи з блоків)

мікропроцесора:

Програміст має у своєму розпорядженні адресний простір, обмежена лише розрядністю адресної шини, незалежно від реальної ємності оперативної пам'яті комп'ютера та обсягів пам'яті, які використовуються іншими програмами, що паралельно обробляються в мультипрограмній ЕОМ.

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

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

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

Як зазначалося вище, при сторінковому уявленні пам'яті віртуальний ( логічна) адресає номером віртуальної сторінкита зміщення всередині цієї сторінки. В свою чергу , фізична адреса- це номер фізичної сторінкита зміщення в ній.

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

Переведення віртуальних адрес у фізичні проілюстровано на рис. 3.12.


Мал. 3.12.

Розглянемо приклад перетворення адреси віртуальної сторінкина адресу фізичної сторінки. Нехай комп'ютер використовує адресний простір, що передбачає розбиття на сторінки обсягом V стор = 1I і має оперативну пам'ять V ОЗУ = 3 сторінки. Нехай на комп'ютері одночасно виконуються чотири програми, що мають таку кількість сторінок: V A = 2, V B = 1, V C = 3, V D = 2. Перемикання між програмами відбувається за час кванта t k = 1 . Час виконаннякожної сторінки будь-якої програми становить t = 2t k. Вважаємо, що сторінки програм завантажуються в оперативну пам'ять при необхідності і наскільки можна у вільні області ОЗУ . Якщо вся пам'ять зайнята, то нова сторінка заміщає ту, до якої найдовше не було звернень.

За таких умов таблиця завантаження оперативної пам'яті та таблиці сторінкового перетвореннядля кожної програми матимуть вигляд, поданий у табл. 3.2.

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

Таблиця 3.2. Приклад сторінки розподілу пам'яті в мультипрограмній ЕОМ
Сторінка Так ти
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Динамічне розподілення оперативної пам'яті
ОЗУ 0 АТ АТ АТ DO DO DO CO CO CO C1 C1 C1 C1 C1 C1 C1
1 B0 B0 B0 A0 A0 A0 D0 D0 D0 D1 D1 D1 D1 D1 D1
2 C0 C0 C0 B0 B0 B0 A1 A1 A1 A1 A1 A1 C2 C2
Таблиця сторінкового перетвореннядля програми А
A 0 0 0 - - 1 1 1 - - - - - - - - -
1 - - - - - - - - 2 2 2 2 2 2 - -
Таблиця сторінкового перетвореннядля програми В
B 0 - 1 1 1 - 2 2 2 - - - - - - - -
Таблиця сторінкового перетвореннядля програми С
З 0 - - 2 2 2 - 0 0 0 - - - - - - -
1 - - - - - - - - - 0 0 0 0 0 0 0
2 - - - - - - - - - - - - - - 2 2
Таблиця сторінкового перетвореннядля програми D
D 0 - - - 0 0 0 - 1 1 1 - - - - - -
1 - - - - - - - - - - 1 1 1 1 1 1

Якщо кожна сторінка має обсяг 1000 адресованих осередків, то, наприклад, у такті 9 звернення по віртуальною адресою 1100 програми A ( віртуальна сторінка 1, зміщення у сторінці дорівнює 100) призведе до звернення по фізичною адресою 2100 ( фізична сторінка 2, зміщення в фізичній сторінцітаке ж, як і у віртуальній, тобто 100).

Розглянемо тепер застосування цих загальних принципів сторінкового перетворення адресив мікропроцесорз архітектурою IA-32 при об'ємі сторінки 4 Кбайт.

Основою сторінкового перетворенняслужить 32-розрядний лінійна адресаотриманий на етапі сегментного перетворення логічної адреси. Сторінне перетвореннявиконується при значенні біта PG = 1 в регістрі CR0 .

У цьому випадку старші 20 розрядів лінійної адресифактично є номером віртуальної сторінки. Однак при прямому одноступеневому перетворенні цього номера на номер фізичної сторінкинеобхідна таблиця з 2-20 елементів довжиною 4 байти кожен (20-розрядний номер сторінки плюс деяка додаткова інформація), тобто 4 Мбайт. У мультипрограмному середовищі така таблиця може знадобитися кожної задачі. Ця таблиця повинна постійно зберігатися в оперативній пам'яті, щоб суттєво не збільшувати час формування фізичної адреси. Для цього потрібно постійне резервування значної частини ємності ОЗУ , що у етапі появи перших ЕОМ з урахуванням МП з архітектурою IA-32 було неможливо.

Натомість мікропроцесор використовує двоступінчасте сторінкове перетворення адреси. Коренева сторінка, звана каталогом таблиць сторінок(КТС), містить 1024 32-розрядних елемента каталогу таблиць сторінок(ЕКТС - PDE page directory entry). Кожен із них адресує підлеглу таблицю сторінок(ТЗ), тобто всього допускається до 1024 підлеглих таблицьсторінок. Кожна таблиця сторінок містить 1024 32-розрядних елемент таблиці сторінок(ЕТС - PTE page table entry), кожен із яких і адресує фізичну сторінку. Таким чином, загальна кількість адресованих фізичних сторінокодно 2 20 , тобто все віртуальне адресний простір(4 Кбайт * 2 20 елементів = 2 32 байт). Кожна таблиця займає 1024*4=4 Кбайт, тобто рівно 1 сторінку. Загальний обсяг таблиць, що використовуються для сторінкового перетворення, не зменшився, і навіть кілька зріс з допомогою використання каталогу таблиць сторінок . Однак, по-перше, практично завжди в системі цей розмір можна суттєво зменшити за рахунок того, що деякі лінійні адресиніколи не будуть сформовані (а цю інформацію дають таблиці дескрипторівсегментів), і їм не потрібно створювати таблицю сторінок. А по-друге, в оперативній пам'яті повинні постійно перебувати лише каталог таблиць сторінок та таблиця сторіноквиконуваної нині програми. Інші таблиці сторінокможуть тимчасово зберігатися у зовнішній пам'яті.


Мал. 3.13.

Таким чином, перетворення лінійної адреси на фізичний має вигляд, представлений на рис. 3.13.

Старші 20 розрядів лінійної адресирозбиваються на два 10-розрядні поля: поле номери елемента каталогу таблиць сторінокта поле номери елемента таблиці сторінок. Так як і каталог таблиць сторінок, і кожна таблиця сторінокзаймають рівно 1 сторінку і вирівняні по межі сторінки, то молодші 12 розрядів їх базової адреси дорівнюють нулю, і для визначення їх фізичної адресидостатньо 20-розрядного поля.

Для каталогу таблиць сторінокйого 20-розрядна адреса знаходиться в регістрі управління CR3. КТС постійно перебуває у пам'яті і бере участь у свопінгу.

Старші 20 розрядів фізичної адреси таблиці сторіноквитягуються з ЕТС. Структури елемента КТС та елемента ТЗ схожі (рис. 3.14).


Мал. 3.14.

Старші 20 розрядів елемента дають базову адресу таблиці сторінок(в ЕКТС) або фізичної сторінки(В ЕТС). Біти P , A , R/W та U/S мають певну схожість з аналогічними атрибутами дескриптора сегмента, інші біти мають специфічне призначення.