Контрольная работа №3

Тема: Управление процессами и ресурсами в операционной системе

Основные определения (процесс как единица декомпозиции системы, концепция дискретных состояний процесса), подходы к программному образованию процессов, системные и пользовательские процессы, проблемы приостановки и возобновления. Взаимодействие процессов. Проблемы взаимодействия: понятие критического ресурса, синхронизация, взаимоисключение, взаимоблокировка, коммуникация между процессами, процессы в распределенных системах. Способы синхронизации процессов: семафоры, виды семафоров, мониторы, кольцевой буфер, «читатели-писатели». Уровни планирования и основные стратегии, используемые при диспетчеризации процессов: FIFO, RR, SJF, SRT. Структуры данных операционной системы для управления процессами и ресурсами. Тупики. Проблемы возникновения. Методы борьбы с тупиками. Алгоритмы обнаружения тупиков. Обход тупиков (алгоритм банкира).

Содержание работы:

Задание №1 – Аналитический обзор

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

Задание №2 – Тестовые задания

2.1 Вставьте пропущенные слова

2.2 Выберите правильные ответы (ответ м.б. не один) на предложенные тестовые задания.

Задание №3 – Практические задания

3.1 Предложите решение теоретической задачи.

3.2 С использованием встроенных средств современной операционной системы получите полную информацию о компонентах вычислительного процесса и проанализируйте ее.

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

 

Указания

 

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

В операционной системе MS Windows* штатными средствами необходимыми для анализа работоспособности системы являются уже знакомые по предыдущей контрольной работе диспетчер задач и системный монитор.

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

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

Для запуска диспетчера задач можно использовать один из известных по предыдущей контрольной работе способов:

· Нажать комбинацию клавиш <Ctrl>+<Shift>+<Esc>

· Нажать комбинацию клавиш <Ctrl>+<Alt>+<Del> и при необходимости нажать в открывшемся окне кнопку Диспетчер задач (Task Manager)

· Открыть окно Выполнить (Run) и ввести команду   taskmgn

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

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

 

В Примере решения (Вариант ХХ) также дано более подробное руководство для выполнения этого практического задания.

Приступая к выполнению контрольных работ, рекомендуется ознакомиться со следующими методическими материалами:

1. Жадановская Н.П. Операционные системы. Базовый курс [Текст]: учебное пособие для студентов заочной формы обучения. – СПб.: СПбГТИ(ТУ), 2009. –101 с.

2. Олифер В.Г., Олифер Н.А. Сетевые операционные системы. Учебник для ВУЗов. - Спб.: ПИТЕР, 2015.- 544с.

 

В качестве руководства пользователя по любой версии операционной системы  MS Windows* Microsoft Windows * (от MS Windows ХР и выше) м.б. использовано любое популярное руководство пользователя.


 Контрольная работа №3: Вариант 1


Аналитический обзор

В настоящее время в мультипрограммных системах рассматривается большое число дисциплин планирования. Поясните их особенности.

Тестовые задания

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

2.2 Активный процесс может находиться в одном из следующих состояний …

□ готовность к выполнению

□ ожидание

□ выполнение

□ подготовка

□ восстановление

Практические задания

3.1 В контексте «алгоритма банкира» определите и обоснуйте, является ли приведенное состояние опасным или безопасным с точки зрения возникновения тупиков.

Предположим, что в системе имеются 9 одинаковых ресурсов R1, 9 одинаковых ресурсов R2 и 9 одинаковых ресурсов R3. Текущее распределение ресурсов и максимальное их количество, необходимое процессам представлено в таблице В3.1.

Таблица В3.1 - Текущее распределение ресурсов

Процесс Предоставлено ресурсов R1R2 R3 Максимальная потребность R1R2 R3
А 321 666
B 211 333
C 111 222
D 112 444
Е 123 555

3.2 Запустите выбранное для целей исследования приложение.

С использованием штатных средств операционной системы MS Windows* исследуйте образованный процесс: определите PID, базовый приоритет, количество потоков. Уточнить остальные имеющиеся характеристики процесса.

Измените приоритет процесса и установите, влияет ли это на время выполнения приложения.
                                         Контрольная работа 3: Вариант 2


Аналитический обзор

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

Тестовые задания

2.1 В среде ОС с не вытесняющей многозадачностью, где программа использует данные монопольно, снимаются многие проблемы …. и защиты данных:

 

2.2 Отношение приоритетности: процесс с приоритетом P1 может быть переведен в активное состояние при соблюдении двух условий: в состоянии готовности к рассматриваемому процессору нет процессов с приоритетом P2 > P1; процессор либо свободен, либо используется процессом с приоритетом:

□ P3<=P1

□ P3>=P1

□ P3>>P1

□ P3<P1

□ P3=P1

Практические задания

3.1 В контексте «алгоритма банкира» определите и обоснуйте, является ли приведенное состояние опасным или безопасным с точки зрения возникновения тупиков.

