Учебный курс Операционные среды, системы и оболочки Лекция 8 Лекции читает доктор технических наук, профессор Назаров Станислав Викторович.

Презентация:



Advertisements
Похожие презентации
Операционные системы, среды и оболочки Управление памятью.
Advertisements

Управление памятью. Память является важнейшим ресурсом, требующим тщательного управления со стороны мультипрограммной операционной системы. Распределению.
Операционные системы1 Тема 3. Управление памятью. Методы, алгоритмы и средства Методы, алгоритмы и средства Автор: доктор технических наук, профессор Назаров.
Учебный курс Операционные среды, системы и оболочки Лекция 9 Лекции читает доктор технических наук, профессор Назаров Станислав Викторович.
Основы операционных систем.
Учебный курс Основы операционных систем Лекция 7 кандидат физико-математических наук, доцент Карпов Владимир Ефимович.
Прерывания Определение прерывания Прерывания представляют собой механизм, позволяющий координировать параллельное функционирование отдельных устройств.
Лекция 6. Способы адресации в микропроцессорных системах.
Дисциплина: Операционные системы § 7. Организация памяти компьютера План: 1.Физическая память компьютера. 2.Логическая память компьютера. 3.Функции системы.
Операционные системы Управление памятью Скрипов Сергей Александрович 2009.
Лекция 7 Управление памятью Сегментная, страничная и сегментно- страничная организация памяти.
Операционные системы и среды. Схема устройства жесткого диска Дорожка N Сектор (блок) Пластина 1 Пластина 2 Цилиндр 0 сторона Диск – одна или несколько.
Лекция 5 Управление памятью Виртуальное адресное пространство.
Архитектура операционных систем Семестр 2, Лекция 1.
Устройство памяти ПК. Виртуальная память. Кэш-память. Компьютерная память (устройство хранения информации, запоминающее устройство) часть вычислительной.
Учебный курс Принципы построения и функционирования ЭВМ Лекция 11 Микрокоманды и микрооперации профессор ГУ-ВШЭ, доктор технических наук Геннадий Михайлович.
Архитектура операционной системы. Ядро и вспомогательные модули операционной системы При функциональной декомпозиции ОС модули разделяются на две группы:
Архитектура операционных систем. Архитектура ОС Состав модулей (компонент) ОС Структура связей между отдельными модулями ОС Принципы взаимодействия модулей.
Операционные системы. Проверка д / з В чем состоит магистрально - модульный принцип построения компьютера ? Изобразите схему архитектуры компьютера. В.
Учебный курс Введение в цифровую электронику Лекция 5 Обмен информацией в микропроцессорной системе кандидат технических наук, доцент Новиков Юрий Витальевич.
Транксрипт:

Учебный курс Операционные среды, системы и оболочки Лекция 8 Лекции читает доктор технических наук, профессор Назаров Станислав Викторович

2 Последовательность действий при обработке прерываний 1.Первичное аппаратное распознавание типа прерывание. Если прерывания запрещены, продолжается текущая программа. В противном случае вызывается диспетчер прерываний и в зависимости от поступившей в процессор информации (вектор прерывания, приоритет и др.) производится вызов процедуры обработки прерывания. 2.Сохраняется некоторая часть контекста прерванного потока, которая позволит возобновить его исполнение после обработки прерывания (обычно слово состояния процессора – регистр EFLAGS в Pentium, регистры общего назначения). Может быть сохранен и полный контекст, если ОС обслуживает прерывание со сменой процесса. 3.В счетчик команд загружается адрес процедуры обработки прерывания и устанавливается новое PSW, которое определяет привилегированный режим работы процессора при обработке прерывания. 4.Маскированием прерываний временно запрещаются прерывания, чтобы не образовалась очередь вложенных друг в друга потоков одной и той же процедуры. 1.После обработки прерывания ядром операционной системы, прерванный контекст восстанавливается (частично аппаратно – PSW, содержимое счетчика команд, частично программно – извлечение данных из стека), снимается обработка прерываний данного типа и работа потока возобновляется с прерванного места.

