• Keine Ergebnisse gefunden

Vorlesung Betriebssysteme I

N/A
N/A
Protected

Academic year: 2021

Aktie "Vorlesung Betriebssysteme I"

Copied!
4
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Vorlesung Betriebssysteme I

Thema 4: Grundlegende Begriffe, Teil 2 Robert Baumgartl

25. November 2020

1 / 19

Begriffe: Schnittstelle

I beschreibt denstatischenAspekt einer Kommunikationsbeziehung

I Kommunikation über Schnittstelle kann synchron und asynchron erfolgen

I kann in Hardware oder in Software vorliegen Hardwareschnittstellen – Beispiele

I Peripheral Component Interconnect (PCI) I Controller Area Network (CAN)

I InfiniBand

Softwareschnittstellen= Gesamtheit aller nutzbaren Funktionen einer Bibliothek, eines Betriebssystems, einer Middleware (aka API –ApplicationProgrammer’sInterface) Beispiele: POSIX, Win32, Qt-API

2 / 19

Begriffe: Protokoll

I beschreibt dendynamischenAspekt einer Kommunikation (also den Ablauf)

I Beispiele

I Timingdiagramme für das Signalspiel I Semantikbeschreibung von Systemrufen I Präzedenzen für den Aufruf von Funktionen Protokoll und Schnittstelle bedingen einander!

Es gibtproprietäreundoffeneSchnittstellen und Protokolle.

3 / 19

Beispiel für (Teil einer) Protokollbeschreibung Start

read() write()

open()

close()

Abbildung:Typische Präzedenzen bei Funktionen eines Dateisystems

4 / 19

Protokollbeispiel

Kommunikation eines Kunden mit demClerkbei McDonald’s

t

"Hi."

"Hi."

"A Burger."

"Anything else?"

"No"

"Drink?"

"Large Coke."

"Takeaway?"

"No."

{"Hi", "Hello"}

Clerk Customer

{"Burger", "Fries",

"Chicken"}

{"Yes", "No"}

{"Coke", "Fanta", "Sprite"}

{"small", "medium", "large"} x

{"Yes", "No"}

"$4.99"

pay

"Bye."

"Bye."

{"Bye", "Get lost!"}

time

"Whaddaya wanna?"

computation

5 / 19

Aktivitäten und Ressourcen

In einem Rechensystem gibt es zwei Kategorien von grundsätzlichen Objekten

1. Aktivitäten: das, was abgearbeitet wird I Task

I Prozess I Thread I Routine I ...

I (siehe später)

2. Ressourcen: das, was Aktivitäten „zum Leben“ benötigen

6 / 19

1

(2)

Ressourcen

I „alles das, was keine Aktivität ist“

I Aktivitäten konkurrieren um Ressourcen I existieren in allen Schichten eines Systems I Beispiele: Datei, Festplatte, Programmcode,

Hauptspeicherblock

I = Hardware und alle passiven Abstraktionen eines Rechensystems (d. h. auch CPU und Geräte) I besitzen zu jedem Zeitpunkt einen inneren Zustand

(z. B. CPU: Gesamtheit der Inhalte aller Register) I Ressourcen werden durch Aktivitätenangefordert,durch

eine zentrale Instanzzugeteiltund nach Nutzung durch die Aktivitätzurückgegeben(←Protokoll!)

7 / 19

Entziehbare Ressourcen

Def.Eineentziehbare Ressourcekann nach ihrer Zuteilung der Aktivität jederzeit entzogen werden. Der Vorgang ist für die Aktivität transparent.

Ablauf:

1. Aktivität anhalten

2. Zustand der Ressource sichern (z.B. auf Datenträger schreiben)

3. [Ressource anderweitig verwenden]

4. Zustand der Ressource restaurieren 5. Aktivität fortsetzen

Voraussetzung für Entziehbarkeit:

I Zustand der Ressource ist vollständig auslesbar

I Zustand der Ressource kann beliebig manipuliert werden.

8 / 19

Entziehbare Ressourcen - Beispiele

I CPU (Zustand kann in den Hauptspeicher ausgelagert werden)

I Hauptspeicherblock (Zustand kann auf Massenspeicher ausgelagert werden)

I Datei

Die meisten Ressourcen sind nicht entziehbar:

I CPU-Cache I Drucker I Netzwerkkarte

9 / 19

Exklusiv nutzbare Ressourcen

Def.Eineexklusiv nutzbareRessource darf zu jedem Zeitpunkt maximal voneinerAktivität genutzt werden.

I Beispiele: Hardware, (beschreibbarer) Speicher, zum Schreiben eröffnete Datei

I BS muss Exklusivität durchsetzen (→

Synchronisationsmechanismen)

I Zuteilung kann mittels verschiedener Strategien erfolgen:

I Fairness

I Minimierung der Wartezeit I Garantie einer maximalen Wartezeit

10 / 19

Klassifikation und Beispiele für Ressourcen

entziehbar nicht entziehbar

Prozessor, Speicher Datei, alle verbrauchbaren BM gleichzeitig nutzbar exklusiv nutzbar

Programmcode, Datei, Speicher Prozessor, Drucker, Signal

wiederverwendbar verbrauchbar

Prozessor, Datei, Speicher Signal, Nachricht, Interrupt