Предположим, что в системе имеются 6 одинаковых ресурсов R1, 6 одинаковых ресурсов R2, 6 одинаковых ресурсов R3 и 6 одинаковых ресурсов R4. Текущее распределение ресурсов и максимальное их количество, необходимое процессам представлено в таблице В3.2.

 

Таблица В3.2 - Текущее распределение ресурсов

Процесс Предоставлено ресурсов R1R2 R3 R4 Максимальная потребность R1R2 R3 R4
А 2002 2022
B 2220 2222
C 0222 2424
D 0220 2024

3.2 Запустите выбранное для целей исследования приложение.

С использованием штатных средств операционной системы MS Windows* исследуйте образованный процесс: определите PID, базовый приоритет, количество потоков. Уточнить остальные имеющиеся характеристики процесса.

Измените приоритет процесса и установите, влияет ли это на время выполнения приложения.
                                        Контрольная работа 3: Вариант 3


Аналитический обзор

Поясните употребление терминов «программа», «процесс», «задача», «поток», «нить».

Тестовые задания

2.1 Операционная система Windows NT может повышать приоритет потока (называемый в этом случае .....), если поток не полностью использовал свой квант, или понижать его в противном случае.

 

2.2 Способ реализации системных вызовов зависит от структурной организации операционной системы, связанной с особенностями:

□ приоритетного обслуживания

□ внешней памяти

□ обработки прерываний

□ аппаратной платформы

□ оперативной памяти

□ выбора пользователя

Практические задания

3.1 В контексте «алгоритма банкира» определите и обоснуйте, является ли приведенное состояние опасным или безопасным с точки зрения возникновения тупиков.

Предположим, что в системе имеются 6 одинаковых ресурсов R1, 6 одинаковых ресурсов R2 и 6 одинаковых ресурсов R3. Текущее распределение ресурсов и максимальное их количество, необходимое процессам представлено в таблице В3.3.

Таблица В3.3 - Текущее распределение ресурсов

Процесс Предоставлено ресурсов R1R2 R3 Максимальная потребность R1R2 R3
А 210 444
B 101 222
C 012 222
D 021 444
Е 201 222

3.2 Запустите выбранное для целей исследования приложение.

С использованием штатных средств операционной системы MS Windows* исследуйте образованный процесс: определите PID, базовый приоритет, количество потоков. Уточнить остальные имеющиеся характеристики процесса.

Измените приоритет процесса и установите, влияет ли это на время выполнения приложения.
                                        Контрольная работа №3: Вариант 4


Аналитический обзор

Опишите все возможные смены состояний процесса с учетом операций приостановки и возобновления.

Тестовые задания

2.1 Выборка потока на ….. осуществляется в соответствии с принятым в данной операционной системы правилом с учетом всех существующих в данный момент потоков и процессов.

 

2.2 В основу управления процессами положена концепция дискретных состояний. Укажите состояние, которое не определено для процессов в операционной системе:

□ выполнение

□ синхронизация

□ ожидание

□ готовность

□ взаимоисключение

□ безопасное

Практические задания

3.1 В контексте «алгоритма банкира» определите и обоснуйте, является ли приведенное состояние опасным или безопасным с точки зрения возникновения тупиков.

Предположим, что в системе имеются 7 одинаковых ресурсов R1, 7 одинаковых ресурсов R2, 7 одинаковых ресурсов R3 и 7 одинаковых ресурсов R4. Текущее распределение ресурсов и максимальное их количество, необходимое процессам представлено в таблице В3.4.

Таблица В3.4 - Текущее распределение ресурсов

Процесс Предоставлено ресурсов R1R2 R3 R4 Максимальная потребность R1R2 R3 R4
А 3102 6556
B 1011 3344
C 2212 3433
D 0231 7777

3.2 Запустите выбранное для целей исследования приложение.

С использованием штатных средств операционной системы MS Windows* исследуйте образованный процесс: определите PID, базовый приоритет, количество потоков. Уточнить остальные имеющиеся характеристики процесса.

Измените приоритет процесса и установите, влияет ли это на время выполнения приложения.


 Контрольная работа №3: Вариант 5


Аналитический обзор

Укажите различия между планировщиком заданий, планировщиком промежуточного уровня и диспетчером.

Тестовые задания

2.1 Разработчики операционных систем предоставляют в распоряжение ….. набор разных по своим возможностям средств синхронизации процессов и потоков.

 

2.2 В операционных системах реального времени после каждого прерывания планировщик- диспетчер процессов просматривает расписание и проверяет, не пора ли задачи:

□ запустить

□ остановить

□ переключить

□ сменить

□ приостановить

□ синхронизировать

Практические задания

3.1 Пять задач А, B, C, D, E поступают в компьютерный центр практически одновременно.

Ожидается, что время выполнения этих задач составит для:

1) A – 13 минут,         4) D – 3 минуты,

2) B – 7 минут,           5) E – 10 минут.

3) C – 6 минут.

Требуется определить среднее время выполнения запущенных задач, считая, что:

§ время смены контекста или время переключения между процессами равно - 8 мс,

