Flashcards in the set

Haven't started (200)

Virtualisierung

(faire) Ressourceneinteilung



-virtueller Speicher



-virtuelle Prozessoren

Speicher

Ablage für Daten und Programme

Speichermanagement

allein das Betriebssystem teilt den Platz im Hauptspeicher zu

Mikrokernel

  • Aufteilung des Kerns in viele Module
  • ein Modul (Mikrokernel) enthält die essentiellen Aufgaben
  • übrige Module werden bei Bedarf nachgeladen
  • klein und flexibel, aber langsamer


Monolith

Betriebssystemkern ist ein einziges großes Programm im Kernel Mode, das beim Systemstart komplett in den Hauptspeicher geladen wird

Kernel

Betriebssystemkern:





Software, umfasst elementare Aufgaben wie Scheduling, Speichermanagement und Treiber

CPU

Central Processing Unit




Aufgabe:



• Ausführung arithmetisch-logischer Operationen (Rechenwerk)



•Ablaufsteuerung (Steuerwerk)






Anwendungsprogramme

eigenständige Software zur Umsetzung der eigentlichen Aufgaben des Geräts

Systemprogramme

eigenständige Software zur Unterstützung des Betriebssystems

Ein-/Ausgabe

externe Peripheriegeräte





z.B. Tastatur

Frames

Hauptspeicher wird in gleich große, aufeinander folgende, zusammenhängende, durchnummerierte Seitenrahmen aufgeteilt

virtueller Speicher

jeder Prozess glaubt sich allein in Vollbesitz des Hauptspeichers

virtueller Prozessor

jeder Prozess glaubt sich allein in Vollbesitz des Prozessors

IEC-Binärprefixe

  • kibi
  • mebi
  • gibi
  • tebi
  • pebi
  • exbi
  • zebi
  • yobi


SI-Dezimalpräfixe

  • Kilo
  • Mega
  • Giga
  • Tera
  • Peta
  • Exa
  • Zetta
  • Yotta


Mehrkern-Chip

mehrere Prozessoren auf einem Chip

Gerät

  • oft Programm nicht austauschbar


Prozessor

programmgesteuerte Datenverarbeitung

Abstraktion

Reduktion der komplexen Fähigkeiten eines Betriebssystems auf konkrete Funktionalität

Bussystem

Sammelleitungen zur Datenübertragung

Treiber

Software zur Ansteuerung von Hardware-Controllern

Hardware

unveränderlich

Betriebssystem

  • verwaltet Betriebsmittel eines Computers
  • ermöglicht Ausführung von Programmen


Software

veränderlich

Paging

virtueller Speicher eines Prozesses wird in gleich große, aufeinander folgende, zusammenhängende, durchnummerierte Speicherseiten (



Pages



) aufgeteilt

Maschinencode

vom Prozessor unmittelbar interpretierbare Bitfolgen

Betriebsmittel

werden zur Ausführung von Programmen gebraucht (Hardware & Software)

Maschinenwort

übliche Länge einer solchen Bitfolge

Apache-Lizenz 2.0

bekannte Open Source-Lizenz ohne Copyleft (neue Software muss nicht unter Apache–Lizenz stehen)

closed source software

Betriebsgeheimnis

Copyleft

Weitergabe freier Software, modifiziert oder nicht, nur unter Beibehaltung der vier Freiheiten

daemon

Dienstprogramm ohne Benutzerinteraktion (z.B. Webserver)

data segment/heap

dynamisch angelegte Daten

Desktops

  • bedienen einen Benutzer zur selben Zeit
  • mehrere Prozesse gleichzeitig — Browser, Musikspieler, ...


Free Software Foundation (FSF)

  • Förderung freier Software
  • Weiterentwicklung und Durchsetzung der GPL


GNU Free Documentation License (FDL)

für Textdokumente

GNU Public License (GPL)

  • Freie Lizenz
  • Nutzungsbedingungen stellen die vier Freiheiten bei Weitergabe sicher


GNU-Projekt

Implementierung eines freien unixoiden Betriebssystem (GNU OS)

GNU/Linux

Linux-Kern unter GPL und Kombination mit GNU-Systemsoftware

Linux-Distribution

Kombination von GNU/Linux mit Anwendungsprogrammen (1992)

Mobilgeräte

  • stromsparend und billig, aber daher auch langsame Hardware


Open Source

Begriff "Open Source" (quelloffen) geschützt von OSI

Open Source Initiative (OSI)

Fokussierung auf die Interessen der Entwickler

POSIX