Системные вызовы Системный вызов позволяет приложению обратиться к ОС с просьбой выполнить то или иное действие, оформленное как процедура кодового сегмента ОС. Реализация системных вызовов должна удовлетворять следующим требованиям: o обеспечивать переключение в привилегированный режим; o обладать высокой скоростью вызова процедур ОС; o обеспечивать по возможности единообразное обращение к системным вызовам для всех аппаратных платформ, на которых работает ОС; o допускать простое расширение системных вызовов; o обеспечивать контроль со стороны ОС за корректным использованием системных вызовов. Возможные схемы обслуживания системных вызовов: 1. Децентрализованная –за каждым системным вызовом закреплен свой вектор прерываний. Достоинство – высокая скорость обработки системных вызовов, недостаток – разрастание таблицы векторов прерываний. 2. Централизованная – с помощью диспетчера системных вызовов.

4 Таблица прерываний системы Адрес диспетчера системных вызовов Диспетчер системных вызовов Процедура обработки системного вызова 21h Процедура обработки системного вызова 22h Процедура обработки системного вызова 23h Виртуальное адресное пространство RQ=21h СистемныйСистемный вызоввызов Адрес процедуры 21h Адрес процедуры 22h Адрес процедуры 23h Централизованная схема обработки системных вызовов Вектор 80h Linux INT 2Eh Pentium

5 Тема 3. Управление памятью. Методы, алгоритмы и средства 3.1. Организация памяти современного компьютера 3.2. Функции операционной системы по управлению памятью 3.3. Алгоритмы распределение памяти Классификация методов распределения памяти Классификация методов распределения памяти Распределение памяти фиксированными разделами Распределение памяти динамическими разделами Распределение памяти динамическими разделами Распределение памяти перемещаемыми разделами Распределение памяти перемещаемыми разделами 3.4. Виртуальная память Методы структуризации виртуального адресного пространства Страничная организация виртуальной памяти Страничная организация виртуальной памяти Оптимизация функционирования страничной виртуальной памяти Оптимизация функционирования страничной виртуальной памяти Сегментная организация виртуальной памяти Сегментная организация виртуальной памяти

6 Литература Базовый учебник с Л1 с. 162 – 210; Л2 с. 357 – 380, 391 – 431; Л4 с

Организация памяти современного компьютера Логическая организация памяти: Линейное (одномерное) адресное пространство, отражающее особенности аппаратного обеспечения, но не соответствующее современной технологии создания программного обеспечения. Для эффективной работы с пользовательскими программами необходимо чтобы: Модули могли быть созданы и скомпилированы независимо друг от друга, при этом все ссылки из одного модуля в другой разрешаются системой во время работы программы. Разные модули могли получать разные степени защиты (только чтение, только исполнение и т. п.) за счет весьма умеренных накладных расходов. Возможно применение механизма, обеспечивающего совместное использование модулей разными процессами (для случая сотрудничества разных процессов в работе над одной задачей).

Физическая организация памяти Центральный процессор Внутренние регистры (0,3-0,5 нс.) Внутренний кэш, 64 Кбайт, 0,3-0,5 нс. Кэш второго уровня 1Мбайт SRAM, 1-3 нс. Основная память 512 Мбайт DDRAM, 3-6 нс.. Кэш диска 8 Мбайт Жесткий диск 100 Гбайт, 10 мс. МЛ Сотни с.

9 20% 50% 80% Z =1 – P n, где n – число процессов 20 % 50 % 80 %

10 Виртуализация оперативной памяти осуществляется совокупностью аппаратных и программных (ОС) средств вычислительной системы автоматически без участия программиста и не сказывается на работе приложения. Достоинства свопинга : малые затраты времени на преобразование адресов в кодах программ. Недостатки :: избыточность перемещаемых данных, замедление работы системы, неэффективное использование памяти, невозможность загрузить процесс, адресное пространство которого превышает объем свободной оперативной памяти. Недостатки виртуальной памяти : необходимость преобразования виртуальных адресов в физические, сложность аппаратной и программной (ОС) поддержки Виртуальная память Методы виртуализации памяти: свопинг (swapping), виртуальная память (virtual memory).

