CSE150 Lecture 1 Notes

What is an Operating System?

  • Special layer of software providing access to hardware resources.

    • Convenient abstraction of complex hardware.

    • Protected access to shared resources.

    • Security and authentication.

    • Communication amongst logical entities.

OS Basics

  • Virtual Machine Boundary: Hardware virtualization

  • Program $\Rightarrow$ Process.

  • Context Switch, Scheduling, Protection, I/O, Loading.

Why We Need an OS

  • Manage resources (memory, CPU, storage).

  • Provide abstractions (file systems, processes, threads, VM, naming systems).

Challenges in OS

  • Complexity: Variety of software modules and devices.

  • Enormous scale, heterogeneity, and dynamic range (CPU, Storage, Network).

  • Complex interactions leading to unexpected failures.

How to Tame Complexity?

  • Operating systems help manage complexity by providing abstractions and managing resources.

Internet of Things

  • Scalable, Reliable, Secure Services.