Windows uses priority-based scheduling with priority boosts for unblocked processes. It also has anti-starvation mechanisms to ensure processes don't wait too long. Priority inheritance prevents lower priority processes from blocking higher priority ones. Batch scheduling algorithms aim to maximize throughput and minimize turnaround time. First-come first-served is simple but favors CPU-intensive jobs. Shortest job first minimizes average turnaround time if job lengths are known in advance. Shortest remaining time first is preemptive and favors shorter jobs. Scheduling in batch systems uses admission scheduling to control load, CPU scheduling to select the next process to run, and memory scheduling to manage memory usage over time. Lottery scheduling provides fairness and