KE_01 Flashcards Preview

Hagen_1801 > KE_01 > Flashcards

Flashcards in KE_01 Deck (50):
1

Was ist ein Betriebssystem?

Das Betriebssystem bildet die Schicht zwischen Hardware und Benutzer und deren Anwendungsprogrammen und ist somit deren Vermittler.

2

Welche Schnittstellen gibt es vom Betriebssystem?

1. Benutzerschnittstelle (für die Kommunikation der Benutzer mit dem Betriebssystem)
2. Programmierschnittstelle (für die Kommunikation der Programme mit dem Betriebssystem)

3

Drei Ursachen für Computerverbreitung?

1. Hardware preiswert und schnell
2. Betriebssystem verwaltet Hardware
3. Vernetzbarkeit

4

Was war von Neumanns Idee?

Das auszuführende Programm ist nicht mehr ein fester Bestandteil des Rechners; es wird vielmehr - genau wie die benötigten Daten - vor dem Programmlauf in den Speicher des Rechners geladen und hinterher wieder entfernt.

5

Was sind die wesentlichen Bestandteile eines modernen von-Neumann Rechners?

1. Der Prozessor (CPU)
2. Hauptspeicher (Main Memory)
3. Ein-/Ausgabegeräte (I/O devices)

6

Wofür ist ein Betriebssystem zuständig?

Planung der CPU-Zeit, Verwaltung des Hauptspeichers und Steuerung der Ein-/Ausgabegeräte

7

Was enthält das Befehlszählregister?

Das Befehlszählregister in der CPU enthält die Adresse von derjenigen Speicherzelle, in der der Code des nächsten auszuführenden Befehls steht.

Also einfach die Adresse des nächsten auszuführenden Befehls

8

Was machen die verschiedenen Busse?

Der Adressbus adressiert die Daten, wo sie z.B im Arbeitsspeicher abgelegt sind, der Steuerbus steuert die Daten die geschickt werden, damit sie richtig ankommen und der Datenbus...In diesem Bus werden die Daten geschickt.

9

Wie arbeitet die CPU und was sind 1 MHz?

Die CPU arbeitet getaktet. Pro Arbeitstakt können gewisse Elementarbefehle ausgeführt werden. 1 MHz = 1.000.000 Schwingungen pro Sekunde

10

Die CPU arbeitet....?

...zyklisch und in zwei Phasen.

Holphase: Der nächste Befehl wird in das Befehlsregister aufgenommen. Der Befehlszähler wird inkrementiert

Ausführungsphase: Der Befehl wird dekodiert und anschließend ausgeführt. Dabei kann auch der Befehlszähler veränder werden (Sprungbefehl)

11

Zwei wichtige CPU-Register?

1. Befehlszähler: Adresse des nächsten Befehls

2. Befehlsregister: enthält den gerade auszuführenden Befehl

12

Welche Strategien gibt es für die Bearbeitung von Aufträgen?

1. FCFS (first-com, first-served) bearbeitet die Aufträge in der Reihenfolge ihres Eingangs

2. SSTF (shortest-seek-time-first) bearbeitet jeweils denjenigen Auftrag als nächsten, dessen Spur der momentanen Position des Schreib-/Lesekopf am nächsten liegt

3. SCAN bewegt den Kopf abwechselnd von außen nach innen und von innen nach außen über die gesamte Platte und führt dabei die Aufträge aus, deren Spuren gerade überquert werden.

13

Wie erfährt die CPU davon, wenn der Leseauftrag ausgeführt ist und der gewünschte Block im internen Puffer des Controllers bereitliegt?

1. Abfragebetrieb (Polling) - Ich schaue jede Minute aus dem Fenster

2. Unterbrechungsbetrieb (Interrupt) - z.B. wenn der Postbote klingelt

14

Was ist der Unterschied zwischen Hardware und Software-Unterbrechungen?

Hardware: Unterbrechung kommt von externen Ereignis, z.B. Ein-/Ausgabegeräte. Nicht reproduzierbar.

Software: Kommt durch den laufenden Prozess, z.B. durch einen Befehl, also Ausführung von einem Systemaufruf oder eine Division durch Null. Reproduzierbar.

15

Was passiert bei einer Unterbrechung?

Jede CPU besitzt einen besonderen Eingang für Unterbrechungen. Entdeckt die CPU ein Unterbrechungssignal, rettet sie den Inhalt des Befehlszählregisters und lädt dann die Anfangsadresse einer allgemeinen Prozedur zur Unterbrechungsbehandlung (interrupt handler)

16

Was ist ein Prozess und was gehört zum Prozess?

Ein Prozess ist ein Programm in Ausführung.

