k***@kaxy.com
2007-07-16 19:43:43 UTC
We have been having discussions lately regarding software architecture
layering for our embedded system. My architect has come up with a
layering diagram that starts from the hardware layer (i.e. layer 1).
Immediately above the hardware layer (i.e. at layer 2 level) he shows
2 layers ---- the kernel and the device driver layer. Additionally, a
sliver of the device driver layer is shown below the kernel layer,
implying the dependence of the kernel on the device drivers.
Now all this is hunky dory except that I disagree with showing the
kernel immediately above the hardware layer. How can the kernel
reside immediately above the hardware? I think that the kernel will
never be immediately above the hardware layer. It will always be
above the device driver layer. Without device drivers, the kernel
software cannot execute on the hardware platform. I would like to
redraw the layering diagram showing the kernel sitting totally on top
of the device driver layer. What do you say?
I am showing the two layering diagrams below. Kindly copy them into
notepad and view them there. Alternatively change the font to a fixed
width font. Any insight will be appreciated.
Thanks,
Bhat
_________________________
| |
| Higher Layers |
| (not shown here) |
|_________________________|
| | |
| ______| |
| Kernel | Device |
| | Drivers |
|____________|____________|
| |
| Hardware |
|_________________________|
Architect's view
_________________________
| |
| Higher Layers |
| (not shown here) |
|_________________________|
| | |
| | |
| Kernel | |
|__________________| |
| |
| Device Drivers |
|_________________________|
| |
| Hardware |
|_________________________|
My view
layering for our embedded system. My architect has come up with a
layering diagram that starts from the hardware layer (i.e. layer 1).
Immediately above the hardware layer (i.e. at layer 2 level) he shows
2 layers ---- the kernel and the device driver layer. Additionally, a
sliver of the device driver layer is shown below the kernel layer,
implying the dependence of the kernel on the device drivers.
Now all this is hunky dory except that I disagree with showing the
kernel immediately above the hardware layer. How can the kernel
reside immediately above the hardware? I think that the kernel will
never be immediately above the hardware layer. It will always be
above the device driver layer. Without device drivers, the kernel
software cannot execute on the hardware platform. I would like to
redraw the layering diagram showing the kernel sitting totally on top
of the device driver layer. What do you say?
I am showing the two layering diagrams below. Kindly copy them into
notepad and view them there. Alternatively change the font to a fixed
width font. Any insight will be appreciated.
Thanks,
Bhat
_________________________
| |
| Higher Layers |
| (not shown here) |
|_________________________|
| | |
| ______| |
| Kernel | Device |
| | Drivers |
|____________|____________|
| |
| Hardware |
|_________________________|
Architect's view
_________________________
| |
| Higher Layers |
| (not shown here) |
|_________________________|
| | |
| | |
| Kernel | |
|__________________| |
| |
| Device Drivers |
|_________________________|
| |
| Hardware |
|_________________________|
My view