UNIX-Standard zur Portabilität unter den Ablegern

Proprietäre Software

Einschränkungen für den Nutzer einer Software bezüglich Weitergabe und Veränderung.

Server

  • bedienen mehrere Benutzer zur selben Zeit
  • Benutzer teilen sich Ressourcen des Geräts
  • Zugriff über Netzwerk
  • bieten Dienste an — Netzlaufwerk, Webserver, ...

Shell

textuelle Kommandoeingabe

stack

je ein Eintrag für jeden Methoden-/Funktionsaufruf

text segment

Binärcode des ausgeführten Programms

Unix

quelloffenes Betriebssystem, ursprünglich Bell Labs

unixoide

unixoide Ableger, z.B.


• FreeBSD


• Linux

virtual file system (VFS), gehorcht filesystem hierarchy standard (FHS)

Verknüpfung über einen einzigen Verzeichnisbaum

Windows

  • proprietäres Betriebssystem (Microsoft)
  • Varianten für Server, Desktops, Mobilgeräte


X-Windows

grafische Benutzerschnittstelle

3-Wege-Handschlag

ACK Quittierungsnummer ist gültig




SYN Bitte um Verbindungsaufbau

ARP

Address Resolution Protocol




ermittelt zu bekannter IP-Adresse die zugehörige MAC-Adresse im lokalen Netzwerk

Port(-Nummer)

Adresse einer Anwendung auf einem Gerät

CIDR-Notation

Angabe der Prefix Länge




Zahl hinter Adresse

Netzwerkmaske

Angabe für Prefix Länge




1-Bits für Predig

(IP-)Paket

Datagramm des IP




  • u.a. IP-Adresse der Quelle und des Ziels im Header 


















Protokoll

Hält die Regeln, nach der eine Kommunikation abläuft fest

peer to peer communication

Die Schicht eines Geräts kommuniziert ausschließlich mit derselben Schicht des anderen Geräts

Frame

Ethernet-Datagramm




• im Header u.a. MAC-Adresse der Quelle und des Ziels 
















Router

Gateway der Internet-Schicht

Vollduplex

gleichzeitige (nicht abwechselnde) Übertragung

Segmente

Im Transport Layer muss der Datenstrom wegen MTU in kleinere Einheiten (Segmente) aufgeteilt werden

IANA

Internet Assigned Numbers Authority




• vergibt "network" oder prefix"
















ICMP

Internet Control Message Protocol




Austausch von Daten zur Erreichbarkeit von Geräten und Netzen

IETF

Internet Engineering Task Force




wesentliches Standardisierungsgremium für Internettechnologien

IP

internet protocol




• übliches Protokoll für Dienst Internet Layer
















Socket

IP-Adresse und Port-Nummer einer Anwendung

MTU

maximum transmission unit




maximale Größe der Nutzlast in Bytes

NDP

Neighbor Discovery Protocol




Wie ARP nur für IPv6

RFC

request for comment




von der IETF veröffentlichtes Regelwerk

Routing

  • Was ist die Hauptaufgabe des IP?
  • Weg von der Quelle zum Ziel finden

SSL

secure socket layer




  • Zusatzschicht zwischen Transport und Application Layer


















Verbindung (connection)

Sockets der miteinander kommunizierenden Anwendungen

Broadcast

Sonderadresse FF-FF-FF-FF-FF-FF für "an alle"

TCP/IP-Netzwerkstapel

teilt Netzwerkzugriff auf vier aufeinander aufbauende Schichten (layer) auf.

TCP

Transmission Control Protocol



  • Protokoll im Transport Layer
  • Zuverlässig


















TLS

transport layer security




Umbenennung von SSL sei Standardisierung

UDP

User Datagram Protocol



 • Protokoll im Transport Layer

  • keine Zuverlässigkeit
  • schnell


















host oder suffix

Aufbau der IP-Adresse:



Vergabe durch Netzwerkbetreiber in seinem Netzwerk

Gateway

verknüpft zwei Netzwerke miteinander

MAC-Adresse

weltweit eindeutige Kennzeichnung einer Netzwerkkarte (3 Bytes Herstellerkennung & 3 Bytes Seriennummer)

IP-Adresse

weltweit eindeutige Kennzeichnung eines Geräts im Internet

network oder prefix

weltweit eindeutige Kennzeichnung eines Netzwerktreibers

Datagramm

Übermittlungseinheit

Ethernet

übliches Protokoll in kabelgebundenen Endanwendernetzen

