Brain Dump

Kernel

Tags
comp-arch

Is a part of the operating system, closer to the hardware, that provides lower level services. This includes:

  • Device Drivers
  • Process Management
  • Memory Management
  • System Calls

Once the kernel is loaded it looks around find the rest of the available hardware and then prepare to run programs. It does by poking around at special bus addresses that are likely to have controller cards and listening at them for commands. This process is known as autoprobing.

System Calls

Is a request to the kernel to perform some hardware action. This could involve getting keyboard input, writing to your screen, reading from or writing to a disk or basically anything requiring more than crunching bits in memory.

The kernel is generally the only process with direct access to the hardware, and any attempts to access the hardware has to be requested through the kernel using system calls.

Note: A system call isn't guaranteed to succeed. In fact it could fail due to a multitude of reasons including: the file is no longer valid, the hard drive failed, the system was interrupted etc.

IO Control

Normally all I/O goes through the kernel so it can schedule operations and prevent processes stepping on each other or locking. Some processes can side-step this control by gaining direct access to I/O ports (example: X-server).