In describing where a system vulnerability exists, I often find a need for a model that partitions a operating system and its components into abstraction layers. Similar to how the Open Systems Interconnection Network Stack Model (OSI Stack) does for computer networks and communications.
Does something like this already exist?
I can not find anything like it online. Neither was it taught to me in my schooling. Maybe I am searching for the wrong things.
As a first pass of what I am expecting, I imagine the layers possibly involving:
- Physical Layer
- System bus (Bus Layer)
- Device controller (Controller Layer)
- Application Binary Interface (Hardware Interface Layer) (Hardware side of the boundary)
- Hardware Abstraction Layer (HAL)(Software Interface Layer) (Software side of the boundary)
- Device driver (Driver Layer)
- Kernel (Kernel Layer)
- Applications (API Layer)