Что не относится к причинам по которым процесс может покинуть состояние исполнение

Состояние процессов

В многозадачной (многопроцессной) системе процесс может находиться в одном из трех основных состояний:

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

Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть фото Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть картинку Что не относится к причинам по которым процесс может покинуть состояние исполнение. Картинка про Что не относится к причинам по которым процесс может покинуть состояние исполнение. Фото Что не относится к причинам по которым процесс может покинуть состояние исполнение
Рис. Граф состояний процесса в многозадачной среде

3.История развития средств вычислительной техники.Процессы в ОС UNIX.

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

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

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

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

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

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

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

Файловые системы.

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

В широком смысле понятие «файловая система» включает:

· совокупность всех файлов на диске,

· наборы структур данных, используемых для управления файлами, такие, например, как каталоги файлов, дескрипторы файлов, таблицы распределения свободного и занятого пространства на диске,

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

Имена файлов.

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

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

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

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

Другой крайний вариант был реализован в файловых системах операционной системы Multics. Эта система заслуживает отдельного большого разговора, в ней был реализован целый ряд оригинальных идей, но мы остановимся только на особенностях организации архива файлов. В файловой системе Miltics пользователи представляли всю совокупность каталогов и файлов как единое дерево. Полное имя файла начиналось с имени корневого каталога, и пользователь не обязан был заботиться об установке на дисковое устройство каких-либо конкретных дисков. Сама система, выполняя поиск файла по его имени, запрашивала оператора об установке необходимых дисков. Такую файловую систему можно назвать полностью централизованной.

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

Дата добавления: 2017-02-20 ; просмотров: 5401 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ

Источник

Жизненный цикл процесса. Диаграмма состояний. Переходы между состояниями.

Состояние процессов

В многозадачной (многопроцессной) системе процесс может находиться в одном из трех основных состояний:

Процесс может находиться как минимум в двух состояниях: процесс исполняется и процесс не исполняется.

Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть фото Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть картинку Что не относится к причинам по которым процесс может покинуть состояние исполнение. Картинка про Что не относится к причинам по которым процесс может покинуть состояние исполнение. Фото Что не относится к причинам по которым процесс может покинуть состояние исполнениеРис 2.1. Простейшая диаграмма состояний процесса.

Рис. 2.2. Более подробная диаграмма состояний процесса.

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

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

16. Алгоритмы планирования. Квантование времени (вытеснение). Планирование на основе приоритетов. Приоритетное планирование потоков в MS Windows (2000/XP).

Планирование процессов включает в себя решение следующих задач:

1. определение момента времени для смены выполняемого процесса;

Первые две задачи решаются программными средствами, а последняя в значительной степени аппаратно.

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

В соответствии с алгоритмами, основанными на квантовании, смена активного процесса происходит, если:

Существует две разновидности приоритетных алгоритмов: алгоритмы, использующие относительные приоритеты, и алгоритмы, использующие абсолютные приоритеты.

В обоих случаях выбор процесса на выполнение из очереди готовых осуществляется одинаково: выбирается процесс, имеющий наивысший приоритет. По-разному решается проблема определения момента смены активного процесса. В системах с относительными приоритетами активный процесс выполняется до тех пор, пока он сам не покинет процессор, перейдя в состояние ОЖИДАНИЕ (или же произойдет ошибка, или процесс завершится). В системах с абсолютными приоритетами выполнение активного процесса прерывается еще при одном условии: если в очереди готовых процессов появился процесс, приоритет которого выше приоритета активного процесса. В этом случае прерванный процесс переходит в состояние готовности. На рисунке показаны графы состояний процесса для алгоритмов с относительными (а) и абсолютными (б) приоритетами.

Источник