Zu einem Prozess gehören:
1. Programmsegment
2. Datensegment
3. Stack
4. Prozesskontext

17

Woraus besteht der Prozesskontext?

1. Registerinhalte, insbesondere Befehlszähler
2. Grenzen des Adressraums
3. Prozessnummer
4. Prozesszustand
5. Priorität für Scheduling

Der Prozesskontext wird im Prozesskontrollblock (PCB) gespeichert.

18

Welche Prozesszustände gibt es?

bereit, blockiert und rechnend

1. Bereit: der Prozess bewirbt sich mit den übrigen bereiten Prozessen um die Zuteilung der CPU

2. Blockiert: der Prozess wartet darauf, dass seine Ein/-Ausgabeanforderung erledigt wird oder dass ein anderes Ereignis eintritt

3. Rechnend: das ist der Prozess, dessen Programm gerade von der CPU ausgeführt wird.

19

Was ist ein nicht-präemptives System?

Die Prozesse geben die CPU freiwillig zurück.

20

Was ist ein präemptives System?

Das System entzieht einem Prozess die CPU

21

Wie unterscheide ich Präemptive und nichtpräemptive Verfahren?

Man unterscheidet präemptive (von englisch preemptive, ‚vorwegnehmend‘) Verfahren von kooperativen:

1. Ein kooperatives Scheduling-Verfahren übergibt einem Prozess die benötigten Ressourcen und wartet, bis der Prozess diese Ressourcen wieder freigibt bzw. bis er vollständig abgearbeitet ist und dadurch die Ressourcen wieder freigibt.

2. Ein präemptives Verfahren dagegen kann dem Prozess Ressourcen bereits vor der Fertigstellung wieder entziehen, um sie zwischenzeitlich anderen Prozessen zuzuteilen. Der Prozess wird dabei in seiner Ausführung unterbrochen (er geht in den Zustand ‚bereit‘ über) und verharrt dort, bis ihm durch den Scheduler erneut Ressourcen zugeteilt werden.

22

Wie greift der Prozessor auf den Hauptspeicher zu?

Über den Daten- und Adressbus.

1. Das Befehlszählregister enthält die Adresse des nächsten auszuführenden Befehls

2. Um auf diese Speicherzelle zugriefen zu können, wird die Adresse in das Speicheradressregister übertragen

3. Ab hier gelangt es auf den Adressbus. Hierdurch wird die entsprechende Zelle des Hauptspeicher angesprochen

4. Der Inhalt wird dann über den Datenbus in das Speicherinhaltsregister des Prozessors übertragen

5. In dem Beispiel stellt das Wort einen Befehl dar und wird daher in das Befehlsregister kopiert

23

Welche Anforderungen gibt es an die Hardware?

Ein Betriebssystem muss die Kontrolle über das ganze System behalten.

1. Unterbrechung --> Aktivierung vom Betriebssystem
2. Zeitgeber --> CPU-Zeit-Aufteilung
3. Speicherschutz --> Speicherverwaltung
4. Privilegierte Befehle --> Systemmodus und Benutzermodus

24

Wie werden Speicher und Geräte geschützt?

Durch System- und Benutzermodus.

Einem Benutzerprogramm ist es nicht gestattet, auf beliebige Teile des Hauptspeichers oder Sekundärspeicher zuzugreifen.

Es gibt einen Schutzmechanismus. Alle Anwendungsprogramme laufen im Benutzermodus. Bestimmte privilegierte Maschinenbefehle können aber nur im Systemmodus ausgeführt werden.

25

Wie ist der Prozess bei der Unterbrechungsbehandlung?

1. Zuerst wird festgestellt, welches Gerät die Unterbrechung auslösen will. Dafür gibt es einen Unterbrechungs-Controller, der die Unterbrechungsanforderungen der Geräte verwaltet.

2. Die Nummer i des Geräts, das die Unterbrechung wünscht, wird nun als Index für den Unterbrechungsvektor verwendet.

3. In diesem Array enthält die Position i die Startadresse der speziellen Unterbrechungsroutine für Gerät Nummer i

4. Diese Adresse wird dann in das Befehlszählregister geladen und die spezielle Unterbrechungsroutine wird gestartet

26

Was macht der CPU-Scheduler?

Er entscheidet, welcher der bereiten Prozesse als nächster rechnen darf.

27

Warum laufen mehrere Prozesse scheinbar gleichzeitig?

Der Eindruck von Gleichzeitigkeit entsteht dadurch, dass der Scheduler in schnellem Wechsel jedem bereiten Prozess ein gewisses Quantum an Rechenzeit zukommen lässt.

