Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



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

Если говорить о соотношении между процессом и программой, то справедливы следующие два утверждения:

· программа - это часть состояния процесса. С этой точки зрения процесс - нечто большее, чем просто программа;

· программа может вызывать более чем один процесс для выполнения работы. С этой точки зрения программа - нечто большее, чем процесс.

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

Отметим основные состояния процесса (рисунок 1):

Рисунок 1 - Основные состояния процесса

· на процессоре - активное состояние, в котором процесс обладает всеми необходимыми ресурсами, в том числе самим процессором;

· готовность - процесс находится в очереди на выполнение;

· ожидание - процесс ожидает завершение события (например, освобождения ресурса);

·остановлен - процесс остановлен, как правило, в отладочном режиме;

·создание - выполнение действий, необходимых для создания процесса;

·завершение - выполнение действий, связанных с успешным завершением процесса;

·зомби - процесс закончен, но предок не принял его завершения.

·При создании процесса должны быть выполнены следующие действия:

· присвоение процессу уникального номера (ID);

добавление процесса в список процессов, известных системе;

определение начального приоритета;

формирование блока управления процессом;

выделение необходимых ресурсов.

Поток (нить) управления (thread) - исполнение команд программы в естественном порядке. Процессы делятся на традиционные (имеющие один поток управления) и многопоточные (многонитевые).

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

Многие ОС, ориентированные на рабочие станции и персональные компьютеры, начиная с середины 80-х годов XX века, включают поддержку многопоточности. Впервые стандарт на потоки появился в 1995 году. Это был стандарт IEEE POSIX 1003.1с-1995.

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

Каждому сигналу ставится в соответствие:

· номер сигнала;

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

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

·реакция процесса на сигнал:

· вызов обработчика сигнала;

·завершение процесса (возможно, с порождением дампа памяти);

·игнорирование сигнала;

· приостановка исполнения.

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

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

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

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

·

·

·





Дата публикования: 2015-10-09; Прочитано: 235 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...