Процессы. Состояния процессов. Свойства и классификация процессов.
Стр 1 из 2Следующая ⇒ Вопросы по курсу «Операционные системы» 1. Типы архитектур операционных систем. Монолитная архитектура (преимущества и недостатки). Модульная архитектура (преимущества и недостатки). 2 Процессы. Состояния процессов. Свойства и классификация процессов. 2. Планирование процессов. Критерии планирования процессора. Стратегии планирования процессов. Стратегия FIFO. Стратегия SJF. Стратегия SRT. Приоритетное планирование. Планирование на основе квантования. Планирование с использованием многоуровневой очереди. 1. Разработка хорошо планируемых процессов. 2. Синхронизация и взаимодействие процессов. Почтовые ящики. Разделяемая память. Программные каналы. (Алексеев, Щербаков) 2. Объекты синхронизации POSIX. Объекты синхронизации типа mutex. Объекты синхронизации типа condvar. 2. Задачи синхронизации. (Шпенькова) 2. Проблемы, возникающие при синхронизации процессов. 1. Ресурсы. Свойства и классификация ресурсов. Действия над ресурсами. (Шпенькова, Щербаков) 1. Управление памятью. Методы распределения памяти с использованием дискового пространства. Свопинг. 2. Виртуальная память. Страничная организация памяти. 2. Сегментная организация памяти. 2.Сегментно-страничная организация памяти. 1. Пользовательский интерфейс. CLI. GUI. (Алексеев) 3. Команды консоли операционной системы MS Windows. 3. Средства обеспечения безопасности ОС Windows. Идентификаторы защиты. Защита объектов системы. Утилиты безопасности. 3. Основные команды консоли операционной системы QNX. Процессы и потоки в ОС. Синхронизация и взаимодействие процессов и потоков. Командные сценарии. Типы архитектур операционных систем. Монолитная архитектура (преимущества и недостатки). Модульная архитектура (преимущества и недостатки).
Монолитная архитектура – использует монолитное ядро (KERNEL), которое компануется, как одна программа, для обеспечения стабильной работы ЭВМ. Ядро работает в привелигированном режиме и использует векторные переходы с одной процедуры на другую, не требующей переключения из привелигированного режима в пользовательский и наоборот. Для обеспечения скорости работы ОС ядро постоянно находится в ОЗУ, т.е. является «резидентом». ОС с монолитной архитектурой можно представить в виде уровней: собственно ядро, API (Aplication Program Interface), прикладной уровень (утилиты). Преемущества: основное преемущество – производительность по сравнению с другими архитектурами. Недостатки: сложность в развитии, сложность в переносе на новые процессоры, ядро не может быть прервано пользовательским процессом. Модульная архитектура – в привелигированном режиме работает только небольшая часть ОС – «микроядро». Состав микроядра: машинно-зависимые модули, модули выполняющие основные функции ОС (управление процессами, управление памятью). Все остальные функции оформляются в виде приложений, работающих в пользовательском режиме. Модульная архитектура появилась, как попытка убрать узкое место API, облегчить модернизацию системы и перенос на новые процессоры. При такой архитектуре микроядро играет двойную роль: управляет взаимодействием частей ОС, обеспечивает неприрывность выполнения кода ОС. Достоинства: главным достоинством микроядерной архитектуры является хорошая переносимость, легкая расширяемость, повышенная надежность. Недостатки: более низкая производительность из-за частых переходов между привелигированным и пользовательским режимами. Процессы. Состояния процессов. Свойства и классификация процессов. Процесс – любая программа выполняемая в процессоре ЭВМ.
Процесс находится в одном из следующих состояний: 1) Новый (New) – процесс только что создан или поражден. Завершена подготовка условий для его первого выполнения в процессоре. 2) Завершенны (Terminated) – процесс нормально или аварийно завершил работу, не использует процессор, еще не удален ОС из системных списков. 3) Ожидающий (Waiting) – процесс не выполняется из-за какого-либо события, освобождения ресурса, прерывания или какой-либо формы межпроцессного взаимодействия. 4) Готов к выполнению (Ready) – процесс не выполняется в процессоре, но для выполнения имеются все необходимые условия. 5) Выполняющийся (Running) – процесс выполняется в процессоре. На протяжении времени существования процесса его выполнение многократно прерывается и возобновляется. В момент создания последовательность и длительность прибывания процесса в каждом из состояний непредсказуема (трасса процесса), следовательно, непредсказуема и длительность интервала существования. Отдельные виды процессоров требуют такого планирования, чтобы гарантировать окончание процесса до наступления определенного момента времени. Процессы такого класса называют процессами реального времени. В другой класс входят процессы время существования, которых, должно быть не более интервала времени допустимой реакции ЭВМ на запросы пользователя. Процессы такого класса называют интерактивными. Процессы бывают пораждающими (родительскими) и поражденными (дочерними). Два процесса имеющие одинаковый конечный результат – эквивалентные, если при этом их трассы не совпадают – они тождественны, если совпадают – равные. Если интервалы двух процессов не пересекаются во времени – они последовательные, пересекаются – параллельные, пересекаются частично – комбинированные. Планирование процессов. Критерии планирования процессора. Стратегии планирования процессов. Стратегия FIFO. Стратегия SJF. Стратегия SRT. Приоритетное планирование. Планирование на основе квантования. Планирование с использованием многоуровневой очереди. Планирование - обеспечение поочередного доступа процессов к одному процессору. Планировщик - отвечающая за это часть операционной системы. Долгосрочный планировщик – помещает процесс из списка новых в список ожидания.
Краткосрочный планировщик – решает какой процесс из очереди готовых начнет выполняться в процессоре. Для каждого уровня планирования процессов можно предложить много различных алгоритмов. Выбор конкретного алгоритма определяется классом задач, решаемых вычислительной системой, и целями, которых мы хотим достичь, используя планирование. К числу таких целей можно отнести: § Справедливость: гарантировать каждому заданию или процессу определенную часть времени использования процессора в компьютерной системе, стараясь не допустить возникновения ситуации, когда процесс одного пользователя постоянно занимает процессор, в то время как процесс другого пользователя фактически не приступал к выполнению. § Эффективность: постараться занять процессор на все 100% рабочего времени, не позволяя ему простаивать в ожидании процессов готовых к исполнению. В реальных вычислительных системах загрузка процессора колеблется от 40 до 90 процентов. § Сокращение полного времени выполнения (turnaround time): обеспечить минимальное время между стартом процесса или постановкой задания в очередь для загрузки и его завершением. § Сокращение времени ожидания (waiting time): минимизировать время, которое проводят процессы в состоянии готовность и задания в очереди для загрузки. § Сокращение времени отклика (response time): минимизировать время, которое требуется процессу в интерактивных системах для ответа на запрос пользователя. Стратегия FIFO – First Input First Out – процессор передается тому процессу, который раньше других его запросит. Стратегия SJF – Shortest Job First - позволяет бороться с эффектом конвоя (длинный процесс – короткий процесс – короткий процесс – снижает пропускную способность процессора). Стратегия SRT – Shortest Remaining Time – похожа на SJF, но в отличии от нее может переключаться между процессами, в случае, если в очередь готовых поступает процесс с более коротким расчетным временем выполнения. Приоритетное планирование – каждому процессу присвается приоритет выполнения. Из списка готовых в первую очередь выбирается на выполнение процесс с наибольшим значением приоритета.
Планирование на основе квантования – Round Robin – в качестве единицы используется квант – время занятости процессора. Если процесс слишком большой, то по истечении кванта он прерывается и на место его приходит следующий по очереди процесс, после выполнения которого, процессор возвращается к незавершенному процессу. Планирование с использованием многоуровневой очереди – применяется в случае если процессы легко подразделяются на группы. Для каждой группы готовых процессов организуется своя очередь со своим приоритетом. В каждой из очередей у каждого процесса также имеется свой приоритет. Системные процессы имеют самый высокий приоритет. Разработка хорошо планируемых процессов. Каким бы умным не был алгоритм планирования и выставления приоритетов неверно написанная программа может испортить загруженность системы. Для решения подобных задач наилучшим решением будет использование многоядерных или многопроцессорных систем. Так же в качестве альтернативного решения можно использовать прерывание процессов по мере готовности данных.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|