• Keine Ergebnisse gefunden

IV.3.1 Aufgaben eines Betriebssystems

N/A
N/A
Protected

Academic year: 2022

Aktie "IV.3.1 Aufgaben eines Betriebssystems"

Copied!
28
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

IV.3 Betriebssysteme

IV.3 Betriebssysteme

IV.3 Betriebssysteme

(2)

IV.3.1 Aufgaben eines Betriebssystems

z Starten und Beenden des Betriebs des Rechners.

z Programme laden und beenden

.

z Verwaltung des Arbeitsspeichers bei Nutzung durch mehrere Programme.

z Zuteilung des Prozessors an laufende Programme.

z Bereitstellung der Programme (Dienste) zum Transport von Daten zwischen dem Speicher und Ein/Ausgabegeräten.

z Verwaltung des externen Speichers (Festplatten) z Überwachung von Berechtigungen

& Vestecken der Komplexität und genauen Eigenschaften der

Hardware vor den Anwendungen (Bereitstellen einer Anwendersicht) durch Bereitstellen von Diensten.

& Betriebsmittelverwaltung (Betriebsmittel = Speicher, Platte, Drucker,

Netzwerk, Anzeige, Sound …)

(3)

Betriebssystem versus Benutzeroberfläche

Meist werden Benutzeroberflächen mit dem Betriebssystem

identifiziert, weil es durch sie für den Benutzer in Erscheinung tritt.

Das Betriebssystem

z stellt elementare Dienste zur Programmierung bereit z bietet eine abstrakte Schnittstelle zur Hardware.

z Verwaltet Betriebsmittel

Die Graphische Benutzeroberfläche

z Stellt eine komfortable Schnittstelle zu den

Anwendungsprogrammen und Systemdiensten bereit

z Setzt Dienste bildlich um (z.B. Mülleimer, Verschieben von Dateien) z Desktop Metapher (Nachbildung eines Schreibtisches)

(4)

IV.3.2 Prozessorverwaltung und Zuteilung

Prozesse (

Prozesse (TasksTasks)) sind Programme, die als Rechenlast vom Betriebssystem verwaltet werden. Wenn man als Benutzer ein Programm startet, so erzeugt man (mindestens einen) neuen Prozess.

Eigenschaften von Prozessen:

Prozesse stehen für „in Ausführung befindliche Programme“

Sie haben einen Zustand, und werden durch einen Kontext beschrieben. (Prozesskontrollblock)

Sie arbeiten auf einem eigenen Teil des Speichers, auf den kein anderer Prozess (ausser das Betriebssystem) zugreifen kann. Oft sehen sie den ganzen Adreßraum als virtuellen Speicher (s. IV.3.3) Sie kommunizieren mit anderen Prozessen durch Nachrichten

(überbracht durch das Betriebssystem)

Sie können unterschiedliche Prioritäten und Berechtigungen haben.

Viele Systemdienste sind selbst laufende Prozesse

(5)

Prozesse -- ff

Prozesse werden in folgenden Zuständen verwaltet.

Prozesskontrollblock:

Zustandsübergänge

running

ready suspended

create

plan

exit

interrupt

suspend

resume Startadresse

ProzessID

Zustand + Kontrollinfos

Kontext

Der Systemkern realisiert die entsprechenden Zustandsübergänge.

Zu den Zuständen “ready” und “suspended” verwaltet der Kern eine oder mehrere Warteschlangen, je nach bereitgestellten

Mechanismen zu Ablaufplanung und Synchronisation.

(6)

Prozessverwaltung

Zu den Aktionen:

create: Erzeugt einen Prozess und reiht ihn in die entsprechende ready queue ein. Häufig hat man eine feste Prioritätshierarchie (0-32) und zu jedem

Prioritätswert eine Warteschlange.

exit: Systemaufruf zum Beenden. Der Prozess wird aus der Prozessverwaltung entfernt.

interrupt: Unterbrechung des Prozesses

asynchron: von aussen eingehende, nicht maskierte Unterbrechung synchron: vom Prozess per Befehl ausgelöst (Trap)

