Bsys

Bsys

Bsys


Kartei Details

Karten 107
Sprache Deutsch
Kategorie Informatik
Stufe Andere
Erstellt / Aktualisiert 30.03.2025 / 01.06.2025
Weblink
https://card2brain.ch/box/20250330_bsys
Einbinden
<iframe src="https://card2brain.ch/box/20250330_bsys/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Aufgaben vom Filesystem?

- Anfrage von Benutzern auf Datei muss beantwortet werden

- Strukturierte Speicherung von Daten

- Verwaltung von Zugriffsrechten

- Erstellung von Verzeichnissen

- Zuordnung von Dateinamen zum Speicherort

- Übersetzung von logischen Befehlen in physikalische Speicherzugriffe

Was für Objekte befinden sich in einem Filesystem?

- Dateien (TXT)

- Verzeichnisse

- Gerätedateien

- Verweise/Links 

Was versteht man unter der Speicherung von Daten?

- Dateien benötigen mehrere Blöcke auf der Festplatte für die Sicherung

- Pro Block sind 512 Byte

Was ist die Kontinuierliche Speicherung?

- Datei wird in Blöcken mit aufsteigender Blocknummern gespeichert

- Nummer der ersten Blocks und die anzahl der darauffolgenden Blöcken wird gespeichert


Vorteile
- Zugriff auf alle Blöcke mit minimaler Positionierung des Lesekopfes

- Schneller, direkter Zugriff auf bestimmte Datei-Position

Nachteile:

- Finden des freien Platzes

- Framentierungsprobleme

- Erweiterung kann bei begrentzem Platz problematisch sein

- Grösse der Datei ist im Vorraus nicht bekannt

Was ist die verkettete-Speicherung?

- Die Blöcke einer Datei sind verkettet

- Die ersten 2 Byte geben die Spur und den Sektor des nächsten Blocks an.

Vorteile: 

- Die Datei kann vergrössert oder verkleinert werden, da die Blöcke verteilt sein können

Nachteile: 

- Da die Blöcke verteilt sind, kommt es oft zu einer neuen Positioniertung -> Hohe Seek-Time

- Datei kann nicht restauriert werden, wenn eine Verbindung beschädigt ist.

Was ist die verkettete-Speicherung (FAT)?

 

- Verweis auf einzelne Datenblöcke wird Zentral gespeichert und nciht direkt auf dem Datenblock

- Verkettung wird in einem separaten Plattenblock gespeichert

Vorteile: 

- Kompletter Inhalt des Datenblocks ist nutzbar

- Mehrfachspeicherung möglich (Redundanz/Backup)

Nachteile: 

- Laden unnötige Daten bei FAT-Aufruf

- Aufwendige Suche nach dem zugehörigen Datenblock, bei bekannter Postion der Datei

- Häufiges Positioniert -> Hohe Seek-Time

Filesystem in Unix/Linux

Datei:

- einfache, unstrukturierte Folge von Bytes

- Zugriffsrechte: lesen, schreiben, ändern

Verzeichnis:

- Baumförmige Struktur

- Knoten = Verzeichnisse

- Blätter = Verweise auf Daten

- Jeder UNIX Prozess ist immer in einem akiven Verzeichnis zugeordnet.

Was versteht man unter Inode?

 

Wie ein Steckbrief einer Datei im Dateisystem - Speichert Informationen über die Datei

 

- Pro Datei ein Inode (128 Byte)

- Eindeutige Inode Nummer

Inhalt: 

- Dateityp

- Besitzer/Gruppenzugehörigkeit

- Zugriffsrechte

- Anzahl Hard Links

- Dateigrösse in Bytes

- Adresse der dazugehörigen Datenblöcke

Was bedeutet nebenläufigkeit und parallelität?

Nebenläufigkeit: kausal unabhängig -> Prozesse verlaufen unabhängig voneinander

Parallelität: (Voraussetzung: Nebenläufigkeit) -> Ablauf ist zeitlich überlappend

Was ist ein Prozess?

