Date: December 26, 2024
Topic: Principle of Abstraction
Recall
Hardware abstraction layers from very low level to much higher levels. The OS acts as a broker between applications and physical resources
Notes
Abstractions in Software

Hierarchy of abstractions for applications
- At the lowest level are transistors and at the highest are applications
- For an application like Google Earth, interactions by the users cause a traversal between the different abstractions
- Operating System acts as a broker between application at the top and physical resources like CPU, memory, etc.
<aside>
📌 SUMMARY: OS acts as a broker between applications and physical resources
</aside>
Date: December 30, 2024
Topic: Hardware Resources
Recall
The internal organization for many devices are consistent, having CPU, storage, controllers, etc
Notes
Hardware Resources
Internal Organization
- Regardless of different manifestations (laptops, tablets, servers), the internal organization is the same for all of them

- CPU is connected to a conduit (BUS) that can interact with memory holding the instructions and data for the CPU to execute.
- Storage is used for file persistence and data produced during computation. CPU also uses the BUS to interact with Storage through a Contr.
- Other peripheral devices (camera, microphone) are accessed the same way through a Contr. as well
- The CPU also uses a Contr. to interact with the Network
- Contr. may also have DMA (Direct Memory Access) to move data quickly between I/O device and memory (high speed devices)
The BUS is organized as a System BUS and I/O BUS. The System BUS is much faster all it needs to cater to all clients wanting access to memory while the I/O BUS is slower and intended for devices to communicate with CPU
I/O BUS Organization
The BUS is split into the System BUS and I/O BUS, with a bridge connecting them. The BUSes allows for ferrying of data

System BUS is much faster than I/O BUS
System BUS
- Synchronous comms device between the CPU and memory
- System BUS has comms bandwidth that is >> comms bandwidth in I/O BUS
- Has higher speed as it needs to cater to all clients that may want access to memory
I/O BUS
- Primarily intended for devices to communicate with CPU
- Individual needs of each devices (e.g., network, storage, peripherals) < cumulative bandwidth available for CPU to communicate with memory
- Has lower speed
Bridge
- Connects both BUSes
- Can be a specialized I/O processor for scheduling the devices that need to comms with CPU or memory
- Controls who has access to I/O BUS among set of competing devices for attention by CPU and communicating intent of these I/O devices either directly with memory or via CPU.
<aside>
📌 SUMMARY: Internal organization across different devices are usually consistent, with the communication channels established above. Hence many key concepts of OS apply to all devices.
</aside>
Date: January 1, 2025
Topic: OS Functionality