# Software Layers (Firmware, OS, Applications)

## Firmware

- [Firmware Explained: What It Is, Types & Examples](https://www.westerndigital.com/solutions/what-is-firmware)
- [Firmware vs. Software: What's the Difference?](https://www.avast.com/c-reading/firmware-vs-software) 
- [Introduction to Embedded Systems](https://www.coursera.org/learn/introduction-embedded-systems) 
- [What is BIOS?](https://www.computerhope.com/jargon/b/bios.htm)
- [UEFI BIOS vs. Legacy BIOS](https://www.howtogeek.com/56958/htg-explains-how-uefi-will-replace-bios/) 

## Operating Systems (OS)

- [Operating system](https://en.wikipedia.org/wiki/Operating_system)
- [Types of Operating Systems](https://www.tutorialspoint.com/operating_system/os_types.htm)
- [Kernel (operating system)](https://en.wikipedia.org/wiki/Kernel_(operating_system))
- [Linux](https://www.linux.org/)
- [Microsoft Windows](https://www.microsoft.com/en-us/windows) 
- [Apple macOS](https://www.apple.com/macos/)
- [Android](https://www.android.com/)
- [iOS](https://www.apple.com/ios/)
- [Operating System Concepts (Silberschatz, Galvin, Gagne)](https://www.amazon.com/Operating-System-Concepts-Abraham-Silberschatz/dp/1118063333)  **(ISBN: 978-1292233477)**

## Applications

- [Application Software](https://www.techopedia.com/definition/389/application-software)
- [Types of Application Software](https://www.geeksforgeeks.org/types-of-application-software/)
- [Programming Languages](https://en.wikipedia.org/wiki/Programming_languages)
- [What is an API?](https://www.redhat.com/en/topics/api/what-are-application-programming-interfaces)
- [Apple App Store](https://www.apple.com/app-store/)
- [Google Play Store](https://play.google.com/store)

## Interaction Between Layers

- [System call](https://en.wikipedia.org/wiki/System_call)
- [Device driver](https://en.wikipedia.org/wiki/Device_driver) 
- [Abstraction layer](https://en.wikipedia.org/wiki/Abstraction_layer) 