§ время кванта процессора равно – 80 мс.

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

3.2 Запустите выбранное для целей исследования приложение.

С использованием штатных средств операционной системы MS Windows* исследуйте образованный процесс: определите PID, базовый приоритет, количество потоков. Уточнить остальные имеющиеся характеристики процесса.

Измените приоритет процесса и установите, влияет ли это на время выполнения приложения.



Контрольная работа №3: Вариант 6

Аналитический обзор

Охарактеризуйте понятия систем жесткого и мягкого реального времени. Уточните, что у них общего и чем они отличаются.

Тестовые задания

2.1 Процесс - динамический объект операционной системы, возникающий в системе после того, как пользователь или ….. решает запустить программу, то есть создать новую единицу вычислительной работы.

 

2.2 В среде операционной системы с невытесняющей многозадачностью, где программа использует данные монопольно, снимаются многие проблемы:

□ планирования

□ управления

□ разделения данных

□ защиты данных

□ защиты программ

□ конфигурирования диска

Практические задания

3.1 В контексте «алгоритма банкира» определите и обоснуйте, является ли приведенное состояние опасным или безопасным с точки зрения возникновения тупиков.

Предположим, что в системе имеются 5 одинаковых ресурсов R1, 5 одинаковых ресурсов R2 и 5 одинаковых ресурсов R3. Текущее распределение ресурсов и максимальное их количество, необходимое процессам представлено в таблице В3.6.

Таблица В3.6 - Текущее распределение ресурсов

Процесс Предоставлено ресурсов R1R2 R3 Максимальная потребность R1R2 R3
А 110 555
B 111 444
C 011 333
D 101 222
Е 010 111

3.2 Запустите выбранное для целей исследования приложение.

С использованием штатных средств операционной системы MS Windows* исследуйте образованный процесс: определите PID, базовый приоритет, количество потоков. Уточнить остальные имеющиеся характеристики процесса.

Измените приоритет процесса и установите, влияет ли это на время выполнения приложения.


 Контрольная работа 3: Вариант 7


Аналитический обзор

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

Тестовые задания

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

 

2.2 В мультипрограммных операционных системах на содержание дисциплины формирования очереди влияют:

□ дисциплина обслуживания

□ приоритеты запросов

□ выбор пользователя

□ дополнительные соглашения владельцев процессов

□ типы и классы единиц вычислительной работы

□ стратегии размещения

Практические задания

3.1 В контексте «алгоритма банкира» определите и обоснуйте, является ли приведенное состояние опасным или безопасным с точки зрения возникновения тупиков.

Предположим, что в системе имеются 4 одинаковых ресурсов R1, 4 одинаковых ресурсов R2, 4 одинаковых ресурсов R3 и 4 одинаковых ресурсов R4. Текущее распределение ресурсов и максимальное их количество, необходимое процессам представлено в таблице В3.7.

 

Таблица В3.7 - Текущее распределение ресурсов

Процесс Предоставлено ресурсов R1R2 R3 R4 Максимальная потребность R1R2 R3 R4
А 2000 2022
B 2200 2222
C 0220 2424
D 0022 0024

3.2 Запустите выбранное для целей исследования приложение.

С использованием штатных средств операционной системы MS Windows* исследуйте образованный процесс: определите PID, базовый приоритет, количество потоков. Уточнить остальные имеющиеся характеристики процесса.

Измените приоритет процесса и установите, влияет ли это на время выполнения приложения.


 Контрольная работа 3: Вариант 8


Аналитический обзор

Поясните, что понимается под вытесняющими и невытесняющими алгоритмами планирования

Тестовые задания

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

 

2.2 При необходимости взаимодействия процессы обращаются к операционной системе, которая, выполняя функции посредника, предоставляет им средства межпроцессной связи. Укажите, что является такими средствами:

□ конвейеры,

□ кластеры

□ почтовые ящики,

□ разделяемые секции памяти

□ логические сектора

 

Практические задания

3.1 Пять задач А, B, C, D, E поступают в компьютерный центр практически одновременно.

Ожидается, что время выполнения этих задач составит для:

4) A – 10 минут,         4) D – 4 минуты,

5) B – 8 минут,          5) E – 12 минут.

6) C – 2 минуты.

Требуется определить среднее время выполнения запущенных задач, считая, что:

§ время смены контекста или время переключения между процессами равно - 4 мс,

§ время кванта процессора равно – 80 мс.

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

3.2 Запустите выбранное для целей исследования приложение.

С использованием штатных средств операционной системы MS Windows* исследуйте образованный процесс: определите PID, базовый приоритет, количество потоков. Уточнить остальные имеющиеся характеристики процесса.

Измените приоритет процесса и установите, влияет ли это на время выполнения приложения.


 Контрольная работа 3: Вариант 9


Аналитический обзор

Перечислите все возможные состояния процессов в операционной системе и основные возможные операции над процессами для обеспечения смены этих состояний.

Тестовые задания

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

 

