The Linux kernel is composed of many components:
- Memory manager: This is responsible for access to memory
- Process scheduler: This is responsible for managing processes
- Virtual filesystem: This represents a common file interface to a huge variety of devices
- Network interface: This manages network standard and networking devices
- Inter-process communications: This manages communication between many processes in a single system
- Device drivers: These are present to make the device hardware usable