Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операционные системы 2 курс 1 семестр / Лекции / Лекция 4 Процессы и потоки.doc
Скачиваний:
283
Добавлен:
20.05.2015
Размер:
2.1 Mб
Скачать

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

Мультипрограммирование

Мультипрограммирование в системах пакетной обработки

Мультипрограммирование в системах разделения времени

Мультипрограммирование в системах реального времени

Мультипроцессорная обработка

Планирование процессов и потоков

Понятия «процесс» и «поток»

Создание процессов и потоков

Планирование и диспетчеризация потоков

Состояния потока

Вытесняющие и невытесняющие алгоритмы планирования

Алгоритмы планирования, основанные на квантовании

Алгоритмы планирования, основанные на приоритетах

Смешанные алгоритмы планирования

Планирование в системах реального времени

Моменты перепланировки

Мультипрограммирование на основе прерываний

Назначение и типы прерываний

Механизм прерываний

Программные прерывания

Диспетчеризация и приоритезация прерываний в ОС

Функции централизованного диспетчера прерываний на примере Windows NT

Процедуры обработки прерываний и текущий процесс

Системные вызовы

Синхронизация процессов и потоков

Цели и средства синхронизации

Необходимость синхронизации и гонки

Критическая секция

Блокирующие переменные

Семафоры

Тупики .

Синхронизирующие объекты ОС

Сигналы

Выводы

Задачи и упражнения

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

Мультипрограммирование

Мультипрограммирование, или многозадачность (multitasking), — это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются сразу несколько программ. Эти программы совместно используют не только процессор, но и другие ресурсы компьютера: оперативную и внешнюю память, устройства ввода-вывода, данные. Мультипрограммирование призвано повысить эффективность использования вычислительной системы, однако эффективность может пониматься по-разному. Наиболее характерными критериями эффективности вычислительных систем являются:

 пропускная способность — количество задач, выполняемых вычислительной системой в единицу времени;

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

 реактивность системы — способность системы выдерживать заранее заданные (возможно, очень короткие) интервалы времени между запуском программы и получением результата.

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