client-server

  • Netzwerkdienst
  • Server stellt Dienstleistung bereit, Client ruft sie ab


Destination-NAT

mehrere Server lauschen unter derselben öffentlichen IP-Adresse

DHCP

  • IPv4: Port 67/UDP und 68/UDP
  • IPv6: Port 546/UDP und 547/UDP
  • Zuweisung (lease) der Netzwerkkonfiguration an den Client

DNS

  • Port 53/UDP und 53/TCP
  • Namensauflösung
  • Abfrage eines oder mehrer Nameserver




Domänen

Verwendung von Namen statt IP-Adressen

FQDN

fully qualified domain name




• weltlweit eindeutiger Name eines Geräts im Internet
















FQDN besteht aus:



  • root zone (wird i.d.R. weggelassen)
  • TLD (top level domain)
  • eine oder mehrere Unterdomänen


















FTP

  • Port 20 und 21
  • unverschlüsselte Übertragung von Dateien


HTTP

  • Port 80/TCP und 80/UDP





HTTPS

  • Port 443/TCP
  • nutzt TLS





IMAP

  • Port 143 und 993
  • Protokoll zur Ansprache von Mail-Servern (Abholung)




IP-Masquerading

eindeutige Umsetzung einer privaten in eine öffentliche IP-Adresse

Namensauflösung

Bestimmug der IP-Adresse aus FQDN

NAT / PAT

network address translation / port and address translation





• mehrere Geräte teilen sich so eine (teure) öffentliche IP–Adresse



  • Geräte können trotz privater IP–Adresse externe Geräte erreichen, bleiben aber selbst unerreichbar


















Netzwerkdienst

Anwendung im Application Layer

NFS

  • Port 2049/TCP und 2049/UDP
  • Networked File System




peer-to-peer

  • Netzwerkdienst
  • Erbringung der Dienstleistung durch mehrere gleichberechtigte Geräte




POP3

  • Port 110 und 995
  • Protokoll zur Ansprache von Mail-Servern (Abholung)




SFTP, SCP

Ergänzung zu SSH für sichere Datenübertragung

SMB

  • Port 445/TCP und 445/UDP
  • Server Message Block





SMTP

  • Port 25
  • Protokoll zur Ansprache von Mail-Servern





Source-NAT

private IP-Adresse und Port eines Geräts im privaten Netzwerk werden ausgetauscht durch öffentliche IP-Adresse des Routers und einen freien Router-Port

SSH

  • Port 22
  • verschlüsselte Übertragung von Befehlen, etc.






Telnet

  • Port 23
  • unverschlüsselte Übertragung von Befehlen, etc.




TFTP

  • Port 69/UDP
  • Vereinfachung von FTP




WHOIS

veraltetes Protokoll zur Abfrage von Informationen über Domains

• lshw



  • sync
  • kill
  • nice
  • free
  • ps
  • pstree
  • getconf -a | grep PAGE


















lshw: Listet die Hardware-Konfiguration des Systems auf.




sync: Synchronisiert Daten zwischen dem Arbeitsspeicher und dem Massenspeicher, um sicherzustellen, dass alle Daten auf die Festplatte geschrieben wurden.



kill: Sendet ein Signal an einen Prozess, um ihn zu beenden.



nice: Ändert die Priorität eines Prozesses, um die CPU-Auslastung zu steuern.



free: Zeigt Informationen über den freien und belegten Speicher im System an.



ps: Zeigt eine Liste der laufenden Prozesse an.



pstree: Stellt die Prozesshierarchie in Baumstruktur dar.



getconf -a | grep PAGE: Gibt Informationen über die Framegröße und die Anzahl der Frames aus, die für den Speicher verwendet werden.

(TCP-)Segment




im Header

  • Quell-und Zielport
  • Sequenznummer: Bytes des ausgehenden Datenstroms werden durchgezählt
  • Quittierungsnummer: Sequenznummer des eingehenden Datenstroms, die als Nächstes erwartet wird
  • Control-Flags


















TCP/IP-Schichten



Application




Transport 




Internet




Link

TCP/IP-Schichten




  • Application: Welche Aufgabe soll im Netzwerk erledigt werden?
  • Transport: Wie werden die dafür benötigten Daten zuverlässig zwischen den Geräten ausgetauscht?
  • Internet: Wie finden sich die beteiligten Geräte über verschiedene Netzwerke hinweg?
  • Link: Wie findet erst einmal der Datenaustausch im lokalen Netzwerk statt?


















Ein Datagramm besteht aus


header:


payload:

  • header mit operationalen Daten
  • payload mit den eigentlichen Daten


