Kernel and Shell Programming