
- •Часть 1. Функции, состав и назначение ос
- •Место ос в структуре вычислительной системы
- •Две основные функции, выполняемые операционными системами.
- •Эволюция ос. Многозадачность и режим разделения времени
- •Эволюция ос. Дружественный интерфейс. Сетевые и распределенные ос
- •Классификация ос и краткая характеристика каждого класса
- •Требования, предъявляемые к современным ос. Их краткая характеристика
- •Часть 2. Архитектура ос
- •Монолитные ос
- •Многоуровневые ос. Основные и вспомогательные модули
- •Ядро ос в привилегированном положении
- •Многослойная структура ос и ядра
- •Виртуальные машины и гипервизоры
- •Микроядерная архитектура ос
- •Структура типовой unix-подобной ос
- •Структура ос семейства Windows nt
- •Аппаратная зависимость ос
- •Переносимость ос
- •Часть 3. Управление процессами и потоками
- •Мультипрограммирование или многозадачность. Вытесняющая и невытесняющая многозадачность.
- •Описатели процессов и потоков. Состояния процессов и потоков.
- •Описатели процессов и потоков. Операции над процессами и потоками.
- •20. Планирование и диспетчеризация. Контекст потока
- •Обработка прерываний. Типы прерываний.
- •Системные вызовы. Синхронный и асинхронный режим.
- •Синхронизация процессов и потоков. Блокирующие переменные и семафоры Дийкстры.
- •24. Сигналы. Реакция ос и приложений на сигналы.
- •Часть 4. Управление памятью
- •25. Функции ос по управлению памятью. Организация памяти.
- •26. Иерархия зу. Классификация зу.
- •27. Типы адресов памяти. Способы структурирования вап процесса.
- •28. Алгоритмы распределения памяти без использования внешней памяти. Достоинства и недостатки.
- •29. Виртуальная память и свопинг. Реализация виртуальной памяти.
- •30. Страничное распределение памяти. Преобразование виртуальных адресов в физические.
- •31. Методы выбора страницы для выгрузки ее на диск. Примеры.
- •32. Сегментное и сегментно-страничное распределение памяти. Отличительные особенности.
- •33. Разделяемые и невыгружаемые области памяти.
- •Часть 5. Управление данными
- •34. Основные функции подсистемы управления вводом-выводом.
- •35. Многослойная организация по ввода-вывода.
- •36. Менеджер (диспетчер) ввода-вывода.
- •37. Многоуровневые драйверы.
- •38. Файловая система. Логическая организация. Цели и задачи.
- •39. Типы файлов. Иерархическая структура фс.
- •40. Именование файлов. Типы имен файлов. Примеры.
- •41. Атрибуты файлов. Способы их хранения в конкретных файловых системах.
- •43. Физическая организация и адресация файла. Примеры.
- •Часть 6. Сетевые ос 46. Концепции распределенной обработки данных. Двухзвенные приложения.
- •48. Механизм сокетов. Примитивы передачи сообщений. (лекция 6)
- •Часть 7. Системные программы 49. Понятие и структура систем программирования.
- •50. Интерпретаторы, ассемблеры, макроассемблеры.(лекция 7)
- •51. Отладчики и загрузчики. Функции и назначение (лекция 7)
- •52. Процесс трансляции. Этапы, фазы и проходы.
- •53. Роль рекурсии в грамматике. Примеры. (лекция 7)
- •54. Порождения. Левое и правое порождения. Дерево синтаксического разбора. (лекция7)
29. Виртуальная память и свопинг. Реализация виртуальной памяти.
Когда для обеспечения приемлемого уровня многозадачности имеющейся ОП недостаточно, используется такой метод организации вычислительного процесса, при котором образы некоторых неактивных процессов, которые на время полностью или частично выгружаются на диск
• Это явление называется виртуализацией памяти
• Виртуальным называется ресурс, который пользователю представляется обладающим свойствами, которыми он
на самом деле не обладает
Виртуализация памяти может быть осуществлена на основе двух различных подходов:
свопинг – образы процессов выгружаются на диск и возвращаются в ОП целиком
виртуальная память – между ОП и диском перемещаются части процессов
Свопинг (подкачка) представляет собой частный случай ВП и соответственно более простой в реализации способ совместного использования ОП и диска.
Подкачке свойственна избыточность, поскольку часто нет большой необходимости загружать и выгружать
образы полностью
• Системы со свопингом не способны загружать для выполнения процесс, ВАП которого превышает имеющуюся в наличии свободную память
• Свопинг в современных системах обычно включается при серьезныхперегрузках
В настоящее время чаще используется более совершенный механизм ВП
• Ключевой вопрос в ВП – преобразование ВА в ФА
• Ответ на этот вопрос зависит от способа структуризации памяти
Все множество реализаций ВП может быть представлено тремя классами:
Страничная ВП
Сегментная ВП
Сегментно-страничная ВП
30. Страничное распределение памяти. Преобразование виртуальных адресов в физические.
Для временного хранения сегментов и страниц на внешнем носителе отводится отдельный раздел или специальный файл, который во многих ОС по традиции называют файлом подкачки
• Его второе название – страничный файл
• Размер этого файла является важным настраиваемым параметром для достижения компромисса между уровнем
мультипрограммирования и быстродействием.
//ВАП каждого процесса делится на части одинакового, фиксированного для определенной системы размера
• В общем случае размер виртуального адресного пространства не является кратным размеру страницы, поэтому
последняя страница каждого процесса дополняется фиктивной областью
• Вся ОП вычислительной машины делится на части такого же размера, и они называются физическими
страницами (или блоками, или кадрами)
• Размер страницы обычно степень двойки При создании процесса ОС загружает в ОП несколько его виртуальных страниц (например, начальные страницы сегмента кода и сегмента данных)
• Копия всего ВАП находится на диске
• Смежные виртуальные страницы не обязательно располагаются в смежных физических страницах Для каждого процесса создается таблица страниц – информационная структура с записями обо всех виртуальных страницах процесса
• Запись этой таблицы – дескриптор страницы, включает следующую информацию:
номер физической страницы
признак присутствия
признак модификации страницы
признак обращения к странице, называемый иногда битом доступа
признак защиты страницы (обычно три бита) для допуска и запрета на операции чтения, записи и выполнения;
признак блокирования кэша и др
При переходе очередного процесса в активное состояние в специальный регистр процессора загружается адрес таблицы страниц данного процесса
• При каждом обращении к памяти происходит чтение из таблицы страниц информации о виртуальной странице, к которой произошло обращение
• Если данная страница уже находится в ОП, то выполняется преобразование ВА в ФА
• Если нужная виртуальная страница находится на диске, то происходит так называемое страничное прерывание.
Преобразование ВА в ФА
ВА при страничном распределении – пара чисел (P, O), где P – номер виртуальной страницы процесса (начиная с 0), а O –смещение в пределах виртуальной страницы
• Поскольку размер страницы равен 2k, смещение O получается отделением k младших разрядов в двоичной записи ВА
• Оставшиеся старшие разряды представляют собой двоичную запись номера страницы P При каждом обращении к ОП аппаратура выполняет следующие действия:
1. На основании начального адреса таблицы страниц, номера виртуальной страницы и длины записи в таблице страниц определяется адрес нужной записи в таблице
2. Из найденной записи извлекается номер физической страницы
3. К номеру физической страницы присоединяется смещение, то есть младшие разряды ВА
На производительность системы со страничной организацией памяти влияют временные затраты, связанные с
обработкой страничных прерываний и преобразованием ВА в ФА
• При часто возникающих страничных прерываниях система может затратить большую часть времени на страничный обмен
• В современных системах чаще всего размер страницы устанавливается равным 4, 8, 16 Кб, однако чаще стали
встречаться страницы 32 Кб