Скачать презентацию Лекция 1 Операционные системы Назначение История Классификация И Скачать презентацию Лекция 1 Операционные системы Назначение История Классификация И

Лекции Артамонов 1-5.ppt

  • Количество слайдов: 106

Лекция 1 Операционные системы. Назначение. История. Классификация. И еще куча мелочей… Лекция 1 Операционные системы. Назначение. История. Классификация. И еще куча мелочей…

Операционная система Базовое системное программное обеспечение, управляющее работой компьютера и являющееся посредником между аппаратурой Операционная система Базовое системное программное обеспечение, управляющее работой компьютера и являющееся посредником между аппаратурой и прикладным программным обеспечением, а также пользователем компьютера

Операционная среда Совокупность компьютерных программ и интерфейсов, обеспечивающих возможность пользователю и другим программам управлять Операционная среда Совокупность компьютерных программ и интерфейсов, обеспечивающих возможность пользователю и другим программам управлять вычислительными процессами и файлами и получать доступ к управляющей части ОС.

Интерфейс между пользователем и компьютером Интерфейс между пользователем и компьютером

Первое поколение (1945 -1955). Электронные лампы Первое поколение (1945 -1955). Электронные лампы

Первое поколение (1945 -1955). Электронные лампы Первое поколение (1945 -1955). Электронные лампы

Второй период (1955 г. начало 1960 х гг. ). Компьютеры на основе транзисторов Второй период (1955 г. начало 1960 х гг. ). Компьютеры на основе транзисторов

Второй период (1955 г. начало 1960 х гг. ). Компьютеры на основе транзисторов • Второй период (1955 г. начало 1960 х гг. ). Компьютеры на основе транзисторов • • Снизилась стоимость компьютеров, потребление электроэнергии, потребности в охлаждении Появление алгоритмических языков и компиляторов Разделение персонала на программистов, операторов и инженеров Появление систем пакетной обработки

Третий период (начало 1960 х 1980 г. ). Компьютеры на основе интегральных микросхем Третий период (начало 1960 х 1980 г. ). Компьютеры на основе интегральных микросхем

Третий период (начало 1960 х 1980 г. ). Компьютеры на основе интегральных микросхем n Третий период (начало 1960 х 1980 г. ). Компьютеры на основе интегральных микросхем n Появление магнитного диска n Планирование заданий n Многозадачность

Третий период (начало 1960 х 1980 г. ). Аппаратные особенности n Реализация защитных механизмов Третий период (начало 1960 х 1980 г. ). Аппаратные особенности n Реализация защитных механизмов n Наличие прерываний n Развитие параллелизма в архитектуре

Третий период (начало 1960 х 1980 г. ). Возможности ОС Системные вызовы n Планирование Третий период (начало 1960 х 1980 г. ). Возможности ОС Системные вызовы n Планирование работ процессора n Поддержка контекста процесса n Стратегии управления памятью n Защита доступа к файлам n Межпроцессорная коммуникация n Средства синхронизации n

Третий период (начало 1960 х 1980 г. ) Системы разделения времени n Виртуальная память Третий период (начало 1960 х 1980 г. ) Системы разделения времени n Виртуальная память n Файловые системы n Программно совместимые компьютеры n

Четвертый период (с 1980 г. по настоящее время). Персональные компьютеры n Сетевые ОС n Четвертый период (с 1980 г. по настоящее время). Персональные компьютеры n Сетевые ОС n Распределенные ОС

Классификация ОС Особенности алгоритмов управления ресурсами: ¨ Поддержка многозадачности ¨ Поддержка многопользовательского режима ¨ Классификация ОС Особенности алгоритмов управления ресурсами: ¨ Поддержка многозадачности ¨ Поддержка многопользовательского режима ¨ Вытесняющая и невытесняющая многозадачность ¨ Поддержка многопоточности ¨ Многопроцессорная обработка