2.2 Приоритет потоков, выполняемых в обычной последовательности, определяемой планировщиком потоков, (по сравнению с приоритетом обработчиков прерываний) в общем случае:

□ всегда ниже

□ не выше

□ всегда выше

□ не ниже

□ равен ему

 

Практические задания

3.1 В контексте «алгоритма банкира» определите и обоснуйте, является ли приведенное состояние опасным или безопасным с точки зрения возникновения тупиков.

Предположим, что в системе имеются 13 одинаковых ресурсов R1, 13 одинаковых ресурсов R2, 13 одинаковых ресурсов R3 и 13 одинаковых ресурсов R4. Текущее распределение ресурсов и максимальное их количество, необходимое процессам представлено в таблице В3.9.

 

Таблица В3.9 - Текущее распределение ресурсов

Процесс Предоставлено ресурсов R1R2 R3 R4 Максимальная потребность R1R2 R3 R4
А 3224 4334
B 2135 6587
C 1432 5876
D 4321 7856

3.2 Запустите выбранное для целей исследования приложение.

С использованием штатных средств операционной системы MS Windows* исследуйте образованный процесс: определите PID, базовый приоритет, количество потоков. Уточнить остальные имеющиеся характеристики процесса.

Измените приоритет процесса и установите, влияет ли это на время выполнения приложения.


 Контрольная работа 3: Вариант 10


Аналитический обзор

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

Тестовые задания

2.1 В общем случае в операционной системе реализовано двухуровневый механизм планирования работ: на верхнем уровне работает ..…, на нижнем - оставшееся процессорное время распределяется диспетчером потоков.

 

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

□ иногда не прерывается

□ всегда прерывается

□ не прерывается

□ останавливается

□ часто прерывается

Практические задания

3.1 Четыре задачи А, B, C, D поступают в компьютерный центр практически одновременно.

Ожидается, что время выполнения этих задач составит для:

§ A – 4 минуты,

§ B – 2 минуты

§ C – 7 минут

§ D – 10 минут.

Требуется определить среднее время выполнения запущенных задач, считая, что:

§ время смены контекста или время переключения между процессами равно - 4 мс,

§ время кванта процессора равно – 20 мс.

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

3.2 Запустите выбранное для целей исследования приложение.

С использованием штатных средств операционной системы MS Windows* исследуйте образованный процесс: определите PID, базовый приоритет, количество потоков. Уточнить остальные имеющиеся характеристики процесса.

Измените приоритет процесса и установите, влияет ли это на время выполнения приложения.



Контрольная работа №3: Вариант 11

Аналитический обзор

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

Тестовые задания

2.1Если квант станет больше, суммарные накладные (дополнительные) расходы на переключение будут …..:

 

2.2 Средствами синхронизации взаимодействующих вычислительных процессов являются …

□ семафор

□ мьютекс –двоичный семафор

□ монитор

□ стек

□ прерывание

Практические задания

3.1 Четыре задачи А, B, C, D поступают в компьютерный центр практически одновременно.

Ожидается, что время выполнения этих задач составит для:

§ A – 6 минут,

§ B – 10 минут,

§ C – 3 минуты

§ D – 5 минут.

Требуется определить среднее время выполнения запущенных задач, считая, что:

§ время смены контекста или время переключения между процессами равно - 8 мс,

§ время кванта процессора равно – 80 мс.

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

3.2 Запустите выбранное для целей исследования приложение.

С использованием штатных средств операционной системы MS Windows* исследуйте образованный процесс: определите PID, базовый приоритет, количество потоков. Уточнить остальные имеющиеся характеристики процесса.

Измените приоритет процесса и установите, влияет ли это на время выполнения приложения.



Контрольная работа 3: Вариант 12

Аналитический обзор

Поясните, что такое бесконечное откладывание, чем оно отличается от тупика и что у них общего.

Тестовые задания

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

 

2.2 В распределенных системах состоящих из нескольких процессоров (каждый из которых имеет свою оперативную память) синхронизация м.б. реализована только с помощью передачи:

□ сообщения

□ сигнала

□ специального кода

□ специального символа

□ мьютекса

□ семафора

Практические задания

3.1 В контексте «алгоритма банкира» определите и обоснуйте, является ли приведенное состояние опасным или безопасным с точки зрения возникновения тупиков.

Предположим, что в системе имеются 7 одинаковых ресурсов R1, 7одинаковых ресурсов R2, 7 одинаковых ресурсов R3 и 7 одинаковых ресурсов R4. Текущее распределение ресурсов и максимальное их количество, необходимое процессам представлено в таблице В3.12.

 

Таблица В3.12 - Текущее распределение ресурсов

Процесс Предоставлено ресурсов R1R2 R3 R4 Максимальная потребность R1R2 R3 R4
А 0111 3344
B 2013 7777
C 1320 5665
D 2221 4333

3.2 Запустите выбранное для целей исследования приложение.

