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)