- •Понятие операционной системы. Условия, при которых нужны ос
- •Базовые функции операционной системы
- •Основные характеристики ос
- •Определения операционной системы
- •Назначение операционной системы
- •Место ос в логической структуре вычислительной системы
- •Функции операционных систем
- •Состав и объекты операционной системы
- •Эволюция ос и основные идеи
- •Понятие расширенной машины
- •Ресурс. Классификация ресурсов
- •Операционная среда
- •Прикладная среда
- •Понятие процесса. Процесс, как контейнер
- •Тождественность процесса, выполняемой программы и ос 48 Поток. Контекст. Волокна
- •Назначение прерываний. Определение прерывания. Механизм прерываний
- •Алгоритм выполнения прерываний. Главные функции механизма прерываний
- •Классификация прерываний, возникающих при работе вычислительной системы
- •Распределение прерываний по уровням приоритета
- •Планирование заданий процессов и потоков
- •Виды планирования, используемые в современных ос
- •Жизненный цикл процесса (потока). Очереди. Классы алгоритмов планирования
- •Алгоритмы планирования процессов и потоков. Достоинства и недостатки различных алгоритмов планирования
- •Разделение времени при работе с процессами и потоками. Понятие кванта времени. Алгоритмы, основанные на квантовании
- •Понятие приоритетного обслуживания
- •Разновидности приоритетного планирования
- •Система приоритетного обслуживания Windows
- •Физическая организация памяти
- •Виртуальная память
- •Интерфейс прикладных программ. Перенос приложений между платформами 148 Взаимодействие процессов – синхронизация. Критические ресурсы и критические секции процессов
- •Взаимодействие процессов – синхронизация. Взаимное исключение. Задача взаимного исключения
- •Использование блокировки памяти. Алгоритм Деккера
- •Семафорные примитивы. Мьютексы
- •Задача "поставщик-потребитель"
- •Понятие сообщения в ос. Виды сообщений 170 Вызовы процедур. Локальные вызовы, удаленные вызовы (rpc). Направление вызова – клиент-сервер
- •Вызовы процедур. Локальные вызовы, удаленные вызовы (rpc). Направление вызова – сервер- клиент 175 Проблема тупиков. Предотвращение тупика
- •Проблема тупиков. Обход тупика
- •Проблема тупиков. Распознавание тупика
- •Мониторы
- •Синхронизация в распределенных системах
- •Алгоритмы синхронизации в распределенных системах. Алгоритм «задиры», круговой алгоритм
Понятие процесса. Процесс, как контейнер
Фундаментальным понятием в операционной системе является понятие процессов как основных динамических объектов над которыми системы выполняют определенные действия.
Понятие процесса характеризует некоторую совокупнось нескольких команд, асоциированных с ними ресурсами и текущего момента его выполнения, находящуюся под управлением операционной системы.
В целом система выделяет ресурсы процессу, а не его частям. Внутри процесса задача управления ресурсами ложится на программиста. С каждым процессом связывается его адресное пространство из которого он может читать и в которое он может писать данные.
Адресное пространство содержит саму программу, данные к программе, стек программы. Не существует взаимнооднозначного соответствия между процессами и программами, обрабатываемыми вычислительными системами.
В некоторых ОС для работы определенных программ может организовываться более одного процесса или один и тот же процесс может исполнять последовательно несколько различных программ.
Тождественность процесса, выполняемой программы и ос 48 Поток. Контекст. Волокна
Поток — это сущность операционной системы, представляющей процесс выполнения на процессоре программного кода. Общее назначение потока — параллельное выполнение на процессоре двух или более различных задач. Планировщик ОС, руководствуясь приоритетом потока, распределяет кванты времени между разными потоками и ставит потоки на выполнение. Каждый процесс имеет как минимум 1 поток. Каждый поток, как и каждый процесс имеет свой контекст. Контекст — это структура, в которой сохраняются следующие элементы:
• Регистры процессора
• Указатель на стек процесса\потока
Выбрав другой поток, ОС переключает контекст (регистры, указатель на стек, указатель на адресное пространство потока ).
Под волокном понимается упрощенный процесс(поток), выполнение которого планируется самим приложением, а не планировщиком процессорного времени.
Назначение прерываний. Определение прерывания. Механизм прерываний
Прерывания представляют собой механизм, позволяющий координировать паралелльное функционирование отдельных устройств вычислительной системы и реагировать на особые состояния, возникающие при работе процессора. Прерывание — это принудительная передача управления от выполняемой программы к системе, происходящее при возникновении определенного события. Прерывание позволяет реализовать асинхронный режим функционировнаия устройств, распаралелливание его работы. Механизм прерывания реализуется аппаратно-программными средствами. Структуры систем прерывания могут быть разными, но все имеют одну общую особенность — прерывание непременно влечет за собой изменение порядка выполнения команд процессора. Механизм обработки прерываний независимо от архитектуры вычислительной системы подразумевает выполнение определенной последовательнотси шагов
1. Установление фатка прерывания
2. Запоминание состояния прерванного вычисленя
3. Аппаратная передача управления на подпрограмму обработки прерываний
4. Переключение на обработчик прерываний
5. Выполнение обработчика прерывания
Эта работа может быть выполнена той же подпрограммой, на которую было передано управление на шаге 3, но в операционных системах часто она реализуюется путем последующего вызова соответсвующей подпрограммой(обработчик прерываний)
6. Восстановление информации, относящейся к прерваннму процессу
7. Возврав на прерваннную программу
Шаг 1-3 реализуется аппаратно, 4-7 — программно
Главная функция функция механизма прерывания:
1. Распознавание и классификация прерываний
2. Передача управления соотв. Обработчику прерываний
3. Корректное возвращение к прерванной программе
Переход от прерываемой программы к обработику и обраноо должен применятся как можно быстрей. Одним из самых простых и быстрых методов является использование таблицы, содержащей перечень всех допустимых для компьютеров прерываний и адреса соотв. обработчиков.
