Valet av vilken process som får CPU -tid nästa är ett komplext beslut som fattas av operativsystemets schemaläggare. Flera egenskaper hos processer påverkar detta beslut, och den relativa betydelsen av dessa egenskaper varierar beroende på schemaläggningsalgoritmen som används. Här är några viktiga egenskaper:
* Prioritet: Varje process tilldelas ofta en prioriterad nivå. Högre prioriteringsprocesser får i allmänhet CPU-tid innan lägre prioriterade. Prioriteringar kan tilldelas statiskt (t.ex. baserat på processtyp) eller dynamiskt (t.ex. baserat på resursanvändning eller väntetid).
* CPU Burst Time (eller uppskattad CPU -burst -tid): Kortförstörningsprocesser gynnas ofta för att minimera den genomsnittliga väntetiden (som ses i kortaste jobb första schemaläggning). Att exakt förutsäga burst -tid kan dock vara utmanande.
* Ankomsttid: Den tid en process blir redo att driva påverkan på schemaläggningsbeslut. Vissa algoritmer prioriterar processer som har väntat längst (t.ex. först till kvarn).
* Minneskrav: Processer med stora minneskrav kan straffas om minnet är knappt, eftersom att ge dem CPU:er kan leda till överdriven byte eller personsökning, vilket bromsar hela systemet.
* I/O -bundet kontra CPU -bundet: I/O-bundna processer väntar ofta på I/O-operationer (diskåtkomst, nätverkskommunikation), medan CPU-bundna processer ständigt använder CPU. Schemaläggare föredrar ofta I/O-bundna processer för att förbättra den totala systemens lyhördhet, eftersom de släpper CPU ofta.
* åldrande: En processs väntetid kan öka dess prioritering över tid. Detta "åldrande" förhindrar processer från att svälta på obestämd tid.
* Process State: Endast processer i "Ready" -tillståndet är berättigade till CPU -tilldelning. Processer blockerade på I/O eller andra händelser beaktas inte.
* resursanvändning (inklusive CPU -användning): Vissa schemaläggare överväger en processs historia av CPU -användning. Processer som har tagit CPU kan tillfälligt avskrivas för att säkerställa rättvisa.
* Realtidsbegränsningar: För operativsystem i realtid är tidsfristerna avgörande. Processer med överhängande tidsfrister ges högre prioritet, även om det innebär att förhindra andra processer.
Den specifika kombinationen av dessa egenskaper och deras viktning bestämmer schemaläggningsalgoritmens beteende. Olika algoritmer, såsom Round Robin, kortaste jobb först, prioriterad schemaläggning, schemaläggning på flera nivåer och andra, prioriterar dessa egenskaper på olika sätt för att uppnå olika mål (t.ex. maximera genomströmningen, minimera väntetiden, säkerställa rättvisa, möta tidsfrister).