What is an OS

It is a resource allocator - manages resources, decides between conflicting requests for efficient and fair resource use. The OS decides what program gets access to RAM, disks, and other hardware (that is what is meant by Resource Allocator

It is a control program - controls programs to prevent errors and improper use of the computer

What is one thing in the OS that is running constantly?

The Kernel is running constantly in the OS. The Kernel is generally has complete control of the operating system, it facilitates interactions between hardware and software. The kernel translate data to the CPU of I/O

So why the hell would we want to compile our own kernel?

  • You want your computer to be optimized for certain hardware
  • Add new features
  • Add new module(s) (like what we did in lab)
  • Disable something, add new unsupported hardware, etc.

How can you add code to an existing kernel

Write a loadable kernel module, only requires you to run a small file

You'll want to run priviledged code, and you can add a new system call and functionality