Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы Операц среды Уманский 2011.docx
Скачиваний:
35
Добавлен:
24.09.2019
Размер:
66.74 Кб
Скачать
  1. Перечислите основные задачи ос по управлению процессами. Её задачи:

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

● обеспечение процессов и потоков необходимыми ресурсами.

● изоляция процессов.

● планирования выполнения процессов и потоков.

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

● организация межпроцессного взаимодействия.

● синхронизация.

● завершение и уничтожение процессов и потоков.

  1. Как можно представить модель процесса и потока? Назовите возможные состояния процесса.

Простейшая модель процесса предполагает, что он имеет 2 устойчивых состояния – выполняется и не выполняется. Если бы все процессы имели равный приоритет, всегда были готовы к выполнению, то очередь по данной схеме работала бы эффективно по принципу обслуживания в порядке поступления, а процессор обслуживал бы поступающие процессы круговым методом (Round-Robin). Каждому процессу отводится определенный промежуток времени (t кванта), после которого процесс возвращается в очередь или, если он решен полностью, выгружается из ОЗУ. Однако не все процессы одновременно готовы к выполнению – часть из них по какой-то причине заблокирована (например, ожидают соответствующий ресурс). Поэтому при наличии одной очереди диспетчер вынужден просматривать её всю для поиска первого незаблокированного процесса.

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

Модели потоков:

А. Организация потоков на уровне пользователя.

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

Б. Управление потоками на уровне ядра.

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

Состояние процесса, определяющее готовность процесса к выполнению (выполняющийся, готовый к выполнению, ожидающий и приостановленный).

  1. Дайте характеристику возможным уровням параллелизма выполнения программ.

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

Распараллеливание на уровне задач

Часто распараллеливание на этом уровне является самым простым и при этом самым эффективным. Такое распараллеливание возможно в тех случаях, когда решаемая задача естественным образом состоит из независимых подзадач, каждую из которых можно решить отдельно. Хорошим примером может быть сжатие аудио-альбома. Каждая запись может обрабатываться отдельно, так как она никак не связана с другими.

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