Lernzettel Betriebssysteme zur GAP1 in den IT-Berufen

Dieser Lernzettel richtet sich nach den möglichen Themen von Teil 1 der gestreckten Abschlussprüfung (GAP) in den IT-Berufen vom IT-Berufe-Podcast.

Typen von Multitasking

  • Kooperatives Multitasking: Ein Prozess gibt immer freiwillig die CPU-Zeit an den nächsten Prozess ab. Es gibt keine Garantie, dass ein Prozess in einem bestimmten Zeitintervall ausgeführt wird. Dies kann zu Fehlern führen, wenn ein Prozess sich weigert, die CPU-Zeit freizugeben.
  • Präemptives Multitasking: Die CPU-Zeit wird vom Betriebssystem verwaltet und jedem Prozess zugeteilt. Prozesse werden unabhängig von ihrem Willen an die CPU übergeben.

Prozess vs. Task vs. Thread

  • Prozess: Ein Prozess ist ein vom Betriebssystem verwaltetes Programm, das in einem eigenen Speicherbereich ausgeführt wird. Jeder Prozess kann „parallel“ zu anderen Prozessen ausgeführt werden.
  • Thread: Ein Thread ist eine noch kleinere Einheit innerhalb eines Prozesses oder Tasks. Jeder Prozess oder Task kann mehrere Threads haben, die parallel ausgeführt werden können. Es können mehrere Threads in einem Prozess enthalten sein und sich bspw. Ressourcen wie Speicher teilen.
  • Task: Ein Task ist ein einzelne, logischer Schritt innerhalb eines Prozesses. Jeder Prozess kann mehrere Tasks haben, die parallel ausgeführt werden können. Ein Task kann auch aus mehreren Threads bestehen. Das Ziel ist die Erfüllung einer vom Programm bestimmten Aufgabe.

Verschiedene Betriebssysteme

  • Linux: Ein freies Betriebssystem, das parallel zu UNIX entwickelt wurde und sich an UNIX orientiert. Es wird hauptsächlich auf Servern, aber auch auf Desktop-Computern und Smartphones verwendet.
  • Windows: Ein proprietäres Betriebssystem von Microsoft, das hauptsächlich auf Desktop-Computern und Laptops verwendet wird.
  • Android: Ein Betriebssystem für mobile Geräte, das auf Linux basiert und von Google entwickelt wird. Es wird hauptsächlich auf Smartphones und Tablets verwendet.
  • iOS: Ein Betriebssystem für mobile Geräte von Apple, das auf iPhone, iPod und iPad verwendet wird. Es ist ein macOS–Derivat und basiert auf dem XNU-Kernel.
  • Windows Phone: Ein Betriebssystem für mobile Geräte von Microsoft, das auf Windows basiert und hauptsächlich auf Smartphones verwendet wurde.

Unterschied Unix/Linux

Der Unterschied zwischen Unix und Linux besteht hauptsächlich darin, dass Unix ein proprietäres Betriebssystem ist, während Linux (bzw. GNU/Linux) ein freies Betriebssystem ist. Unix wurde von AT&T in den 1970er Jahren entwickelt und wird hauptsächlich auf Servern und Workstations verwendet. Linux wurde in den 1990er Jahren von Linus Torvalds entwickelt und implementiert einen Teil der für Unix standardisierten Betriebssystemfunktionen. Linux basiert also nicht auf UNIX-Quellcode, wie häufig angenommen. Es wird hauptsächlich auf Servern und Smartphones verwendet, aber auch auf Desktop-Computern.

Weitere Unterschiede zwischen Unix und Linux sind:

  • Lizenz: Unix ist ein proprietäres Betriebssystem und muss lizenziert werden, während Linux unter einer freien Lizenz veröffentlicht wird und kostenlos verwendet werden kann.
  • Anpassbarkeit: Unix ist in der Regel weniger anpassbar als Linux, da es proprietär ist und der Quellcode nicht zugänglich ist. Linux hingegen basiert auf offenem Quellcode und kann von jedem angepasst werden.
  • Anwendungsunterstützung: Unix hat in der Regel weniger Anwendungen als Linux, da es hauptsächlich auf Servern verwendet wird. Linux hingegen wird auf einer Vielzahl von Plattformen eingesetzt und hat daher eine größere Auswahl an Anwendungen.

Vorteile Linux/Windows

Linux:

  • Verwendet ext4
  • Keine Lizenzgebühren
  • Vielfältige Auswahl an Desktop-Umgebungen und grafischen Benutzeroberflächen
  • Vielzahl an Open-Source-Software verfügbar

Windows:

  • Verwendet NTFS
  • Höhere Benutzerakzeptanz als bei Linux
  • Eher für den Standarduser geeignet