suspend: ein laufender Prozess wird wegen Unterbrechung suspendiert, oder suspendiert sich per Systemaufruf selbst (Warten auf ein Ereignis,

Ein/Ausgabe …). Er wird in die Warteschlange eingereiht, die alle suspendierten Prozesse hält.

resume: Bei Eintreten eines Ereignisses, das eine Suspendierungsursache

aufhebt oder ändert werden suspendierte Prozesse geprüft, und ggf. wieder der ready Warteschlange zugeführt.

(7)

IV.3.3 Speicherverwaltung

z Adressraum von heutigen Rechnern ist sehr groß ! z Bei Busbreite n sind 2n Speicherzellen adressierbar ! z ... soviel Hauptspeicher kann man nicht bereitstellen !

13⋅1012 1,8⋅1019

64

3.250 € 4,3⋅109

32

-- 65536

16

Kosten bei 25 € / 32 MByte

adressierbare Speicherzellen Busbreite

(8)

Benutze Festplatte als virtueller Speicher

zz BenutzersichtBenutzersicht

~ Programm und alle Daten befinden sich im Hauptspeicher, sofern der Adressraum nicht ausgeschöpft ist.

zz Die WirklichkeitDie Wirklichkeit

~ multi-user System, d.h. nicht jedem Benutzer kann der ganze Hauptspeicher zur Verfügung stehen.

~ Programme werden nicht für einen spezifischen 32-Bit Rechner mit maximaler Hauptspeichergrösse geschrieben. Sie sollen auch auf 32-Bit Rechner mit kleinerem Hauptspeicher lauffähig sein.

zz AuswegAusweg

~ Benutze die Festplatte, um die "Hauptspeicherdaten" eines Prozesses zu speichern, die aufgrund von Kapazitätsgründen nicht im vorhandenen Hauptspeicher liegen können.

(9)

Verwaltung des virtuellen Adressraumes

z Jedem Prozess steht ein virtueller Adressraum zur Verfügung z Diese virtuellen Adressräume werden von dem Betriebssystem

verwaltet. Fragen:

~ Welche Daten bzw. Programmteile werden im Hauptspeicher gehalten ?

~ Welche Daten werden ausgelagert, wenn neue Daten benötigt werden ?

z In diesem Zusammenhang werden die Konzepte

~~ PagingPaging

~~ SegmentierungSegmentierung angewandt.

(10)

Paging

Grundidee Grundidee

z Der virtuelle Speicher wird auf dem Sekundärspeicher abgelegt z ... und in SeitenSeiten (pages)pages fester Grösse unterteilt.

z Der Hauptspeicher besteht aus SeitenrahmenSeitenrahmen (page framespage frames), die jeweils eine Seite aufnehmen können

z Eine SeitentabelleSeitentabelle (page tablepage table) gibt an, welche Seitenrahmen durch welche Seiten belegt sind.

(11)

Paging ff

virtueller Adressraum

Hauptspeicher

valid bit Seitenadresse

pagetable

Haupt- speicher

HDD

1 1 0

0 Disk - Adressen

Speicheradressen

Seitentabelle (liegt im Hauptspeicher)

Zahlenbeispiele:

Zahlenbeispiele:

Bei einem virtuellen Adressraum vom 28 Bit (256MB) hätten wir bei

Pagegröße 2 KB -> 11 Bit offset und 17 Bit Pageadresse, ergibt 17 bit Adressraum zu 3 Byte = 384KB Pagetable

Pagegröße 16 KB -> 14 b offset und 14 Bit Pageadresse, ergibt 14 bit Adressraum zu 2 Byte = 32KB Pagetable

(12)

Paging: Zugriff auf Datenseite i

Überprüfe, ob die Datenseite i im Hauptspeicher liegt;

if Seitenfehler

then Überprüfe, ob ein Seitenrahmen im Hauptspeicher leer ist;

if kein Seitenrahmen leer

then Verdränge eine Seite aus dem Hauptspeicher und aktualisiere die Seitentabelle;

fi;

Schreibe die Datenseite i in einen freien Seitenrahmen;

Aktualisiere die Seitentabelle;

fi;

Greife auf Seite i im Hauptspeicher zu;

(13)

Verdrängungsstrategien

zz LFU-LFU-StrategieStrategie (Least Least Frequently Used)Frequently Used