FQDN besteht aus:

  • root zone (wird i.d.R. weggelassen)
  • TLD (top level domain)
  • eine oder mehrere Unterdomänen





(Software-)Paket

Archivdatei zur Softwareinstallation

Abhängigkeiten

viele Pakete setzen andere Pakete voraus

Access Control List

ACL eines Objekts




• Einträge einer Spalte in Zugriffsmatrix



  • welches Subjekt hat welche Rechte an diesem Objekt


















root

So wird Administrator in Linux genannt

Benutzerkonto (user account)

bündelt sämtliche Informationen zu einem Benutzer

Benutzerwechsel

Benutzer meldet sich am Konto eines anderen Benutzers an (übernimmt UID und GIDs)

Binärpaket

fertig kompiliertes und eingerichtetes Programm

Capability List

_______________ eines Subjekts





• Einträge einer Zeile



  • welche Rechte an welchen Objekten hat dieses Subjekt


















GID

group identification




Kennung der Benutzergruppe

Heimatverzeichnis

Verzeichnis mit den Nutzdaten und Einstellungen des Benutzers

Mehrbenutzersysteme (multi user systems)

Geräte, die von mehr als einem Benutzer bedient werden können und diese auch voneinander abgrenzen können.

Metadaten

Informationen über ein Paket

Multisession

mehrere Benutzer können das Gerät gleichzeitig nutzen

normal user

realer Benutzer

Objekt

wird agiert (hier: Betriebsmittel)

Paketmanagement

Software zur Verwaltung von Paketen

Paketquelle

Medium oder Website, von dem Pakete geladen werden 

Principle of Least Authority

ein Subjekt soll nur so viele Rechte am Objekt haben, wie es für die Durchführung seiner Rolle notwendig ist

Quellpaket

Quellcode, der erst noch kompiliert und eingerichtet werden muss

Repository

Sammlung von Softwarepaketen wird vom Distributor bereitgestellt

Rolle

Aufgaben, die ein Subjekt durchzuführen hat

SetUID/SetGID-Bit

Kommando wird so ausgeführt, als wäre es vom Eigentümer (...) oder von einem Benutzer der Gruppe (...) aufgerufen worden

Sitzung (session)

Benutzer arbeitet mit seinem Konto

Sticky-Bit

beschränkt Rechte des Löschen und Namensänderung (durch Schreibzugriff) auf Admin und Eigentümer

Subjekt

agiert (hier: Benutzer)

system user

  • keine realen Benutzer
  • Betreuung von Systemprozessen
  • nur eingeschränktes Agieren möglich



UID

user identification




Benutzernummer

Wie wird die Paketquelle aufgeteilt?

In verschiedene Archive und wiederum in Komponenten nach Kriterien, wie (un)frei, (un)gepflegt oder (nicht) kommerziell

Zugriffskontrolle

Überwachung des Zugriffs von Subjekten auf Objekte

Zugriffsmatrix

  • Zeilen: Subjekte oder Rollen
  • Spalten: Objekte
  • Einträge: Rechte des Subjekts oder der Rolle am Objekt




ASCII

7 Bit-Zeichen

atomare Transaktion

Zusammenfassung von einzelnen Aktionen (z.B. bei Journaling)

Bootcode

Anweisungen zum Laden des Betriebssystems

contiguous allocation

  • Datei ist zusammenhängende Abfolge von Blöcken
  • Problem: äußere Fragmentierung

Dateisysteme

erlauben den Zugriff auf gespeicherte Daten über Dateinamen

Dateizugriff

  • sequentiell (sequential): Datei ist Sequenz von Bytes, kann nur vom Anfang her gelesen werden
  • wahlfrei (random-access): sofortiger Zugriff auf jede beliebige Stelle der Datei




Datensicherung

Kopie von Daten auf ein externes Medium, Schutz von Datenverlust

file allocation table

  • Datei wird auf nicht zusammenhängende Blöcke aufgeteilt
  • Eintrag enthält Verweis auf nächsten Block einer Datei
  • Tabelle kan sehr groß werden




Firmware

  • auf einem Gerät fest installierte Software
  • regelt Systemstart und grundlegende Initialisierung der angeschlossenen Geräte





Hardware-Uhr

  • Quartz-Uhr im Rechner






i-node

index node




  • gemeinsamer Speicherbereich für Metadaten und Verweise
  • feste, eher kleine Anzahl von direkten Verweisen


















i-node: dreifach indirekter Verweis

