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
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
SI-Dezimalpräfixe
Mehrkern-Chip
mehrere Prozessoren auf einem Chip
Gerät
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
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
Free Software Foundation (FSF)
GNU Free Documentation License (FDL)
für Textdokumente
GNU Public License (GPL)
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
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
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
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
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
SSL
secure socket 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
TLS
transport layer security
Umbenennung von SSL sei Standardisierung
UDP
User Datagram Protocol
• Protokoll im Transport Layer
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
Destination-NAT
mehrere Server lauschen unter derselben öffentlichen IP-Adresse
DHCP
DNS
Domänen
Verwendung von Namen statt IP-Adressen
FQDN
fully qualified domain name
• weltlweit eindeutiger Name eines Geräts im Internet
FQDN besteht aus:
FTP
HTTP
HTTPS
IMAP
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
Netzwerkdienst
Anwendung im Application Layer
NFS
peer-to-peer
POP3
SFTP, SCP
Ergänzung zu SSH für sichere Datenübertragung
SMB
SMTP
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
Telnet
TFTP
WHOIS
veraltetes Protokoll zur Abfrage von Informationen über Domains
• lshw
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
TCP/IP-Schichten
Application
Transport
Internet
Link
TCP/IP-Schichten
Ein Datagramm besteht aus
header:
payload:
FQDN besteht aus:
(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
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
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
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
ASCII
7 Bit-Zeichen
atomare Transaktion
Zusammenfassung von einzelnen Aktionen (z.B. bei Journaling)
Bootcode
Anweisungen zum Laden des Betriebssystems
contiguous allocation
Dateisysteme
erlauben den Zugriff auf gespeicherte Daten über Dateinamen
Dateizugriff
Datensicherung
Kopie von Daten auf ein externes Medium, Schutz von Datenverlust
file allocation table
Firmware
Hardware-Uhr
i-node
index node
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
Komprimierung
Reduktion der Datenmenge
LBA
logical block addressing
linked-list allocation
Lokalisierung
Anpassung an lokale Gegebenheiten
LVM
Logical Volume Manager
Metadaten (Dateiattribute)
Angaben über eine Datei
Mirroring
RAID Level 1
• alle Streifen werden auf weiteren Datenträgern gespiegelt
Partitionen
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
Striping
RAID Level 0
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
Unicode
Universal Coded Character Set (UCS)
UTF-8
spezielle Unicode-Kodierung, ASCII-kompatibel
Verzeichnissynchronisierung
Änderungen in einem Verzeichnis werden in ein anderes gespiegelt
VG
Volume Group
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
Archivdatei
mehrere Dateien in einer einzigen Datei
Skriptsprachen
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