Bash-Skript und Dateisystemrechte
40 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

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?

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?

'd' steht für ein Verzeichnis (Directory).

Was sind die drei Hauptgruppen von Dateiberechtigungen?

<p>Die Hauptgruppen sind User, Group und Other.</p> Signup and view all the answers

Wie können Sie die Datei-Rechte für andere Benutzer (auch als Welt bezeichnet) erkennen?

<p>Durch den Befehl <code>ls -al</code> können die Rechte für andere Benutzer angezeigt werden.</p> Signup and view all the answers

Welche Rechte werden durch 'r', 'w' und 'x' in Dateiberechtigungen dargestellt?

<p>'r' steht für Lesen, 'w' für Schreiben und 'x' für Ausführen.</p> Signup and view all the answers

Was erlaubt ein einfaches Shell-Menü in einem Bash-Programm?

<p>Es ermöglicht Benutzern, Dateien zu erstellen, zu löschen und anzuzeigen.</p> Signup and view all the answers

Was bewirkt das fuser -n tcp $PORT in dem Skript?

<p>Es zeigt die Prozess-ID (PID) an, die den angegebenen TCP-Port verwendet.</p> Signup and view all the answers

Was ist der erste Schritt im Ablauf eines Hardware-Interrupts?

<p>Ein Gerät meldet Interrupt über Interrupt-Leitung.</p> Signup and view all the answers

Wie reagiert der Mikroprozessor auf einen Interrupt?

<p>Der Mikroprozessor wird unterbrochen.</p> Signup and view all the answers

Was geschieht mit der ausgeführten Anwendung während eines Interrupts?

<p>Die Anwendung bemerkt nichts, außer eventuell einer Verzögerung.</p> Signup and view all the answers

Was ist die Rolle einer Interrupt-Service-Routine (ISR)?

<p>Die ISR liest Daten in einen Betriebssystem internen Puffer.</p> Signup and view all the answers

Warum kann das Betriebssystem weitere Interrupts maskieren?

<p>Um die Abarbeitung des derzeitigen Interrupts nicht zu stören.</p> Signup and view all the answers

Was passiert, wenn ein höherpriorisierter Interrupt auftritt?

<p>Er kann andere ISRs unterbrechen.</p> Signup and view all the answers

Warum sollten ISR-Routinen schnell beendet werden?

<p>Um die Effizienz des Systems zu gewährleisten.</p> Signup and view all the answers

Welche Art von Interrupts sind nicht maskierbar?

<p>Bestimmte Hardware-Interrupts wie Memory Errors ECC oder Power failure.</p> Signup and view all the answers

Was ist ein Systemcall?

<p>Ein Systemcall ist eine Programmierschnittstelle, die es einem Prozess ermöglicht, Funktionen des Betriebssystems aufzurufen.</p> Signup and view all the answers

Nennen Sie ein Beispiel für einen Systemcall in UNIX.

<p>Ein Beispiel für einen Systemcall in UNIX ist der <code>open</code>-Befehl, der verwendet wird, um eine Datei zu öffnen.</p> Signup and view all the answers

Was macht der Systemcall read?

<p>Der Systemcall <code>read</code> liest Daten aus einem Dateidiskriptor.</p> Signup and view all the answers

Was ist die Funktion des Systemcalls clone?

<p>Der Systemcall <code>clone</code> repliziert den aufrufenden Prozess, wodurch eine weitere Kopie des Prozesses entsteht.</p> Signup and view all the answers

Was muss eine Anwendung tun, um einen Systemcall auszuführen?

<p>Die Anwendung muss eine spezifische Instruktionssequenz ausführen, um den Systemcall aufzurufen.</p> Signup and view all the answers

Was ist ein Beispiel für einen Systemcall in C, um die PID herauszufinden?

<p>Ein Beispiel ist <code>PID = getpid();</code>.</p> Signup and view all the answers

Wie kann man Systemcalls nachverfolgen?

