PPT Slide
- Preemptive vs non-preemptive CPU scheduling
- Windows 3.1, 3.11: “friendly” non-preemption (that is, a Windows program needs to occasionally call the O/S to perform a windowing operation, effectively giving up the CPU)
- Windows ‘95: (a mess!) For 16-bit applications, it is non-preemptive; for 32-bit applications it is preemptive.
- Windows NT: preemptive
- Macintosh: “friendly” non-preemption
- UNIX: preemptive
- JavaSOS: preemptive (almost!)
- System stack: unlike a standard procedure/function call, where activation records and local variables are pushed on the stack, the system call processing does tricks to reuse stack space