С использованием штатных средств операционной системы MS Windows* исследуйте образованный процесс: определите PID, базовый приоритет, количество потоков. Уточнить остальные имеющиеся характеристики процесса.

Измените приоритет процесса и установите, влияет ли это на время выполнения приложения.
                                        Контрольная работа №3: Вариант 13


Аналитический обзор

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

Тестовые задания

2.1 Средства синхронизации могут образовывать иерархию или иметь специализацию (для синхронизации потоков одного или разных ..…).

 

2.2 Система действий, реализующая определенную функцию в вычислительной системе (ВС) и оформленная так, что управляющая программа ВС может перераспределять ее ресурсы в целях обеспечения мультипрограммирования, называется:

□ системным вызовом

□ потоком

□ процессом

□ программой

□ процедурой

Практические задания

3.1 Четыре задачи А, B, C, D поступают в компьютерный центр практически одновременно.

Ожидается, что время выполнения этих задач составит для:

§ A – 8 минут,

§ B – 10 минут,

§ C – 2 минуты

§ D – 5 минут.

Требуется определить среднее время выполнения запущенных задач, считая, что:

§ время смены контекста или время переключения между процессами равно - 4мс,

§ время кванта процессора равно – 40 мс.

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

3.2 Запустите выбранное для целей исследования приложение.

С использованием штатных средств операционной системы MS Windows* исследуйте образованный процесс: определите PID, базовый приоритет, количество потоков. Уточнить остальные имеющиеся характеристики процесса.

Измените приоритет процесса и установите, влияет ли это на время выполнения приложения.



Контрольная работа №3: Вариант 14

Аналитический обзор

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

Тестовые задания

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

 

2.2 Операционная система также выполняет функции синхронизации процессов, приостанавливая выполнение одного из них до наступления в системе какого-либо:

□ сбоя

□ события

□ происшествия

□ состояния

□ времени

Практические задания

3.1 В контексте «алгоритма банкира» определите и обоснуйте, является ли приведенное состояние опасным или безопасным с точки зрения возникновения тупиков.

Предположим, что в системе имеются 8 одинаковых ресурсов R1, 8 одинаковых ресурсов R2 и 8 одинаковых ресурсов R3. Текущее распределение ресурсов и максимальное их количество, необходимое процессам представлено в таблице В3.14.

Таблица В3.14 - Текущее распределение ресурсов

Процесс Предоставлено ресурсов R1R2 R3 Максимальная потребность R1R2 R3
А 321 555
B 210 222
C 101 111
D 012 333
Е 123 444

3.2 Запустите выбранное для целей исследования приложение.

С использованием штатных средств операционной системы MS Windows* исследуйте образованный процесс: определите PID, базовый приоритет, количество потоков. Уточнить остальные имеющиеся характеристики процесса.

Измените приоритет процесса и установите, влияет ли это на время выполнения приложения.


 Контрольная работа №3: Вариант 15


Аналитический обзор

Уточните, какими средствами синхронизации процессов располагает современная операционная система.

Тестовые задания

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

 

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

□ параллельно используемым

□ одновременным

□ общим

□ разделяемым

□ комплексным

□ взаимоисключающим

Практические задания

3.1 В контексте «алгоритма банкира» определите и обоснуйте, является ли приведенное состояние опасным или безопасным с точки зрения возникновения тупиков.

Предположим, что в системе имеются 11 одинаковых ресурсов R1, 11 одинаковых ресурсов R2, 11 одинаковых ресурсов R3 и 11 одинаковых ресурсов R4. Текущее распределение ресурсов и максимальное их количество, необходимое процессам представлено в таблице В3.15.

Таблица В3.15 - Текущее распределение ресурсов

Процесс Предоставлено ресурсов R1R2 R3 R4 Максимальная потребность R1R2 R3 R4
А 1233 5678
B 2342 3443
C 3412 8765
D 4123 8567

3.2 Запустите выбранное для целей исследования приложение.

С использованием штатных средств операционной системы MS Windows* исследуйте образованный процесс: определите PID, базовый приоритет, количество потоков. Уточнить остальные имеющиеся характеристики процесса.

Измените приоритет процесса и установите, влияет ли это на время выполнения приложения.



Контрольная работа №3: Вариант 16

Аналитический обзор

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

Тестовые задания

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

 

2.2 Дискриминацию потоков с интенсивным обменом можно компенсировать организацией дополнительной более приоритетной очереди прерванных из - за необходимости ввода- вывода ..... потоков.

□ готовых

□ ожидающих

□ системных

□ параллельных

□ активных

Практические задания

3.1 Пять задач А, B, C, D, E поступают в компьютерный центр практически одновременно.

Ожидается, что время выполнения этих задач составит для:

7) A – 12 минут,         4) D – 2 минуты,

8) B – 8 минут,           5) E – 10 минут.

9) C – 5 минут.

Требуется определить среднее время выполнения запущенных задач, считая, что:

§ время смены контекста или время переключения между процессами равно - 10 мс,

§ время кванта процессора равно – 30 мс.

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

 

3.2 Запустите выбранное для целей исследования приложение.

