An operating system acts as an interface between the user and hardware. It executes processes, manages resources like the CPU and memory, and provides file management. There are different types of operating systems like batch, multiprogramming, multitasking, and time sharing OS. A process is a program under execution represented by a process control block. Process scheduling algorithms like FCFS, SJF, priority scheduling, and round robin determine which process uses the CPU. Memory management techniques like paging and segmentation allow memory to be shared among processes. Disk scheduling algorithms like FCFS, SSTF, SCAN, and LOOK are used to schedule I/O requests to disk drives.