Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Понятие процесса является одним из основных в современных операционных системах. С точки зрения операционной системы, процесс - единица работы, заявка на потребление системных ресурсов.
Если говорить о соотношении между процессом и программой, то справедливы следующие два утверждения:
· программа - это часть состояния процесса. С этой точки зрения процесс - нечто большее, чем просто программа;
· программа может вызывать более чем один процесс для выполнения работы. С этой точки зрения программа - нечто большее, чем процесс.
Процессы образуют иерархию в операционной системе. Соответственно, будем называть порожденные процессы - потомками данного процесса, а родителя порожденного процесса - предком.
Отметим основные состояния процесса (рисунок 1):
Рисунок 1 - Основные состояния процесса
· на процессоре - активное состояние, в котором процесс обладает всеми необходимыми ресурсами, в том числе самим процессором;
· готовность - процесс находится в очереди на выполнение;
· ожидание - процесс ожидает завершение события (например, освобождения ресурса);
·остановлен - процесс остановлен, как правило, в отладочном режиме;
·создание - выполнение действий, необходимых для создания процесса;
·завершение - выполнение действий, связанных с успешным завершением процесса;
·зомби - процесс закончен, но предок не принял его завершения.
·При создании процесса должны быть выполнены следующие действия:
· присвоение процессу уникального номера (ID);
добавление процесса в список процессов, известных системе;
определение начального приоритета;
формирование блока управления процессом;
выделение необходимых ресурсов.
Поток (нить) управления (thread) - исполнение команд программы в естественном порядке. Процессы делятся на традиционные (имеющие один поток управления) и многопоточные (многонитевые).
Многопоточность в рамках одного процесса имеет существенные преимущества. Переключение контекста между двумя потоками в одном процессе значительно проще, чем переключение контекста между двумя процессами. Все данные, за исключением стека исполнения и содержимого регистров процессора, разделяются между потоками. Таким образом, Многопоточность предоставляет эффективный параллелизм.
Многие ОС, ориентированные на рабочие станции и персональные компьютеры, начиная с середины 80-х годов XX века, включают поддержку многопоточности. Впервые стандарт на потоки появился в 1995 году. Это был стандарт IEEE POSIX 1003.1с-1995.
Сигналы (signals) - программное средство, с помощью которого может быть прервано функционирование процесса в операционной системе Unix. Механизм сигналов позволяет процессам реагировать на различные события, которые могут произойти в ходе функционирования процесса внутри него самого или во внешнем мире.
Каждому сигналу ставится в соответствие:
· номер сигнала;
· символическая константа, используемая для осмысленной идентификации сигнала;
· принадлежность к одному из пяти классов сигналов;
·реакция процесса на сигнал:
· вызов обработчика сигнала;
·завершение процесса (возможно, с порождением дампа памяти);
·игнорирование сигнала;
· приостановка исполнения.
Следующие три ситуации приводят к генерации сигналов операционной системой:
· ядро отправляет процессу сигнал при нажатии пользователем определенной комбинации клавиш на клавиатуре;
· возникновение аппаратных особых ситуаций приводит к посылке уведомления ядру операционной системы, которое отправляет сигнал процессу, находящемуся в стадии выполнения;
· определенное программное состояние системы может вызвать отправку сигнала.
·
·
·
Дата публикования: 2015-10-09; Прочитано: 235 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!