Scheduling

Inden for databehandling er scheduling (dansk term: resurseplanlægning) handlingen at tildele resurser til at udføre tasks.[1] Resurserne kan være processorer, netværkslinks eller udvidelseskort. Tasks kan være tråde, processer eller datastrømme.
Schedulering-aktiviteten udføres af en proces kaldet en scheduler. Schedulers er ofte designet til at holde alle computerresurser beskæftiget (som i belastningsbalancering), tillade flere brugere at dele systemresurser effektivt eller for at opnå en målrettet servicekvalitet.[1]
Schedulering er grundlæggende for selve beregningen og en iboende del af udførelsesmodellen for et computersystem; konceptet med scheduling gør det muligt at have computermultitasking med en enkelt central processing unit (CPU).
Styresystemers schedulers
Styresystem | Preemption | Scheduler algoritme |
---|---|---|
Amiga OS | Ja | Prioriteret round-robin scheduling |
FreeBSD | Ja | Multilevel feedback queue |
Inferno | Ukendt | Ukendt |
Linuxkerne før 2.6.0 | Ja | Multilevel feedback queue |
Linuxkerne 2.6.0–2.6.23 | Ja | O(1)-scheduler |
Linuxkerne efter 2.6.23 og før 6.6 | Ja | Completely Fair Scheduler |
Linuxkerne 6.6 og senere | Ja | Earliest eligible virtual deadline first scheduling (EEVDF) |
Klassisk Mac OS før-9 | Ingen | Cooperative scheduler |
Mac OS 9 | Nogen | Preemptive scheduler for MP tasks - og cooperative for processer og tråde |
macOS (incl. Mac OS X) | Ja | Multilevel feedback queue |
Minix | Ja | Simple multi-priority round robin[2] |
Minix3 | Ja | Multilevel queueing[3] |
Multics | Ja | Greenberger-Corbató exponential scheduler, MTB-193 Priority Scheduler[4] |
NetBSD | Ja | Multilevel feedback queue |
Plan 9 | Ukendt | Ukendt |
Redox | Ja | round-robin scheduling[5] |
Solaris | Ja | Multilevel feedback queue |
Windows 3.1x | Ingen | Cooperative scheduler |
Windows 95, 98, Me | halvdelen | Preemptive scheduler for 32-bit processer - og cooperative for 16-bit processer |
Windows NT (inklusiv 2000, XP, Vista, 7 og Server) | Ja | Multilevel feedback queue |
Referencer
- ^ a b people.cs.rutgers.edu: Process Scheduling, backup
- ^ wiki.minix3.org: Userspace scheduling, backup Citat: "...Scheduling in Minix is simple multi-priority round robin..."
- ^ minixnitc.github.io: Process Scheduling, backup Citat: "...Minix3 uses multilevel queuing system for scheduling..."
- ^ multicians.org: The Multics Scheduler, backup Citat: "... The initial proposal for this set of changes was in MTB-193 Priority Scheduler (1975-05-19)..."
- ^ doc.redox-os.org: Scheduling on Redox, backup Citat: "...The Redox kernel uses a scheduling algorithm called Round Robin..."
Spire Denne it-artikel er en spire som bør udbygges. Du er velkommen til at hjælpe Wikipedia ved at udvide den. |
Medier brugt på denne side
Forfatter/Opretter: ScotXW, Licens: CC BY-SA 4.0
Simplified illustration of the structure of the Linux kernel; based on page 851 in Modern Operating Systems (ISBN 013359162X) by Andrew Stuart Tanenbaum. The Linux kernel Virtual File System (VFS) is documented under Documentation/filesystems/vfs.rst in its source code.
(c) I, Cburnett, CC BY-SA 3.0
A simple thread pool. The task queue has many waiting tasks (blue circles). When a thread opens up in the queue (green box with dotted circle) a task comes off the queue and the open thread executes it (red circles in green boxes). The completed task then "leaves" the thread pool and joins the completed tasks list (yellow circles).