Классификация ОС По назначению: n Системы общего назначения n Системы реального времени n Встроенные Классификация ОС По назначению: n Системы общего назначения n Системы реального времени n Встроенные в аппаратуру n Системы с «нежестким» реальным временем n Прочие специализированные системы

Классификация ОС По взаимодействию с пользователем n Пакетные ОС n Системы разделения времени n Классификация ОС По взаимодействию с пользователем n Пакетные ОС n Системы разделения времени n Диалоговые ОС n ОС с графическим интерфейсом n Встроенные ОС, не взаимодействующие с пользователем

Классификация ОС Особенности аппаратных платформ ¨ ¨ ¨ ОС ПК ОС миникомпьютеров ОС мейнфреймов Классификация ОС Особенности аппаратных платформ ¨ ¨ ¨ ОС ПК ОС миникомпьютеров ОС мейнфреймов ОС кластеров ОС сетей

Критерии оценки ОС Надежность n Эффективность n Удобство n Масштабируемость n Развиваемость n Мобильность Критерии оценки ОС Надежность n Эффективность n Удобство n Масштабируемость n Развиваемость n Мобильность n

Архитектура ОС Модули ОС можно разделить на 2 группы: ¨ Ядро — модули, выполняющие Архитектура ОС Модули ОС можно разделить на 2 группы: ¨ Ядро — модули, выполняющие основные функции ОС ¨ Модули, выполняющие вспомогательные функции ОС

Ядро в привилегированном режиме Ядро в привилегированном режиме

Типы архитектур ОС Монолитное ядро n Модульное ядро n Многоуровневая ОС n Микроядро n Типы архитектур ОС Монолитное ядро n Модульное ядро n Многоуровневая ОС n Микроядро n

Микроядро Микроядро

Микроядро n Высокая модульность n Высокая надежность n Сложность проектирования Микроядро n Высокая модульность n Высокая надежность n Сложность проектирования

Архитектура Windows NT Архитектура Windows NT

Компоненты Windows в режиме ядра Исполнительная система WIN 32 Executive n Ядро n Драйверы Компоненты Windows в режиме ядра Исполнительная система WIN 32 Executive n Ядро n Драйверы устройств n Уровень абстрагирования от оборудования n Подсистема поддержки окон и графики n

