An operating system acts as an interface between the user and hardware. It executes processes, manages resources like the CPU and memory, and provides an environment for users to run programs conveniently and efficiently. There are different types of operating systems like batch, multiprogramming, multitasking, and time-sharing operating systems. A process is a program under execution represented by a process control block. The operating system performs process scheduling and uses algorithms like first come first serve, shortest job first, round robin, and priority scheduling. It also manages memory using techniques like paging, segmentation, and page replacement algorithms like first in first out.