Die Umschaltung zwischen den Prozessen erfolgt so schnell, dass die Unterbrechungen nicht spürbar werden.

28

Was wird mit der Zeitscheibe gemacht?

Wenn ein bereiter Prozess rechnend gemacht wird, weist der Scheduler ihm eine Zeitscheibe (time slice) an Rechenzeit zu;

Ihre Dicke kann von der Priorität des Prozesses abhängen oder davon, wie viel Rechenzeit der Prozess insgesamt schon verbraucht hat

29

Was macht der Zeitgeber?

Ein Zeitgeber (timer) wacht darüber, dass der Prozess
sein Quantum nicht überschreitet;

Oft ist dafür ein eigener Chip im Rechner vorhanden, der an den Takt der CPU angeschlossen ist.

30

Wo wird der Prozesskontext gespeichert?

Der Prozesskontext wird im Prozesskontrollblock (PCB) gespeichert.

31

Was gibt es beim Prozesswechsel zu tun?

SiWaBe AuWiReturn

1. Sichern der Information über den bisher rechnenden Prozess in den PCB

2. Einfügen des Prozesses in die entsprechende Warteschlange (bereit, blockiert)

3. Behandeln der Unterbrechung, die den Prozesswechsel verursacht hat

4. Auswählen des nächsten rechnenden Prozesses

5. Wiederherstellen des alten Zustands des ausgewählten Prozesses

6. Ausführen des Befehls "return from Interrupt" für die Umschaltung des Systemmodus in den Benutzermodus

32

Was macht der Dispatcher?

Sichern und Wiederherstellen des Zustands eines Prozesses.

Der Dispatcher führt den eigentlichen Kontextwechsel durch. Der Scheduler legt die Strategie für die Rechenzeitvergabe fest.

33

Wie kann man das Umschalten zwischen Prozessen bezeichnen?

Kontextwechsel (context Switch)

34

Welche Scheduling Strategien gibt es?

1. First-Come, First-Served (FCFS): fair, einfach zu implementieren

2. Shortest Job First (SJF): minimiert die Gesamtwartezeit, einfach zu implementieren, leidet unter Starvation

3. Round Robin: fair, einfach mit einem Timer zu implementieren, Problem mit der Auswahl der Größe der Zeitscheibe

35

Was macht round Robin?

Es ordnet mehreren konkurrierenden Prozessen begrenzte Ressourcen zu.

Das Round-Robin-Verfahren gewährt allen Prozessen nacheinander für jeweils einen kurzen Zeitraum – einen sogenannten Zeitschlitz – Zugang zu den benötigten Ressourcen;

36

Was für Probleme gibt es mit der Auswahl der Zeitscheibe?

1. Zeitscheibe zu groß: wie Strategie FCFS, benachteiligt die interaktiven Prozesse und blockiert

2. Zeitscheibe zu klein: der Prozessor beschäftigt sich zu viel mit der Prozessumschaltung und zu wenig mit der Prozessausführung.

--> Eine sinnvolle Größe der Zeitscheibe ist ein Wert, der etwas größer als die für eine übliche Interaktion erforderliche Zeit ist.

37

Wie kommuniziert der Prozessor mit einem Gerät?

Die Ein-/Ausgabegeräte sind mit Prozessor und Hauptspeicher über einen Bus verbunden.

Mithilfe des Busses können viele Geräte miteinander kommunizieren.

Ein Protokoll legt fest, welche Nachrichten über den Bus verschickt werden.

38

Sind die Ein-/Ausgabegeräte direkt an den Bus angeschlossen?

Nein, alle Geräte sind über einen Controller angeschlossen. Denn damit muss die CPU nicht alle Geräte selbst steuern. Ansonsten hätte die CPU für die eigentliche Programmausführung zu wenig Zeit.

Beispiele für Controller: Platten-Controller, Druckercontroller, Maus-Controller

39

Woraus besteht ein Gerät?

Aus drei Teilen:
1. Gerätetreiber: Software, befindet sich oft im Betriebssystemkern

2. Controller: elektronische Hardware (enthält aber einen Chip)

3. Gerät: mechanische Hardware

40

Wie steuert ein Betriebssystem ein Gerät?

Indem der Gerätetreiber mit dem Controller kommuniziert.

Der Gerätetreiber kommuniziert also nicht direkt mit dem Gerät.

41

Ein Controller besitzt welche Register?

1. Datenausgangsregister (data-out); hierhin schreibt der Treiber Daten, die für den Controller bestimmt sind;

2. Dateneingangsregister (data-in), in das der Controller Daten schreibt, die für den Gerätetreiber bestimmt sind;

