Hi, I've been reading some stuff about layered systems, and how OS uses it, and how it's good for reusability etc. Its only now that I'm trying to make one, that I ran into a problem. What is a layer?? In full definition, not the abstract one they give in books. Is it a class? How do I implement it? How can I say what goes on the bottom what on top? How can I restrict access so that lets say the top layer can contact the one on the bottom, but not the other way around. And most importantly how do I actually make one in real programming language. If anyone knows any book/sources, or can give me an example. Thanks, Tim.