Dateisysteme

  • FAT32 (File Allocation Table): Ein älteres Dateisystem, das hauptsächlich auf USB-Sticks und älteren Festplatten verwendet wird. Es hat eine begrenzte Unterstützung für Dateinamen und ist weniger sicher als andere Dateisysteme, da Daten beispielsweise bei einem Absturz häufig verloren gehen können. Zudem kann das Dateisystem maximal 2 TiB groß sein und eine einzelne Datei darf maximal 4 GiB groß sein.
  • NTFS (New Technology File System): Ein modernes Dateisystem von Microsoft, das auf Windows-Betriebssystemen verwendet wird. Es unterstützt Features wie beispielsweise Berechtigungsverwaltung, Dateiversionierung und verschiedene Flags, die sich an den Dateien und Ordnern setzen lassen. Zudem kann das Dateisystem maximal 256 TiB groß sein und eine einzelne Datei darf maximal 16 TiB groß sein.
  • ext4 (Extended File System): Ein Dateisystem, das hauptsächlich auf Linux-Betriebssystemen verwendet wird. Es untersützt Features wie die Berechtigungsverwaltung. Zudem kann das Dateisystem maximal 1 EiB groß sein und eine einzelne Datei darf so groß sein, wie das Dateisystem selbst.

Aufbau des Dateibaums

Der Dateibaum in den beiden Betriebssystemen besteht aus dem Wurzelverzeichnis (/ bzw C:\) und verschiedenen Unterverzeichnissen, die davon abgeleitet sind. Jedes Verzeichnis kann Dateien und weitere Unterverzeichnisse enthalten.

Kommandozeile vs. GUI

  • Kommandozeile: Eine Art, mit dem Betriebssystem über Textbefehle zu interagieren. Es erfordert Kenntnisse in der Befehlssyntax und erlaubt es, Systemaufgaben schnell und effektiv auszuführen.
  • GUI (Graphical User Interface): Eine Art, mit dem Betriebssystem über grafische Elemente wie Fenster, Symbole und Menüs zu interagieren. Es ist benutzerfreundlicher, aber weniger leistungsstark als die Kommandozeile.

Linux

  • Arbeiten mit der Kommandozeile: Die Kommandozeile in Linux wird als Terminal bezeichnet. Um Befehle auszuführen, muss man sie in das Terminal eingeben und mit der Eingabetaste bestätigen.
  • Befehlssyntax: In Linux gibt es eine festgelegte Syntax für Befehle, die besteht aus dem Befehl selbst, gefolgt von optionalen Parametern und Optionen. Beispiel: befehl -o argumente

Wichtige Befehle

  • ls: Zeigt die Dateien und Verzeichnisse im aktuellen Verzeichnis an
  • chmod: Ändert die Zugriffsrechte von Dateien und Verzeichnissen
  • chown: Ändert den Besitzer von Dateien und Verzeichnissen
  • ps: Zeigt laufende Prozesse an
  • grep: Durchsucht nach bestimmten Zeichenketten
  • mount: Verbindet ein externes Speichergerät mit dem Dateisystem

Wichtige Verzeichnisse

  • bin: Enthält wichtige Systembefehle
  • boot: Enthält die Dateien, die für das Booten des Systems benötigt werden
  • dev: Enthält Gerätedateien für Hardware wie Festplatten und Drucker
  • etc: Enthält Konfigurationsdateien
  • home: Enthält die Benutzerverzeichnisse. Befindet sich häufig auf einer weiteren Partition.
  • lib: Enthält wichtige Bibliotheken und Treiber
  • root: Das Verzeichnis des Root-Benutzers. Befindet sich auf der „Hauptpartition“, um somit immer ein Start des Betriebssystem zu gewährleisten.
  • sbin: Enthält wichtige Systembefehle für den Root-Benutzer
  • var: Enthält variable Dateien wie Systemlogs und temporäre Dateien

Dateirechtesystem

Das Dateirechtesystem in Linux legt fest, wer auf Dateien und Verzeichnisse zugreifen darf und welche Aktionen durchgeführt werden können. Jede Datei und jedes Verzeichnis hat einen Besitzer und eine Gruppe von Benutzern, die auf es zugreifen dürfen. Darüber hinaus gibt es drei Typen von Berechtigungen für jede Datei und jedes Verzeichnis: Lese-, Schreib- und Ausführungsberechtigungen.

Die Berechtigungen werden durch drei Zeichen dargestellt: „r“ für Lesezugriff (read), „w“ für Schreibzugriff (write) und „x“ für Ausführungsberechtigung (execute). Diese Zeichen werden jeweils für den Besitzer (user, u), die Gruppe (group, g) und andere Benutzer (others, o) angezeigt.

