Operating System

What are operating systems?
Why are operating systems needed?
How are operating systems designed and implemented?

OS abstractions, mechanisms, and policies for:
-processes and process management
-threads and concurrency
-resource management: scheduling, memory management
-OS services for communication and I/O
-systems software for data center and cloud environments

Theory + Practice
sequence of programming projects
– threads, concurrency, and synchronization
– single-node Os mechanisms
inter-process communication, scheduling …
multi-node os mechanisms
– remote procedure calls(RPC),…
experimented design and evaluation
-> programming in C in Linux

Simple OS definition
– a special piece of software that…
abstract and arbitrates
the use of a computer system.

Direct operational resources
-control use of CPU, memory, peripheral devices…
Enforce working policies
Mitigate difficulty of complex tasks

Operating System(send/recive, socket, network, read/write file, storage)
CPU, MainMemory, Ethernet/Wifi Card, GPU, disk, usb
-hide hardware complexity
-resource management
-provide isolation < protection file system, device driver, scheduler