Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
[2 курс] Вопросы к экзамену Операционные системы.docx
Скачиваний:
61
Добавлен:
20.08.2020
Размер:
304.8 Кб
Скачать

Процессы и управление ими. Тупики.

  1. Что такое мультипрограммный и мультизадачный режимы работы операционной системы?

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

Поскольку процессы могли содержать разные задачи, то появился многозадачный режим. В мультизадачном режиме в противовес мультипрограммному режиму обеспечивается взаимодействие между вычислениями. Для подчёркивания этой разницы были введены термины "легковесные процессы" (thin), они же потоки выполнения, нити и треды (threads). Легковесными они называются потому, что процессору не требуется для их реализации организовывать полноценную виртуальную машину. Единственно, что имеют легковесные процессы своего, это процессорное время, всё остальное у связанных легковесных процессов общее. Наличие легковесных процессов позволило организовать многопоточное выполнение задач.

  1. Что такое дескриптор процесса? Какова его роль при прерывании процесса?

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

  1. В каких состояниях могут находиться процессы в операционной системе?

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

Активный процесс имеет три состояния:

· готовность – все ресурсы могут быть предоставлены, если процесс перейдёт в состояние выполнения;

· выполнение – все ресурсы выделены, происходит выполнение команд программы;

· ожидание – затребованные ресурсы не могут быть выделены или не завершена операция ввода-вывода.

  1. Поясните пожалуйста основные функции операционной системы при управлении процессами.

Таким образом, при управлении процессами операционная система выполняет следующие основные функции:

· создание и удаление задач в обобщающем смысле слова (это и процесс, и поток выполнения, т.к. они при управлении задачами не имеют существенных различий);

· планирование процессов;

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

· синхронизация задач и обеспечение их средствами коммуникаций.

  1. Что такое планирование и диспетчеризация процессов?

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

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

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

Диспетчеризацию задач осуществляет другой блок супервизора – диспетчер задач. Диспетчер запускается раз 30 – 100 мс.

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

  1. Что такое стратегия планирования? На каких принципах она основана?

И долгосрочное и динамическое планирование осуществляются на основании ряда принципов, которые называют "стратегия планирования" (или "стратегия обслуживания") и "дисциплина обслуживания".

Стратегия планирования основана на следующих основных принципах:

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

· отдавать предпочтение более коротким вычислительным задачам;

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

  1. Что означает термин "Задача переднего плана"?

В стратегии планирования используется понятие "задача переднего плана" (foreground task). Этот термин родился из предположения "параллельная работа одного пользователя со множеством задач маловероятна". Поэтому из множества задач одного пользователя самый высокий приоритет имеет текущая задача, т.е. задача с которой он работает в текущий момент времени. В то же время для обеспечения нормальной работы коммуникационных процессов задачи ввода-вывода и управления должны иметь более высокий приоритет, чем задачи пользователя.

  1. Что такое бесприоритетные дисциплины обслуживания? Какие они бывают?

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

  1. Поясните линейные дисциплины обслуживания.

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

Линейная дисциплина осуществляет выбор процессов из очереди в хронологическом порядке их появления в ней (FCFS – первым пришёл, первым обслужен) или случайным образом.

  1. Поясните циклические дисциплины обслуживания.

Циклические алгоритмы порождаются действием механизма прерывания. Существуют два варианта таких алгоритмов:

  • циклические алгоритмы с одной общей очередью, в конец которой ставится прерванный процесс;

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

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

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

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

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

  1. Что такое дисциплины с фиксированным приоритетом?

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

  1. Что такое дисциплины с динамическим приоритетом?

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

  1. Как организуются циклические алгоритмы дисциплины обслуживания?

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

  1. Что такое вытесняющие и невытесняющие дисциплины обслуживания?

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

  1. Что такое дисциплины SJN и SRT?

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

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