- •Операционные системы Оглавление
- •Введение. Общие сведения.
- •1.2 История вычислительной системы
- •1.2.1 Первый период 45 – 55 гг.
- •1.2.2 Второй период 55-60 гг.
- •1.2.3 Третий период 60 – 80 гг.
- •1.2.4 Четвертый период с 80-х годов по наст. Время (персональные компьютеры, сетевые и распределенные системы).
- •1.2.5 Итоги развития вс.
- •1.3 Основные понятия и концепции ос
- •1.3.1 Системные вызовы.
- •1.3.2 Программные прерывания.
- •1.3.3 Файл.
- •1.4 Процессы и потоки. Архитектурные особенности ос.
- •1.4.1 Монолитное ядро.
- •1.4.2 Слоеные системы (Layered Systems)
- •1.4.3 Виртуальные машины.
- •1.4.4 Микроядерная архитектура.
- •1.4.5 Смешанные системы.
- •1.5 Классификация ос
- •2. Процессы и их поддержка в ос.
- •2.1 Понятие процесса.
- •2.2 Состояние процесса.
- •2.3 Операции над процессами и связанные с ними понятия
- •2.3.1 Набор операций.
- •2.3.2 Процесс Control Block и контекст процесса.
- •2.3.3 Одноразовые операции.
- •2.3.4 Многоразовые операции над процессами.
- •2.3.5 Переключение контекста.
- •3.Планирование процесса.
- •3.1. Уровни планирования
- •3.2 Критерии планирования и требовании к алгоритмам.
- •3.3 Параметры планирования
- •3.4 Вытесняющие и невытесняющие планирования
- •3.5 Алгоритмы планирования
- •3.5.1FirstComeFirstServed
- •3.5.2 Round Robin
- •3.5.3ShortestJob–First
- •3.5.4 Гарантированное планирование
- •3.5.5 Приоритетное планирование
- •3.5.6 Многоуровневые очереди (multilevelQueue)
- •3.5.7 Многоуровневые очереди
- •4. Кооперация процессов и основные аспекты в её логической реализации.
- •4.1 Взаимодействующие процессы
- •4.2 Категории средств обмена информацией
- •4.3 Логическая организация механизма передачи информации
- •4.3.1 Установление связи
- •4.3.2 Информационная валентность процессов и средств связи.
- •4.3.3 Особенности передачи информации с помощью линии связи.
- •4.3.4 Надежность средств связи
- •4.3.5 Как завершается связь?
- •4.4 Потоки исполнения
- •5. Алгоритмы синхронизации
- •5.1 Interleaving race condition
- •5.2 Критическая секция
- •5.3 Программные алгоритмы организации взаимодействия процессов
- •5.3.1 Требования, предъявляемые к алгоритму.
- •5.3.2 Запрет прерываний
- •7.8.2 Недостатки алгоритма банкира
- •8.2 Логическая память
- •8.3 Связывание адресов
- •8.4 Функции системы управления памятью
- •8.6 Страничная память
- •8.7 Сегментная и сегментно-страничная организация памяти
- •9. Виртуальная память
- •9.1 Понятие виртуальной памяти
- •9.2 Архитектурные средства поддержки виртуальной памяти
8.6 Страничная память
Необходимо искать другие схемы организации памяти. Современные системы распределения памяти не предполагают в общем случае размещения процессов одним непрерывным блоком, т.е.
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ |
Размер кратный размеру страницы |
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ |
Размер кратный размеру страницы |
ОС |
В самом плохом случае (при пэйджинге), как логическое адресное пространство, так и физическое адресное пространство представляются в виде набора блоков одинакового размера. Блоки называются страницами.
Pageframe– физический блок, размер кратен 2k.
(p, d) – логический адрес, где p – страница, d - смещение в рамках одной страницы.
Рассматриваемая схема позволяет загрузить процесс, даже если нет непрерывной области кадров, достаточной для размещения процесса. Можно держать в физической памяти только часть страничных кадров процесса.
Система отображения логических адресов в физические сводится к отображению логических страниц в физические и представляет собой таблицу страниц, хранящуюся в оперативной памяти.
p– номер виртуальной страницы
d– смещение внутри виртуальной странице
p |
d |
Таблица страниц
| |
Атрибуты |
p’ |
|
p’ |
d |
Используя атрибуты можно организовать контроль доступа к конкретной странице и ее защиту.
8.7 Сегментная и сегментно-страничная организация памяти
Принцип предполагает, что размер сегмента меняется в зависимости от страницы.
V= (S,d), где
S– сегмент
d– смещение
При сегментной организации – это набор сегментов в логическом пространстве. В рамках сегмента адресация линейна.
Если посмотреть на таблицу, которая при сегментной организации работает, она будет похожа на предыдущую.
S– номер сегмента
d– смещение
a– адрес начала сегмента
V |
d |
Таблица дескрипторов
| |
Атрибуты |
a |
|
Сегменты присутствуют в микропроцессорах фирмы Intel.
Сегмент большой, поэтому принято разбивать их на страницы – блоки равного размера – сегментно-страничная организация. В этом случае преобразование (трансляция) виртуального адреса в физический двухуровневое, а логический адрес трехкомпонентный: (S, p, d).
9. Виртуальная память
9.1 Понятие виртуальной памяти
Системы ВП позволяют размещать в небольшой физической памяти часть кода процесса, занимающую виртуальную или логическую память. Это означает, что мы взяли несколько страниц процесса, загрузили их в память и с ними работаем, отработали со страницами – подгрузили еще, т.о. процесс занимает в памяти в 10 раз меньше объема.
Суть концепции виртуальной памяти
Ясно, что активно процесс работает, когда он находится в оперативной памяти. В схемах ВП создается иллюзия, что вся необходимая процессу информация имеется в оперативной памяти. Для этого:
Занимаемая процессом память разбивается на страницы
Логический адрес (логическая страница), к которому обращается процесс, динамически транслируется в физический адрес
Если нужная страница в памяти отсутствует, тогда организуют ее подкачку с диска.
Для контроля наличия страниц в памяти существует специальный бит присутствия, находится он в странице дескрипторов. Т.о. мы выяснили, что для успешного ведения процесса вовсе не обязательно присутствия всех страниц в памяти, для этого достаточно нахождения в памяти одной или более страниц.
Преимущество нахождения в памяти ограниченного количества страниц процесса:
Программа не ограничивается доступным объемом физической памяти
Из-за возможности частичного размещения процесса в памяти и перераспределения памяти между процессами можно разместить в памяти больше программ, что улучшает использование процессора и пропускную способность системы
Объем ввода/вывода при обмене данными между диском и оперативной памятью существенно меньше, чем при swapping'е
Введение ВП позволяет организовать контроль доступа к отдельным сегментам памяти и в частности организовать защиту программ друг от друга.