
- •1. Управление процессами
- •1.1 Операции над процессами
- •1.2 Обработка прерываний
- •2. Иерархическая структура ос.
- •2.1 Понятие параллельных и асинхронных процессов
- •2.2 Алгоритм Деккера.
- •2.3 Аппаратная реализация взаимоисключения
- •2.4 Реализация взаимоисключения с помощью семафоров
- •3. Тупиковые ситуации
- •3.1 Четыре необходимых условия возникновения тупика
- •3.2 Основные направления исследований по проблеме тупиков
- •3.3 Предотвращение тупиков, 3 стратегических принципа.
- •3.5 Обнаружение тупиков
- •3.6 Восстановление после тупиков
- •4. Управление памятью
- •4.1 Организация памяти
- •4.2 Стратегии управления памятью
- •4.3 Связное и несвязное распределение памяти
- •4.4 Мультипрограммирование с фиксированными разделами
- •4.5 Мультипрограммирование с переменными разделами
- •4.6 Стратегии размещения информации в памяти
- •5. Организация виртуальной памяти
- •5.1 Страничная организация памяти
- •5.2 Сегментная организация памяти
- •5.3 Странично-сегментная организация памяти
- •5.4 Стратегии управления виртуальной памятью
- •5.5 Принцип локальности
- •5.6 Стратегии вталкивания страниц
- •6. Управление процессорами
- •6.1 Уровни планирования загрузки процессоров
- •6.2 Цели планирования
- •6.3 Принципы планирования
- •7 Управление внешней памятью
- •8. Производительность
- •8.1 Методы оценки производительности
- •9. Операционная система ms-dos – структура и механизмы
- •9.1 Этапы загрузки ms-dos
- •9.2 Параметры загрузки ms-dos
- •9.3 Структура диска в ms-dos
- •9.4 Использование памяти системой ms-dos
- •9.5 Средства использования памяти
- •10. Операционная система windows 9.X
- •10.1 Сравнение dos и Windows 9.X
- •10.2 Windows 9.X Функции операционной системы
- •10.3 Виртуальная адресация памяти Windows 9.X
- •10.4 Виртуальные машины ос Windows 9.X
- •10.5 Процессы и сообщения в ос Windows 9.X
- •10.6 Планирование приоритетов
- •10.7 Файловая система Windows 9.X
- •11. Операционная система unix
- •11.1 Структура ос unix
- •11.2 Файловая система ос unix
- •11.3 Типы файлов.
- •11.4 Структура файловой системы unix.
- •11.4.1 Базовая файловая система. System V (s5fs).
- •11.4.2 Файловая система ffs.
- •11.5 Архитектура виртуальной файловой системы.
- •11.6 Подсистема управления процессами
- •11.6.1 Типы процессов
- •11.6.2 Атрибуты процесса.
- •11.6.3 Состояния процесса.
- •11.7 Принципы управления памятью
- •11.8 Планирование выполнения процессов
- •11.9 Взаимодействия между процессами
- •12. Загрузка ос windows 2000
- •12.3 Загрузка и инициализация драйверов устройств
- •12.6.1 Раздел [boot loader]
- •12.6.2 Раздел [operating systems]
- •13 Файловая система windows nt (ntfs)
- •13 Новые возможности ntfs 5.0
- •14 Структура ntfs
- •14.1 Главная файловая таблица
- •14.2 Атрибуты файла ntfs
- •14.3 Системные файлы ntfs
- •14.4 Сравнение ntfs с hpfs и fat
- •15 Конфигурирование системы
5. Организация виртуальной памяти
Термин Виртуальная память предполагает возможность адресовать пространство памяти конкретной вычислительной машины.
Существует два общепринятых способа организации виртуальной памяти: страничная и сегментная организации памяти. Существует также их комбинация.
Суть концепции виртуальной памяти заключается в том, что адреса, к которым обращается выполняющий процесс, отделяются от адресов, реально существующих в первичной памяти. Первые называются виртуальными адресами, а вторые – реальными. Механизмы динамического преобразования адресов обеспечивают преобразование виртуальных адресов в реальные во время выполнения процесса. Все подобные системы обладают общим свойством: смежные адреса виртуального адресного пространства процесса необязательно будут смежными в реальной памяти, это свойство называют “искусственной смежностью”.
Механизм динамического преобразования адресов должен вести таблицы, показывающие, какие ячейки виртуальной памяти в текущий момент времени находятся в реальной памяти и где именно они размещаются. Если бы такое отображение осуществлялось пословно или побайтно, то для её хранения потребовалось бы слишком много реальной памяти. Поэтому для отображения информации группируем её в блоки, и система следит за тем, в каких местах реальной памяти размещаются эти блоки. Увеличение размера блоков приводит к уменьшению дополнительных затрат памяти для механизма отображения. При реализации виртуальной памяти возникает вопрос о том, следует ли все блоки делать одинаково или разных размеров.
Если блоки имеют одинаковый размер, то они называются страницами, а организация памяти – страничной, если блоки могут быть различных размеров, то они называются сегментами, а организация памяти – сегментной. В некоторых системах оба эти подхода комбинируются, т.е. сегменты переменных размеров формируются из страниц фиксированного размера. Виртуальный адрес в системе поблочного отображения указывается при помощи упорядоченной пары (b,d), где b – номер блока, а d – смещение относительно начального адреса этого блока.
5.1 Страничная организация памяти
Виртуальный адрес в страничной системе – упорядоченная пара (p,d), где p – номер страницы в виртуальной памяти, а d – смещение в рамках страницы p, где размещается адресуемый элемент. Страницы переписываются из внешней памяти в первичную и размещаются в ней в блоках, называемых страничными кодами таких же размеров. Выполняющийся процесс обращается по адресу виртуальной памяти V=(p,d), ищет номер страницы p в таблице отображения страниц и определяет, что эта страница находится в страничном коде p. Адрес реальной памяти формируется затем путём конкатенации p и d. Представим типичную строку таблицы отображения страниц следущим образом:
-
r
s
p
где r – бит-признак присутствия страницы в первичной памяти. r=1, если присутствует, иначе r=0. Если страницы нет, то s – её адрес во внешней памяти, если есть, то p - номер страничного кода.
Преобразование адресов страниц прямым отображением
Недостаток: таблица прямого отображения страниц может быть достаточно большой и находиться в первичной памяти, а так как время цикла выборки из первичной памяти составляет наибольшую долю выполнения команды, то преобразование адресов может может вызвать снижение скорости работы почти вдвое. Однако способ прямого отображения может быть приемлимым в случае размещения всей таблицы целиком в сверхвысокоскоростной кэш-памяти.
b
p d
b p
p
b+p p
p d
таблица страниц
Преобразование адресов страниц ассоциативным отображением
Смысл заключается в том, чтобы всю таблицу преобразования страниц разместить в ассоциативной памяти. Все строки таблицы, хранящейся в ассоциативной памяти, одновременно сравниваются с адресом страницы p. Именно из-за этого ассоциативная память является столь дорогостоящей. Применение кэш-памяти для реализации ассоциативной памяти обходится слишком дорого. Необходима некая компромисная схема.
p d
p
p
p d
Преобразование адресов страниц комбинированным ассоциативно-прямым отображением
Адрес таблицы b
Номер страни-
смещение d цы
p
P
P
P
Номер кад- смещен.
ра
p d
Операция выполняется только в случае, если поиск по ассоциативной таблице окажется неудачным. Сдесь ассоциативная память хранит небольшую часть полной таблицы. В строках этой таблицы отображаются только те страницы, к которым были последние ссылки, и вероятно будут новые обращения. Чтобы обеспечить хорошие скоростные показатели частичная ассоциативная таблица должна быть небольшой.