The main advantage is it is easier to debug and modify the design.
When one is working to debug or modify the system, they will only change the layer they are currently working on. A certain section of the code can be changed without the need to understand or know the details of the other layer. The information is only stored where it will be used and accessible in only a few ways. Therefore, the bugs will only affect a certain area.
A good example of an operating system design layered approach can be a computer or other type of electronic game. Those who create gaming code do not always know the entire code for the game. They are often given a certain section to work on, test, and check for bugs. They can modify it without affecting other parts of the game. So, if a game crashes when a certain point is reached due to improper code the person can go in, fix it and keep the game going.
The same can be said for an operating system design. If there is a bug at a certain point it can be closed off and the other sectors can still be used if the layered approach has been used. Consider another example on viruses. Your computer can quarantine a sector affected so that it does not spread to other areas of the operating system, but the computer can still operate as long as that sector is not needed. The more layers affected though the worse the operation will become so it is necessary to fix the issues if at all possible or modify them to work around it.
- With layers, changes made to one layer do not have to affect another layer.
When one is working to debug or modify the system, they will only change the layer they are currently working on. A certain section of the code can be changed without the need to understand or know the details of the other layer. The information is only stored where it will be used and accessible in only a few ways. Therefore, the bugs will only affect a certain area.
A good example of an operating system design layered approach can be a computer or other type of electronic game. Those who create gaming code do not always know the entire code for the game. They are often given a certain section to work on, test, and check for bugs. They can modify it without affecting other parts of the game. So, if a game crashes when a certain point is reached due to improper code the person can go in, fix it and keep the game going.
The same can be said for an operating system design. If there is a bug at a certain point it can be closed off and the other sectors can still be used if the layered approach has been used. Consider another example on viruses. Your computer can quarantine a sector affected so that it does not spread to other areas of the operating system, but the computer can still operate as long as that sector is not needed. The more layers affected though the worse the operation will become so it is necessary to fix the issues if at all possible or modify them to work around it.