Verdränge die Seite aus dem Hauptspeicher, auf die seit ihrer Einlagerungszeit am seltensten zugegriffen wurde

zz LRU-LRU-StrategieStrategie (Least Least Recently UsedRecently Used)

Verdränge die Seite, auf die am längsten nicht zugegriffen wurde.

zz FIFO-FIFO-StrategieStrategie (First In, FirstFirst In, First Out)Out

Verdränge die Seite, die am längsten im Hauptspeicher liegt

Kleiner Verwaltungsaufwand, da nur bei einem Seitenfehler etwas getan werden muss.

(14)

Segmentierung

Unterteilung des virtuellen Speichers in Segmente unterschiedlicher Grössen

z Zum Beispiel ein Segment für

~ den Programmcode

~ den Stack

~ die statischen Variablen

~ ....

z Falls ein angefordertes Segment nicht im Hauptspeicher ist:

segment

segment faultfault

z Das Betriebssystem kann dafür Sorge tragen, dass bestimmte Segmente dauernd im Hauptspeicher liegen und nicht verdrängt werden können.

(15)

Fragmentierung

Beim reinen Paging hat man das Problem, dass man stets eine

komplette Seite benutzen muss, auch wenn man nur ein Byte weiteren Speicher braucht.

Es gibt unausgelastete Seiten (innere Fragmentierung)

Segmentierung ist in dieser Hinsicht flexibler, vertagt aber das Problem auf die Festplatte. Wird ein Segment angefordert, muss dazu ein Stück auf der Festplatte benutzt werden, in das das Segment passt. Bei der Freigabe des Segments entstehen dann Lücken, die erst dann wieder gefüllt werden können, wenn ein Segment kleinerer oder gleicher

Grösse angefordert wird (äussere Fragmentierung).

(16)

IV.3.4 Verwaltung des Hintergrundspeichers

Beispiel: MSDOS

Die Festplatte ist nach dem Formatieren logisch unterteilt in z den SystembereichSystembereich bestehend aus

~ dem UrladerbereichUrladerbereich (BootBoot block): Spur 0, Seite 0, Sektor 1block

~ der DateizuordnungstabelleDateizuordnungstabelle (File allocation blockFile allocation block): Adresse (Spur, Seite, Sektor) = (0,0,2) bis (0,0,4)

~ dem DateiverzeichnisDateiverzeichnis (directory): Adresse (0,0,5...9) und directory (0,1,1...2)

z den DatenbereichDatenbereich: ab Adresse (0,1,3)

(Spur 0 ist die äussere Spur einer Festplatte)

Der Urladerbereich besteht aus einem kurzen Programm (Länge kleiner als 512 byte), das nach dem Einschalten des Rechners vom BIOS

(Basic I/O System) geholt wird, und dann den Prozess zum Laden des Betriebssystems in den Arbeitsspeicher aktiviert.

(17)

Dateizuordnungstabelle bei MS-DOS

Dateien werden in untereinander verketteten Sektoren gespeichert.

Î zu jedem Sektor muß demnach

~ Zylindernummer

~ Seitennummer (d.h. welche Stapeloberfläche)

~ Sektornummer

des nächsten zu dieser Datei gehörigen Sektors aufbewahrt werden.

z In der FAT (FFile AAllocation Table)T gibt es für jeden Sektor einen Eintrag, der anzeigt, ob

~ der Sektor frei, belegt oder schadhaft ist,

~ in einem belegten Sektor die Adresse des nächsten Sektors der Datei enthält, oder die Information, dass die Datei keinen

weiteren Sektor mehr belegt.

(18)

Dateizuordnungstabelle

Man erkennt, dass die FAT sehr groß werden kann, wenn man viele Sektoren hat. Sie muss vom Betriebssystem in den Hauptspeicher geladen werden und kann mehrere Mb gross werden. Wird ein Rechner einfach ausgeschaltet, kann sie inkonsistent sein.

Andererseits möchte man möglichst kleine Sektoren haben, um nicht zuviel Verschnitt beim Ablegen von Dateien zu erhalten.

Wähle einen Kompromiss (512 Byte bis 2 KB pro Sektor)

(19)