Zum Beispiel könnte eine Datei mit den Berechtigungen „rwxrw-r–“ so interpretiert werden:

  • Der Besitzer hat volle Lese-, Schreib- und Ausführungsberechtigungen (rwx)
  • Die Gruppe hat volle Lese- und Schreibberechtigungen, aber keine Ausführungsberechtigungen (rw-)
  • Andere Benutzer haben nur Lesezugriff (r–)

Verwendet man nicht die Schreibweise mit den Symbolen, sondern mit den Oktalzahlen, ist folgende Tabelle zu beachten:

RechtOktal-WertSymbolBinäre Entsprechung
Leserecht (read)4r100
Schreibrecht (write)2w010
Ausführrecht (execute)1x001
Kein Zugriff0000
Dateisystemrechte in Linux

Durch das Addieren der Werte, lassen sich verschiedene Berechtigungen realisieren. So steht 751 bespielsweise für:

  • Lese-, Schreib- und Ausführrecht für den Besitzer der Datei
  • Lese- und Ausführrecht für die Gruppe der Datei
  • Ausführrecht für alle anderen

Gängige Linux-Distributionen

  • Debian
  • Suse
  • Red Hat
  • Ubuntu
  • Arch Linux
  • Kali Linux
  • Android

Hardware-Ansteuerung

In Linux werden Hardware-Geräte über spezielle Gerätedateien im Verzeichnis /dev angesteuert. Diese Gerätedateien werden von Kernelmodulen bereitgestellt, die die Hardware ansprechen.

Mounten von Laufwerken: Um ein externes Speichergerät wie eine Festplatte oder einen USB-Stick anzuschließen und zu verwenden, muss es zunächst gemountet werden. Dies geschieht über den Befehl mount, der das Gerät mit dem Dateisystem verbindet. Beispiel: mount /dev/sdb1 /mnt/extern verbindet das Gerät /dev/sdb1 mit dem Verzeichnis /mnt/extern.

Die Geräte werden vom Kernel nach folgendem Muster zur Verfügung gestellt:

/dev/sda für Festplatte 1

/dev/sdb für Festplatte 2

/dev/sdc1 für Partition 1 auf Festplatte 3

/dev/sdc2 für Partition 2 auf Festplatte 3

Konsolenbefehle für Dateioperationen

dir: Zeigt die Dateien und Verzeichnisse im aktuellen Verzeichnis an (Windows)

ls: Zeigt die Dateien und Verzeichnisse im aktuellen Verzeichnis an (Linux)

mkdir: Erstellt ein neues Verzeichnis (Linux und Windows)

alias: Erstellt eine Abkürzung für einen Befehl (Linux)

del: Löscht eine Datei (Windows)

cp: Kopiert eine Datei (Linux)

copy: Kopiert eine Datei (Windows)

chmod: Ändert die Zugriffsrechte von Dateien und Verzeichnissen (Linux)

Konsolenbefehle für Netzwerktroubleshooting/Namensauflösung

ipconfig: Zeigt die IP-Konfiguration des Systems an (Windows)

ifconfig: Zeigt die IP-Konfiguration des Systems an (Linux)

getmac: Zeigt die MAC-Adresse des Systems an (Windows)

iproute: Zeigt die IP-Routing-Tabelle des Systems an (Linux)

arp: Zeigt die ARP-Tabelle des Systems an (Linux und Windows)

ping: Sendet ICMP-Echo-Anfragen an eine IP-Adresse und zeigt die Antworten an (Linux und Windows)

traceroute: Zeigt die Route Pfad zu einer IP-Adresse an (Linux)

tracert: Zeigt die Route zu einer IP-Adresse an (Windows)

nslookup: Fragt den Nameserver nach der dazugehörigen IP-Adresse einer Domain (Linux und Windows)

netsh: Ermöglicht die Konfiguration von Netzwerkparametern (Windows)

Weiteres Lernmaterial

Die hier genannten Bücher/Lernkarten besitze ich ebenfalls und nutze Sie zur Prüfungsvorbereitung.

Die mit Sternchen (*) gekennzeichneten Links sind sogenannte Affiliate-Links. Wenn du auf so einen Affiliate-Link klickst und über diesen Link einkaufst, bekomme ich von dem betreffenden Online-Shop oder Anbieter eine Provision. Für dich verändert sich der Preis nicht.

Arbeitsbuch

Prüfungsvorbereitung aktuell Teil 1 der gestreckten Abschlussprüfung: Einrichtung eines IT-gestützten Arbeitsplatzes*

Lernkarten

IT-Berufe Abschlussprüfung Teil 1: AO 2020 von René Neumann*

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert