Operating System (OS)
OS provides services to clients, implemented by the underlying resources. It provides an abstraction layer.
Think of an OS as a program that runs a bunch of other programs.
Learned formally in SE350.
Informally: Something that helps you use the available hardware.
Originally: Expensive hardware, cheap people Goal: maximize hardware utilization
Now: cheap hardware, expensive people Goal: make it easy for people to use.
How to make it easier to use? Abstractions!
Humans don’t interact with the raw OS directly. Instead they use
- The native OS GUI
- or a shell (through a CLI)
Resources
- Operating Systems: Three Easy Pieces https://pages.cs.wisc.edu/~remzi/OSTEP/
Operating Systems
I need to fundamentally learn how threads work:
- https://www.geeksforgeeks.org/thread-in-operating-system/
- https://www.geeksforgeeks.org/threads-and-its-types-in-operating-system/