- •Содержание
- •1 Группа
- •1. Організація адресації ат286 в захищеному режимі.
- •2. Архітектура мп 80386.
- •3. Архітектура мп 80486.
- •4. Регістри стану й керування і486.
- •5. Архітектура та функціональні можливості Pentium.
- •6. Провести порівняльний аналіз архітектур мікропроцесорів фірми Intel.
- •7. Risc-процесори.
- •8. Архітектура сигнального мікропроцесора adsp.
- •9. Описати роботу системного таймера ibm-сумісного комп'ютера.
- •10. Класифікація мікропроцесорних наборів.
- •11. Класифікація мікропроцесорних наборів за числом віс.
- •12. Режими роботи таймерів однокристальної мікро еом Intel 8051.
- •13. Архітектура пам’яті процесорів adsp-2100.
- •14. Система команд і регістри процесорів сімейства adsp-2100.
- •15. Динамічні зп з довільною вибіркою.
- •16. Стекова адресація. Польський зворотній запис.
- •If (число)
- •17. Перетворення віртуальних адресів у фізичні.
- •18. Адресний простір еом. Способи адресації операндів.
- •19. Оперативна пам’ять. Організація та принципи управління.
- •20. Система переривань та її характеристики.
- •21. Формування фізичної адреси з логічної у реальному режимі.
- •22. Формування фізичної адреси з логічної у 386 захищеному режимі.
- •23. Підсистема керування оперативної пам’яті. Організація та принципи управління.
- •1. Динамическое распределение памяти.
- •2. Разделение памяти на страницы.
- •3. Использование связанных списков.
- •4. Сегментация памяти.
- •5. Свопинг памяти.
- •6. Организация виртуальной памяти.
- •24. Динамічний розподіл пам’яті. Організація віртуальної пам’яті.
- •25. Загальні принципи будування багатопроцесорних обчислювальних комплексів..
- •26. Загальні принципи будування багатомашинних обчислювальних комплексів.
- •27. Конвеєрні, векторні та матричні багатопроцесорні комплекси.
- •28. Асоціативні системи та системи зі структурою, що перебудовується.
- •29. Принципи будування високонадійних обчислювальних систем - кластерів.
- •30. Принципи побудови систем з симетрично-паралельною обробкою даних. Переваги та недоліки таких систем
- •31. Страницы jsp. Теги и встроенные объекты jsp
- •32. Архитектура распределенных приложений. Web – сервисы
- •33. Soap
- •34. Java rmi Достоинства и недостатки Java rmi
- •35. Распределенные компьютерные системы. Промежуточное программное обеспечение распределенных компьютерных систем
- •36. Виртуальная машина jvm
- •37. Пространства и схемы xml
- •38. Corba. Достоинтсва и недостатки corba
- •39. Сервлет-технология Java
- •40.Xml. Структура xml-документа
- •2 Группа
- •1 Класифікація операційних систем
- •2 Мультизадачність, її розновиди
- •3. Процеси, потоки та їх взаємодія
- •4. Стани процесів
- •5. Розподіл оперативної пам'яті фіксованими розділами
- •6. Розподіл оперативної пам'яті зміними розділами, алгоритми завантаження нових процесів
- •7. Пошук фізичної адреси у реальному режимі
- •8.Пошук фізичної адреси у захищеному режимі
- •9. Пошук фізичної адреси при сторінковій адресації
- •10.Сегментна та сторінкова організація віртуальної пам’яті, алгоритми заміщення сегментів
- •11. Системи введення-виведення, основні режими, базові таблиці
- •12.Файлові системи fat (fat-16, fat-32, vfat).
- •Vfat и длинные имена файлов
- •13.Файлова система hpfs.
- •14.Файлова система ntfs.
- •15.Файлова система UfS.
- •16. Структура жорсткого магнитного диску
- •1.Каждый жесткий диск обслуживают несколько головок, в зависимости от количества круглых пластинок, покрытых магнитным материалом, из которых состоит диск.
- •2.Информация записывается и читается блоками, поэтому все дорожки как бы разбиты на секторы (обычно по 512 байт).
- •3.В операциях чтения или записи на физическом уровне необходимо указывать номер головки (0,1,...), дорожки или цилиндра (0,1,...), сектора (1,2,...).
- •17 Класифікація системного програмного забезпечення
- •18 Мікроядерні та монолітні операційні системи, їх особливості
- •19 Сервісні системи (інтерфейсні системи, оболонки, утілити)
- •20 Інструментальні системи
- •21 Системи програмування, їх основні типи.
- •22 Системи штучного інтелекту
- •23 Асемблери, алгоритм двохпрохідного асемблера
- •24 Завантажувачі
- •25 Макропроцесори
- •26 Компілятори
- •27 Призначення та структура головної функції вікна.
- •Реєстрація класу вікна, параметри, які підлягають реєстрації.
- •29 Етапи створення вікна. Які функції задіяно на кожному етапі?
- •30 Ініціалізація dll-бібліотеки у середовищі Microsoft Windows nt/2000/xp.
- •31 Експорт та імпорт функцій при використанні dll-бібліотек.
- •32 Динамічний імпорт функцій при використанні dll-бібліотек.
- •33 Структура простої прикладної програми з бібліотекою динамічної компоновки. Послідовність дій при компіляції.
- •If(!strcmp((lpstr)lParam, szBuf)) // Сравниваем заголовок со строкой, адрес которой передан в функцию EnumWindowsProc
- •3 Группа
- •Void main ()
- •Void main ()
- •Void main ()
- •Int n; scanf("%d",&n); //число элементов в массиве
- •Void main()
- •Int n; scanf("%d",&n); //число элементов в массиве
- •Int main()
- •Int n,m; scanf("%d%d",&n,&m); //число элементов строк и элементов в строке
- •Int main()
- •Int n,m; scanf("%d%d",&n,&m); //число элементов строк и элементов в строке
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int mul(double X,double y)
- •Int main()
- •Int main()
- •Void func(a);
- •Int fclose(file *имя);
- •Void perror(const char *s);
- •Int fputc(int ch, file *fp);
- •Int fgetc(file *fp);
- •Int fputs(char* string, file *fp);
- •Int fprintf(file *fp, char *format [,аргумент]…);
- •Int fscanf(file *fp, char *format [,указатель]…);
- •Int n; float f; long l; int a[5]; float m[5];
- •Int fwrite(void *ptr, int size, int n, file *fp);
- •Int fread(void *ptr,int size,int n,file *fp);
- •16 Ооп. Визначення класу. Компоненти класу. Спеціфікатори доступу до компонентів класу. Різниця між методами класу, визначеними в класі та поза межами класу.
- •Void define(double re,double im)
- •Void display()
- •X.Define(1,2);
- •Void set(int);
- •Void myclass::set(int c)
- •Int myclass::get()
- •17 Ооп. Визначення класу. Конструктор, перевантажені конструктори, деструктор.
- •Void main()
- •Void main()
- •Void main()
- •18 Ооп. Поняття дружніх функціїй. Різниця між дружньою функцією - членом класу та не членом класу.
- •19 Ооп. Поняття перевантаження операцій. Правила її використання.
- •20 Ооп. Наслідування. Поняття базового та похідного класів. Спеціфікатори доступу до членів класів.
- •21 Моделювання. Визначення моделі та призначення моделювання. Види моделей.
- •22 Моделювання. Загальносистемна модель функціонування систем. Моделі систем: безперервна, лінійна, безперервна лінійна, дискретна.
- •23 Моделювання. Узагальнена модель систем масового обслуговування (смо). Типи смо
- •24 Моделювання. Позначений граф станів системи. Рівняння Колмогорова для ймовірностей стану системи. Фінальні ймовірності станів системи.
- •25 Асемблер. Регістри та біти ознак процесора Intel 8086. (регістри загального вжитку та сегментні регістри, їх призначення; ознаки cf, of, sf, pf, af, zf)
- •26 Асемблер. Структура програми (директиви сегментування segment та з використанням директиви model; директиви assume; моделі пам’яті; ініціалізація сегментних регістрів)
- •Int 21h ;вызов прерывания с номером 21h
- •28 Асемблер. Арифметичні операції додавання та віднімання чисел зі знаком та беззнакових, з урахуванням ознаки переносу, інкрементування й декрементування
- •Vich_1 dd 2 dup (0)
- •Vich_2 dd 2 dup (0)
- •Inc ax ;увеличить значение в ax на 1
- •29 Асемблер. Арифметичні операції множення та ділення чисел зі знаком та беззнакових
- •Imul eax,bx,8
- •Idiv (Integer diVide) Деление целочисленное со знаком
- •Idiv делитель
- •Idiv bx ;частное в ax, остаток в dx
- •30 Асемблер. Команди безумовної передачі керування. (прямі короткі; прямі; непрямі)
- •31 Асемблер. Організація циклів за допомогою команд jcxz; loop, loopz та loopnz
- •32 Асемблер. Команди умовного передавання керування. (операція cmp; операції умовного передавання керування jcxz, jc, jo, jz, jc, je, jl, jg, ja, jb)
- •Int 21h ;Вызов системной функции
- •33 Асемблер. Макроси (опис, розташування, використання)
- •4 Группа
- •1,2 Общая характеристика модели osi
- •3 Понятие «открытая система»
- •4 Стандартные стеки коммуникационных протоколов (osi , ipx/spx, NetBios/smb)
- •5 Стек tcp/ip
- •6 Общая структура телекоммуникационной сети
- •7 Корпоративные сети
- •8,9 Сети операторов связи
- •10 Классификация линий связи: первичные сети, линии и каналы связи; физ.Среда пердачи аднных
- •11 Классификация линий связи: аппаратура передачи данных
- •12 Структурированная кабельная система
- •13 Безпровідна лінія зв'язку, діапазони електромагнітного спектру
- •14 Безпровідне середовище передачі даних: розповсюдження електромагнітних хвиль, ліцензування
- •15 Общая характеристика протоколов локальных сетей: стандартная топология и разделяемая среда, стек протоклов локальных сетей.
- •16 Протокол mac. Адресация mac-уровня.
- •17 Структура стандартов ieee 802.X
- •18 Спецификация физической среды Ethernet ( общая характеристика стандартов 10Мбит/мек,Домен коллизий)
- •19 Спецификация физической среды Ethernet ( Стандарт 10Base-5, 10Base-5)
- •20 Спецификация физической среды Ethernet ( Стандарт 10Base-т)
- •21 Спецификация физической среды Ethernet ( Оптоволоконная сеть Ethernet)
- •22 Технология Fast Ethernet (Физический уровень технологии Fast Ethernet)
- •23 Технология Fast Ethernet (спецификация 100Base-fx/тх/т4)
- •24 Правила построения сегментов Fast Ethernet при наличии повторителей
- •25. Gigabit Ethernet
- •26. Технология Token Ring
- •27 Загальна характеристика безпровідних локальних мереж
- •28 Мережі Стек протоколів ieee 802.11, безпека безпровідних локальних мереж
- •29 Мережі Топології безпровідних локальних мереж стандарту 802.11, розподілений та централізований режими доступу до розділеного середовища
- •30 Мережі Особливості персональних мереж, архітектура Bluetooth
- •31 Мережі Стек протоколів Bluetooth, кадри Bluetooth.
- •32 Мережі Основні функції мережних адаптерів
- •33 Мережі Основні и додаткові функції концентраторів
- •34 Мережі Багатосегментні концентратори
- •35 Мережі Основні характеристики та особливості комутаторів. Неблокуючі комутатори
- •36 Мережі Функції комутаторів (боротьба з перевантаженнями трансляція протоколів канального рівня, фільтрація трафіку)
- •37 Мережі Характеристики продуктивності комутаторів
- •38 Мережі Поняття та призначення віртуальних мереж
- •39 Мережі Створення віртуальніх мереж на базі одного та декількох комутаторів
- •40 Мережі Якість обслуговування в віртуальних мережах
- •41 Мережі Типи адрес стеку tcp/ip (локальні адреси, мережні ip-адреси, доменні імена).
- •42 Мережі Протокол dhcp
- •43 Мережі Протоколи транспортного рівня tcp и udp (загальна характеристика, порти)
- •44 Мережі Протокол транспортного рівня udp
- •45 Мережі Протокол транспортного рівня tcp (формат tcp - сегмента, логічне з‘єднання, послідовний та затверджений номер)
- •47 Мережі Класифікація протоколів маршрутизації, маршрутизація без таблиць, адаптивна маршрутизація
- •48 Мережі Використання декількох протоколів маршрутизації, зовнішні та внутрішні шлюзні протоколи
- •49 Мережі Протокол bgp
- •50 Мережі Поняття, типи icmp-повідомлень
- •51 Мережі Протокол icmp (формат ехо – запитання /ехо - відповідь и утиліта ping; формат повідомлення про помилку та утиліта traceroute)
- •5 Группа
- •1 Трьохрівнева модель субд
- •2 Моделі даних
- •3 Реляційна модель даних
- •4 Ключі відношень. Визначення, різновиди, призначення. Умови цілісності даних
- •5 Інфологічне моделювання предметної області. Модель “Сутність – зв’язок”
- •6 Види зв’яку між сутностями. Навести приклади
- •7 Нормалізація відношень. Призначення. Послідовність виконання нормалізації.
- •8 Нормалізація відношень. 1 та 2 нормальні форми.
- •9 Нормалізація відношень. 3 нормальна форма та нормальна форма Бойса-Кодда. Навести приклади
- •10 Функціональні залежності атрибутів у відношеннях.
- •11 Реляційна алгебра. Основні операції реляційної алгебри.
- •12 Оператор Select. Речення From . Синтаксис. Використання. Навести приклади.
- •13 Відбирання рядків у запитах. Синтаксис. Навести приклад.
- •14 Відбирання груп у запитах. Синтаксис. Навести приклад.
- •15 Групування та сортування записів у запиті. Навести приклад
- •16 Вкладені запити. Різновиди. Синтаксис. Навести приклади.
- •17 Використання агрегатних функцій у запитах.
- •18 Фізична модель даних. Структура записів на носії.
- •21. Рівні та задачі проектування електронних пристроїв от.
- •22. Математичне моделювання електронних пристроїв от: переваги та недоліки.
- •23. Математичні моделі елементів електронних пристроїв. Визначення і класифікація, методи розробки.
- •24. Задачі схемотехнічного проектування електронних пристроїв от.
- •25. Структура та можливості програм моделювання електронних схем.
- •26. Типова структура і засоби розробки макромоделей інтегральних мікросхем.
- •27. Імітаційне моделювання електронних пристроїв от: процес, подія, активність.
- •28. Методи функціонального моделювання аналогових і цифрових пристроїв.
- •29. Методи логічного моделювання цифрових пристроїв.
- •30. Тестування цифрових пристроїв: контролюючі та діагностичні тести. Засоби їх отримання.
- •31 Моделювання на рівні регістрових передач
- •32 Функціональне моделювання за допомогою програм моделювання аналогових схем.
- •33 Математические методы и модели на разных уровнях проетирования
- •6 Группа
- •1 Властивості інформації. Класифікація загроз інформації.
- •2 Уровни защиты информации в компьютерных системах
- •3 Законодательний рівень захисту інформації
- •4. Організаційно-адміністративний рівень захисту інформації
- •5. Фізико-технічні засоби захисту інформації в компьютерних системах
- •6. Криптографічний захист інформації
- •7. Стандарти симетричного шифрування даних
- •8. Криптосистеми з відкритим ключем
- •9. Канали несанкціонованого доступу до інформації
- •10, Системи захисту від несанкціонованого доступу
- •11. Аутентифікація електронних даних: імітоприкладка, електронний цифровий підпис
- •3. Проверка подписи
- •1. Генерация ключей
- •2. Подписание документа
- •3. Проверка подписи
- •12. Системи ідентифікації та аутентифікації користувачів
- •13. Взаємна аутентифікація користувачів
- •1. «Запрос-ответ»
- •2. «Временной штемпель»
- •3. Процедура рукопожатия
- •4. Протокол аутентификации с нулевым разглашением знаний
- •14. Парольная система. Требования к паролям.
- •15. Захист від віддалених мережевих атак
- •27. Перетворення спектра при дискретизації сигналів. Теорема Котельникова
- •28. Швидке перетворення Фур'є з проріджуванням за часом. Структурна схема "метелика" з проріджуванням за часом.
- •29. Поняття цифрового фільтра. Рекурсивні та нерекурсивні фільтри. Чотири основні форми реалізації фільтрів.
- •30. Операції над зображеннями. Поняття околу (4-точечний, 8-точечний окіл). Вікно, опорна точка вікна.
- •31. Лінійна фільтрація зображень. Рівняння лінійної фільтрації
- •7 Группа
- •2 За допомогою методики розрахунка конфігурації мережі Ethernet, підтвердіть правило 4-х хабів.
- •8 Наведіть обмеження для мереж, що побудовані на основі комутаторів
- •11 Яку максимальну кількість підмереж можливо організувати для мережі класа с? Приведіть значення маски
- •20 Проаналізуйте можливості та характеристики сучасних принтерів
- •21 Проведіть логічне тестування і відновлення інформації на гнучкому магнітному диску
- •22 Структура та принцип роботи сучасного модема, блок-схема передавача та приймача
- •23 Реалізація функцій скремблювання та ехоподавлення в сучасних модемах
- •24 Сучасні жорсткі диски. Проаналізуйте їх характеристики
- •25 Сучасні сканери, Проаналізуйте їх функції та характеристики
- •26 Джерела безперервного живлення. Проаналізуйте їх основні характеристики
- •27 Дайте визначення та наведіть робочі формули основних показників надійності. Приведіть та роз'ясніть графік інтенсивності відмов для обчислювальних пристроїв.
- •28 Приведіть формулу ймовірності безвідмовної роботи Pc(t) системи з навантаженим загальним резервом. Приведіть графік залежності нароботки до відказу від кратності резерву.
- •17 Розробіть на мові асемблер програму для обчислення суми чисел масиву з 10 елементів типу байт у процедурі з передаванням аргументів через регістри.
- •18 Розробіть на мові асемблер фрагмент програми, в якій знаходиться максимальний елемент масиву з 10 чисел типу слово (з використанням команди jcxz).
- •19 Розробіть на мові асемблер фрагмент програми для обчислення номеру мінімального елементу в масиві з 10 чисел типу слово (за допомогою команди loop)
- •20 Розробіть на мові асемблер фрагмент програми, що порівнює значення двох змінних введених з клавіатури й відображає результат у вигляді: рівні або нерівні.
- •21 Розробіть на мові асемблер фрагмент програми, в якій додаються та множаться два байтові числа, визначається парний чи непарний результат суми та дво- чи чотирьохбайтовий результат добутку.
- •26 Приведіть методи підвищення ефективності роботи з жорстким диском по переміщенню голівок
- •31 Проаналізуйте структуру драйверу ms dos. Його частини. Завантаження драйверу та робота з ним.
- •33 Наведіть характеристики режимів відеосистеми. Характеристики, які не змінюються, які змінюються з використанням фізичних методів. Характеристики, які змінюються програмно.
- •34 Проаналізувати методи створення розділів диску. Скільки розділів та логічних дисків можливо встановити на одному фізичному диску?
10.Сегментна та сторінкова організація віртуальної пам’яті, алгоритми заміщення сегментів
Сегментна організація пам’яті.
Сегментация
- Программа и данные разделяются на ряд сегментов. Существует максимальный размер сегмента, но каждый из сегментов может быть произвольного размера;
- логический адрес состоит из двух частей – номера сегмента и смещения;
- сегментация устраняет внутреннюю фрагментацию, но, страдает от внешней фрагментации, но ее степень снижается за счет разбиения процесса на небольшие части;
- страничная организация невидима для программиста, сегментация, как правило, види-ма и используется при размещении данных кода и данных в разных сегментах.
Виртуальная память - это совокупность программно-аппаратных средств, позволяющих пользователям писать программы, размер которых превосходит имеющуюся оперативную память; для этого виртуальная память решает следующие задачи:
- размещает данные в запоминающих устройствах разного типа, например, часть программы в оперативной памяти, а часть на диске;
- перемещает по мере необходимости данные между запоминающими устройствами разного типа, напр., подгружает нужную часть программы с диска в ОП;
- преобразует виртуальные адреса в физические.
Эти действия выполняются автоматически, без участия программиста, т. е. механизм виртуальной памяти является прозрачным по отношению к пользователю.
Наиболее распространенными реализациями виртуальной памяти является страничное, сегментное и странично-сегментное распределение памяти, а также свопинг.
При страничной организации виртуальное адресное пространство процесса делится механически на равные части. Это не позволяет дифференцировать способы доступа к разным частям программы (сегментам), а это свойство часто бывает очень полезным. Например, можно запретить обращаться с операциями записи и чтения в кодовый сегмент программы, а для сегмента данных разрешить только чтение. Кроме того, разбиение программы на "осмысленные" части делает принципиально возможным разделение одного сегмента несколькими процессами. Напр., если 2 процесса используют одну и ту же математическую подпрограмму, то в ОП может быть загружена только одна копия этой подпрограммы.
Как сегментное распределение памяти реализует эти возможности (рис.1). Виртуальное адресное пространство процесса делится на сегменты, размер которых определяется программистом с учетом смыслового значения содержащейся в них информации. Отдельный сегмент может представлять собой подпрограмму, массив данных и т.п. Иногда сегментация программы выполняется по умолчанию компилятором.
При загрузке процесса часть сегментов помещается в ОП (при этом для каждого сегмента ОС подыскивает подходящий участок свободной памяти), а часть сегментов размещается в дисковой памяти. Сегменты одной программы могут занимать в ОП несмежные участки. Во время загрузки система создает табл. сегментов процесса (аналогичную табл. страниц), в которой для каждого сегмента указывается начальный физический адрес сегмента в ОП, размер сегмента, правила доступа, признак модификации, признак обращения к данному сегменту за последний интервал времени и некоторая другая информация. Если виртуальные адресные пространства нескольких процессов включают один и тот же сегмент, то в табл. сегментов этих процессов делаются ссылки на один и тот же участок ОП, в который данный сегмент загружается в единственном экземпляре.
Система с сегментной организацией функционирует аналогично системе со страничной организацией: время от времени происходят прерывания, связанные с отсутствием нужных сегментов в памяти, при необходимости освобождения памяти некоторые сегменты выгружаются, при каждом обращении к ОП выполняется преобразование виртуального адреса в физический. При обращении к памяти проверяется, разрешен ли доступ требуемого типа к данному сегменту.
Рис. 1. Распределение памяти сегментами
Виртуальный адрес при сегментной организации памяти может быть представлен парой (g, s), где g - номер сегмента, а s - смещение в сегменте. Физический адрес получается путем сложения начального физического адреса сегмента, найденного в таблице сегментов по номеру g, и смещения s.
Недостатком данного метода распределения памяти является фрагментация на уровне сегментов и более медленное по сравнению со страничной организацией преобразование адреса.
Сторінкова організація пам’яті.
-
память разделена на одинаковые блоки небольшого фиксированного размера (кадры-frames); каждый процесс разделен на блоки такого же размера (страницы-pages) (рис. 1)
Рис. 1. Распределение страниц по свободным кадрам
- для каждого процесса ОС поддерживает таблицу страниц (рис. 2)
- содержит расположение кадров каждой страницы процесса;
- внутри программы логический адрес состоит из двух частей – № страницы и смещения внутри нее
- внешняя фрагментация отсутствует, а потери из-за внутренней фрагментации – ограничены частью последней страницы процесса.
Рис. 2. Таблицы страниц, соответствующие примеру рис. 8, е
Виртуальная память - это совокупность программно-аппаратных средств, позволяющих пользователям писать программы, размер которых превосходит имеющуюся ОП; для этого виртуальная память решает следующие задачи:
- размещает данные в запоминающих устройствах разного типа, напр., часть про-граммы в ОП, а часть на диске;
- перемещает по мере необходимости данные между запоминающими устройствами разного типа, напр., подгружает нужную часть программы с диска в ОП;
- преобразует виртуальные адреса в физические.
Все эти действия выполняются автоматически, без участия программиста, т.е. ме-ханизм виртуальной памяти является прозрачным по отношению к пользователю.
Наиболее распространенными реализациями виртуальной памяти является страничное, сегментное и странично-сегментное распределение памяти и свопинг.
При страничном распределении памяти виртуальное адресное пространство каж-дого процесса делится на части одинакового, фиксированного для данной системы раз-мера, называемые виртуальными страницами. В общем случае размер виртуального адресного пространства не является кратным размеру страницы, поэтому последняя страница каждого процесса дополняется фиктивной областью.
Вся ОП машины также делится на части такого же размера, называемые физичес-кими страницами (или блоками). Размер страницы выбирается равным степени двойки: 512, 1024 и т.д., это позволяет упростить механизм преобразования адресов.
При загрузке процесса часть его виртуальных страниц помещается в ОП, а осталь-ные - на диск. Смежные виртуальные страницы не обязательно располагаются в смеж-ных физических страницах. При загрузке ОС создает для каждого процесса информа-ционную структуру - таблицу страниц. В ней устанавливается соответствие между №-ми виртуальных и физических страниц для страниц, загруженных в оперативную память, или делается отметка о том, что виртуальная страница выгружена на диск. Кроме того, в таблице страниц содержится управляющая информация, такая как признак модифи-кации страницы, признак невыгружаемости (выгрузка некоторых страниц может быть запрещена), признак обращения к странице (используется для подсчета числа обраще-ний за определенный период времени) и другие данные, формируемые и используе-мые механизмом виртуальной памяти.
При активизации очередного процесса в специальный регистр процессора загружает-ся адрес таблицы страниц данного процесса. При каждом обращении к памяти происхо-дит чтение из таблицы страниц информации о виртуальной странице, к которой произо-шло обращение. Если данная виртуальная страница находится в ОП, то выполняется преобразование виртуального адреса в физический. Если же нужная виртуальная стра-ница в данный момент выгружена на диск, то происходит так называемое страничное прерывание. Выполняющийся процесс переводится в состояние ожидания, и активизи-руется другой процесс из очереди готовых. Параллельно программа обработки страни-чного прерывания находит на диске требуемую виртуальную страницу и пытается за-грузить ее в ОП. Если в памяти имеется свободная физическая страница, то загрузка выполняется немедленно, если же свободных страниц нет, то решается вопрос, какую страницу следует выгрузить из ОП.
Может быть использовано много разных критериев выбора:
- дольше всего не использовавшаяся страница,
- первая попавшаяся страница,
- страница, к которой в последнее время было меньше всего обращений.
В некоторых системах используется понятие рабочего множества страниц. Оно опреде-ляется для каждого процесса и представляет собой перечень наиболее часто исполь-зуемых страниц, которые должны постоянно находиться в ОП и не подлежат выгрузке.
После выбора страниці, которая должна покинуть ОП, анализируется ее признак мо-дификации (из табл. страниц). Если выталкиваемая страница с момента загрузки была модифицирована, то ее новая версия должна быть переписана на диск. Если нет, она может быть просто уничтожена, т. е. соответствующая физическая страница объявля-ется свободной.
Механизм преобразования виртуального адреса в физический при страничной орга-низации памяти (рис.3).Виртуальный адрес при страничном распределении может быть представлен в виде пары (p, s), где p - № виртуальной страницы процесса (нумерация страниц начинается с 0), а s - смещение в пределах виртуальной страницы. Учитывая, что размер страницы равен 2 в степени к, смещение s может быть получено простым отделением k младших разрядов в двоичной записи виртуального адреса. Оставшиеся старшие разряды представляют собой двоичную запись номера страницы p.
При каждом обращении к ОП аппаратными средствами выполняется следующее:
- на основании начального адреса табл. страниц (содержимое регистра адреса табл. страниц), № виртуальной страницы (старшие разряды виртуального адреса) и длины записи в табл. страниц (системная константа) определяется адрес нужной записи в таблице, 1) из этой записи извлекается № физической страницы, 2) к № физической страницы присоединяется смещение (младшие разряды виртуального адреса).
Использование факта, что размер страницы равен степени 2, позволяет применить операцию присоединения вместо более длительной операции сложения, что уменьша-ет время получения физического адреса и повышает производительность компьютера.
На производительность системы со страничной организацией памяти влияют времен-ные затраты на обработку страничных прерываний и преобразование виртуального ад-реса в физический. При частых страничных прерываниях система может тратить боль-шую часть времени на свопинг страниц. Для уменьшения частоты страничных прерыва-ний, нужно увеличивать размер страницы. Увеличение размера страницы уменьшает размер таблицы страниц и уменьшает затраты памяти. С другой стороны, если страни-ца велика, значит велика и фиктивная область в последней виртуальной странице каж-дой программы. В среднем на каждой программе теряется половина объема страницы, что в сумме при большой странице может составить существенную величину. Время преобразования виртуального адреса в физический в значительной степени определя-ется временем доступа к таблице страниц. В связи с этим табл. страниц стремятся раз-мещать в "быстрых" запоминающих уст-вах. Это может быть, напр., набор специальных регистров или память, использующая для уменьшения времени доступа ассоциативный поиск и кэширование данных.
Страничное распределение памяти в упрощенном варианте - без выгрузки страниц на диск. В этом случае все виртуальные страницы всех процессов постоянно находятся в ОП. Такой вариант страничной организации хотя и не предоставляет пользователю виртуальной памяти, но почти исключает фрагментацию за счет того, что программа может загружаться в несмежные области, а также того, что при загрузке виртуальных страниц никогда не образуется остатков.
Рис. 3. Механизм преобразования виртуального адреса в физический при страничной организации памяти