Az operációs rendszer öt fő tevékenysége a folyamatkezelés tekintetében
Öt fő tevékenységet kell fenntartania az operációs rendszernek a futó folyamatok kezeléséhez. Ezen öt tevékenység nélkül egy operációs rendszer nem tudna hosszú ideig stabil maradni.
Folyamat létrehozása
Amikor először kapcsolja be a számítógépet, az operációs rendszer folyamatokat nyit meg, hogy a nyomtatási sorkezelőtől a számítógépbiztonságig mindenhez szolgáltatásokat tudjon futtatni. Amikor bejelentkezik a számítógépre és elindítja a programokat, a programok függő folyamatokat hoznak létre. A folyamat nem maga a program, hanem a CPU által a program végrehajtásához használt utasítások. Egy folyamat vagy a Windowshoz vagy egy másik telepített programhoz tartozik.
Feldolgozási állapot
A folyamat állapota lehet "létrehozva", "fut", "várakozik" vagy "blokkolva". Azt mondhatjuk, hogy egy folyamat „várakozik” a szülőprogram indítása után, és mielőtt a CPU feldolgozta volna. Egy folyamat "fut", amikor a CPU feldolgozza azt. A folyamatot „blokkoltnak” tekintheti, ha a számítógépnek nincs elég memóriája a feldolgozásához, vagy ha a folyamathoz kapcsolódó fájlok nem találhatók meg. Minden operációs rendszer rendelkezik valamilyen folyamatkezelő rendszerrel, bár ezeknek minden állapothoz más neve van.
Folyamatok szinkronizálása
A folyamatok futása után az operációs rendszernek olyan módszerre van szüksége, amely biztosítja, hogy két folyamat ne férhessen hozzá egyidejűleg ugyanazokhoz az erőforrásokhoz. Pontosabban, két folyamat nem kísérelheti meg ugyanazt a kódterületet egyszerre végrehajtani. Ha két folyamat egyidejűleg megpróbálta végrehajtani ezt a kódot, összeomolhat, mivel ugyanazokat a fájlokat próbálják meghívni és ugyanazokat az utasításokat küldeni a CPU-nak egyidejűleg. Ha két folyamatnak ugyanazt a kódot kell futtatnia, az egyiknek meg kell várnia, amíg a másik befejeződik, mielőtt folytatná.
Kommunikáció folyamata
A számítógépnek biztosítania kell, hogy a folyamatok kommunikálni tudjanak a CPU-val és egymással. Például egy programnak sok folyamata lehet, és mindegyik folyamatnak eltérő jogosultsági szintje lehet. Az engedélyszint egyszerűen azt jelzi, hogy egy folyamatnak milyen hozzáféréssel kell rendelkeznie a rendszerhez. A folyamatkommunikáció biztosítja, hogy a számítógép meg tudja határozni az egyes folyamatok engedélyeit. Ez nagyon fontos annak megakadályozása érdekében, hogy a rosszindulatú programok töröljék a rendszerfájlokat vagy utasításokat adjanak hozzá az operációs rendszerhez.
Holtpont megelőzése
Végül a számítógépnek biztosítania kell, hogy a folyamatok ne kerüljenek holtpontra. Patthelyzet akkor fordul elő, ha két folyamat mindegyikének olyan erőforrásra van szüksége, amelyet a másik éppen használ, és így egyik folyamat sem tudja befejezni, amit csinál. Az erőforrásokat nem lehet felszabadítani, és a programok leállnak. Ezt a helyzetet "körkörös várakozásnak" is nevezheti. Az operációs rendszerek különböző módokon akadályozzák meg a holtpontot, de a leggyakoribb módszer az, hogy egy folyamatot kényszerítenek arra, hogy deklarálja a szükséges erőforrásokat, mielőtt elindulna. Alternatív megoldásként egy folyamatot arra kényszeríthetnek, hogy blokkokban kérjen erőforrásokat, majd felszabadítsa az erőforrásokat, amint befejeződik velük.