Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OTVET__ShPOR.docx
Скачиваний:
13
Добавлен:
27.04.2019
Размер:
583.96 Кб
Скачать
  1. Понятия задачи, процесса, потока в вс. Управление процессами и потоками.

Задача - ед.работы. В однозадачных ОС она соответствовала выполняемой программе. В многозадачных ОС термин задача стал соответствовать выполняющемуся приложению. В ОС для ПК термин задача уступил свое место понятию процесс.

Процесс – приложение, выполняющееся ЦП и выделенные ему ресурсы, в том числе и адресное пространство.

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

Управление процессами.

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

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

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

  • Конкуренция – процессы конкурируют за ресурс

  • Поставщик-потребитель – 1 процесс всегда только поставляет информацию, другой всегда потребляет ее.

  • Писатели-читатели – несколько процессов считывают ее не изменяя(читатели)

  1. Способы организации многозадачных ос

  1. Способы реализации многозадачных операционных систем:

    1. кооперативная многозадачность

В оперативной памяти находится несколько процессов. Один из них – в состоянии активности, ряд процессов в состоянии готовности. Активный процесс сам принимает решение о том, когда он передает управление другому процессу или операционной системе.

    1. вытесняющая многозадачность

В оперативной памяти находится несколько процессов. Один из них – в состоянии активности, ряд процессов в состоянии готовности. Вопрос о передаче управления решается на уровне операционной системы диспетчером задач (планировщик процессов).

Для вытесняющей многозадачности существуют 3 стратегии планирования:

  1. отдавать предпочтение более коротким процессам,

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

  3. предоставлять всем пользователям (процессам пользователей) одинаковое время ожидания.

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

Системные процессы выступают в роли обслуживающих процессов (серверные). В Windows (NT) существуют 32 приоритета. Приоритет присваивается операционной системой при создании процесса. Первые 16 приоритетов – для пользовательских процессов, остальные – для системных процессов.

Перевод «в фон» снижает приоритет потока. Поток может иметь приоритет ±2 к приоритету процесса.

В OS/2 есть 4 класса приоритетов в каждом классе 32 приоритета (всего 128):

  1. к ритический класс, включающий задачи реального времени, обладает самым высоким приоритетом.

  2. серверный класс, к которому относятся задачи, представляющие собой элементы определенной системы.

  3. регулярный (стандартный) класс, включающий все пользовательские задачи.

  4. остаточный класс, который получает время, когда в очереди нет других классов.

Внутри каждого класса карусельная обработка.

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

Существует 2 распространенных способа назначения приоритетов:

  • RMS (rate monotonic scheduling). Правило назначения приоритетов таково: чем меньше период задачи, тем выше у нее приоритет. Иными словами, чем чаще (отсюда rate) задача переходит в состояние готовности, тем ее приоритет выше.

  • DMS (deadline monotonic scheduling). В этом алгоритме приоритеты назначаются по немного другому правилу: чем меньше относительный крайний срок задачи, тем выше ее приоритет.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]