Знакомство с функциональными возможностями операционной системы и новыми концепциями Операционные системы выполняют ряд функций, которые требуют новой терминологии для описания динамического поведения. Введена новая концепция, отражающая активный характер системных задач. Это создает основу для понимания управления процессами в современной теории операционных систем.
Статические программы в сравнении с Динамическими процессами Программа рассматривается как статический файл или набор инструкций, хранящихся на диске, в то время как выполнение приводит к постоянным изменениям. Различие заключается в том, что одна и та же сохраненная программа при выполнении приводит к уникальным настройкам среды выполнения. Это наблюдение требует отдельного термина для обозначения того, что на самом деле выполняется.
Параллельное выполнение идентичных программ Когда программа выполняется разными пользователями одновременно, ее выполнение отличается, несмотря на идентичный код. Различия во времени ввода и использовании ресурсов приводят к различным результатам вычислений. На рисунке показано, что идентичные программные файлы по-разному изменяются в процессе выполнения.
Опровергаем ошибочное представление: Процесс - это не Программа Обозначение запущенной программы просто как program упрощает ее сущность, поскольку контекст выполнения постоянно меняется. В пояснении подчеркивается, что динамические данные, планирование и привязка ресурсов преобразуют статический код в нечто более сложное. Следовательно, термин "процесс" лучше отражает эти изменяющиеся характеристики.
Определение процесса и его динамических атрибутов Процесс определяется как набор выполняемых команд в сочетании с его активным контекстом, включая регистры и значения в памяти. Его состояние постоянно меняется по мере выполнения инструкций. Это всеобъемлющее определение отличает процессы от простых статических программ.
Понимание состояний процессов и их переходов Процесс существует в определенных состояниях, таких как создание, готовность, выполнение, ожидание и завершение. Эти состояния отражают его текущую активность и вовлеченность ресурсов. Переходы происходят методично, по мере того как система обновляет состояние процесса.
Управляемые Операционной Системой Переходы между Состояниями Процесса Процессы не могут самостоятельно изменять свое состояние; операционная система регулирует все переходы. Операционная система переводит процессы из состояния готовности в состояние выполнения или ожидания, когда это необходимо. Эти контролируемые изменения обеспечивают упорядоченное распределение ресурсов и выполнение процессов.
Суть блока управления технологическим процессом Каждый процесс представлен блоком управления, в котором хранится информация о его динамическом состоянии. Этот блок содержит такие сведения, как счетчик программ, значения регистров и сегменты памяти. Он служит базовой точкой отсчета для операционной системы, которая управляет выполнением процесса.
Подробный состав блока управления технологическим процессом Блок управления содержит важные рабочие данные, включая регистры, программные счетчики и выделенные области памяти. В нем также хранятся статусы ввода-вывода и другие сведения о контексте как для пользовательского, так и для системного уровней. Такая точная инкапсуляция обеспечивает точную приостановку и возобновление процессов.
Планирование: Распределение процессора по процессам Операционная система использует алгоритмы планирования для распределения процессорного времени между активными процессами. Состояние и приоритет каждого процесса определяют, когда он будет выбран для выполнения. Этот механизм имеет решающее значение для балансировки рабочей нагрузки и оптимизации производительности системы.
Этапы жизненного цикла процесса Каждый процесс проходит свой жизненный цикл, начиная с создания и заканчивая подготовкой, выполнением и ожиданием завершения. Каждая фаза включает в себя определенное распределение ресурсов и условия эксплуатации. Такое отслеживание жизненного цикла важно для точного управления процессом.
Группировка операций операционной системы для управления процессами Операционная система обрабатывает функции, связанные с процессами, группируя несколько операций в связные последовательности. Независимо от того, идет ли речь о создании, приостановке или завершении, связанные действия объединяются для повышения эффективности. Такая группировка сводит к минимуму накладные расходы, обеспечивая при этом согласованность переходов между состояниями.
Разграничение разовых и повторяющихся технологических операций Некоторые операции, такие как создание и завершение процесса, выполняются только один раз для каждого процесса, в то время как другие, такие как вытеснение или блокировка, могут повторяться неоднократно. Это различие объясняет, как некоторые действия определяют жизненный цикл процесса, в то время как другие корректируют его поведение на лету. Это подчеркивает повторяющийся характер динамического управления процессами.
Механика создания и разветвления процессов Создание процесса включает в себя инициализацию нового блока управления путем копирования важных деталей из родительского процесса. Система присваивает уникальные идентификаторы и выделяет необходимые ресурсы. Этот механизм закладывает основу для надежного и систематического расширения числа активных задач.
Присвоение уникальных идентификаторов и распределение ресурсов Каждый новый процесс получает уникальный идентификатор, позволяющий отличить его в системе. Операционная система тщательно распределяет ресурсы, такие как память и каналы ввода-вывода, для предотвращения конфликтов. Такое систематическое распределение гарантирует стабильность и упорядоченное выполнение.
Установление родительско-дочерних отношений в процессах Процессы часто создают дочерние процессы посредством системных вызовов, образуя генеалогическое древо. Эти отношения между родителями и дочерними процессами записываются в блоках управления для отслеживания зависимостей. Такие иерархии обеспечивают эффективное управление и учет ресурсов в нескольких процессах.
Среды клонирования: Повторяющиеся контексты выполнения В некоторых случаях результатом создания процесса является почти идентичная копия контекста выполнения родительского процесса. При таком клонировании код и данные реплицируются таким образом, что дочерний процесс может выполняться независимо. Репликация обеспечивает согласованность и позволяет использовать различные временные рамки выполнения.
Процедуры завершения процесса и очистки Когда процесс завершает свою задачу, он сигнализирует операционной системе о завершении его выполнения. Затем система освобождает выделенные ресурсы и обновляет блок управления, чтобы отметить завершение. Этот процесс очистки имеет решающее значение для предотвращения утечки ресурсов и поддержания общей работоспособности системы.
Инициирование Заблокированных Состояний Во время Операций Ввода-Вывода Процессы переходят в заблокированное состояние в ожидании внешних ресурсов, таких как операции ввода-вывода. Операционная система приостанавливает их выполнение до тех пор, пока не произойдет требуемое событие. Такая приостановка снижает нагрузку на процессор и оптимизирует скорость отклика системы.
Разблокировка процессов и возобновление их выполнения Как только ожидаемое событие или данные становятся доступными, операционная система переводит процесс из состояния блокировки обратно в состояние готовности. Блок управления обновляется, чтобы отразить возобновление права процесса на выполнение. Затем процесс без проблем возвращается в очередь планирования.
Переключение контекста: Сохранение и восстановление состояний выполнения Переключение контекста предполагает сохранение состояния текущего процесса в его блоке управления перед переключением задач. Операционная система восстанавливает сохраненное состояние следующего процесса, чтобы возобновить его выполнение. Такое тщательное управление регистрами, программными счетчиками и памятью обеспечивает плавные переходы между процессами.
Обработка прерываний и принудительное вытеснение Внешние прерывания или истечение срока действия таймера могут привести к прерыванию запущенного процесса, вызывая немедленное переключение контекста. Система прерывает выполнение, чтобы переназначить процессорное время на основе текущих приоритетов. Предварительная загрузка необходима для обеспечения справедливости и устойчивой интерактивности системы.
Динамические решения по планированию и корректировке приоритетов Операционная система постоянно оценивает приоритеты процессов, чтобы решить, какой из готовых процессов следует запустить следующим. Решения о планировании основаны на нагрузке, состоянии и критичности задач. Корректировка приоритетов обеспечивает своевременное внимание к наиболее важным процессам и оптимизирует общую производительность.
Циклический характер технологических операций Операции процесса выполняются в виде последовательных циклов, а не изолированных действий. Последовательности сохранения контекстов, обработки прерываний и возобновления выполнения образуют повторяющийся рабочий шаблон. Этот циклический характер подчеркивает скоординированные усилия, необходимые для эффективного управления процессом.
Снижение накладных расходов при управлении процессами Такие операции, как сохранение/восстановление контекста и обработка прерываний, вносят дополнительные затраты в управление процессами. Операционная система оптимизирует эти процедуры, чтобы сбалансировать эффективность и оперативность реагирования. Минимизация этих затрат необходима для поддержания высокой пропускной способности системы.
Поддержание динамического контекста и состояния системы Операционная система постоянно обновляет динамический контекст каждого процесса, включая регистры, состояния памяти и информацию о расписании. Эта информация в режиме реального времени гарантирует, что каждый процесс работает с точными данными. Ведение точного учета состояния обеспечивает надежность многопрограммной среды.
Управление Мультипрограммированием Посредством Координации Процессов При мультипрограммировании один процессор координирует несколько процессов, которые переключаются между запущенным и ожидающим состояниями. Стратегическое планирование и переключение контекста позволяют центральному процессору эффективно выполнять несколько задач. Такая координация обеспечивает максимальное использование ресурсов и повышает производительность системы.
Синтез абстракции процессов в операционных системах Кульминацией обсуждения стало понимание того, что процесс - это динамическая абстракция, отличная от статической программы. Эта абстракция включает в себя жизненный цикл, распределение ресурсов, переходы между состояниями и инкапсулированный контекст. Операционные системы организуют широкий набор операций для плавного и эффективного управления процессами.