- Ein laufendes Programm

- Eine sequenziell Ablaufende Aktivität

Warum gibt es Prozesse?

- Computer bearbeiten Aufgaben in definierten Arbeitsabläufen

 

Was sind die Bestandteile eines Prozesses?

- Programm + Bearbeitungszeit

- Benötigte Ressourcen/Betriebsmittel (Prozessor, Speicher, Kommunikation)

- Benötigte Rechtte (Dienste, Dateien, Kommunikation)

Was sind die Aufgaben des Prozesssteuerungssystems? (Grundlage Multithreading)

1) Prozess (oder Thread) erzeugen
- starten

- stoppen

- unterbrechen

- steuern

- terminieren

- ein- /auslagern

Prozesskommunikation
- Prozess <-> Prozess , Kernel <-> Prozess

Zuordnung Ressourcen

Wie kann ein Prozess erzeugt werden?

- Benutzer GUI/Shell
- Intern -> Systemaufruf

Wie ist der Ablauf einer Prozess erzeugung?

1. Prüfen notwendiger Voraussetzungen -> Rechte, Ressourcenverfügbarkeit

2. Namensvergabe (Identifikation)

3. Allokation von Ressourcen / Ressourcenzuweisung

4. Anlegen von Management datenstruktur (PCB) in die Tabelle

Was sind die wichtigen Punkte der Allokation von Ressourcen? Ressourcenzuweisung

- Wie viel Arbeitsspeicher benöttigt der neue Prozess
- Zu welchem Zeitpunkt erhält er ihn?

- Wie ist der Prozess von anderen Prozessen geschützt/isoliert?

Was ist die Arbeitsspeicher Allokation?

- Jeder Prozess bekommt 4 Speicher-Bereiche, die unterschiedliche Zwecke haben

1) Text-Segment (Code des aufgeführten Programms)

2) Daten-Segment (Speicher für Programmvariablen -> INTERGER/String)
3) Heap-Segment
4) Stack-Segment (Organisation des dynamischen Programmablaufs)

 

Was ist die Prozessorallokation? Prozessorzuweisung

- Wann kriegt ein Prozessor CPU-Zeit?
echtzeitfähige-Systeme: (Scheduling)
 - Planung und Bereitstellung von CPU-Zeit für einen Prozess

- Wie viel CPU-Zeit wird benötigt

- Wann wird die CPU-Zeit benötigt?

 

nicht-echtzeitfähige-Systeme:

- dynamischer ad-hoch-Scheduling

Was versteht man unter Prozessmanagment

Für die Verwaltung von Prozessen werden Informationen benötigt:

1) Prozessidentifikation 2)Rechtemanagement 3)Speichermanagment (Speicherorte) 
4) Prozessormanagement (Lastprofil, Priorität, Ablaufzustand) 5) Kommunikationsmanagement (Zukünftige Ereignisse)

 

Was versteht man unter einer Prozesstabelle?

Eine Datenstruktur, welche das Betriebssystem für jeden laufenden Prozess anlegt -> Process Control Block (PCB)

- Die Tabelle enthält alle wichtigen Informationen um den Prozess zu verwalten, zu unterbrechen, wieder aufzunehmen oder zu terminieren

 

Welche Informationen werden in einem PCB gespeichert?

1) Identifikation -> ID

2) Scheduling -> Prozesszustand

3) Prozessorkontext -> Programmzählen

4) Ereignismanagment -> anstehende Ereignisse, geplante Ereignisse

5) Accounting -> Startzeit etc.

Was sind Gründe für eine Prozessterminierung und wie wird sie ausgeführt?

Gründe:

- Aufgabe erledigt -> GUI: Logout, Compiler: Übersetzung abgeschlossen

- Fehler und weitermachen ist sinnlos: Datei nicht gefunden, Division durch 0

- Harter Fehler -> Prozess wird nicht mehr gebraucht, Fenster schliessen, Verklemmungsauflösung

Wie: 
- Benuzter -> GUI oder Shell

