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