Batch systems: one job at a time
Multiprogrammed systems: store multiple jobs in memory, with an operating system that schedules, allocates, multiplexes. but one job after another, with a lot of waiting.
Time sharing: single CPU can be passed between jobs, multitasking, illusion of parallelism.
You are not expected to understand this.
Kernel vs user mode:
OS is an extended machine — it extends & abstracts over hardware functionality OS is resource manager — protects unsafe use of resources, accounting/limiting
very basic layout is stack (frames for function calls), data (variables), text (program code)