- Systemaufruf von Programm: Nach Beendigung des Programms
- Systemaufruf von BS: - Verklemmungsüberwachung

Was versteht man unter einem Thread?

 

Ein kleiner Ausführungsstranginnerhalb eines Prozesses, der eine kostengünstige Parallelisierung ermöglicht.

- Ein Thread teilt sich einen Adressraum des übergeordneten Prozesses mit anderen Threads 

- Die Ressourcen werden ebenfalls geteilt

- Threads laufen zeitgleich mit anderen Threads desselben Prozesses

- Ein Kontextwechsel läuft deutlich effizienter und feiner

Was ist ein Prozess?
 

Ein laufendes Programm, welches sequenziell abläuft

- Jeder Prozess hat einen eigenen Adressraum

- Jeder Prozess hat eigene Systemressourcen

- Unabhängig von anderen Ressourcen (Isoliert)

- Kontextwechsel ist aufwendig und teuer

Was versteht man unter Scheduling?

- Löst das Problem, wie Prozesse für CPU-Zeit ausgewählt werden sollen

Ziel: Effizientes Ressourcen Management durch präzise Erkennung von Threadzuständen

Welche Threadzustände gibt es?

1) Aktiv -> Hat CPU-Zeit zugeteilt bekommen, arbeitet

2) Rechenbereit -> Hätte gerne CPU-Zeit

3) kurzfristig wartend (z.B. I/O Abfrage)

4) langfristig wartend (z.B. Timer-Ablauf)

5) frisch: erzeugt, aber Ressourcen und Rechte fehlen

6) Beendet: Ressourcen werden freigegeben

Was versteht man unter einem Prozessscheduler?

Komponent, welcher entscheidet, welcher Prozess als nächstes CPU-Zeit zugewiesen bekommt

Ablauf:

1) Scheduler Aktivierung (Durch Blockierung eines aktiven Threads)

2) Auswahlstrategie (Priorisierte, Zeitbasierende)

3) Zuteilung oder Entzuung von CPU-Zeit

Was ist ein Thread Control Block (TCB)

- Jeder Thread hat einen eigenen TCB, wie bei den Prozessen PCB

- Scheduler speichert und lädt TCB bei Kontextwechsel

- CPUs greifen auf TCBs zu, um den Zustand zu wechseln

Was passiert bei einem Kontextwechsel (Content Switch)?

Das ist der Wechsel des Prozessors von einem Prozessor oder Thread zu einem anderen.

 

Dabei wird der komplette Zustand des alten Prozesses (PCB) gespeichert und der Zustand des neuen Prozesses (PCB) geladen.

Was macht die Scheduleraktivierung?

Wann wird die letzte Scheduling-Entscheiden überprüft?

1)  Prozess/Threaderzeugung

2) Threadterminierung / Blockierung -> Ein Prozessor wird frei

3) Ereigniseintritt -> Thread wird rechenbereit 

4) Wechsel von Prioritäten 

5) Periodisch

Was ist das First Come, First Served-Verfahren?

- Einfaches FIFO Verfahren

- Threads werden in der Reihenfolge ihrer Ankunft abgearbeitet

- Arbeiten durch bis Sie warten müssen

Vorteile:

- einfach, schnell, geringer Kontextwechsel

Nachteile: 

- Lange Prozesse können kurze blockieren -> Convoy Effekt

Was ist das Shortest Remaining Time Next- Verfahren?

- Nächster Thread ist der mit der kürzesten Verbleibenden Rechenzeit
- Preemptiv: Aktiver Thread kann unterbrochen werden
- Voraussetzunge: Schätzung der Restzeit ist vorhanden

Vorteil: minimale durschnittliche Wartezeit,

Nachteile: Schwere Vorhersehbarkeit, Gefahr von Aushungerung von langen Prozessen

Was ist das Round Robin-Verfahren?

- Wird bei interaktiven Systemen eingesetzt