Состояния процесса

Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть фото Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть картинку Что не относится к причинам по которым процесс может покинуть состояние исполнение. Картинка про Что не относится к причинам по которым процесс может покинуть состояние исполнение. Фото Что не относится к причинам по которым процесс может покинуть состояние исполнение Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть фото Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть картинку Что не относится к причинам по которым процесс может покинуть состояние исполнение. Картинка про Что не относится к причинам по которым процесс может покинуть состояние исполнение. Фото Что не относится к причинам по которым процесс может покинуть состояние исполнение Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть фото Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть картинку Что не относится к причинам по которым процесс может покинуть состояние исполнение. Картинка про Что не относится к причинам по которым процесс может покинуть состояние исполнение. Фото Что не относится к причинам по которым процесс может покинуть состояние исполнение Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть фото Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть картинку Что не относится к причинам по которым процесс может покинуть состояние исполнение. Картинка про Что не относится к причинам по которым процесс может покинуть состояние исполнение. Фото Что не относится к причинам по которым процесс может покинуть состояние исполнение

Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть фото Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть картинку Что не относится к причинам по которым процесс может покинуть состояние исполнение. Картинка про Что не относится к причинам по которым процесс может покинуть состояние исполнение. Фото Что не относится к причинам по которым процесс может покинуть состояние исполнение

Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть фото Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть картинку Что не относится к причинам по которым процесс может покинуть состояние исполнение. Картинка про Что не относится к причинам по которым процесс может покинуть состояние исполнение. Фото Что не относится к причинам по которым процесс может покинуть состояние исполнение

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

Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть фото Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть картинку Что не относится к причинам по которым процесс может покинуть состояние исполнение. Картинка про Что не относится к причинам по которым процесс может покинуть состояние исполнение. Фото Что не относится к причинам по которым процесс может покинуть состояние исполнение

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

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

Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть фото Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть картинку Что не относится к причинам по которым процесс может покинуть состояние исполнение. Картинка про Что не относится к причинам по которым процесс может покинуть состояние исполнение. Фото Что не относится к причинам по которым процесс может покинуть состояние исполнение

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

а) либо он заканчивает свою деятельность;

б) либо он не может продолжать свою работу, пока не произойдет некоторое событие, и операционная система переводит его в состояние «ожидание»;

в) либо в результате возникновения прерывания в КС (например, прерывания от таймера по истечении дозволенного времени выполнения) его возвращают в состояние «готовность».

Новая модель хорошо описывает поведение процессов во время их жизни, но она не акцентирует внимания на появлении процесса в системе и его исчезновении из системы. Для полноты картины необходимо ввести еще два дополнительных состояния процессов: рождение и закончил исполнение (рис.5.3).

Теперь для появления в КС процесс должен пройти через состояние «рождение». При рождении процесс получает в свое распоряжение адресное пространство, в которое загружается программный код процесса; ему выделяются стек и системные ресурсы; устанавливается начальное значение программного счетчика этого процесса и т.д. Родившийся процесс переводится в состояние «готовность». При завершении своей деятельности процесс из состояния «исполнение» попадает в состояние «закончил исполнение».

В конкретных операционных системах состояния процесса могут быть еще более детализированы, могут появиться некоторые новые варианты переходов из состояния в состояние. Так, например, модель состояний процессов для операционной системы Windows NT содержит 7 различных состояний, а для операционной системы UNIX – 9. Тем не менее, в принципе, все операционные системы подчиняются модели, изображенной на рис.5.3.

Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть фото Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть картинку Что не относится к причинам по которым процесс может покинуть состояние исполнение. Картинка про Что не относится к причинам по которым процесс может покинуть состояние исполнение. Фото Что не относится к причинам по которым процесс может покинуть состояние исполнение

Источник