Das Dateiverzeichnis bei MS-DOS

Hier werden für jede Datei neben verschiedenen Attributen die Adresse des ersten Sektors der Datei hinterlegt.

Länge der Datei x1C-x1F

Adresse des ersten Sektors x1A-x1B

Datum des letzten Schreibzugriffs x18-x19

Uhrzeit des letzten Schreibzugriffs x16-x17

Reserviert für MSDOS-Erweiterungen x0C-x15

Schreibschutz, versteckt, ...

x0B

Kennung (z.B. .txt, .exe, .com) x08-x0A

Dateiname oder not valid x00-x07

Information Byte

(20)

IV.3.5 Das Netzwerk

Die Verbindung von Rechnern durch ein Netzwerk spielt heute eine zentrale Rolle. Zum Netzwerk gehören neben der rein physischen Verbindung die Dienste und die Infrastrukturen:

B-ISDN

34 Mbit/s 155 Mbit/s

Token Ring

Ethernet Subnet

(Telekom)

2 Mbit/s

10 Mbps 4Mbps

4 Mbit/s

Token Ring

4 Mbit/s

Token Ring

Datenpakete

Virtuelles Netz

(21)

IV.3.6 Referenzmodelle

Um von den Mechanismen des eigentlichen Transports von Daten seitens der Anwendung weitgehend zu abstrahieren, hat man ein Schichtenmodell von „Softwareschichten“ entwickelt und

standardisiert.

Die benötigten Funktionen werden Schichten zugeordnet, und zwar so, dass alle Funktionen der Schicht i+1 über Funktionen der Schicht i

implementiert werden können.

Dies erleichtert das Zusammenstellen aller Funktionen und den

Austausch einer Schicht durch eine alternative Implementierung, da Art und Umfang der Funktionen durch einen Standard vorgegeben sind.

Als Beispiel wollen wir das TCP/IP (Transmission Control Protokoll/

Internet Protokoll) Referenzmodell betrachten:

(22)

Das TCP/IP Referenzmodell

Anwendungsschicht

(Application Layer)

Transportschicht

(Transport Layer)

Internetschicht

(Internet Layer)

Netzwerkschicht

(Network Layer)

Oberste Protokolle, wie Telnet (virtuelles Terminal), SMTP (Email), FTP (FileTransfer), HTTP (Hypertext Transfer Protocol)

Transportprotokolle wie TCP. TCP ist ein zuverlässiges End zu End Protokoll zur fehlerfreien Übertragung von Byteströmen zwischen zwei Rechnern.

Definiert das IP Protokoll. Schnürt Pakete und stellt sie dem Adressaten zu. Das Routing der Pakete spielt hier eine wichtige Rolle.

Legt die eigentliche physische Übertragung fest, und welche Protokolle dazu zu benutzen sind. (Ethernet IEEE802.3, Serial Line IP

SLIP)… In diesem einfachen Referenzmodell unterscheidet man z.B. nicht zwischen

Bitübertragung und Sicherung.

(vgl ISO/OSI Modell: 7 Schichten)

(23)

Übertragungstechniken

Bei der Datenübertragung unterscheidet man zwei Vermittlungsarten:

z Paketvermittelnde Übertragung

~ Nachricht wird in ein oder mehrere Pakete verpackt

~ Jedes der Pakete enthält die Adresse des Empfängers

~ Es wird kein direkter Übertragungsweg vom Sender zum Empfänger freigeschaltet

~ Das Paket wird in Abhängigkeit der Empfängeradresse immer nur zu einem direkten Nachbarn geschickt.

z Leitungsvermittelnde Vermittlung

~ Es wird im Netzwerk ein (virtueller) direkter Übertragungsweg vom Sender zum Empfänger geschaltet, über den alle

Nachrichten geschickt werden (Bsp: Telefonverbindung)

(24)

Leitungsvermittelnde Übertragung

Sender 1 Sender 1

Sender 2 Sender 2

Sender 3 Sender 3

Empfänger 1 Empfänger 1

Empfänger 2 Empfänger 2

Empfänger 3 Empfänger 3

& Schnelle Übertragung grosser Datenmengen in

Echtzeit.

' Geschalteter Pfad blockiert andere Verbindungen