Jeder Thread bekommt eine Zeitscheibe (20-50ms) Time Slicing
-  Nach Ablauf der Zeit -> Kontextwechsel zum nächsten Thread

-Grösse der Zeitscheibe (in ms)
  - Klein: Hohe Reakitvität, viel Overhead

  - Gross: wenig Overhead, trägigkeit

Was versteht man unter Prioritäten-Scheduling?

Jeder Thread erhält einen Prioritätenwert, welcher ihre wichtigkeit ausdrückt.

- Niedrige Priorität-> Hintergrunddienste (Demons), Wartungsaufgaben

- Hohe Priorität -> Auf Benutzereinagben reagierende Threads (GUI) -> Auf Aufträge reagierende Threads (in Server)

 

Idee: 

1) Jeder Thread erhält einen Prioritätenwert
2) Threads mit höheren Prioritäten erhalten CPU-Zeit

3) Falls Gleichstand -> Round Robin unter gleichen Priorität

Was sind ideale und was sind reale Speichermedien?

ideale: -> beliebig schnell und gross. Billig und persistent (Speichern Daten ohne andauernde Energiezufuhr)
reale -> schnell, teuer, flüchtig (RAM). langsam, preiswert, persistent (HDD, SSD). Es gibt eine Vielzahl von Schattierungen dazwischen

 

Was versteht man unter Speichermanagement?

- Management der Speicherhierachie

- Aufgabe des OS

- RAM -> HDD, SSD...

Was sind die Merkmale des physischen Arbeitsspeichers (RAM) in den 50er Jahren?

Merkmale:

- extrem einfaches Speichermanagement (fester Adressbereich für eine einzelne Anwendung)

- Keine Hardware unterstützung (z.B. kein MMU)

- Betriebssystem ist Bibliothek

- Zu jedem Zeitpunkt läuft nur ein Programm im Adressbereich -> Absolute Adressen

Was sind die Merkmale des physischen Arbeitsspeichers (RAM) in den 60er Jahren?

Merkmale:

- einfaches Speichermanagement (Freiliste, first-fit oder best-fit vergabe)

- parallele Prozesse (nicht nur ein Prozess im gesamten Adressbereich)

 

Negativ:

- Verletzbarkeit -> Zugriff auf Speicherbereiche durch fremde Prozesse

- Enge -> Nicht mehr so viel Adressbereich für einzelnen Prozess

- Komplexität -> Wachsen von Prozessen problematisch (nicht virtueller Speicher)

 

Was versteht man unter Relokation?

- Platzieren eines Prozesses an einer beliebigen Speicheradressse) Code denkt, dass er bei 0 startet

- Verschieben von Prozessen zwecks Vergrösserung/Speicherbereinigung (Defragmentierung z.B.)

- Prozesse müssen nicht mehr an festen Speicheradressen starten (0), sie können irgendwo im RAM liegen

- Compiler/Linker erzeugt relative Adresse (z.B. 10), welche relativ zur Speicheradresse (0) ist. 

- Beim Anlegen/Verschieben eines Prozesses werden markierte Adressen aktualisiert -> tatsächliche Adresse = relative Adresse + Prozessanfangsadresse

 

 

Erreicht:

- Anlegen eines Prozesses an beliebiger Adresse

- Verschiebbarkeit

Was ist Swapping?

Ziel: 

- Beseitigung der Enge durch Schaffung von freiem Arbeitsspeicher durch Auslagerung von Prozessen

- Prozess wird dabei komplett aus dem RAM entfernt um Platz für einen anderen Prozess zu schaffen

- Der Status geht dabei auf "suspended"

Negativ:

- Prozesswechsel werden teuer -> Aus/Einlagerungszeiten -> Relokation bei wiedereinlagerung an neue Adresse

- Der pro Prozess adressierbare Speicher wird nicht grösser durch Swapping (Limitiert durch physische Arbeitsspeichergrösse)

Voraussetzung für Swapping: 

- Der Prozess muss beim einlagern nicht wieder am gleichen Bereich liegen (Kann irgendwo angehangen werden)