letzter Eintrag: Verweis auf einen Block mit zweifach indirekten Verweisen

i-node: einfach indirekter Verweis

vorvorletzter Eintrag: Verweis auf einen Block mit direkten Verweisen

i-node: zweifach indirekter Verweis

vorletzter Eintrag: Verweis auf einen Block mit einfach indirekten Verweisen

idempotent

beliebig oft wiederholbar

ISO/IEC 8859

Erweiterung von ASCII auf 8-Bit Zeichen

journaling file system

  • Aktionen vor der Ausführung in einen Bereich auf dem Datenträger (Journal) festhalten
  • nach erfolgreicher Ausführung Aktionen aus Journal löschen





Komprimierung

Reduktion der Datenmenge

LBA

logical block addressing




  • Betriebssystem sieht Massenspeicher als Array von Blöcken, unabhängig von der Art des Datenträgers


















linked-list allocation

  • Datei wird auf nicht zusammenhängende Blöcke aufgeteilt
  • jeder Block verweist auf seinen Nachfolgder
  • nur sequentieller Zugriff möglich





Lokalisierung

Anpassung an lokale Gegebenheiten

LVM

Logical Volume Manager




  • Partitionen von mehreren Datenträgern als eine große einzige Partition darstellen


















Metadaten (Dateiattribute)

Angaben über eine Datei

Mirroring

RAID Level 1




• alle Streifen werden auf weiteren Datenträgern gespiegelt



  • erhöht Ausfallsicherheit


















Partitionen

  • nicht überlappend
  • zusammenhänged
  • jeweils eigener Zweck




Partitionstabelle

Auflistung der Partition des Datenträgers

PP

physical partition




Partition der verschiedenen PVs der VG können zu einer virtuellen Partition (LV, logical volume) zusammengefasst werden

RAID

Redundant Array of Independent/Inexpensive Disks




  • mehrere Datenträger als einen einzigen darstellen


















Striping

RAID Level 0




  • aufeinander folgende Blöcke werden zu gleich großen Streifen (stripes) zusammengefasst
  • logisch liegen aufeinander folgende Streifen auf verschiedenen Datenträgern → umfangreiche Operationen werden parallel (schneller) ausgeführt


















Striping and distributed parity mode

RAID Level 5




• wie Level 1, aber Streifen werden XOR-verknüpft in einem weiteren Streifen abgelegt => nur ein weiterer Datenträger nötig
















Systemzeit

  • Uhr, die vom Kernel verwaltet wird.
  • Wird bei Systemstart aus der Hardware-Uhr gelesen




Unicode

Universal Coded Character Set (UCS)




  • alle in Gebrauch befindlichen Schriften


















UTF-8

spezielle Unicode-Kodierung, ASCII-kompatibel

Verzeichnissynchronisierung

Änderungen in einem Verzeichnis werden in ein anderes gespiegelt

VG

Volume Group




  • Datenträger (PV, physical volumes) werden zu einer volume group zusammengefasst


















Automatisierung

Zusammenfassung wiederkehrender Funktionsabläufe

Bourne-Again Shell

bash




Erweiterung der Bourne-Shell mit Schwerpunkt Interaktion









batch-Datei

Skript für den Befehlsinterpreter cmd.exe

Debian-Almquist Shell

dash




Erweiterung der Bourne-Shell mit Schwerpunkt Skriptausführung

Perl

weit verbreitete ältere Skriptsprache

PowerShell

moderner Kommandozeileninterpreter auf Basis von .NET

Python

weit verbreitete moderne Skriptsprache, aber auch interaktive Kommandozeile

Bourne-Shell

sh




alte und weit verbreitete Skriptsprache









Shellskripte

  • Erweiterung der Kommandoeingabe um Variablen, Ausdrücke, Kontrollanweisungen und weitere Konstrukte



Archivdatei

mehrere Dateien in einer einzigen Datei

Skriptsprachen

  • einfache Texte /-dateien
  • wird nicht kompiliert, sondern zur Laufzeit interpretiert

Computer

Verarbeitet Daten, gemäß eines Programms

Scheduling

Zuteilung des Prozessors zu Prozessen (Ent- & Neuladung)

Freie Software

Erfüllt 4 Freiheiten:



Die Freiheit...



• das Programm auszuführen wie man möchte



•Funktionsweise prüfen und an eigenen Datenverarbeitungbedürfnissen anzupassen



• das Programm weiterzuverbreiten -> Menschen helfen



• Programm zu verbessern und das verbesserte weiterzuv

shell script

ausführbare Textdatei