3. Statusregister (status); hier kann der Treiber den Zustand des Geräts abfragen, ob es zum Beispiel noch beschäftigt ist oder ob Daten aus dem
Dateneingangsregister abgeholt werden können;

4. Kontrollregister (control); hier hinterlegt der Treiber Befehle an den Controller, zum Beispiel einen Lesebefehl.

42

Was ist ein virtuelles Gerät?

Gerätetreiber, Controller und das Gerät bilden konzeptuell eine Einheit, die als virtuelles Gerät bezeichnet werden.

43

Was ist die speicherabgebildete Ein-/Ausgabe?

Memory-mapped I/O

Hier geht es um die Kommunikation zwischen CPU und Controller

Die Register des Controllers werden als Teil des Hauptspeichers realisiert. Der auf der CPU laufende Gerätetreiber kann dann die sehr viel schnelleren Prozessorbefehle für den Datenaustausch mit den Controllerregistern verwenden.

44

Wie kann die CPU mit dem Controller kommunizieren?

1. Jedes Register hat eine Ein-/Ausgabe-Portnummer als Adresse, die CPU spricht ein Register eines Gerätes mit seiner Portnummer an:
-- Lese-Befehl: IN REG, PORT
-- Schreib-Befehl: OUT PORT, REG

2. Die zweite Möglichkeit ist die speicherabgebildete Ein-/Ausgabe

45

Wie gelangt ein Datenblock in den Hauptspeicher?

Es gibt zwei unterschiedliche Verfahren:

1. programmierte Ein-/Ausgabe (programmed I/O = PIO): Auslösung einer Unterbrechung durch Controller

2. Direkter Speicherzugriff (Direct Memory Access = DMA): Übernahme der Rolle der CPU. Der DMA Controller kann ohne die CPU selbständig über den BUS Daten in den Hauptspeicher übertragen

46

Wie funktioniert die Arbeitsweise zwischen DMA und Festplatten-Controller?

1. Der Treiber programmiert den DMA-Controller

2. Der DMA-Controller gibt dem Festplatten-Controller einen Lese-Befehl. Controller der Festplatte liest die Daten in den Puffer

3. Controller sendet ein Bestätigungssignal an den DMA-Controller

2. bis 4. Der DMA-Controller veranlasst nun den Festplatten-Controller, die Daten aus dem Puffer wortweise über den Systembus in den vorgegebenen Bereich im Hauptspeicher zu schreiben

5. Danach erzeugt der DMA-Controller eine Unterbrechung und teil der CPU so mit, dass die Daten jetzt im Hauptspeicher vorliegen.

47

Wie kann eine Ein-/Ausgabe realisiert werden?

1. Programm-gesteuerte Ein-/Ausgabe: Polling

2. Unterbrechung-gesteuerte Ein-/Ausgabe: Auslösung einer Unterbrechung durch Controller

3. Ein-/Ausgabe mit DMA: Übernahme der Rolle der CPU

48

Was geschieht bei der Ausführung des zu READ gehörigen Systemaufrufs in einem Prozess P?

1. Es kommt eine E/A-Anforderung
2. Umschaltung von Benutzermodus in Systemmodus
3. Sind die Daten im Cache?
4. Falls nein, schickt die geräteunabhängige E/A Software eine Anfrage zum Treiber und blockiert den Prozess
5. Der Gerätetreiber sendet Kommandos zum Controller, blockiert
6. Der Controller überwacht die Geräte
7. E/A fertig, Daten im Puffer, der Controller erzeugt eine Unterbrechung
8. Der Interrupt-Handler erhält Interrupt, weckt Gerätetreiber
9. Der Gerätetreiber übergibt die Daten an geräteunabhängige E/A Software
10. Die geräteunabhängige E/A Software übergibt die Daten an Prozess oder gibt Fehlermeldung aus

49

Was ist ein parity bit?

Es wird ein bit Prüfinformation hinzugefügt, so dass die Anzahl aller Bits mit dem Wert 1 gerade ist

50

Wie funktioniert ein Booting-Vorgang?

Auch das Betriebssystem selbst ist ein Programm. Wenn der Rechner eingeschaltet wird, steht ein kleiner Teil des Systems – der sogenannte Ur-Lader –in einem speziellen Teil des Hauptspeichers, der seinen Inhalt auch nach Abschalten des Stroms behält. Meist ist der Ur-Lader in einem ROM (read only memory) fest eingebrannt.

Der Ur-Lader lädt zunächst den eigentlichen Lader von der Magnetplatte. Der Lader wird nun gestartet und lädt das Betriebssystem – zumindest seine wesentlichen Teile – in den Hauptspeicher. Dieser Vorgang wird als hochfahren (booting) bezeichnet.