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

Стратегии планирования процессора

Классическими стратегиями планирования процессора являются:

1. FIFO. Первый пришел первый обслуживается: когда процесс попадает в очередь готовых процессов, он ставится в «хвост» очереди. Стратегия предполагает, что все процессы имеют одинаковые приоритеты;

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

3. RR. Round Robin. “Карусельная” стратегия планирования. Применяется в системах разделения времени. Определяется небольшой отрезок времени, названный квантом времени (10..100 мс). Очередь готовых процессов рассматривается как кольцевая. Процессы циклически перемещаются в очереди, получая ЦП на один квант времени.

4. Многоуровневая очередь. Разделяет очередь готовых процессов на несколько очередей, в каждой из которых находятся процессы с одинаковыми свойствами, и каждый из которых может планироваться по индивидуальной стратегии. Применяется для интерактивных процессов. Правило стратегии: ни один процесс из очереди с более низким приоритетом не может быть запущен, пока не выполнятся процессы во всех очередях с более высоким приоритетом.

Основная литература

Учебник / Учебное пособие Раздел Страницы
Таненбаум Э. Современные операционные системы. 3-е изд. - СПб.: Питер, 2010. - 1120 е.: ил. 2.4.1-2.4.4,2.4.6 1.6.1, 1.6.4, 1.7.1-1.7.6 80-86, 90-100 181-200, 201-203 187-191, 216-234

Дополнительная литература

Учебник / Учебное пособие Раздел Страницы
1. Джеффри Рихтер. Windows для профессионалов (программирование в Win32 API для Windows NT 3.5 и Windows95)/Пер. с англ. - М.: Издательский отдел «Русская Редакция» 1995. - 720 с.: ил. Глава 2. Стр.7-40
2. Робачевский А.М. Операционная система UNIX, СПб.: BHV – Санкт-Петербург, 1997. - 528 с., ил. Глава 1,3 Стр. 38-42

Тема 3. Организация многопрограммной работы. Процессы и потоки

Лекция №3. Организация многопрограммной работы

В рамках данной лекции рассматриваются нижеследующие вопросы:

· Иерархия процессов;

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

· Атрибуты процессов и потоков;

· Средства взаимодействия процессов;

· Модели взаимодействия процессов. Производители-потребители. Клиент-сервер. Читатели-писатели. Обедающие философы;

· Буферизация при приеме/передаче информации;

· Обмен сообщениями.

Иерархия процессов: процесс (родительский) может порождать другой процесс (дочерний), и эти эта связь процессов сохраняется в системе в течение жизни процессов. Дочерний процесс также может создавать процессы.

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

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

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

В любой системе понятие "процесс" включает в себя следующее:

· исполняемый код,

· собственное адресное пространство, которым является совокупность виртуальных адресов, которые может использовать процесс,

· ресурсы системы, такие как файлы, семафоры и т.п., которые назначены процессу операционной системой,

· хотя бы один поток выполнения.

Адресное пространство каждого процесса защищено от вмешательства в него любого другого процесса.

Поток является выполняемой единицей, которая находится в адресном пространстве процесса и использует ресурсы, выделенные процессу.

Обычно поток имеет следующие атрибуты:

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

· Динамический приоритет - значение приоритета потока в данный момент.

· Базовый приоритет - нижний предел динамического приоритета потока.

· Время выполнения потока - суммарное время выполнения потока за период существования потока.

· Счетчик приостановок - текущее количество приостановок выполнения потока.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: