Template:Main2/Design Considerations
Kernel Models
- Monolithic Kernel
- Microkernel
- Exokernels and their kind (including Nanokernels, Cache Kernels, Virtualizing Kernels, ...)
- Modular Kernel
Task Models
- Monotasking Systems
- Multitasking Systems
- Real-Time Systems
Memory and Resource Management
- Physical, Virtual, Paging, help?!?
- What segments are About?
- Allocating and freeing memory
- File management
- Algorithms and tips for memory management
Scheduling
- Tasks, processes and threads
- Context switching
- Scheduling algorithms
- Multiprocessor scheduling
- Sleeping and waiting processes
Process Sychronization / Inter-Process Communication
- Semaphores, mutexes, spinlocks et al.
- Signals
- Message passing
- Shared memory
- Remote procedure calls