MorphOS 2.3 (06.08.2009); 12.10.2009 — версия 2.4 с поддержкой MacMiniPPC
OpenSolaris 2009.06
Ubuntu 9.04 (Jaunty Jackalop)
Ubuntu 9.10 (Karmic Koala)
Windows 7
Windows Server 2008 R2
2010 год
Ubuntu 10.04 LTS (Lucid Lynx)
Fedora 13 (Goddard)
openSUSE 11.3
Red Hat Enterprise Linux RHEL 5.5, RHEL 6
Debian 6.0 (Squeeze)
FreeBSD 9
Ubuntu 10.10 (Maveric Merkat)
Astra Linux Edition
Astra Linux Special Edition
2011 год
Ubuntu 11.04 (Natty Narwhal)
Mint 11 (Katya)
Mac OS X 10.7 Lion
Ubuntu 11.10 (Oneiric Ocelot)
Ubuntu Install Box 11.10
openSUSE 11.4
Linux Portable Security (LPS) 1.2.4
Commodore OS Vision 1.0
2012 год
openSUSE 12.1
Dreamlinux 5
Gentoo Linux 12.0
BackBox Linux 2.01
Windows 8
Fuduntu 2012.1
Asturix 4
Astaro Security Gateway 8.3
Webconverger 11.0
FreeBSD 9.0
PC-BSD 9.0
DEFT Linux 7
ArtistX 1.2
Frugalware Linux 1.6
Toorox 01.2012
Mac OS X 10.8 Mountain Lion
Ubuntu 12.04 (Precise Pangolin)
MorphOS 3.0
Под процессом будем понимать программу в стадии выполнения. В период своего существования процесс проходит через ряд дискретных состояний. Смену состояний процесса могут вызывать различные события. Процесс находится в состоянии выполнения, если в данный момент ему выделен центральный процессор. Процесс находится в состоянии готовности, если он мог бы сразу использовать ЦП, предоставленный в его распоряжение. Процесс находится в состоянии блокировки, если он ожидает появления некоторого события (например, завершения операции ввода/вывода), чтобы получить возможность продолжать выполнение.
В состоянии выполнения происходит непосредственное выполнение программного кода процесса. Выйти из этого состояния процесс может по трем причинам:
операционная система прекращает его деятельность;
он не может продолжать свою работу, пока не произойдет некоторое событие, и операционная система переводит его в состояние ожидания;
в результате возникновения прерывания в вычислительной системе (например, прерывания от таймера по истечении предусмотренного времени выполнения) его возвращают в состояние готовность.
Из состояния ожиданиепроцесс попадает в состояние готовность после того, как ожидаемое событие произошло, и он снова может быть выбран для исполнения.
Рис. Диаграмма состояний процесса,
Для появления в вычислительной системе процесс должен пройти через состояние рождения. При рождении процесс получает в свое распоряжение адресное пространство, в которое загружается программный код процесса; ему выделяются стек и системные ресурсы; устанавливается начальное значение программного счетчика этого процесса и т. д. Родившийся процесс переводится в состояние готовность. При завершении своей деятельности процесс из состояния исполнение попадает в состояние завершения исполнения.
В конкретных операционных системах состояния процесса могут быть еще более детализированы, могут появиться некоторые новые варианты переходов из одного состояния в другое. Тем не менее, все операционные системы подчиняются изложенной выше модели.