PCB stores process state, program counter, CPU registers, memory limits, and open file list. It enables context switching between multiple processes.
Preemptive scheduling allows OS to interrupt a running process; non-preemptive requires process to voluntarily yield CPU until completion or I/O wait.
It maintains available, maximum, allocated, and need matrices. It grants resources only if resulting state remains safe, avoiding circular wait.
Thrashing occurs when CPU spends more time swapping pages than executing, due to insufficient physical memory, causing low throughput.
Mutual exclusion, hold and wait, no preemption, and circular wait. All four must hold simultaneously for deadlock to occur.
The dispatcher switches context from one process to another, switches to user mode, and jumps to proper location. Dispatch latency must be minimal.
Use mutual exclusion semaphore for buffer access and counting semaphores for empty/full slots, ensuring producer waits when buffer is full.
Paging divides memory into fixed-size frames using a page table; segmentation divides into variable-sized logical segments (code, data, stack).
Microkernel runs only essential services (IPC, memory management) in kernel space; user services run as servers. Monolithic kernel integrates all.
Contiguous allocation gives fast access but suffers external fragmentation. Linked allocation eliminates fragmentation but has poor random access.
No Description Added
PCB stores process state, program counter, CPU registers, memory limits, and open file list. It enables context switching between multiple processes.
Preemptive scheduling allows OS to interrupt a running process; non-preemptive requires process to voluntarily yield CPU until completion or I/O wait.
It maintains available, maximum, allocated, and need matrices. It grants resources only if resulting state remains safe, avoiding circular wait.
Thrashing occurs when CPU spends more time swapping pages than executing, due to insufficient physical memory, causing low throughput.
Mutual exclusion, hold and wait, no preemption, and circular wait. All four must hold simultaneously for deadlock to occur.
The dispatcher switches context from one process to another, switches to user mode, and jumps to proper location. Dispatch latency must be minimal.
Use mutual exclusion semaphore for buffer access and counting semaphores for empty/full slots, ensuring producer waits when buffer is full.
Paging divides memory into fixed-size frames using a page table; segmentation divides into variable-sized logical segments (code, data, stack).
Microkernel runs only essential services (IPC, memory management) in kernel space; user services run as servers. Monolithic kernel integrates all.
Contiguous allocation gives fast access but suffers external fragmentation. Linked allocation eliminates fragmentation but has poor random access.