Podcast
Questions and Answers
Welches Kommando minimiert die Anzahl der offenen Netzwerkports und muss als Superuser ausgeführt werden?
Welches Kommando minimiert die Anzahl der offenen Netzwerkports und muss als Superuser ausgeführt werden?
Das Kommando for PORT in \\
netstat -nat | grep -E 'LISTEN'...`.
Was zeigt der Befehl ls -al
an?
Was zeigt der Befehl ls -al
an?
Der Befehl listet alle Dateien im langen Format auf, einschließlich versteckter Dateien.
Was bedeutet das 'd' in den Datei- und Verzeichnisrechten von ls -al
?
Was bedeutet das 'd' in den Datei- und Verzeichnisrechten von ls -al
?
'd' steht für ein Verzeichnis (Directory).
Was sind die drei Hauptgruppen von Dateiberechtigungen?
Was sind die drei Hauptgruppen von Dateiberechtigungen?
Signup and view all the answers
Wie können Sie die Datei-Rechte für andere Benutzer (auch als Welt bezeichnet) erkennen?
Wie können Sie die Datei-Rechte für andere Benutzer (auch als Welt bezeichnet) erkennen?
Signup and view all the answers
Welche Rechte werden durch 'r', 'w' und 'x' in Dateiberechtigungen dargestellt?
Welche Rechte werden durch 'r', 'w' und 'x' in Dateiberechtigungen dargestellt?
Signup and view all the answers
Was erlaubt ein einfaches Shell-Menü in einem Bash-Programm?
Was erlaubt ein einfaches Shell-Menü in einem Bash-Programm?
Signup and view all the answers
Was bewirkt das fuser -n tcp $PORT
in dem Skript?
Was bewirkt das fuser -n tcp $PORT
in dem Skript?
Signup and view all the answers
Was ist der erste Schritt im Ablauf eines Hardware-Interrupts?
Was ist der erste Schritt im Ablauf eines Hardware-Interrupts?
Signup and view all the answers
Wie reagiert der Mikroprozessor auf einen Interrupt?
Wie reagiert der Mikroprozessor auf einen Interrupt?
Signup and view all the answers
Was geschieht mit der ausgeführten Anwendung während eines Interrupts?
Was geschieht mit der ausgeführten Anwendung während eines Interrupts?
Signup and view all the answers
Was ist die Rolle einer Interrupt-Service-Routine (ISR)?
Was ist die Rolle einer Interrupt-Service-Routine (ISR)?
Signup and view all the answers
Warum kann das Betriebssystem weitere Interrupts maskieren?
Warum kann das Betriebssystem weitere Interrupts maskieren?
Signup and view all the answers
Was passiert, wenn ein höherpriorisierter Interrupt auftritt?
Was passiert, wenn ein höherpriorisierter Interrupt auftritt?
Signup and view all the answers
Warum sollten ISR-Routinen schnell beendet werden?
Warum sollten ISR-Routinen schnell beendet werden?
Signup and view all the answers
Welche Art von Interrupts sind nicht maskierbar?
Welche Art von Interrupts sind nicht maskierbar?
Signup and view all the answers
Was ist ein Systemcall?
Was ist ein Systemcall?
Signup and view all the answers
Nennen Sie ein Beispiel für einen Systemcall in UNIX.
Nennen Sie ein Beispiel für einen Systemcall in UNIX.
Signup and view all the answers
Was macht der Systemcall read
?
Was macht der Systemcall read
?
Signup and view all the answers
Was ist die Funktion des Systemcalls clone
?
Was ist die Funktion des Systemcalls clone
?
Signup and view all the answers
Was muss eine Anwendung tun, um einen Systemcall auszuführen?
Was muss eine Anwendung tun, um einen Systemcall auszuführen?
Signup and view all the answers
Was ist ein Beispiel für einen Systemcall in C, um die PID herauszufinden?
Was ist ein Beispiel für einen Systemcall in C, um die PID herauszufinden?
Signup and view all the answers
Wie kann man Systemcalls nachverfolgen?
Wie kann man Systemcalls nachverfolgen?
Signup and view all the answers
Was schätzen Sie, wie viele Systemfunktionen Linux (64bit) bietet?
Was schätzen Sie, wie viele Systemfunktionen Linux (64bit) bietet?
Signup and view all the answers
Welche Funktion hat das EAX-Register beim Systemcall 'getpid'?
Welche Funktion hat das EAX-Register beim Systemcall 'getpid'?
Signup and view all the answers
Was ist der vDSO?
Was ist der vDSO?
Signup and view all the answers
Wie erfolgt der Wechsel vom User- in den Kernel-Space in Linux?
Wie erfolgt der Wechsel vom User- in den Kernel-Space in Linux?
Signup and view all the answers
Welche Rolle spielt der Kernel-Space bei Systemcalls?
Welche Rolle spielt der Kernel-Space bei Systemcalls?
Signup and view all the answers
Was ist ein Interrupt?
Was ist ein Interrupt?
Signup and view all the answers
Welche Arten von Interrupts gibt es?
Welche Arten von Interrupts gibt es?
Signup and view all the answers
Was bedeutet es, wenn ein Prozess durch einen Interrupt angehalten wird?
Was bedeutet es, wenn ein Prozess durch einen Interrupt angehalten wird?
Signup and view all the answers
Wie trappen wir in den Kernel mittels Interrupt?
Wie trappen wir in den Kernel mittels Interrupt?
Signup and view all the answers
Was wird durch das Initialisieren des Code-Segments Register bereitgestellt?
Was wird durch das Initialisieren des Code-Segments Register bereitgestellt?
Signup and view all the answers
Welches Privileg-Level wird nach der Initialisierung des Code-Segments gesetzt?
Welches Privileg-Level wird nach der Initialisierung des Code-Segments gesetzt?
Signup and view all the answers
Welche Funktion wird verwendet, um die Prozess-ID (PID) in Linux zu erhalten?
Welche Funktion wird verwendet, um die Prozess-ID (PID) in Linux zu erhalten?
Signup and view all the answers
Nenne eine Methode, die einen direkten Systemaufruf zur PID-Abfrage darstellt.
Nenne eine Methode, die einen direkten Systemaufruf zur PID-Abfrage darstellt.
Signup and view all the answers
Was macht die benutzerdefinierte Funktion my_getpid_int0x80()
?
Was macht die benutzerdefinierte Funktion my_getpid_int0x80()
?
Signup and view all the answers
Wie kann die Ausführungszeit von Systemaufrufen in C gemessen werden?
Wie kann die Ausführungszeit von Systemaufrufen in C gemessen werden?
Signup and view all the answers
Welches Programmierkonstrukt wird verwendet, um Header in C einzubinden?
Welches Programmierkonstrukt wird verwendet, um Header in C einzubinden?
Signup and view all the answers
Was ist der Zweck der C-Preprocessor-Direktiven in Programmen?
Was ist der Zweck der C-Preprocessor-Direktiven in Programmen?
Signup and view all the answers
Study Notes
Bash-Skript zum Minimieren offener Netzwerkports
- Das Skript minimiert die Anzahl der offenen Netzwerkports.
- Das Skript muss als Superuser (Root) ausgeführt werden.
- Das Skript verwendet das Kommando
netstat
um die Liste der offenen Ports zu erhalten. - Das Skript verwendet das Kommando
fuser
um die PID des Prozesses zu finden, der den jeweiligen Port nutzt. - Das Skript verwendet das Kommando
ps
um weitere Informationen über den Prozess anzuzeigen.
Dateisystemrechte (File Permissions)
- Das Kommando
ls -al
listet alle Dateien in einem Verzeichnis auf. - Dateisystemrechte definieren, wer auf eine Datei oder einen Verzeichnis zugreifen kann.
- Rechte bestehen aus drei Kategorien: User, Group, Other (Welt).
- Rechte können read (r), write (w), execute (x) sein.
- Die ersten drei Felder im ls-Ausgabe Format entsprechen den Rechten für User, Group, Other.
Beispiel File Management Script
- Ein Bash-Programm, welches dem Benutzer das Erstellen, Löschen von Dateien ermöglicht.
- Der Benutzer kann Inhalte von Dateien über ein einfaches Shell-Menü anzeigen.
- Das Programm besteht aus verschiedenen Prozessen, die durch Systemcalls miteinander kommunizieren.
Systemcalls
- Systemcalls stellen eine Programmierschnittstelle zwischen dem Prozess und dem Betriebssystem bereit.
- Systemcalls werden im Kernel-Space ausgeführt.
- Systemcalls sind spezielle Funktionen die durch den Kernel als API verfügbar gemacht werden.
- Zum Beispiel ist
open
ein Systemcall zum Öffnen einer Datei. -
read
ist ein Systemcall zum Lesen aus einer Datei. -
clone
ist ein Systemcall zum Replizieren eines Prozesses. -
gettimeofday
ist ein Systemcall zum Ausgeben der aktuellen Zeit. - Systemcalls können mit dem Tool
strace
nachverfolgt werden.
Systemcall - Quiz
- Was schätzen Sie, wie viele Systemfunkionen Linux (64bit) bietet?
- Was schätzen Sie, wie viele Systemfunktionen Windows (Win64) bietet?
Wie wird ein Systemcall aufgerufen (Alter Linux Weg)?
- Anwendungscode muss eine Sequenz von Instruktionen ausführen, um einen Systemcall aufzurufen.
- Systemcalls werden durch eine Nummer identifiziert, die in einem Register abgelegt wird.
- Das Betriebssystem wechselt vom User-Space in den Kernel-Space durch einen Software-Interrupt.
- Dieser Wechsel wird als Trap bezeichnet.
Interrupts
- Ein Interrupt ist ein Signal (in Hard- oder Software), das das Betriebssystem anhält und es veranlasst zu analysieren, was als Nächstes zu tun ist.
- Interrupts können den laufenden Prozess anhalten oder sogar beenden.
Arten von Interrupts
- Asynchrone Interrupts werden von der Hardware erzeugt z.B. durch Peripheriegeräte.
- Synchrone Interrupts werden vom Prozessor selbst erzeugt.
- Interrupts werden nach Priorität abgearbeitet.
- Höherpriorisierte Interrupts können andere Interrupts unterbrechen.
- Interrupts können vom Betriebssytem maskiert werden um rekursive Interrupts zu vermeiden.
Hardware-Interrupts
- Ein Gerät meldet einen Interrupt über eine spezielle Interrupt-Leitung
- Die CPU wird unterbrochen.
- Ein Interrupt Service Routine (ISR) liest die Daten vom Gerät.
- Das Betriebssystem springt in die unterbrochene Anwendung zurück.
- Daten werden vom Betriebssystem internen Puffer in den User-Space kopiert.
- Die Anwendung muss auf die Daten warten bis der Puffer kopiert wurde.
Besonderheiten von Hardware-Interrupts
- ISRs sollten so schnell wie möglich beendet sein.
- ISRs werden in den Kernel-Space ausgeführt.
- Einige Hardware-Interrupts können nicht maskiert werden (z.B. Memory Errors).
- Ein Interrupt kann mehrere ISRs auslösen.
Messungen von Systemcalls
- Es gibt verschiedene Methoden um die Ausführungszeit von Systemcalls zu messen.
- Drei Methoden sind:
getpid()
,syscall(SYS_getpid)
,my_getpid_int0x80()
. -
getpid()
ist eine standard C-Bibliotheksfunktion. -
syscall()
ist eine direkte Systemcall-Funktion. -
my_getpid_int0x80()
ist eine benutzerdefinierte Funktion, die den Software Interrupt 0x80 verwendet. - Der Sourcecode zum Messen der Ausführungszeit der verschiedenen Systemcalls kann gefunden werden unter https://gitlab.hs-esslingen.de/dgrewe/betriebssysteme
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Dieses Quiz behandelt die Erstellung von Bash-Skripten zur Minimierung offener Netzwerkports und die Grundlagen der Dateisystemrechte. Sie lernen, wie man die notwendigen Kommandos wie netstat
, fuser
und ps
verwendet, um Informationen zu offenen Ports und Prozessen zu erhalten. Zudem wird erläutert, wie man Dateisystemrechte verwaltet und überprüft.