logo search
АрхВС

Процессы и потоки

До сих пор концепцию процесса можно было охарактеризовать двумя параметрами.

  • Владение ресурсами (resource ownership). Процесс включает виртуальное адресное пространство, в котором содержится образ процесса, и время от времени может владеть такими ресурсами, как основная память, каналы и устройства ввода-вывода, или файлы, или же получать контроль над ними. Операционная система выполняет защитные функции, предотвращая нежелательные взаимодействия процессов на почве владения ресурсами.

  • Планирование/выполнение (scheduling/execution). Выполнение процесса осуществляется путем выполнения кода одной или нескольких программ; при этом выполнение процесса может чередоваться с выполнением других процессов. Таким образом, процесс имеет такие параметры, как состояние (выполняющийся процесс, готовый к выполнению процесс и т.д.) и текущий приоритет, в соответствии с которым операционная система осуществляет его планирование и диспетчеризацию.

В большинстве операционных систем эти две характеристики являются сущностью процесса. Но они являются независимыми, и операционная система может рассматривать их отдельно друг от друга. В некоторых операционных системах (в особенности в недавно разработанных) так и происходит. Чтобы различать две приведенные выше характеристики, единицу диспетчеризации обычно называют потоком (thread) или облегченным процессом (lightweight process), а единицу владения ресурсами — процессом (process) или заданием (task).