Sergio Sanchez Yañez OS Architecture
Sergio Sanchez Yañez OS Architecture
This investigation is made on purpose of discovering the different O.S architectures and how that
affects the performance of the O.S and the performance of the equipment that you have.
Development
The core software components of an operating system are collectively known as the kernel. The
kernel has unrestricted access to all of the resources on the system. In early monolithic systems,
each component of the operating system was contained within the kernel, could communicate
directly with any other component, and had unrestricted system access. While this made the
operating system very efficient, it also meant that errors were more difficult to isolate, and there
was a high risk of damage due to erroneous or malicious code.
As operating systems became larger and more complex, this approach was largely abandoned in
favor of a modular approach which grouped components with similar functionality into layers to
help operating system designers to manage the complexity of the system. In this kind of
architecture, each layer communicates only with the layers immediately above and below it, and
lower-level layers provide services to higher-level ones using an interface that hides their
implementation.
The modularity of layered operating systems allows the implementation of each layer to be
modified without requiring any modification to adjacent layers. Although this modular approach
imposes structure and consistency on the operating system, simplifying debugging and
modification, a service request from a user process may pass through many layers of system
software before it is serviced and performance compares unfavorably to that of a monolithic
kernel. Also, because all layers still have unrestricted access to the system, the kernel is still
susceptible to errant or malicious code. Many of today’s operating systems, including Microsoft
Windows and Linux, implement some level of layering.
A microkernel architecture includes only a very small number of services within the kernel in an
attempt to keep it small and scalable. The services typically include low-level memory
management, inter-process communication and basic process synchronization to enable processes
to cooperate. In microkernel designs, most operating system components, such as process
management and device management, execute outside the kernel with a lower level of system
access.
Microkernels are highly modular, making them extensible, portable and scalable. Operating
system components outside the kernel can fail without causing the operating system to fall over.
Once again, the downside is an increased level of inter-module communication which can degrade
system performance.
Conclusion
The different architectures give the O.S a variety of functions and different characteristics in the
time that they need to work, also this permits to use hardware in very different ways so it is a
good thing to have options in mind.
Sources
http://www.technologyuk.net/computing/operating-systems/operating-system-architecture.shtml