Состояния процесса

Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть фото Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть картинку Что не относится к причинам по которым процесс может покинуть состояние исполнение. Картинка про Что не относится к причинам по которым процесс может покинуть состояние исполнение. Фото Что не относится к причинам по которым процесс может покинуть состояние исполнение Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть фото Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть картинку Что не относится к причинам по которым процесс может покинуть состояние исполнение. Картинка про Что не относится к причинам по которым процесс может покинуть состояние исполнение. Фото Что не относится к причинам по которым процесс может покинуть состояние исполнение Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть фото Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть картинку Что не относится к причинам по которым процесс может покинуть состояние исполнение. Картинка про Что не относится к причинам по которым процесс может покинуть состояние исполнение. Фото Что не относится к причинам по которым процесс может покинуть состояние исполнение Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть фото Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть картинку Что не относится к причинам по которым процесс может покинуть состояние исполнение. Картинка про Что не относится к причинам по которым процесс может покинуть состояние исполнение. Фото Что не относится к причинам по которым процесс может покинуть состояние исполнение

Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть фото Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть картинку Что не относится к причинам по которым процесс может покинуть состояние исполнение. Картинка про Что не относится к причинам по которым процесс может покинуть состояние исполнение. Фото Что не относится к причинам по которым процесс может покинуть состояние исполнение

Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть фото Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть картинку Что не относится к причинам по которым процесс может покинуть состояние исполнение. Картинка про Что не относится к причинам по которым процесс может покинуть состояние исполнение. Фото Что не относится к причинам по которым процесс может покинуть состояние исполнение

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

Основных состояний всего три.

· Работа (running) – в этом состоянии находится процесс, программу которого в данный момент выполняет процессор. Работающий процесс иногда удобно называть также текущим процессом.

· Готовность (ready) – состояние, их которого процесс может быть переведен в состояние работы, как только это сочтет нужным сделать ОС.

· Блокировка или, что то же самое, сон (sleeping, waiting) – состояние, в котором процесс не может продолжать выполнение, пока не произойдет некоторое внешнее по отношению к процессу событие.

Первые два состояния часто объединяют понятием активного состояния процесса.

Для состояний готовности и сна общее то, что процесс не работает. В чем разница между этими двумя «способами не работать»?

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

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

Чего он может ждать? Ну, например:

· завершения начатой операции синхронного ввода/вывода (т.е., например, процесс ждет нажатия клавиши Enter или окончания записи на диск);

· освобождения запрошенного у системы ресурса (например, дополнительной области памяти или открытого файла);

· истечения заданного интервала времени («посплю-ка я минут десять!») или достижения заданного момента времени («разбудите меня ровно в полночь!») (в обоих случаях процесс ждет сигнала от запрограммированного таймера);

· сигнала на продолжение действий от другого, взаимосвязанного процесса;

· сообщения от системы о необходимости выполнить определенные действия (например, перерисовать содержимое окна).

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

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

Разумеется, как мы видели в п. 2.5, процесс может выполнять ожидание путем циклической проверки ожидаемого условия. При этом он формально будет оставаться активным, растрачивая драгоценное процессорное время на то, что в п. 2.5.2 было названо активным ожиданием. Однако такое решение будет говорить лишь о вопиющей неквалифицированности программиста. Любая многозадачная ОС предоставляет в распоряжение прикладных программ набор функций, переводящих вызвавший их процесс в состояние сна, в котором процесс не пытается использовать процессорное время (другими словами, состояние сна есть состояние пассивного ожидания). Такие системные функции называются блокирующими. К их числу относятся функции синхронного ввода/вывода, запроса ресурсов, приостановки до заданного времени, получения сообщений и многие другие.

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

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

Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть фото Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть картинку Что не относится к причинам по которым процесс может покинуть состояние исполнение. Картинка про Что не относится к причинам по которым процесс может покинуть состояние исполнение. Фото Что не относится к причинам по которым процесс может покинуть состояние исполнение

Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть фото Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть картинку Что не относится к причинам по которым процесс может покинуть состояние исполнение. Картинка про Что не относится к причинам по которым процесс может покинуть состояние исполнение. Фото Что не относится к причинам по которым процесс может покинуть состояние исполнение

Рассмотрим возможные переходы между состояниями процесса, показанные на рисунке стрелками.

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

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

Переход Работа à Готовность ранее не рассматривался. Он называется вытеснением процесса и выполняется системой, когда она принимает решение о смене текущего процесса.

