Architecture Flashcards

1
Q

Describe the coarse structure/division of an OS

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is a control interface?

A

A control interface is the interaction between human and machine through OS-commands and the User interface.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is a procedural interface?

A

The possibility to define complex requests to the OS through programming languages with OS commands to define and control complex tasks.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What the service layer?

A

Allows processes to access services (resources) (through resource management which can be done from logical to physical)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Describe the overview of the OS architecture?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Describe the kernel in finer details?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is a microkernel OS?

A

It is a OS where the kernel consists of process mng and inter-process communication only.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is the difference between Microkernel and Macrokernel?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is a monolithical system?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are the + of a microkernel architecture?

A
  • 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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are the - of microkernel architecture?

A

Usually worse performance because access and interplay of components outside the kernel requires more interprocess comms and therefore more kernel calls

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are the general design principles in a OS?

A

KISS, Modularization, Hierarchization, Layering, E2E, Hourglass, Separation of policy and mechanism (SPOT), Orthogonality

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is KISS?

A

Keep It Simple Stupid (or Keep it small and simple)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is Modularization?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is Hierarchization?

A

Applying a tree-like organization of homongeneous elements where the goal is allowing for scalability and division of complexity.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is Layering?

A

Decomposing a system into layers where the bottom layer usually provides simple and more universally usable functions and the top layers provide more complex and specific functions. Each layer represents an abstraction of lower layers and each layer provides an interface that can be used by higher layers. An example is the Internet Protocol Stack.

17
Q

What is the Hourglass-Architecture in OS?

A

We have various applications which interact with the OS programming interface to facilitate them running on various hardware.

18
Q

What is End 2 End (E2E) architecture in OS context?

A

The goal here is to provide a stable and universal programming interface so that the OS is application neutral allowing for the hour-glass architecture.

19
Q

What is Orthogonality?

A

The ability to combine separate concepts independently is called orthogonality.

Functions and concepts of an OS should be independent of each other. Each component should exhibit orthogonal criteria allowing for freedom and combination.

20
Q

What is SPOT?

A

Single Point of Truth means that there are no copies or repetitions. For code, each functionality is implemented exactly once. For data, each piece of information that is managed by the system has exactly one representation. The use of SPOT avoids inconsistencies.