Course Introduction: Syllabus and Calendar Note about grading time and "neurotypical" It's a natural last priority But maybe I finally have it... COVID-19 adaptations None General description of projects Kernel Programming Why Linux? NetBSD and W2K Linux worked ok last time Isoptera Role of the OS kernel: Kernel control and protected mode Storage (filesystems) - Multiple of these - FAT still common, but many have advantages Memory (virtual memory) - Protection of video memory, etc I/O and device drivers - Hardware independent programming - Lots of hardware is really the same Processes and scheduling - Multithreading - Time sharing and responsiveness Disk Operating System (was it?) - Protection of resources - Termination of stuck process Networking - OS Manages network access Security Loaders Security Userspace: We won't spend a lot of time on userspace (that's cs253) It'll come up though UI, etc. /proc "filesystem" /dev /sys System calls What's it written in? Kernel C Example: read Example of function pointer struct: file_operations How do we do homework 1? I'll find some examples So we have to learn kernel C! It will be fun. It's fun because you can use memory in C Video Games and OHSA (Occupational Health and Safety Administration) C memory management... Project 1: Feel free to start anytime References: http://en.wikipedia.org/wiki/Operating_system http://en.wikipedia.org/wiki/Kernel_(computing)