Компоненты WIN 32 Executive n n n n n Диспетчер конфигурации Диспетчер процессов (Process Компоненты WIN 32 Executive n n n n n Диспетчер конфигурации Диспетчер процессов (Process Manager) Диспетчер памяти (Memory Manager) Диспетчер объектов (Object Manager) Монитор безопасности (Security Reference Monitor) Диспетчер ввода вывода (Input/Output Manager) Диспетчер устройств (plug and play) Диспетчер электропитания Диспетчер кэша Средства вызова локальных процедур (Local Procedure Call, LPC)

Системные вызовы Блокирующиеся системные вызовы; n Неблокирующиеся системные вызовы; n Асинхронные системные вызовы. n Системные вызовы Блокирующиеся системные вызовы; n Неблокирующиеся системные вызовы; n Асинхронные системные вызовы. n

Исключительная ситуация (exception) n Событие, возникающее в результате попытки выполнения программой команды, которая по Исключительная ситуация (exception) n Событие, возникающее в результате попытки выполнения программой команды, которая по каким то причинам не может быть выполнена до конца

Прерывания Прерывание (англ. interrupt) — сигнал, сообщающий процессору о совершении какого либо асинхронного события. Прерывания Прерывание (англ. interrupt) — сигнал, сообщающий процессору о совершении какого либо асинхронного события.

Прерывания Программное прерывание Прерывание по таймеру Генерируется в некоторых ситуациях, возникающих в результате выполнения Прерывания Программное прерывание Прерывание по таймеру Генерируется в некоторых ситуациях, возникающих в результате выполнения команд. Такими ситуациями могут быть арифметическое переполнение, деление на ноль, попытка выполнить некорректную команду и ссылка на область памяти, доступ к которой пользователю запрещен Генерируется таймером процессора. Это прерывание позволяет операционной системе выполнять некоторые свои функции периодически, через заданные промежутки времени Прерывание ввода вывода Генерируется контроллером ввода вывода. Сигнализирует о нормальном завершении операции или о наличии ошибок Аппаратное прерывание Генерируется при возникновении таких аварийных ситуаций, как, например, падение напряжения в сети или ошибка контроля четности памяти

Прерывания Прерывания

Процессы и потоки Процессы и потоки

Многозадачность (multitasking) — это способ организации вычислительного процесса, при котором на одном процессоре попеременно Многозадачность (multitasking) — это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются сразу несколько программ.

Мультипроцессорная обработка — это способ организации вычислительного про цесса в системах с несколькими процессорами, Мультипроцессорная обработка — это способ организации вычислительного про цесса в системах с несколькими процессорами, при котором несколько задач (процессов, потоков) могут одновременно выполняться на разных процессорах системы

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

3. Состояния процессов 3. 1 Модель процесса с двумя состояниями 3. Состояния процессов 3. 1 Модель процесса с двумя состояниями

3. Состояния процессов 3. 1 Модель процесса с двумя состояниями 3. Состояния процессов 3. 1 Модель процесса с двумя состояниями

3. Состояния процессов 3. 2 Модель процесса с тремя состояниями 3. Состояния процессов 3. 2 Модель процесса с тремя состояниями

3. Состояния процессов 3. 2 Модель процесса с пятью состояниями 3. Состояния процессов 3. 2 Модель процесса с пятью состояниями

3. 4. Приостановленные процессы 3. 4. Приостановленные процессы

3. 4. Приостановленные процессы 3. 4. Приостановленные процессы

4. Описание процессов 4. Описание процессов

4. Управляющие структуры операционной системы 4. Управляющие структуры операционной системы

6. Потоки 6. 1. 1 Состояния потоков 6. Потоки 6. 1. 1 Состояния потоков

6. Потоки 6. 1. 1 Состояния потоков 6. Потоки 6. 1. 1 Состояния потоков

6. Потоки 6. 1. 1 Состояния потоков 6. Потоки 6. 1. 1 Состояния потоков

6. Потоки 6. 2. Соотношение между потоками и процессами Потоки: процессы Описание 1: 1 6. Потоки 6. 2. Соотношение между потоками и процессами Потоки: процессы Описание 1: 1 Каждый поток реализован в виде отдельного процесса со своим собственным адресным пространством и со своими ресурсами M: l Для процесса задается адресное пространство и динамическое владение ресурсами. В рамках этого процесса могут быть созданы несколько потоков 1: М Поток может переходить из среды одного процесса в среду другого процесса. Это облегчает перенос потоков из одной системы в другую M: N Сочетает в себе подходы, основанные на соотношениях М: 1 и 1: М

Лекция 3 Планирование в однопроцессорных системах Лекция 3 Планирование в однопроцессорных системах

Типы планирования процессора Типы планирования процессора

Типы планирования процессора Типы планирования процессора

Типы планирования процессора Типы планирования процессора

Критерии планирования Пользовательские, связанные с производительностью Время оборота Интервал времени между подачей процесса и Критерии планирования Пользовательские, связанные с производительностью Время оборота Интервал времени между подачей процесса и его завершением. Время отклика В интерактивных процессах это время, истекшее между подачей запроса и началом получения ответа на него. Предельный срок При указании предельного срока завершения процесса планирование должно подчинить ему все прочие цели максимизации количества процессов, завершающихся в срок

Критерии планирования Пользовательские, иные Предсказуемость Данное задание должно выполняться примерно за одно и то Критерии планирования Пользовательские, иные Предсказуемость Данное задание должно выполняться примерно за одно и то же количество времени и с одной и той же стоимостью, независимо от загрузки системы. Системные, связанные с производительностью Пропускная способность Стратегия планирования должна пытаться максимизировать количество процессов, завершающихся за единицу времени. Использование процессора Этот показатель представляет собой процент времени, в течение которого процессор оказывается занят.

Критерии планирования Системные, иные Беспристрастность При отсутствии дополнительных указаний от пользователя или системы все Критерии планирования Системные, иные Беспристрастность При отсутствии дополнительных указаний от пользователя или системы все процессы должны рассматриваться как равнозначные и ни один процесс не должен подвергнуться голоданию Использование приоритетов Если процессам назначены приоритеты, стратегия планирования должна отдавать предпочтение процессам с более высоким приоритетом Баланс ресурсов Стратегия планирования должна поддерживать занятость системных ресурсов. Предпочтение должно быть отдано процессу, который недостаточно использует важные ресурсы.

Использование приоритетов Использование приоритетов

Альтернативные стратегии планирования Функция выбора FCFS max [w] Круговая const Режим Пропускная Время отклика Альтернативные стратегии планирования Функция выбора FCFS max [w] Круговая const Режим Пропускная Время отклика решен способн ия ость Невытесня Не важна Может быть большим, в ющий особенности при больших отклонениях во времени исполнения процесса Вытесняю Может быть Обеспечивает хорошее время щий низкой отклика для коротких (по при процессов време малом ни) кванте времени Накладные расходы Влияние на процессы Минимальны Плохо сказывается на коротких процессах и процессах с интенсивным вводом-выводом Минимальны Беспристрастна

Альтернативные стратегии планирования Функция выбора Режим Пропускная решения способн ость Время отклика Накладные расходы Альтернативные стратегии планирования Функция выбора Режим Пропускная решения способн ость Время отклика Накладные расходы Влияние на процессы SPN min [s] Невытесняю- Высокая щий Обеспечивает хорошее время Могут быть Плохо сказывается на отклика для коротких высокими длинных процессов процессах SRT Min [s-e] Вытесняющий Высокая (по решению) Обеспечивает хорошее время Могут быть Плохо сказывается на отклика высокими длинных процессах HRRN Со Max((w+s)/s) Невытесняющ Высокая ий Вытесняющий Не важна снижени (по ем времени) приорит ета Обеспечивает хорошее время Могут быть Хороший баланс отклика высокими Не важно Могут быть Может привести к высокими предпочтению процессов с интенсивным вводом-выводом

Снижение приоритета Снижение приоритета

Лекция 4 Межпроцессное взаимодействие и синхронизация Лекция 4 Межпроцессное взаимодействие и синхронизация

1. Межпроцессное взаимодействие Процессы не осведомлены о наличии друга. n Процессы косвенно осведомлены о 1. Межпроцессное взаимодействие Процессы не осведомлены о наличии друга. n Процессы косвенно осведомлены о наличии друга. n Процессы непосредственно осведомлены о наличии друга. n

1. Межпроцессное взаимодействие Степень осведомленност и Процессы не осведомлены друг о друге Взаимосвязь Конкуренция 1. Межпроцессное взаимодействие Степень осведомленност и Процессы не осведомлены друг о друге Взаимосвязь Конкуренция Влияние одного процесса на другой – – Процессы косвенно осведомлены о наличии друга Сотрудничество с использованием разделения – – Процессы непосредственно осведомлены о наличии друга Сотрудничество с использованием связи – – Потенциальные проблемы Результат работы одного процесса не зависит от действий других Возможно влияние одного процесса на время работы другого – Взаимоисключения – Взаимоблокировки (возобновляемые ресурсы) – Голодание Результат работы одного процесса может зависеть от информации, полученной от других Возможно влияние одного процесса на время работы другого – Взаимоблокировки (расходуемые ресурсы) – Голодание Взаимоисключения Взаимоблокировки (возобновляемые ресурсы) – Голодание – Связь данных

1. 1. Конкуренция процессов в борьбе за ресурсы Взаимные исключения (mutual exclusion); n Взаимная 1. 1. Конкуренция процессов в борьбе за ресурсы Взаимные исключения (mutual exclusion); n Взаимная блокировка (deadlock); n Голодание. n

1. 1. Конкуренция процессов в борьбе за ресурсы Время Студент 1 17 -05 Приходит 1. 1. Конкуренция процессов в борьбе за ресурсы Время Студент 1 17 -05 Приходит в комнату 17 -07 Обнаруживает, что хлеба нет 17 -09 Студент 2 Уходит в магазин 17 -11 Приходит в комнату 17 -13 Обнаруживает, что хлеба нет 17 -15 Студент 3 Уходит в магазин 17 -17 Приходит в комнату 17 -19 Обнаруживает, что хлеба нет 17 -21 Уходит в магазин

1. 1. Конкуренция процессов в борьбе за ресурсы Время Студент 1 17 -23 Приходит 1. 1. Конкуренция процессов в борьбе за ресурсы Время Студент 1 17 -23 Приходит в магазин 17 -25 Покупает 2 батона на всех 17 -27 Студент 2 Уходит из магазина 17 -29 Приходит в магазин 17 -31 Покупает 2 батона на всех 17 -33 Студент 3 Уходит из магазина 17 -35 Приходит в магазин 17 -37 Покупает 2 батона на всех 17 -39 Уходит из магазина

1. 1. Конкуренция процессов в борьбе за ресурсы Время Студент 1 17 -41 Студент 1. 1. Конкуренция процессов в борьбе за ресурсы Время Студент 1 17 -41 Студент 2 Студент 3 Возвращается в комнату 17 -43 17 -45 17 -47 Возвращается в комнату 17 -49 17 -51 17 -53 Возвращается в комнату

1. 1. Конкуренция процессов в борьбе за ресурсы /* Программа взаимоисключений */ const int 1. 1. Конкуренция процессов в борьбе за ресурсы /* Программа взаимоисключений */ const int n = /* количество процессов */ void P(int i) { while(true) { entercritical(i) ; /* Критический раздел */; exitcritical(i); /* Остальная часть процедуры */; } } void main() { parbegin(P(Ri), P(R 2), . . . , P(Rn)); /*Параллельный запуск процессов*/ }

1. 2 Сотрудничество с использованием разделения Р 1: а = а + 1; b 1. 2 Сотрудничество с использованием разделения Р 1: а = а + 1; b = b + 1; Р 2: b= 2 * b; а = 2 * а; В случае неправильной работы процессов: P 1, P 2: а=1; b=1 P 1: a = a + 1; P 2: b = 2 * b; P 1: b = b + 1; P 2: a = 2 * a; а=4; b=3

1. 3 Сотрудничество с использованием связи При сотрудничестве с использованием связи различные процессы принимают 1. 3 Сотрудничество с использованием связи При сотрудничестве с использованием связи различные процессы принимают участие в общей работе, которая и объединяет их. Связь обеспечивает возможность синхронизации или координации различных действий процессов.

1. 4 Требования к взаимным исключениям n n n Взаимоисключения должны осуществляться в принудительном 1. 4 Требования к взаимным исключениям n n n Взаимоисключения должны осуществляться в принудительном порядке. Процесс, завершающий работу в некритическом разделе, не должен влиять на другие процессы. Не должна возникать ситуация бесконечного ожидания доступа к критическому разделу Когда в критическом разделе нет ни одного процесса, любой процесс, запросивший возможность входа в него, должен немедленно ее получить. Не делается никаких предположений о количестве процессов или их относительных скоростях работы. Процесс остается в критическом разделе только в течение ограниченного времени.

1. 5 Взаимоисключения: Программный подход Алгоритм Деккера; n Алгоритм Петерсона; n Алгоритм булочной; n 1. 5 Взаимоисключения: Программный подход Алгоритм Деккера; n Алгоритм Петерсона; n Алгоритм булочной; n

1. 7 Семафоры Пусть переменная S представляет собой семафор. Тогда: n Семафор может быть 1. 7 Семафоры Пусть переменная S представляет собой семафор. Тогда: n Семафор может быть инициализирован неотрицательным значением. n Операция wait уменьшает значение семафора на 1. n Операция signal увеличивает значение семафора на 1.

1. 7 Семафоры struct semaphore { int count; queue. Type queue; } void wait(semaphore 1. 7 Семафоры struct semaphore { int count; queue. Type queue; } void wait(semaphore s) { s. count ; if (s. count < 0) { Поместить процесс в s. queue Заблокировать процесс } } void signal(semaphore s) { s. count++; if (s. count <= 0) { Удалить процесс P из S. queue Поместить процесс P в список активных } }

1. 7 Семафоры 1. 7 Семафоры

1. 7 Семафоры 1. 7 Семафоры

1. 9 Мониторы 1. 9 Мониторы

1. 10 Сообщения Примитивы сообщений: n send(получатель, сообщение) n receive(отправитель, сообщение) 1. 10 Сообщения Примитивы сообщений: n send(получатель, сообщение) n receive(отправитель, сообщение)

1. 12 Сигналы 1 SIGHUP Завесить; посылается процессу, когда ядро полагает, что пользователь этого 1. 12 Сигналы 1 SIGHUP Завесить; посылается процессу, когда ядро полагает, что пользователь этого процесса выполняет бесполезную работу 2 SIGINT Прерывание 3 SIGQUIT Выход; посылается пользователем, для того чтобы вызвать остановку процесса и сброс дампа памяти 9 SIGKILL Прекращение работы процесса 14 SIGALAR M Сигнал от часов; используется, когда процесс должен получить сигнал после определенного периода времени 15 SIGTERM Завершение работы программы 18 SIGCLD Завершение дочернего процесса

1. 12 Сокеты Сокет программный интерфейс для обеспечения информационного обмена между процессами. 1. 12 Сокеты Сокет программный интерфейс для обеспечения информационного обмена между процессами.

2. Взаимное блокирование 2. Взаимное блокирование

2. Взаимное блокирование 2. Взаимное блокирование

2. 3. Условия возникновения взаимоблокировок n n Взаимные исключения Удержание и ожидание Отсутствие перераспределения 2. 3. Условия возникновения взаимоблокировок n n Взаимные исключения Удержание и ожидание Отсутствие перераспределения Циклическое ожидание

2. 4. Предотвращение взаимоблокировок 1. Взаимоисключения n 2. Удержание и ожидание n 3. Отсутствие 2. 4. Предотвращение взаимоблокировок 1. Взаимоисключения n 2. Удержание и ожидание n 3. Отсутствие перераспределения n 4. Циклическое ожидание n

2. 5 Устранение взаимоблокировок 2. 5. 1. Запрещение запуска процесса 2. 5 Устранение взаимоблокировок 2. 5. 1. Запрещение запуска процесса

2. 5 Устранение взаимоблокировок 2. 5. 2. Запрет выделения ресурса (а) 2. 5 Устранение взаимоблокировок 2. 5. 2. Запрет выделения ресурса (а)

2. 5 Устранение взаимоблокировок 2. 5. 2. Запрет выделения ресурса (б) 2. 5 Устранение взаимоблокировок 2. 5. 2. Запрет выделения ресурса (б)

2. 5 Устранение взаимоблокировок 2. 5. 2. Запрет выделения ресурса (в) (г) 2. 5 Устранение взаимоблокировок 2. 5. 2. Запрет выделения ресурса (в) (г)

2. 5 Устранение взаимоблокировок 2. 5. 2. Запрет выделения ресурса 2. 5 Устранение взаимоблокировок 2. 5. 2. Запрет выделения ресурса

Устранение взаимоблокировок: n n Должны быть заранее указаны максимальные требования каждого процесса к ресурсам. Устранение взаимоблокировок: n n Должны быть заранее указаны максимальные требования каждого процесса к ресурсам. Рассматриваемые процессы должны быть независимы, т. е. порядок их выполнения не должен ограничиваться никакими требованиями синхронизации. Должно иметься фиксированное количество распределяемых ресурсов. Ни один процесс не должен завершаться в состоянии захвата ресурсов.

Пример обнаружения взаимоблокировки Пример обнаружения взаимоблокировки

Лекция 5 Управление памятью Лекция 5 Управление памятью

Функциями ОС по управлению памятью n n отслеживание свободной и занятой памяти; выделение памяти Функциями ОС по управлению памятью n n отслеживание свободной и занятой памяти; выделение памяти процессам и освобождение памяти по завершении процессов; вытеснение кодов и данных процессов из оперативной памяти на диск; настройка адресов программы на конкретную область физической памяти.

Типы адресов n n n Символьные имена присваивает пользователь при написании программы на алгоритмическом Типы адресов n n n Символьные имена присваивает пользователь при написании программы на алгоритмическом языке или ассемблере. Виртуальные адреса, называемые иногда математическими, или логическими адресами, вырабатывает транслятор, переводящий программу на машинный язык. Физические адреса соответствуют номерам ячеек оперативной памяти, где в действительности расположены переменные и команды.

Методы распределения памяти n Без использования внешней памяти: ¨ Фиксированными разделами ¨ Динамическими разделами Методы распределения памяти n Без использования внешней памяти: ¨ Фиксированными разделами ¨ Динамическими разделами ¨ Перемещаемыми разделами n С использованием внешней памяти ¨ Страничное распределение ¨ Сегментно страничное распределение

Виртуальным называется ресурс, который пользователю или пользовательской программе представляется обладающим свойствами, которыми он в Виртуальным называется ресурс, который пользователю или пользовательской программе представляется обладающим свойствами, которыми он в действительности не обладает.

Виртуализация оперативной памяти включает решение следующих задач: n размещение данных в запоминающих устройствах разного Виртуализация оперативной памяти включает решение следующих задач: n размещение данных в запоминающих устройствах разного типа; n выбор образов процессов или их частей для перемещения из оперативной памяти на диск и обратно; n перемещение по мере необходимости данных между памятью и диском; n преобразование виртуальных адресов в физические.

Подходы к виртуализации свопинг — образы процессов выгружаются на диск и возвращаются в оперативную Подходы к виртуализации свопинг — образы процессов выгружаются на диск и возвращаются в оперативную память целиком) n виртуальная память — между оперативной памятью и диском перемещаются части (сегменты, страницы и т. п. ) образов процессов. n

Реализация виртуальной памяти Страничная виртуальная память. n Сегментно страничная виртуальная память. n Реализация виртуальной памяти Страничная виртуальная память. n Сегментно страничная виртуальная память. n

Дескриптор страницы n n n номер физической страницы, в которую загружена данная виртуальная страница; Дескриптор страницы n n n номер физической страницы, в которую загружена данная виртуальная страница; признак присутствия; признак модификации или бит модификации. признак обращения к странице (бит доступа). биты защиты. бит кэширования страницы

Механизм чтения из памяти Механизм чтения из памяти

Буфер поиска трансляции Буфер поиска трансляции

Сегметное распределение Сегметное распределение

Стратегии ОС для виртуальной памяти Стратегия выборки n Стратегия замещения n Управление резидентным набором Стратегии ОС для виртуальной памяти Стратегия выборки n Стратегия замещения n Управление резидентным набором n Стратегия очистки n Управление загрузкой n