Для обратного перехода Готовность à Работа нет общепринятого термина. Будем называть его выбором процесса для выполнения. Отметим, что этот переход почти всегда связан либо с блокировкой, либо с вытеснением прежнего текущего процесса.

Ответьте сами на вопрос: почему «почти всегда», а не «всегда»? Какие еще возможны варианты?

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

Переход от готовности ко сну невозможен в принципе.

Помимо трех основных состояний, в различных ОС могут использоваться и другие состояния.

Состояние старта означает, что процесс находится на этапе создания и пока не готов вступить в работу.

Состояние завершения (в UNIX оно почти официально называется «зомби») означает, что процесс завершил свою работу, но пока присутствует в системе в виде записи о результатах и причине завершения.

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

В некоторых системах (например, в UNIX) основные состояния раздроблены на ряд более мелких: работа в системном и в пользовательском режиме, готовность в памяти и готовность на диске и т.п. Необходимый набор состояний определяется алгоритмами работы конкретной ОС.

Источник

Понятие процесса. Состояния процесса.

Понятие процесса

Процесс — фундаментальное понятие при изучении операционных систем.

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

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

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

Важно понимать различие между процессом и программой.

Процесс при его создании и управлении им операционной системой включает следующую основную информацию:

Состояния процесса

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

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

Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть фото Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть картинку Что не относится к причинам по которым процесс может покинуть состояние исполнение. Картинка про Что не относится к причинам по которым процесс может покинуть состояние исполнение. Фото Что не относится к причинам по которым процесс может покинуть состояние исполнение

Рис 2.1. Простейшая диаграмма состояний процесса.

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

Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть фото Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть картинку Что не относится к причинам по которым процесс может покинуть состояние исполнение. Картинка про Что не относится к причинам по которым процесс может покинуть состояние исполнение. Фото Что не относится к причинам по которым процесс может покинуть состояние исполнение

Рис. 2.2. Более подробная диаграмма состояний процесса.

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

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

Наша новая модель хорошо описывает поведение процессов во время их жизни, но она не акцентирует внимания на появлении процесса в системе и его исчезновении из системы. Для полноты картины нам необходимо ввести еще два состояния процессов: рождение и закончил исполнение (см. рисунок 2.3).

Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть фото Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть картинку Что не относится к причинам по которым процесс может покинуть состояние исполнение. Картинка про Что не относится к причинам по которым процесс может покинуть состояние исполнение. Фото Что не относится к причинам по которым процесс может покинуть состояние исполнение

Рис. 2.3. Диаграмма состояний процесса, принятая в курсе.

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

Диспетчеризация процессов. Планировщики процессов.

Основные понятия диспетчеризации процессов

Диспетчеризация процессора – распределение его времени между процессами в системе. Цельдиспетчеризации – максимальная загрузка процессора, достигаемая с помощью мультипрограммирования.

Исполнение любого процесса можно рассматривать как цикл CPU / I-O– чередование периодов использования процессора и ожидания ввода-вывода.

Распределение периодов активности процессора ( bursts ) и ввода-вывода изображено на рис. 11.1.

Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть фото Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть картинку Что не относится к причинам по которым процесс может покинуть состояние исполнение. Картинка про Что не относится к причинам по которым процесс может покинуть состояние исполнение. Фото Что не относится к причинам по которым процесс может покинуть состояние исполнение

Планировщики, выполняющие диспетчеризацию процессов

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

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

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

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

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

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

Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть фото Что не относится к причинам по которым процесс может покинуть состояние исполнение. Смотреть картинку Что не относится к причинам по которым процесс может покинуть состояние исполнение. Картинка про Что не относится к причинам по которым процесс может покинуть состояние исполнение. Фото Что не относится к причинам по которым процесс может покинуть состояние исполнение

Особенности планировщиков и процессов.Каждый планировщик имеет свои особенности поведения, как и каждый процесс.

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

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

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *