Schemaläggning online:
Online-schemaläggning är en teknik som används i operativsystem där en process schemaläggs först efter att den har anlänt och blivit tillgänglig för exekvering. Detta innebär att schemaläggaren endast tar hänsyn till de processer för schemaläggning som för närvarande är tillgängliga i huvudminnet.
Vissa processer kan komma in i redo-kön och vissa processer kan avvika från redo-kön dynamiskt. På grund av denna dynamiska och oförutsägbara karaktär av online-schemaläggning är det utmanande att uppskatta de resurser som krävs för att utföra en process korrekt.
Några av de populära algoritmerna för schemaläggning online inkluderar:
- Först till kvarn gäller (FCFS)
- Kortaste jobbet först (SJF)
- Round Robin (RR)
- Högsta svarskvot nästa (HRRN)
Offlineschemaläggning:
Till skillnad från online-schemaläggning tar offline-scheman hänsyn till alla processer innan de faktiskt anländer för exekvering. Denna teknik kan tillämpas när framtida kunskaper om hela uppsättningen av processer är känd i förväg.
Baserat på den givna uppsättningen processer skapar en offline-schemaläggningsalgoritm ett schema som bestämmer när varje process ska köras och hur länge. Eftersom ankomster och utförandedetaljer för processerna är kända i förväg, kan offline-schemaläggning bestämma det optimala schemat.
Offline-schemaläggning är dock inte möjlig i scenarier där processer anländer dynamiskt och deras beteende under exekvering inte kan förutsägas i förväg.
Vanliga algoritmer för offlineschemaläggning inkluderar:
- Icke-förebyggande Shortest Job First (SJF)
- Icke-förebyggande prioriteringsplanering (prioritet)
- Round Robin (RR)
Jämförelse:
| Funktion | Online schemaläggning | Offlineschemaläggning |
|---|---|---|
| Kunskap om process ankomst | Kräver endast aktuell information om processerna | Kräver fullständig kunskap om alla processer i förväg |
| Anpassningsförmåga | Kan effektivt hantera dynamiska ankomster av processer | Kan inte anpassa sig till dynamiska ankomster av processer |
| Optimalitet | Kan inte tillhandahålla optimala scheman | Kan ge optimala scheman beroende på algoritmen |
| Komplexitet | Mindre komplex att implementera | Mer komplex att implementera på grund av behovet av detaljerad kunskap om alla processer |