Функции операционной системы по управлению памятью ОС в ОЗУ ОС в ПЗУ BIOS Скрытая память 1 Мбайт Программа пользователя 60 Кбайт 640 Кбайт Программа пользователя Распределение памяти в однопрограммных ОС

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

13 Типы адресов Символьные имена Виртуальные адреса Физические адреса Идентификаторы переменных в программе на алгоритмическом языке Транслятор Условные адреса, вырабатываемые транслятором Номера ячеек физической памяти 1. Перемещающий загрузчик (статическое преобразование) 2. Динамическое преобразование (аппаратные средства)

Алгоритмы распределение памяти Классификация методов распределения памяти Методы распределения памяти Без использования внешней памяти С использованием внешней памяти Фиксированными разделами Динамическими разделами Перемещаемыми разделами Страничное распределение Сегментное распределение Сегментно-страничное распределение

Распределение памяти фиксированными разделами (MFT в OS/360) Операционная система 8 М Программа 1, 4М Программа 2, 3М Программа 3, 7М 8М Разделы одинакового размера Операционная система 8 М Программа 1, 4М Программа 2, 3М Программа 3, 7М Разделы разного размера Неиспользованная память

16 1 М 2 М 4 М 8 М 12 М Новые процессы 1 М 2 М 4 М 8 М 12 М Новые процессы Очереди для каждого раздела Общая очередь для всех разделов

17 Распределение памяти фиксированными разделами 2. Разделы разного размера. Очередь к каждому разделу. Достоинство Достоинство: возможность распределения процессов между разделами с минимизацией внутренней фрагментации. Недостаток: возможно неэффективное использование памяти за счет «простоя» больших разделов при наличии только небольших процессов. 1. Разделы одинакового размера. Недостатки: необходимость разработки оверлеев при больших размерах программ; неэффективное использование памяти (внутренняя фрагментация) 3. Разделы разного размера. Общая очередь к разделам. Достоинство Достоинство: улучшается использование памяти. Достоинства: простота, минимальные требования к операционной системе. Недостатки: 1) количество разделов, определенных во время генерации ОС (режим MFT OS/360), ограничивает число активных процессов; 2) неэффективное использование памяти.

Распределение памяти динамическими разделами ОС P1 P2 P3 P4 P5 P1 P2 P3 P5 P1 P3 P5 P6 t0t0 t1t1 t2t2 t3t3 ОС tktk

19 Распределение памяти динамическими разделами Достоинства: большая гибкость по сравнению с фиксированными разделами. Недостаток: внешняя фрагментация Функции ОС для реализации метода MVT OS/360 (ЕС ЭВМ): ведение таблиц свободных и занятых областей ОП с указанием начального адреса и размера ; при создании нового раздела просмотр таблиц и выбор раздела, достаточного для размещения процесса (наименьший или наибольший достаточный из свободных); загрузка процесса в выделенный раздел и корректировка таблиц свободных и занятых областей основной памяти; после завершения процесса корректировка таблиц свободных и занятых областей.

Распределение памяти перемещаемыми разделами ОС a b c d e P1 P2 P3 P4 P3 P4 P5 P6 P5 P7 Процедура сжатия a+b+c+d+e

21 Распределение памяти перемещаемыми разделами 1.Перемещение всех занятых участков в сторону старших или младших адресов при каждом завершении процесса или для вновь создаваемого процесса в случае отсутствия раздела достаточного размера. 2.Коррекция таблиц свободных и занятых областей. 3.Изменение адресов команд и данных, к которым обращаются процессы при их перемещении в памяти за счет использования относительной адресации. 4.Аппаратная поддержка процесса динамического преобразования относительных адресов в абсолютные адреса основной памяти. 5.Защита памяти, выделяемой процессу, от взаимного влияния других процессов. Достоинства распределения памяти перемещаемыми разделами: эффективное использование оперативной памяти, исключение внутренней и внешней фрагментации. Недостаток: дополнительные накладные расходы ОС.