Date: August 20, 2024
Topic: Introduction to OS
Recall
Abstractions simplifies what the hardware does
Arbitration manages the use of a computer system
Notes
Overview of an OS
An OS is a special piece of software that abstracts and arbitrates the use of a computer system.
Abstracts:
- Simplify what the hardware actually looks like
- Examples:
- Supporting different types of speakers
- Interchangeable access of hard disk or SSD
Arbitrates:
- To manage/oversee the use of a computer system
- Examples:
- Distributes memory between multiple processes
Roles performed by an OS
Toy Shop Manager
An operating system is similar to a toy shop manager
- Directs operational resources:
- Controls use of CPU, memory, peripheral devices
- Enforces working policies:
- Fair resource access, limits to resource usage
- Mitigates difficulty of complex tasks:
- Simplifies operations (abstracts hardware details through system calls)
Operating Systems:
- Directly has privileged access to the underlying hardware
- Hides the hardware complexity
- Manages hardware on behalf of one or more applications according to a predefined policy
- Ensures that applications are isolated and protected from one another
Role of an Operating System
Sits between the complex hardware (CPU, GPU, etc) and the applications (Text Editor, Games, etc)

Hides hardware complexity
- Gives high level functionality (e.g., read/write file etc)
- In networking, don’t care about bits or packets needed to compose for communication
- Higher level abstraction (socket) is given instead
Performs resource management
- Manages underlying hardware on behalf of executing applications
- Decides how many and which one of the hardware resources the application will use
- E.g., performs memory management and CPU scheduling
Provide isolation and protection
- OS must ensure each of the applications running simultaneously can make adequate progress and they don’t hurt each other
- Allocate different applications different parts of the main memory
- Make sure that applications don’t access each other’s memory
- Prevent overwriting or data corruption
Example Components:
- File System: Hides hardware complexity and exports more intuitive abstractions
- Device Driver: Makes decisions for the hardware devices
- Scheduler: Distributes access to processing element (CPU) among all applications sharing that platform
<aside>
📌 SUMMARY: Operating systems help interface between hardware devices in the computer like CPU and GPU and software installed
</aside>