The software layer between your hardware and application programs. It manages program scheduling, memory allocation, interrupt handling, disk input/output, graphic acceleration, hosting device drivers and various other resources.
Common features:
- Process management
- Interrupts
- Memory management
- File system
- Device drivers
- Networking (TCP/IP, UDP)
- Security (Process/Memory protection)
- Input/Output
Some well-known operating systems and their distributions, in alphabetical order: