1 / 21

Учебный курс Операционные среды, системы и оболочки

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

veda-miles
Télécharger la présentation

Учебный курс Операционные среды, системы и оболочки

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  18. ОС tk 3.3.3. Распределение памяти динамическими разделами P6 ОС ОС ОС ОС P1 P1 P1 P2 P2 P3 P3 P3 P4 P6 P5 P5 P5 t0 t1 t2 t3

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

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

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

More Related