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

Управление процессами. В операционной системе UNIX процессы создаются с помощью вызова сис­темной функции ядра под названием fork ()



В операционной системе UNIX процессы создаются с помощью вызова сис­темной функции ядра под названием fork (). При вызове этой функции процес­сом операционная система выполняет следующие действия [ВАСН86].

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

2. Назначает этому процессу уникальный идентификатор.

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

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

5. Назначает процессу состояние готовности к выполнению.

Возвращает родительскому процессу идентификатор дочернего процесса, а дочернему процессу — значение 0.

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

РЕЗЮМЕ, КЛЮЧЕВЫЕ И КОНТРОЛЬНЫЕ ВОПРОСЫ

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

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

Во время своего существования процесс может переходить из одного со­стояния в другое. Наиболее важными из всех состояний являются состояние го­товности, состояние выполняющегося процесса и блокированное состояние. Го­товый к выполнению процесс — это процесс, который не выполняется в данный момент, но его выполнение может начаться сразу же, как только операционная система передаст ему управление. Выполняющийся процесс — это процесс, ко­торый в настоящее время выполняется процессором. В многопроцессорной сис­теме в этом состоянии может находиться сразу несколько процессов. Блокиро­ванный процесс •— это такой, который ожидает наступления какого-то события, например завершения операции ввода-вывода.

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





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



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