UC Berkeley CS162 Operating Systems Lecture 1

Course Link(including Slides and Materials)

Online Video Link

What is an operating system?

What does operating system do?

Provide abstractions to apps

  • File systems
  • Processes, threads
  • VM, containers
  • Naming system

Manage resources:

  • Memory, CPU, storage, …

Achieves the above by implementing specific algorithms and techniques:

  • Scheduling
  • Concurrency
  • Transactions
  • Security

What is an operating system?

Special layer of software that provides application software access to hardware resources

  • Convenient abstraction of complex hardware devices
  • Protected access to shared resources
  • Security and authentication
  • Communication amongst logical entities

  • Referee

    • Manage sharing of resources, Protection, Isolation
      • Resource allocation, isolation, communication
  • Illusionist

    • Provide clean, easy to use abstractions of physical resources
      • Infinite memory, dedicated machine
      • Higher level objects: files, users, messages
      • Masking limitations, virtualization
  • Glue

    • Common services
      • Storage, Window system, Networking
      • Sharing, Authorization
      • Look and feel
  • No universally accepted definition

  • “Everything a vendor ships when you order an operating system” is good approximation
    • But varies wildly
  • “The one program running at all times on the computer” is the kernel –Everything else is either a system program (ships with the operating system) or an application program

In conclusion

  • Operating systems provide a virtual machine abstraction to handle diverse hardware
    • Operating systems simplify application development by providing standard services
  • Operating systems coordinate resources and protect users from each other
    • Operating systems can provide an array of fault containment, fault tolerance, and fault recovery