<p>Systemcalls können mit dem Tool <code>strace</code> nachverfolgt werden.</p> Signup and view all the answers

Was schätzen Sie, wie viele Systemfunktionen Linux (64bit) bietet?

<p>Es wird geschätzt, dass Linux (64bit) über 300 Systemfunktionen verfügt.</p> Signup and view all the answers

Welche Funktion hat das EAX-Register beim Systemcall 'getpid'?

<p>Das EAX-Register wird auf die Nummer des Systemcalls, in diesem Fall 39, gesetzt.</p> Signup and view all the answers

Was ist der vDSO?

<p>Der vDSO ist ein virtuelles dynamisches Shared Object, das Funktionen für Systemaufrufe im User-Space bereitstellt.</p> Signup and view all the answers

Wie erfolgt der Wechsel vom User- in den Kernel-Space in Linux?

<p>Der Wechsel erfolgt mittels Software-Interrupts, speziell durch einen Trap.</p> Signup and view all the answers

Welche Rolle spielt der Kernel-Space bei Systemcalls?

<p>Der Kernel-Space ermöglicht es Systemcalls, direkt auf Hardware-Ressourcen zuzugreifen und Betriebssystem-Funktionalitäten auszuführen.</p> Signup and view all the answers

Was ist ein Interrupt?

<p>Ein Interrupt ist ein Signal, das das Betriebssystem anhält, um nächste Schritte zu untersuchen.</p> Signup and view all the answers

Welche Arten von Interrupts gibt es?

<p>Es gibt asynchrone und synchrone Interrupts.</p> Signup and view all the answers

Was bedeutet es, wenn ein Prozess durch einen Interrupt angehalten wird?

<p>Es bedeutet, dass der Prozess vorübergehend unterbrochen oder beendet wird.</p> Signup and view all the answers

Wie trappen wir in den Kernel mittels Interrupt?

<p>Wir verwenden einen Interrupt-Gate mit der Interrupt-Vektor-Nummer 128.</p> Signup and view all the answers

Was wird durch das Initialisieren des Code-Segments Register bereitgestellt?

<p>Das Betriebssystem stellt das Code-Segment Register bereit.</p> Signup and view all the answers

Welches Privileg-Level wird nach der Initialisierung des Code-Segments gesetzt?

<p>Der Current Privilege Level wird auf Null gesetzt.</p> Signup and view all the answers

Welche Funktion wird verwendet, um die Prozess-ID (PID) in Linux zu erhalten?

<p>Die Funktion <code>getpid()</code> wird verwendet.</p> Signup and view all the answers

Nenne eine Methode, die einen direkten Systemaufruf zur PID-Abfrage darstellt.

<p>Die Methode <code>syscall(SYS_getpid)</code> stellt einen direkten Systemaufruf dar.</p> Signup and view all the answers

Was macht die benutzerdefinierte Funktion my_getpid_int0x80()?

<p>Sie verwendet den Software-Interrupt <code>int 0x80</code>, um einen Systemaufruf durchzuführen.</p> Signup and view all the answers

Wie kann die Ausführungszeit von Systemaufrufen in C gemessen werden?

<p>Man kann C-Funktionen entwickeln, die die Ausführungszeit messen.</p> Signup and view all the answers

Welches Programmierkonstrukt wird verwendet, um Header in C einzubinden?

<p>Die <code>#include</code> Direktive wird verwendet.</p> Signup and view all the answers

Was ist der Zweck der C-Preprocessor-Direktiven in Programmen?

<p>Sie dienen dazu, Funktionen bekannt zu machen und Konstanten zu definieren.</p> 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 psum 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.

Quiz Team

Related Documents

Betriebssysteme (BS) - PDF

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.

More Like This

Bash Scripting Basics
10 questions

Bash Scripting Basics

SoulfulObsidian avatar
SoulfulObsidian
Bash Scripting
12 questions

Bash Scripting

ZippyUvarovite avatar
ZippyUvarovite
Use Quizgecko on...
Browser
Browser