Architecture Flashcards
Describe the coarse structure/division of an OS
An OS consists of a set of interacting processes (in a process area), that provide the essential OS functionality and the kernel of the OS, which provides the fundamental structure (concept) for the processes and the interactions between them (in a Kernel area). These two parts are in separate areas separated by a Kernel interface.
What is a control interface?
A control interface is the interaction between human and machine through OS-commands and the User interface.
What is a procedural interface?
The possibility to define complex requests to the OS through programming languages with OS commands to define and control complex tasks.
What the service layer?
Allows processes to access services (resources) (through resource management which can be done from logical to physical)
Describe the overview of the OS architecture?
Process Area: Control interface -> Procedural interface -> Application -> Services
-> (through the Kernel interface)
Infrastructure Area: OS Kernel.
Each of these layers may be partitioned and upward calls are allowed if they do not create cycles.
Describe the kernel in finer details?
The kernel is a computer program at the core of a computer’s operating system and generally has complete control over everything in the system.
It is the portion of the operating system code that is always resident in memory[2] and facilitates interactions between hardware and software components
What is a microkernel OS?
It is a OS where the kernel consists of process mng and inter-process communication only.
What is the difference between Microkernel and Macrokernel?
The size of the kernel, which may vary widely. A macrokernel is a microkernel which includes the whole resource mng (like the file system). Kernels can also be smaller. However, all kernels must include process mng and process communications.
What is a monolithical system?
In this system, there is no strict separation between application and operating system, which be suitable for small static OS like embedded systems. Here the whole kernel must be trustworthy.
What are the + of a microkernel architecture?
- Kernel interface supports a modular structure.
- Realization of services outside the kernel: allowing for more security and stability since the kernel will not be affected by faulty services and improves flexibility and extensibility since services can be removed and added arbitrarily.
- Kernel is small and its safety can be verified easier.
- Usually, only kernel needs to run in privileged mode.
- Allow the coexistence of several alternative interfaces between OS and applications.
What are the - of microkernel architecture?
Usually worse performance because access and interplay of components outside the kernel requires more interprocess comms and therefore more kernel calls
What are the general design principles in a OS?
KISS, Modularization, Hierarchization, Layering, E2E, Hourglass, Separation of policy and mechanism (SPOT), Orthogonality
What is KISS?
Keep It Simple Stupid (or Keep it small and simple)
What is Modularization?
System is decomposed into a set of modules such as the interaction within the module itself is high, interaction between modules is low and interfaces between modules are simple and the modules are small and have limited complexity keep them easily understandable.
What is Hierarchization?
Applying a tree-like organization of homongeneous elements where the goal is allowing for scalability and division of complexity.