c and assembly based kernel implementing signal handling and simple keyboard driver