С использованием штатных средств операционной системы MS Windows* исследуйте образованный процесс: определите PID, базовый приоритет, количество потоков. Уточнить остальные имеющиеся характеристики процесса.процесса.

Измените приоритет процесса и установите, влияет ли это на время выполнения приложения.
                                        Контрольная работа 3: Вариант 17


Аналитический обзор

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

Тестовые задания

2.1 Асинхронный системный вызов приводит к переходу потока в состояние … и неясно когда поток сможет воспользоваться результатами этого системного вызова.

 

2.2 Если квант станет больше, суммарные накладные (дополнительные) расходы на переключение процессов будут:

□ меньше

□ не меньше

□ больше

□ не больше

□ останется прежним

Практические задания

3.1 В контексте «алгоритма банкира» определите и обоснуйте, является ли приведенное состояние опасным или безопасным с точки зрения возникновения тупиков.

Предположим, что в системе имеются 20 одинаковых ресурсов R1, 20 одинаковых ресурсов R2 и 20 одинаковых ресурсов R3. Текущее распределение ресурсов и максимальное их количество, необходимое процессам представлено в таблице В3.17.

Таблица В3.17 - Текущее распределение ресурсов

Процесс Предоставлено ресурсов R1R2 R3 Максимальная потребность R1R2 R3
А 432 888
B 543 777
C 454 666
D 345 777
Е 234 888

3.2 Запустите выбранное для целей исследования приложение.

С использованием штатных средств операционной системы MS Windows* исследуйте образованный процесс: определите PID, базовый приоритет, количество потоков. Уточнить остальные имеющиеся характеристики процесса.

Измените приоритет процесса и установите, влияет ли это на время выполнения приложения.
                                        Контрольная работа 3: Вариант 18


Аналитический обзор

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

Тестовые задания

2.1 Так как в системах разделения времени каждой задаче выделяется только ….. процессорного времени, ни одна задача не занимает процессор надолго и время ответа оказывается приемлемым.

 

2.2 Укажите, каких смен состояний процессов в операционной системе не существует:

□ выполнение    → готовность

□ ожидание       → выполнение

□ ожидание       → готовность

□ готовность               → ожидание

□ выполнение    →. ожидание

Практические задания

3.1 В контексте «алгоритма банкира» определите и обоснуйте, является ли приведенное состояние опасным или безопасным с точки зрения возникновения тупиков.

Предположим, что в системе имеются 18 одинаковых ресурсов R1, 18 одинаковых ресурсов R2 и 18 одинаковых ресурсов R3. Текущее распределение ресурсов и максимальное их количество, необходимое процессам представлено в таблице В3.18.

Таблица В3.18 - Текущее распределение ресурсов

Процесс Предоставлено ресурсов R1R2 R3 Максимальная потребность R1R2 R3
А 513 888
B 424 777
C 335 666
D 241 777
Е 152 888

3.2 Запустите выбранное для целей исследования приложение.

С использованием штатных средств операционной системы MS Windows* исследуйте образованный процесс: определите PID, базовый приоритет, количество потоков. Уточнить остальные имеющиеся характеристики процесса.

Измените приоритет процесса и установите, влияет ли это на время выполнения приложения.
                                        Контрольная работа 3: Вариант 19


Аналитический обзор

Поясните, в чем состоит принципиальное отличие состояний «ожидания» (блокирования) и «готовности» процесса, ведь и в том и в другом он ожидает некоторого события.

Тестовые задания

2.1 Число, характеризующее степень привилегированности процесса при выделении ему главного ресурса – процессора и переводе его из состояния «готовности» в состояние «выполнения» - называется

 

2.2 Данные, отражающие состояние аппаратуры компьютера в данный момент, а также параметры операционной среды, называются:

□ дескриптором

□ словом состояния процессора

□ контекстом

□ словом состояния машины

□ описанием среды

Практические задания

3.1 В контексте «алгоритма банкира» определите и обоснуйте, является ли приведенное состояние опасным или безопасным с точки зрения возникновения тупиков.

Предположим, что в системе имеются 13 одинаковых ресурсов R1, 13 одинаковых ресурсов R2 и 13 одинаковых ресурсов R3. Текущее распределение ресурсов и максимальное их количество, необходимое процессам представлено в таблице В3.19.

Таблица В3.19 - Текущее распределение ресурсов

Процесс Предоставлено ресурсов R1R2 R3 Максимальная потребность R1R2 R3
А 420 555
B 321 555
C 222 555
D 123 555
Е 024 555

3.2 Запустите выбранное для целей исследования приложение.

С использованием штатных средств операционной системы MS Windows* исследуйте образованный процесс: определите PID, базовый приоритет, количество потоков. Уточнить остальные имеющиеся характеристики процесса.

Измените приоритет процесса и установите, влияет ли это на время выполнения приложения.



Контрольная работа №3: Вариант 20

Аналитический обзор

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

 

Тестовые задания

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

 

2.2 К управлению процессами относятся следующие функции ОС …