physisch logisch oder virtuell

Prozessor, Speicher, Geräte Datei, Signal, Prozessor (!) Tabelle:Klassifikation von Ressourcen

11 / 19

Ressourcentransformation

log. Block, z.B. 4 kB Byte einer Datei

phys. Sektor, 512 Byte Ebene des Filesystems

Hardware−Ebene Ebene der Treiber Applikationsebene

Abbildung:Transformation der Ressourcephysischer SektorinDatei

Es kann dabei sogar eine neue Qualität entstehen:

Speicher + Identifikator + Programmcode = neuer Prozess

12 / 19

2

(3)

User Mode und Kernel Mode

I Idee: nur in einem privilegierten Modus (Kernel Mode) dürfen alle Operationen ausgeführt werden (z.B. Zugriff auf die Hardware, Manipulation von systemrelevanten Datenstrukturen wie der Prozesstabelle)

I dieser ist dem Betriebssystem vorbehalten

I Applikationen werden in einem restriktiven Modus (User Mode) ausgeführt (z.B. erfolgt automatische Prüfung der Gültigkeit jeder Speicherreferenz)

I bei Verletzung der Restriktionen wird die Applikation abgebrochen

I Unterscheidung Kernel Mode vs. User Mode analog zur Einteilung Administratoren vs. gewöhnliche Nutzer I Ziel: Etablierung eines grundlegenden Schutzkonzeptes

13 / 19

User Mode und Kernel Mode

Was darf man nur im Kernel Mode?

I neuen Prozess erzeugen

I Treiber ins System laden oder daraus entfernen I generell: Diensterbringung des Betriebssystems I nichtjedoch: typische Adminaufgaben

Die CPU muss User Mode/Kernel Mode unterstützen, d.h., verschiedene Privilegierungsmodi unterscheiden.

14 / 19

Systemruf

Damit der „gewöhnliche“ Nutzer die Funktionen des Kernels überhaupt anwenden darf, gibt es den Mechanismus des Systemrufs.

I BS bietet dem Programmierer Funktionen, diese werden über Systemrufe zur Verfügung gestellt

I Gesamtheit aller Systemrufe eines BS ist dessen Application Programmer’s Interface (API)

I Nutzung analog den Funktionen einer Bibliothek mit einem Unterschied: Diensterbringung erfolgt im Kernel Mode I →gewöhnlicher Funktionsaufruf als Mechanismus

unbrauchbar!

I Systemrufe können blockieren!

15 / 19

Prinzip eines Systemrufs

eintritt System−

System−

austritt

User Mode Kernel Mode

System−

dienst

Applikation Betriebssystem

Systemruf

16 / 19

Ablauf eines Systemrufs

2 3 5

dispatch syscall

syscall handler 6

7 8

10

11 4

1

9

push nbytes push &buffer push fd callread adjust stack put # for read in register

return to caller

TRAP into kernel call

library

program user user space

kernel space

count = read(fd, buffer, nbytes);

Abbildung:Allgemeiner Ablauf eines Systemrufsread()

17 / 19

Ablauf von WriteFile() in Windows 2000/XP/Vista

Return to Caller int 0x2e

Do the Operation Return to Caller Return to Caller

Software Interrupt Win32 application

KERNEL32.DLL

Call NtWriteFile() Call WriteFile(...)

Dismiss Interrupt Call NtWriteFile() WriteFile() in

NtWriteFile() in NTDLL.DLL

SystemService in NTOSKRNL.EXE

NtWriteFile() in NTOSKRNL.EXE

Kernel Mode User Mode Win32−

specific

Used by all subsystems

Quelle: David Solomon,Inside Windows XP, Microsoft Press, 2000

18 / 19

3

(4)

Was haben wir gelernt?

1.Protokoll und Schnittstelle 2.Ressourcen

I entziehbare I exklusiv nutzbare I Ressourcentransformation 3.Kernel Mode und User Mode 4.Was ist ein Systemruf?

19 / 19

4

Referenzen

ÄHNLICHE DOKUMENTE

System Service Dispatcher (Kernel mode callable interfaces) manager I/O manager Cache manager Object manager Plug and Play monitor reference Security manager Memory manager

I Idee: nur in einem privilegierten Modus (Kernel Mode) dürfen alle Operationen ausgeführt werden (z.B. Zugriff auf die Hardware, Manipulation von systemrelevanten. Datenstrukturen

I wenn Zeitscheibe nicht ausgenutzt, wird Priorität (leicht) erhöht → Unix bevorzugt interaktive Prozesse:. I interaktive Prozesse

I wenn Zeitscheibe nicht ausgenutzt, wird Priorität (leicht) erhöht → Unix bevorzugt interaktive Prozesse:. I interaktive Prozesse

gibt alle Dateien, deren Namen mit einem Großbuchstaben beginnen und die genau 3 Zeichen lang sind, aus. 7

Fachbereich Mathematik und Informatik Sommersemester 2007 der Universit¨ at

Tanenbaum, Pearson (2009) Betriebssysteme, Erich Ehses, Lutz Köhler, Petra Riemer, Horst Stenzel, Frank Victor, Pearson (2005). Betriebssysteme, Eduard Glatz, dpunkt.verlag