Подсистема управления процессами и потоками. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Подсистема управления процессами и потоками.



Типы многозадачности (мультипрограммирование)

Критерии эффективности:

1. Пропускная способность (кол-во задач, выполняемых за единицу времени)

2. Удобство работы пользователей

3. Реактивность системы (время реакции)

В зависимости от того, какой критерий выбран главным при разработке ос, система будет относиться к одному из трех типов:

a) Система пакетной обработки (глав критерий 1): применяются на больших компьютерных системах для каких-то сложных расчетов, задач вычислительного характера, цель – решить max кол-во задач за единицу времени. Работа ведется сеансами. Из поставленных задач формируется мультипрограммная смесь, из нее формируется расписание.

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

c) Системы реального времени (глав критерий 3): используются на производстве во встроенных системах для управления технологическими процессами. Цель таких систем: способность выдерживать заданные интервалы времени между запуском проги и получением результата, этот интервал времени называется время реакции системы.

Многопроцессорные системы:

Архитектура многопроцессорных систем может быть симметричной и ассиметричной.

Ассиметричная архитектура – процессоры могут отличаться как характеристиками, так и функциональной ролью.

Вычислительный процесс мб симметричным и ассиметричным. На симетрич архитектурах он мб ассиметричным, а на ассиметрич архитектурах только ассиметричным.

Масштабирование по вертикали можно использовать в симетрич архитектуре.

 

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

Процесс – это программа в стадии выполнения.

Более мелкая единица работы – поток (thread).

Процесс состоит как минимум из одного потока.

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

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

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

Для потоков ос создает спец. структуру данных, которая называется контекст потока. В ней хранится инфо, необходимая для возобновления работы потока, если он был прерван.

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

Планирование – это работа по определению того, в какой момент нужно прервать текущий поток и какому потоку предоставить выполняться.

Существует множество алгоритмов планирования. Оно мб динамическим, те выполняться каждый раз когда прерывается текущий поток, и мб статическим, это когда расписание создается заранее и изредка корректируется (например, расписание поездов)

Диспетчеризация – это переключение процессора с одного потока на другой.

Диспетчеризация состоит из трех шагов:

1. Сохранение контекста потока, который требуется сменить.

2. Загрузка контекста нового потока.

3. Запуск нового потока на выполнение.

Поток может находиться в одном из трех состояниях:

1. Выполнение: процессор выполняет команды данного потока.

2. Ожидание: поток заблокирован по своим внутренним причинам

3. Готовность: поток готов, но процессор занят выполнением другого потока.

Алгоритмы планирования бывают вытесняющие и невытесняющие. Вытесняющие алгоритмы используют принудительное прерывание потоков. в вытесняющих алгоритмах может использоваться:

- Квантование (ед.времени) время разбивается на кванты равной длины, которые выделяются потоком

- задается числом и определяет степень важности. Приоритет может динамически изменяться.

- Смешанный алгоритм (и то и др)

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

Синхронизация – это согласование работы потоков.

Ос предоставляют несколько механизмов предназначенных для синхронизации:

1. Критическая секция – так называется фрагмент кода, который будет выполняться, если некоторый объект не занят, а если занят, текущий поток блокируется до его освобождения.

2. Симофор – это флаг занятости какого-либо ресурса, который устанавливается и сбрасывается автоматически.

3. Mutex

4. Сигналы

 



Поделиться:


Последнее изменение этой страницы: 2020-12-09; просмотров: 53; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.142.98.108 (0.006 с.)