□ создание и удаление задач

□ планирование процессов

□ диспетчеризация задач

□ синхронизация задач

□ открытие и закрытие файлов

□ управление вводом-выводом

Практические задания

3.1 В контексте «алгоритма банкира» определите и обоснуйте, является ли приведенное состояние опасным или безопасным с точки зрения возникновения тупиков.

Предположим, что в системе имеются 7 одинаковых ресурсов R1, 8 одинаковых ресурсов R2, 8 одинаковых ресурсов R3 и 8 одинаковых ресурсов R4. Текущее распределение ресурсов и максимальное их количество, необходимое процессам представлено в таблице В3.19.

Таблица В3.20 - Текущее распределение ресурсов

Процесс Предоставлено ресурсов R1R2 R3 R4 Максимальная потребность R1R2 R3 R4
А 3112 6535
B 1011 3344
C 1212 3433
D 0231 7777

3.2 Запустите выбранное для целей исследования приложение.

С использованием штатных средств операционной системы MS Windows* исследуйте образованный процесс: определите PID, базовый приоритет, количество потоков. Уточнить остальные имеющиеся характеристики процесса.

Измените приоритет процесса и установите, влияет ли это на время выполнения приложения.



Контрольная работа 3: Вариант ХХ – Примеры решения

Аналитический обзор

Очень важным понятием синхронизации процессов является понятие «критической секции», которая  определяется по отношению к определенным критическим данным. Поясните, что под этим понимается.

Тестовые задания

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

 

2.2 Командный язык операционной системы OS/2 позволяет задать динамически изменяемую величину кванта времени  (команда TIMESLICE):

□ в любом диапазоне

□ в диапазоне, ограниченном пользователем

□ в случайном диапазоне

□ в диапазоне, ограниченном системой

□ в зависимости от числа запущенных в системе процессов и потоков

 

Практические задания

3.1 Три задачи А, B, C поступают в компьютерный центр практически одновременно.

Ожидается, что время выполнения этих задач составит для:

§ A – 4 минуты,

§ B – 2 минуты

§ C - 7 минут.

Требуется определить среднее время выполнения запущенных задач, считая, что:

§ время смены контекста или время переключения между процессами равно - 2 мс,

§ время кванта процессора равно – 20 мс.

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

3.2 Запустите выбранное для целей исследования приложение.

С использованием штатных средств операционной системы MS Windows* исследуйте образованный процесс: определите PID, базовый приоритет, количество потоков. Уточнить остальные имеющиеся характеристики процесса.

Измените приоритет процесса и установите, влияет ли это на время выполнения приложения.


  Контрольная работа 3: Вариант ХХ – Примеры решения


Аналитический обзор

Напишите ответ на поставленный вопрос:

Очень важным понятием синхронизации процессов является понятие «критической секции», которая определяется по отношению к определенным критическим данным. Поясните, что под этим понимается.

Важным понятием синхронизации как процессов, так и потоков является понятие «критической секции» программы. Критическая секция — это часть программы, результат выполнения которой может непредсказуемо меняться, если переменные, относящиеся к этой части программы, изменяются другими потоками в то время, когда выполнение этой части еще не завершено.

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

Во всех потоках, работающих с критическими данными, должна быть определена критическая секция.

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

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

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

На рисунке В17.1 показан фрагмент алгоритма потока, использующего для реализации взаимного исключения доступа к критическим данным D блокирующую переменную F(D). Перед входом в критическую секцию поток проверяет, не работает ли уже какой-нибудь поток с данными D. Если переменная F(D) установлена в 0, то данные заняты и проверка циклически повторяется. Если же данные свободны (F(D) = 1), то значение переменной F(D) устанавливается в 0 и поток входит в критическую секцию. После того как поток выполнит все действия с данными О, значение переменной F(D) снова устанавливается равным 1.

 

Рисунок В3.17.1 - Реализация критических секций с использованием блокирующих переменных

 

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

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

Однако следует заметить, что одно ограничение на прерывания все же имеется. Нельзя прерывать поток между выполнением операций проверки и установки блокирующей переменной. Поясним это. Пусть в результате проверки переменной поток определил, что ресурс свободен, но сразу после этого, не успев установить переменную в 0, был прерван. За время его приостановки другой поток занял ресурс, вошел в свою критическую секцию, но также был прерван, не завершив работы с разделяемым ресурсом. Когда управление было возвращено первому потоку, он, считая ресурс свободным, установил признак занятости и начал выполнять свою критическую секцию. Таким образом, был нарушен принцип взаимного исключения, что потенциально может привести к нежелательным последствиям. Во избежание таких ситуаций в системе команд многих компьютеров предусмотрена единая, неделимая команда анализа и присвоения значения логической переменной (например, команды ВТС, BTR и ВТ5 процессора Pentium). При отсутствии такой команды в процессоре соответствующие действия должны реализовываться специальными системными примитивами, которые бы запрещали прерывания на протяжении всей операции проверки и установки.

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

