Linux Kernel Flashcards

1
Q

Aus welchen Komponenten besteht der Linux Betriebssystemkern?

A
  1. Systemcall-Interface
  2. Prozessmanagement
  3. Speichermanagement
  4. IO-Management
  5. Gerätetreiber
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Ablauf eines Systemcalls:

A
  1. App möchte auf Daten aus Datei lesen
  2. Systemcall löst Software-Interrupt aus
  3. Kernel führt anschließend die ISR durch
  4. Zurückgeben der Daten
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Prozess-Management:

A
  • Single-Core-Scheduling.

- Multi-Core-Scheduling.

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

Wo werden die Daten eines Prozesses gespeichert?

A

Jede Task/Prozess besteht aus einem Codesegment, Datensegment, Stacksegment.
Task können sich Segmente teilen.

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

Von was ist die reden wenn sich 2 tasks Codesegment und auch Datensegment teilen?

A

Thread

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

Speicher-Management:

A
  • Es werden virtuelle Adressen verwendet, um auf physikalische zuzugreifen.
  • Speicherschutz durch das umsetzen der Adressen.
  • Virtueller Speicher -> Swapping auf Festplatten
  • Extended Memory
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

I/O-Management:

A
  • Einheitliches Programmierinterface (API) für den Zugriff auf Dateien und Geräte.
  • Performanter Zugriff auf I/O
  • Ordnungsstruktur für Daten in Form von Verzeichnissen und Dateien über das Filesystem
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Gerätetreiber:

A
  • Standardisierter Zugriff auf Hardware.
  • Für jedes Peripheriegerät das aus der User-Ebene angesprochen wird muss ein Treiber existieren.
  • Alle Kernel-Komponenten haben Zugriff auf den Kernel-Adressraum
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Welche Funktionen können im Kernel nicht benutzt werden?

A

Es dürfen keine “libc” Funktionen benutzt werden.

  • —> kann kein User-Code benutzen
  • —> Kernel bietet speziell Funktionen wie printk, kmalloc
  • —> Kernel muss “standalone” benutzbar sein.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Werden im Kernel Gleitkommazahlen benutzt?

A

Neine der Kernel rechnet nur mit integer Werten.

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

Was muss getan werden um im Namensraum Konflikte zu vermeiden?

A

Alle Symbole müssen als “static” definiert werden.

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

Was macht “make config” ?

A

Fragt jede Kernel Einstellung (>1000)

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

Was macht “make menuconfig” ?

A

Öffnet ein Textinterface um Kernel einfacher zu konfigurieren.

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

Was macht “make oldconfig” ?

A

Nützlich um die .config Datei einer früheren Kernel-Version upzudaten.

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

Was macht “make allnoconfig” ?

A

Minimale Kernel Config. Idealer Startpunkt für Embedded Systems!

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

Kernel Module

A
  • Die Funktionalität eines Kernels kann durch Module sehr einfach erweitert werden.
  • Treiber werden auch als Module angesehen.
17
Q

Wie wird ein Modul zu einem Kernel hinzugefügt?

A

Es gibt 2 Möglichkeiten:

  1. insmod
    - —> Ein Modul wird geladen ohne Abhängigkeiten
  2. modeprobe
    - —> Lädt das Modul indem er im Verzeichnis /lib/modules/(uname -r) nach allen Modulen mit Abhängigkeiten sucht.
18
Q

Was passiert bei dem Befehl “depmod”?

A

Der Befehl “depmod” geniert die Datei modules.dep die alle Abhängigkeiten enthält.

19
Q

Funktionalität statisch im Kernel einbinden:

A
Alle Treiber werden direkt in den Kernel compiliert.
Vorteil: Keine Infrastruktur für das Laden der module nötig.
20
Q

Aufgaben der start_kernel() Methode?

A
  • Architektur Setup
  • Verarbeitung der Kernel Command Line
  • Initialisierung der Subsysteme
  • init Thread starten -> init RootFS
  • start_kernel() wird zum idle Thread
21
Q

Jedes Linux Betriebssystem besteht aus 2 Images?

A

Erste Image ist der Kernel

Zweite Image ist das RootFS

22
Q

Was enthält das Kernel-Image?

A
  • Einbinden der notwendigen Treiber
  • Compilieren für den entsprechenden Prozessor
  • Herausnehmen aller nicht benötigten Komponenten
  • Module: ja oder nein?
23
Q

Was enthält das RootFS-Image?

A
  • Systemprogramme
  • Konfigurationssoftware
  • Applikationen
24
Q

root=

A

Angabe des Devices, auf welchem sich das Root

Filesystem befindet

25
Q

ro/rw=

A

Mounted das Root als read-only/read-write Gerät

26
Q

console=

A

Angabe der Geräte, welche der Linux Kernel als

Console benutzen soll.

27
Q

mem=

A

Wieviel Speicher der Kernel benutzen soll

28
Q

initrd=

A

Initial RAM Disk Image (startet dort /linuxrc)

29
Q

init=

A

Angabe eines alternativen Binaries sta! ’/sbin/init’

30
Q

rdinit=

A

Angabe eines alternativen Binaries statt ‘init’ (initramfs Default)

31
Q

ip=

A

Angaben zur Art und Weise der Netzkarten Konfiguration