Processes and virtual memory

Prehistory: batch systems

History: time sharing

Processes: early view

Process resources

Process memory segments

Process memory

Process switching

Paging and TLB

Threads

What is a thread?

Processor time sharing

Multiple CPUs

Modern view of process

Memory segment redux

Fork

Lazy fork

Faults

Init

Process indentifier

Process vs executable

Exec

Thread Scheduling

What is a scheduler?

Switching threads

Fixed vs dynamic schedule

Preemptive scheduling

Cooperative scheduling

Scheduling in practice

Waiting and yielding

Run queues

Priorities

Fairness

Fair share scheduling

Scheduling strategies

Interactivity

Reducing latency

Maximasing throuput

Multi-core schedulers

Scheduling and caches

Cora affinity

Numa systémy

Interrupt and Clocks

Interrupt

Hardware interrupts

Interrupt constrollers

Timekeeping

Timer interrupt

Timer interrupt and scheduling

Timer interrupt frequency

Tickless kernels

Tickless scheduling

Other interrupts

Interrupt routing