русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2013-12-23; просмотров: 794; Нарушение авторских прав


Потоки

Алгоритмы планирования

Лекция 2

Операции над процессом

1. Операция создания процессов. Создать процесс значит : создать информационные структуры его описывающие – включить дескриптор нового процесса в очередь готовых – загрузить кодовый сегмент в ОП.

2. Приостановка процесса. Переход из состояния исполнения в состояние готовности. При этому сохраняется счётчик команд и регистр стека исполняемого процесса.

3. Запуск процесса – обратное приостановке процесса.

4. Блокировка процесса (переход из исполнения в ожидание). При этом возникает системный вызов, при необходимости сохраняется контекст и происходит смена процесса на выполнение.

5. Разблокировка – обратное блокировке (из ожидания в готовность).

6. Завершения процесса – уничтожение описывающих структур и освобождение памяти.

 

Рисунок 1 – Переключение процессов

 

Планирование включает в себя решение задач:

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

2. Выбор процесса на выполнение из очереди готовых

3. Переключение контекстов

 

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

1. Бесприоритетные – на квантование

a. Линейные

i. В порядке очереди

ii. Случайно

b. Циклические

2. Приоритетные

a. С фиксированными приоритетами

i. Относительные приоритеты

ii. Абсолютные приоритеты

iii. Адаптивное обслуживание

b. С динамическими приоритетами

i. Приоритет зависит от времени ожидания

ii. Приоритет зависит от времени обслуживания

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

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



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

Приоритет может назначаться директивно или вычисляться ОС по заданными правилам. Может быть фиксированным или динамическим.

 

Thread (поток) – это часть процесса, способная выполняться квазипараллельно с другими потоками одного процесса. Каждый поток имеет свой собственный программный счётчик, стек, регистры, потомков и состояния. В рамках процесса потоки разделяют адресное пространство, глобальные переменные, открытые файлы, таймеры, семафоры и статистическую информацию.

 

Как может быть организован вычислительный процесс с помощью потоков:

1. Модель «Диспетчер»

2. Модель «Команда»

3. Модель «Конвейер»

 

Потоки могут быть реализованы статически, когда их количество и задачи определяются на этапе написания программы, или динамически, по ходу выполнения. Завершаются потоки по своей инициативе или извне (например, породивший их процесс завершен).

Многопоточная обработка может быть реализована в пользовательском пространстве или в пространстве ядра.

 

Категории обмена информации:

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

2. Канальные средства – взаимодействие происходит через линии связи, предоставленные ОС. Объем данных зависит от пропускной способности линий связи. Степень воздействия на получателя прямо пропорционально количеству получаемой информации.

3. Разделяемая память – это область АП, выделенная ОС для совместного использования. Наиболее быстрый способ

При установлении связи различают разные способы адресации:

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

2. Непрямая адресация – данные помещаются в промежуточный объект хранения, имеющий свой адрес. Здесь необходимо знать только объекты хранения, файлы.

Количество процессов, которое может быть одновременно ассоциировано с конкретным средством связи, называется валентностью этого средства связи. При прямой адресации – в основном валентность 1-2, а при непрямой – больше.

Связь может быть однонаправленной (симплексной) и двунаправленной (дуплексной), а так же полудуплексной. Адресация не имеет отношения к типу связи.

 



<== предыдущая лекция | следующая лекция ==>
Управление процессами | Синхронизация процессов


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.