(25)

Paket-vermittelnde Übertragung

Sender 1 Sender 1

Sender 2 Sender 2

Sender 3 Sender 3

Empfänger 1 Empfänger 1

Empfänger 2 Empfänger 2

Empfänger 3 Empfänger 3

& Keine Verbindung muss lange warten

' Unterbrechungen während einer Übertragung möglich

(26)

Beispiele Übertragungstechniken: Ethernet

Charakteristika Charakteristika

z Bus-Topologie (alle Teilnehmer hängen an einem phys. Medium) z 10 - 100 Mbit / Sekunde

z Paket-Versand mit Paketgrößen von 64-1518 Bytes z Nicht abhörsicher: alle hören mit !

z (Lokales) Rechnernetz über eine BridgeBridge mit der Aussenwelt verbunden, die die Nachrichten filtert und verstärkt

ÜbertragungsvorgangÜbertragungsvorgang

z Nachrichten werden in Pakete fester Länge zerteilt. Jedes Paket enthält HeaderinformationHeaderinformation mit Zieladresse und Sequenznummer z Jeder Rechner horcht am Bus und empfängt die Pakete, die seine

Adresse tragen

z Kollisionen von mehreren Sendern werden erkannt.

z Falls Kollision, dann später erneuter Sendeversuch

(27)

Beispiel: Token-Ring

[Token Passing Ring Network]

Charakteristika Charakteristika z Ring-Topologie

z bis 16 Mbit / Sekunde (Token-Ring von IBM) z Paket-Versand mit fester Paketgrößen

z Nicht abhörsicher: viele hören mit !

z (Lokales) Rechnernetz über eine BridgeBridge mit der Aussenwelt verbunden, die die Nachrichten filtert und verstärkt

ÜbertragungsvorgangÜbertragungsvorgang

z Nachrichten werden in Pakete fester Länge zerteilt. Jedes Paket enthält HeaderinformationHeaderinformation mit Zieladresse und Sequenznummer z Pakete werden solange weitergereicht, bis Zieladresse mit der

eigenen übereinstimmt

z Es kreist ein sogenanntes TokenToken (spezielles Paket)

z Ein Rechner darf nur dann senden, wenn er das Token besitzt

(28)

Beispiel: CDDI/FDDI-Ring

[Copper / Fiber Distributed Data Interconnect]

Charakteristika Charakteristika

z Ring-Topologie

z 100 Mbit / Sekunde

z Besteht aus zwei gegenläufigen Ringen

→ FehlertolerantesFehlertolerantes NetzNetz z ... ansonsten wie beim Token-Ring

Referenzen

ÄHNLICHE DOKUMENTE

Fachbereich Mathematik und

- für Entwickler systemnaher Programme (Tiefes Verständnis gegebener Betriebssysteme ist zur Abstimmung der Programme auf das Betriebssystem notwendig).

1) Prozessor hat soeben Bearbeitung eines Befehls beendet, im Befehlszähler steht die Adresse des Folgebefehls, übrige Register enthalten für nachfolgende Befehle benötigte Daten. 2)

Zeigen Sie, dass sich auch die Bilder dieser Geraden im Punkt f(z 0 ) im rechten Winkel schneiden. Ubungsklausur ¨ Zur Teilnahme an der ¨ Ubungsklausur am Samstag, den 02.07.2011,

Die übrigen Lösungen sind nicht ganzzahlig, nähern sich aber für große u ganzen Zahlen an.. Für eine gerade Anzahl g von Zahlen haben wir keine ganzzahlige

Hinzu kommen vor oder nach dem genannten Zeitraum 19 weitere Patienten: 16 mit einem Spätrezidiv nach 4 Jahren und 3 mit einem Rezidiv mindestens 2 Jahre nach der

Er hat dafür Sorge zu tragen, dass Tierseuchenerreger weder in den Bestand hinein, noch innerhalb des Bestandes verschleppt werden.. Dafür hat er sich mit der nötigen

Was passiert, wenn die Erziehungsberechtigten den Weg ihres Kindes nicht unter- stützen wollen oder dazu nicht in der Lage sind. Viele Erziehungsberechtigte sind überfordert mit