Для устранения этого недостатка во многих ОС предусматриваются специальные системные вызовы для работы с критическими секциями.

На рисунке В17.2 показано, как с помощью этих функций реализовано взаимное исключение в ОС Windows NT.

Рисунок В3.17.2 - Реализация взаимного исключения с использованием системных функций входа в критическую секцию и выхода из нее

 

Перед тем как начать изменение критических данных, поток выполняет системный вызов EnterCriticalSection(). В рамках этого вызова сначала выполняется, как и в предыдущем случае, проверка блокирующей переменной, отражающей состояние критического ресурса. Если системный вызов определил, что ресурс занят (F(D) - 0), он в отличие от предыдущего случая не выполняет циклический опрос, а переводит поток в состояние ожидания и делает отметку о том, что данный поток должен быть активизирован, когда соответствующий ресурс освободится.

Поток, который в это время использует данный ресурс, после выхода из критической секции должен выполнить системную функцию LeaveCriticalSection(), в результате чего блокирующая переменная принимает значение, соответствующее свободному состоянию ресурса (F(D) - 1), а ОС просматривает очередь ожидающих этот ресурс потоков и переводит первый поток из очереди в состояние готовности.

Т.о. исключается непроизводительная потеря процессорного времени на циклическую проверку освобождения занятого ресурса. Однако в тех случаях, когда объем работы в критической секции небольшой и существует высокая вероятность в очень скором доступе к разделяемому ресурсу, более предпочтительным может оказаться использование блокирующих переменных. Действительно, в такой ситуации накладные расходы ОС по реализации функции входа в критическую секцию и выхода из нее могут превысить полученную экономию.

Обобщением блокирующих переменных являются так называемые семафоры Дейкстры. Вместо двоичных переменных Дейкстра (Dijkstra) предложил использовать переменные, которые могут принимать целые неотрицательные значения. Такие переменные, используемые для синхронизации вычислительных процессов, получили название семафоров.

Для работы с семафорами вводятся два примитива, традиционно обозначаемых Р и V. Пусть переменная S представляет собой семафор. Тогда действия V(S) и P(S) определяются следующим образом.

§ V(S): переменная S увеличивается на 1 единым действием. Выборка, наращивание и запоминание не могут быть прерваны. К переменной S нет доступа другим потокам во время выполнения этой операции.

§ P(S): уменьшение S на 1, если это возможно. Если S =0 и невозможно уменьшить S, оставаясь в области целых неотрицательных значений, то в этом случае поток, вызывающий операцию Р, ждет, пока это уменьшение станет возможным. Успешная проверка и уменьшение также являются неделимой операцией.

Никакие прерывания во время выполнения примитивов V и Р недопустимы. В частном случае, когда семафор S может принимать только значения 0 и 1, он превращается в блокирующую переменную, которую по этой причине часто называют двоичным семафором. Операция Р заключает в себе потенциальную возможность перехода потока, который ее выполняет, в состояние ожидания, в то время как операция V может при некоторых обстоятельствах активизировать другой поток, приостановленный операцией Р.

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

В рассмотренном выше примере, для того чтобы исключить коллизии при работе с разделяемой областью памяти, будем считать, что запись в буфер и считывание из буфера являются критическими секциями. Взаимное исключение будем обеспечивать с помощью двоичного семафора b (рисунок В3.17.3). Оба потока после проверки доступности буферов должны выполнить проверку доступности критической секции.

 

Рисунок В17.3 - Использование двоичного семафора

Тестовые задания

2.1 Вставьте пропущенное слово:

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

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

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

 

2.2 Выберите все правильные ответы на предложенное тестовое задание:

Командный язык операционной системы OS/2 позволяет задать динамически изменяемую величину кванта (команда TIMESLICE):

в любом диапазоне

в диапазоне, ограниченном пользователем

в случайном диапазоне

в диапазоне, ограниченном системой

в зависимости от числа потоков

в зависимости от числа запущенных в системе процессов и потоков

 

Правильным ответом является - в диапазоне, ограниченном системой. Во многих операционных системах – ОС -  алгоритмы планирования построены с использованием как концепции квантования, так и приоритетов, т.е. в основе планирования лежит квантование, но порядок выбора из очереди готовых определяется приоритетами потоков. Именно так реализовано планирование в ОС Windows NT, в которой квантование сочетается с динамическими абсолютными приоритетами. В ОС UNIX System V Release 4 понятие «поток» отсутствует, и планирование осуществляется на уровне процессов. В этой системе реализована вытесняющая многозадачность, основанная на использовании приоритетов и квантования. Каждый процесс в зависимости от задачи, которую он решает, относится к одному из трех определенных в системе приоритетных классов: классу реального времени, классу системных процессов или классу процессов разделения времени. Назначение и обработка приоритетов выполняются для разных классов по-разному. Для каждого уровня приоритета по умолчанию имеется своя величина кванта времени. Планирование в ОС OS/2 основано на использовании кв


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




Подборка статей по вашей теме: