Universität zu Köln. Historisch-Kulturwissenschaftliche Informationsverarbeitung
Dr. Jan G. Wieners // jan.wieners@uni-koe...
 (Organisatorisches) √
 Grundlagen I √
 Grundlagen II √
 Grundlagen III √
 Rechnertechnologie I √
 Rechnertechnologi...
Betriebssysteme
 Metaphern
 „Datei“
 „Ordner“
 „Desktop“
 Dateiverwaltung
 Prozessverwaltung
 (Arbeits)Speicherverw...
Betriebssysteme
Bottom-Up
„Die Aufgabe eines Betriebssystems besteht darin,
eine geordnete und kontrollierte Zuteilung der
Prozessoren, Sp...
(Interface / GUI)
Bereitstellung elementarer Dienste und
Ressourcen
 Dienste, die (vereinfachten) Zugriff auf Ressourcen
...
OS: Metaphern,
Dateiverwaltung
Dateiverwaltung: Metaphern
Dateiverwaltung: Metaphern
Quelle: http://3.bp.blogspot.com/-lpAg_sp3iNg/TadY5hZ7H1I/AAAAAAAAAE4/35Z-MALDS3o/s1600/DavidCa...
http://www.mikrocontroller.net/articles/Festplatte
Dateizugriff: Adressierungsarten
Absolute Adressierung
D:bitstuffmp3ClarkTed EPClark - 01 - Ted.mp3
Relative Adressierung
...
Hierarchische Dateisysteme
Bildquelle: http://de.wikipedia.org/wiki/Dateisystem
Wichtigste Datenstruktur jedes Volumes:
Masterdateitabelle (MFT, Master File Table)
 Lineare Folge von festgelegten 1-KB-...
Von FAT-16 zu NTFS:
 FAT-16
 Altes MS-DOS Dateisystem
 Verwendet 16-Bit Adressen,
dadurch Beschränkung von Fest-
platte...
Viele NTFS Partitionen verwenden 4-KB-Blöcke zur
Speicherung
Kompromiss zwischen:
 Großen Blöcken  effizienter Dateitran...
Grundmenge an (elementaren) Operationen zur
Verwaltung von Dateien:
 Neu
 Löschen (unlink)
 Kopieren
 Umbenennen
 Ver...
vs.
 touch
 rm
 rmdir
 rm -r
 cp
 ls
 less
 for (( i = 1 ; i <= 1000; i++ )) do echo “$i" >>
example.txt; done;
 cat
...
Dateiverwaltung √
 Abstraktionen / Schnittstellen für Zugriff auf Low-Level
Funktionen (z.B. der Festplatte) √
 Blöcke /...
OS-Aufgaben:
Prozessverwaltung
Rezept  Programm
Informatiker / Informatikerin 
Prozessor (CPU)
Zutaten für den Kuchen 
Eingabedaten
Prozess  Aktivitä...
…etwas geschieht…
Der Sohn des kuchenbackenden Informatikers wird
von einer Biene gestochen – was geschieht?
 Der Bäcker wechselt von einem...
Prozess = „Aktivität jedweder Art“
Prozess umfasst:
 Ein Programm
 Eingaben
 Ausgaben
 Zustand
 Mehrere Prozesse könn...
Arbeitsdefinition „Prozess“: Ein auf einem Rechner
ablauffähiges oder im Ablauf befindliches
Programm, zusammen mit all se...
Jedem Prozess wird vom Betriebssystem ein
eigener Adressbereich zugewiesen
Wird ein Prozess deaktiviert, müssen folgende
I...
Jeder Prozess verfügt über einen eigenen
Speicherbereich
Threads sind leichtgewichtige Prozesse, verfügen
über keinen eige...
Scheduling / Prozessverwaltung
Mehrere (rechenbereite) Prozesse konkurrieren um
Rechenzeit
Ist nur eine CPU im System vorhanden, muss
entschieden werden,...
Multitasking / Multithreading = Fähigkeit eines
Betriebssystems, mehrere Aufgaben (Tasks /
Threads) nebeneinander auszufüh...
OS-Aufgaben:
Speicherverwaltung
Aufgabe des Betriebssystems: Versorgung der
Prozesse / Threads mit Arbeitsspeicher
 Memory Manager
Prozesse müssen vom OS...
Grundproblem: Was geschieht, wenn der
physikalische Arbeitsspeicher voll ist?
 Lösung I (anno pief): Programmierer teilen...
Swapping
 Problem: Externe Fragmentierung
 Lesen Sie den Wikipedia-Beitrag unter
https://de.wikipedia.org/wiki/Paging und erläutern
Sie das Konzept und Verfahren d...
/
Bit wisem 2015-wieners-sitzung-08_Betriebssysteme: Metaphern, Datei- und Ressourcenverwaltung
Bit wisem 2015-wieners-sitzung-08_Betriebssysteme: Metaphern, Datei- und Ressourcenverwaltung
Bit wisem 2015-wieners-sitzung-08_Betriebssysteme: Metaphern, Datei- und Ressourcenverwaltung
Bit wisem 2015-wieners-sitzung-08_Betriebssysteme: Metaphern, Datei- und Ressourcenverwaltung
Bit wisem 2015-wieners-sitzung-08_Betriebssysteme: Metaphern, Datei- und Ressourcenverwaltung
Bit wisem 2015-wieners-sitzung-08_Betriebssysteme: Metaphern, Datei- und Ressourcenverwaltung
Bit wisem 2015-wieners-sitzung-08_Betriebssysteme: Metaphern, Datei- und Ressourcenverwaltung
Bit wisem 2015-wieners-sitzung-08_Betriebssysteme: Metaphern, Datei- und Ressourcenverwaltung
Bit wisem 2015-wieners-sitzung-08_Betriebssysteme: Metaphern, Datei- und Ressourcenverwaltung
Bit wisem 2015-wieners-sitzung-08_Betriebssysteme: Metaphern, Datei- und Ressourcenverwaltung
Nächste SlideShare
Wird geladen in …5
×

Bit wisem 2015-wieners-sitzung-08_Betriebssysteme: Metaphern, Datei- und Ressourcenverwaltung

584 Aufrufe

Veröffentlicht am

Bit wisem 2015-wieners-sitzung-08_Betriebssysteme: Metaphern, Datei- und Ressourcenverwaltung

Veröffentlicht in: Bildung
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
584
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
289
Aktionen
Geteilt
0
Downloads
0
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie
  • Wir gewöhnen uns an Gegebenheiten von Betriebssystemen. Deshalb reagieren wir auf Änderungen mitunter skeptisch – und möchten Althergebrachtes wiederhaben.
  • Manchmal wird die wunderbare Welt des Betriebssystems durchbrochen, z.B. mit dem Bluescreen.
  • OS bzw. Benutzungsschnittstelle mit dem magischen Handschuh: „Minority Report“ (2002)
  • Metapher Desktop
  • Metapher Desktop  Dateien
  • Datei auf unterster Ebene: Folge von Magnetisierungen, Nullen und Einsen
    Dateiverwaltung auf die harte Tour: Manuelles Ansteuern von Daten / Information über Tupel (Laufwerk, Zylindernummer, Nummer des Schreib-/Lesekopfes, Sektornummer)

    Dateiverwaltung OS über Abstraktion: Das Betriebssystem stellt das Konzept der Datei als Behälter für Daten bereit.  Betriebssystem übersetzt Dateien und ihre Namen in bestimmte Bereiche der Festplatte
  • Dateisystem  Schicht des Betriebssystems
    Schichten oberhalb des Dateisystems greifen auf Dateien über den Klartextnamen zu Beispiel: Anwendungsprogramme; Windows Explorer; Vi, etc.
    In der Schicht unterhalb kommuniziert das Dateisystem mit den entsprechenden Gerätetreibern, um z.B. Daten über physische Adresse (Laufwerk, Zylindernummer, Schreib-/Lesekopf, Sektornummer) auf Festplatte ansprechen zu können
    Dateisysteme:
    NTFS  „New Technology File System“ (proprietär (Microsoft))
    EXT4  „Fourth Extended Filesystem“ (Journaling Dateisystem, Linux-Systeme)

    In MS-Windows: Jede Partition, jedes Laufwerk ist in das Dateisystem eingehangen als Wurzel eines eigenen Dateibaumes, der mit dem Laufwerksbuchstaben benannt wird
    Unter Linux: Jede Partition, jedes Laufwerk ist in das Dateisystem eingehangen als Unterbaum eines globalen Dateibaumes  „/“ (root)
    Keine Laufwerksbuchstaben
    Wechselmedien werden gemountet z.B. unter /media/usbdisk-1
  • New Technology File System
  • Machen Dateigrößen nicht ein Mehrfaches der Clustergröße aus, muss zusätzlicher Speicherplatz verwendet werden, um die Datei aufzunehmen
    Support.microsoft.com: Auf einer typischen Partition geht Speicherplatz der folgenden Größenordnung verloren: (Clustergröße/2) * (Anzahl der Dateien) (vgl. http://support.microsoft.com/kb/140365/de)
    Logisch zusammenhängende Cluster des Dateisystems werden auf dem Datenträger an unterschiedlichsten Positionen gespeichert.
  • Fragmentierung
  • Vorgehensweise:
    Soll eine Datei bearbeitet werden, so muss das Betriebssystem anhand des Dateinamens die Liste der Blöcke bestimmen, in denen der Dateiinhalt gespeichert ist.
    Benötigt wird hierbei zumeist nur der erste Block, da die Blöcke aufeinander verweisen (einfach verkettete Liste):
    Wird der Inhalt der Datei verändert, müssen evtl. neue Blöcke an die Liste angehängt oder aus der Liste gelöscht werden.

    Das Betriebssystem setzt folglich Operationen von Anwendungsprogrammen um in elementare Operationen, die von der Hardware ausgeführt werden können:
    Datei lesen
    Datei speichern
    Datei löschen
    Elementare Operationen = Systemaufrufe, System Calls
    Systemaufrufe, u.a.:
    Lesen eines oder mehrerer Blöcke
    Schreiben eines oder mehrerer Blöcke
    Löschen eines oder mehrerer Blöcke
  • Beispiel: Der Systemaufruf „Löschen“ fügt die Blöcke der gelöschten Datei an die Liste der freien Blöcke an
     Somit können Dateien, die gelöscht wurden, wieder hergestellt werden, da sie nicht physisch / physikalisch von ihrem Medium gelöscht wurden, sondern nur die Listenelemente, die auf sie verweisen. (Funktioniert nur, wenn die Blöcke nicht von anderen Dateien verwendet oder überschrieben wurden)

  • „Stellen Sie sich einen kulinarisch interessierten Informatiker vor, der einen Geburtstagskuchen für seine Tochter backt. Er hat ein Geburtstagskuchenrezept und eine gut ausgestattete Küche mit allen Zutaten […]. In dieser Analogie ist das Rezept das Programm […], der Informatiker ist der Prozessor (CPU) und die Zutaten für den Kuchen sind die Eingabedaten. Der Prozess ist die Aktivität, die daraus besteht, dass unser Bäcker das Rezept liest, die Zutaten herbeiholt und den Kuchen bäckt.“ (vgl. Tanenbaum: Moderne Betriebssysteme. 2009, S. 126)
  • Nachdem ein Prozess gestartet wurde, kann er sich in verschiedenen Zuständen befinden:
    Nach dem Start ist er zunächst rechenbereit und wartet auf die Zuteilung von Prozessorzeit.
    Wird er dann vom Betriebssystem zur Ausführung ausgewählt, ist er rechnend.
    Ist er nach einer bestimmten Zeit nicht beendet, wird er vom Betriebssystem suspendiert und ein anderer Prozess erhält den Prozessor zugeteilt.  Der Prozess ist dann erneut rechenbereit.
    Es kann aber auch der Fall eintreten, dass der Prozess auf eine Ressource wartet (z.B. auf einen Drucker oder auf eine Dateioperation). Dann wird er blockiert und erst wieder als rechenbereit eingestuft, falls das Signal kommt, dass die benötigten Ressourcen bereitstehen. In der Zwischenzeit können die andern Prozesse den Prozessor nutzen.
  • Kooperatives Multitasking
    Auch: Prioritätsabhängige Verwaltung
    Prozesse bekommen vom Betriebssystem eine Priorität zugewiesen
    Dem Prozess mit der höchsten Priorität wird die CPU so lange überlassen, bis:
    a) der Prozess die CPU nicht mehr benötigt, d.h. fertig ist
    b) ein Prozess höherer Priorität Rechenzeit benötigt
     Hierarchische Ordnung der Prozesse
    Jedem Prozess ist es selbst überlassen, wann er die Kontrolle an das Betriebssystem zurückgibt
    Nachteile: Programme, die nicht kooperieren (z.B. weil sie Fehler enthalten) können das ganze System zum Stillstand bringen

    Präemptives Multitasking
    Auch: Zeitscheibenverfahren
    Das Betriebssystem steuert die Abfolge der einzelnen Prozesse  Scheduler (wird selbst als einer der Prozesse betrieben)
    Jedem Prozess wird über eine Zeitscheibe Rechenzeit zugewiesen, die der Prozess nutzen kann
    Bestimmung der Rechenzeit über Berücksichtigung des Rechenaufwandes des Prozesses
    Angehaltene Prozesse „schlafen“, setzen ihre Arbeit fort, wenn das Betriebssystem sie erneut aktiviert
    Realisiert z.B. über Round-Robin-Strategie (Rundlauf-Strategie)

    Round Robin Scheduling gewährt konkurrierenden Prozessen jeweils für einen kurzen Zeitraum Zugang zu den benötigten Ressourcen
    Verfahrensweise:
    Prozesse werden in einer Warteschlange verwaltet
    Der erste Prozess erhält die vom Scheduler zugewiesene Zeit (Zeitschlitz) Zugang zu den Ressourcen
    Anschließend reiht der Prozess sich am Ende der Warteschlange ein; alle Prozesse in der Warteschlange rücken eine Position vor.
  • Virtueller Speicher
    Virtueller Speicher erlaubt, dass Programme mehr Speicher verwenden können, als physischer Hauptspeicher zur Verfügung steht
    Das Betriebssystem hält benötigte Teile des Programms im Hauptspeicher – und (z.B.) auf der Festplatte
  • Swapping
    Jeder Prozess wird komplett in den Speicher geladen, darf eine gewisse Zeit laufen und wird anschließend wieder auf Festplatte ausgelagert (Stichwort „Virtueller Speicher“)
    Prozesse im Leerlauf werden zumeist auf der Platte gespeichert, so dass sie keinen Speicher verbrauchen, wenn sie inaktiv sind
    Benötigte Prozess-Segmente werden von der Speicherverwaltung geholt und in den Arbeitsspeicher geladen. Ist nicht ausreichend Platz vorhanden, werden andere Segmente auf die Festplatte ausgelagert
    Nachteil: Da das Swapping keine festgelegten Segmentgrößen bietet, entsteht schnell eine externe Fragmentierung (Lücken zwischen den Adressräumen der Prozesse)
  • Paging
    Der Adressraum eines Programms wird in Einheiten aufgebrochen, die sogenannten Seiten (Pages)
    Jede Seite ist ein aneinander angrenzender Bereich von Adressen
    Die Seiten werden dem physischen Speicherbereich zugeordnet (auch unterteilt; hier werden die einzelnen Stücke als „Seitenrahmen“ bezeichnet)  Eine Seite und der Seitenrahmen verfügen über die gleiche Größe
    Zuordnung von Seitenrahmen zu Seiten über Seitentabelle
    Läuft der Prozess, müssen nur die benötigten Speicherseiten im Hauptspeicher liegen
    Greift das Programm auf einen Teil des Adressraumes zu, der sich im physischen Speicher befindet, kann die Hardware die notwendige Zuordnung sehr schnell durchführen
    Will das Programm dagegen auf einen Teil des Adressraumes zugreifen, der nicht im physischen Speicher ist, wird das OS benachrichtigt, das fehlende Stück zu beschaffen und den fehlgeschlagenen Befehl noch einmal auszuführen
  • Beispielfrage: Erläutern sie den Unterschied zwischen Swapping und Paging und beschreiben sie die beim Swapping auftretenden Probleme.
    Beispiellösung: Da auszuführende Programme größer werden können als der Hauptspeicher und der Ablauf von Programmstücken des Programms nicht vorher vom Programmierer festgelegt werden sollte, wurde das Konzept des virtuellen Speichers entwickelt. Dabei werden Programme virtuell vom Betriebsystem in einem Bereich von der Festplatte in kleinere Segmente bzw. Seiten geteilt, die groß genug sind, um auch im Arbeitsspeicher verarbeitet werden zu können. Beim Programmablauf werden nun relevanten Seiten / Segmente in den Arbeitsspeicher geladen um sie aufzuführen. Dabei ergeben sie die Unterschiede bei Swapping und Paging. Beim Paging wird, wenn eine relevante Seite aus dem virtuellen Speicher benötigt wird, die derzeitige Seite ausgelagert und auf der Festplatte unter der virtuellen Adresse gespeichert. Die geladene Seite aus dem virtuellen Speicher erhält nun ihre physische Adresse im Arbeitspeicher und füllt diesen. Bei Swapping befinden sich mehrere Programmsegmente aus dem virtuellen Speicher, die jedoch allgemein keine festgelegte Größe haben, wie die Seiten. Wenn ein Teil des Programms benötigt wird, der nicht im Arbeitsspeicher vorhanden ist, dann wird zunächst untersucht, ob im Arbeitsspeicher für dieses Segment noch genug Platz vorhanden wäre. Wenn dies nicht der Fall ist, werden Segmente, die zurzeit nicht benötigt werden aus dem Arbeitspeicher auf die Festplatte wieder ausgelagert und an diese Stelle wird das benötigte Segment geladen. Das angesprochene Problem entsteht dabei durch die variablen Größen der Segmente. Da das ausgelagerte Segment meist immer größer ist als das benötigte, bleiben Speicherlücken zurück, die ungenutzt bleiben. Es geht dadurch Arbeitsspeicher verloren, wodurch die allgemeine Effizienz (Stichwort: externe Fragmentierung) gehemmt wird.
  • Bit wisem 2015-wieners-sitzung-08_Betriebssysteme: Metaphern, Datei- und Ressourcenverwaltung

    1. 1. Universität zu Köln. Historisch-Kulturwissenschaftliche Informationsverarbeitung Dr. Jan G. Wieners // jan.wieners@uni-koeln.de Basisinformationstechnologie I Wintersemester 2015/16 30. November 2015 – Betriebssysteme – Metaphern, Datei- und Ressourcenverwaltung
    2. 2.  (Organisatorisches) √  Grundlagen I √  Grundlagen II √  Grundlagen III √  Rechnertechnologie I √  Rechnertechnologie II √  Rechnertechnologie III √ Dezember und Januar:  Betriebssysteme  Software-Entwicklung  Programmiersprachen  Algorithmen und Datenstrukturen  Theoretische Informatik  Probeklausur Seminarverlauf
    3. 3. Betriebssysteme  Metaphern  „Datei“  „Ordner“  „Desktop“  Dateiverwaltung  Prozessverwaltung  (Arbeits)Speicherverwaltung Themenüberblick „Betriebssysteme“
    4. 4. Betriebssysteme
    5. 5. Bottom-Up „Die Aufgabe eines Betriebssystems besteht darin, eine geordnete und kontrollierte Zuteilung der Prozessoren, Speicher und Ein-/Ausgabegeräte an die um sie konkurrierenden Programme durchzuführen“ (vgl. Tanenbaum: Moderne Betriebssysteme. 2009, S. 35 ff.)  Ein Betriebssystem übernimmt die Verwaltung aller Bestandteile eines komplexen Systems Top-Down Betriebssysteme verwandeln […] etwas Hässliches in etwas Schönes […].“ (vgl. Tanenbaum: Moderne Betriebssysteme. 2009, S. 34)  Programmiersicht: Ein Betriebssystem stellt Abstraktionen für Anwendungsprogramme bereit Blickwinkel (Tanenbaum)
    6. 6. (Interface / GUI) Bereitstellung elementarer Dienste und Ressourcen  Dienste, die (vereinfachten) Zugriff auf Ressourcen ermöglichen.  Ressourcen  Rechenzeit (CPU / GPU)  Hauptspeicher  Festplatten- / Wechselmedienspeicherplatz  Interne Geräte wie Erweiterungskarten, Onboard- Komponenten (z.B. Onboard Soundkarte, Onboard LAN)  Externe Geräte, z.B. über USB mit dem Rechner verbunden: Scanner, Drucker Betriebssysteme: Intention I
    7. 7. OS: Metaphern, Dateiverwaltung
    8. 8. Dateiverwaltung: Metaphern
    9. 9. Dateiverwaltung: Metaphern Quelle: http://3.bp.blogspot.com/-lpAg_sp3iNg/TadY5hZ7H1I/AAAAAAAAAE4/35Z-MALDS3o/s1600/DavidCarsonsDesktop.jpg
    10. 10. http://www.mikrocontroller.net/articles/Festplatte
    11. 11. Dateizugriff: Adressierungsarten Absolute Adressierung D:bitstuffmp3ClarkTed EPClark - 01 - Ted.mp3 Relative Adressierung ./Clark – 01 - Ted.mp3 (dasselbe Verzeichnis) ../*.mp3 (eine Ebene / Ordner höher) ../../*.htm (zwei Ebenen höher)
    12. 12. Hierarchische Dateisysteme Bildquelle: http://de.wikipedia.org/wiki/Dateisystem
    13. 13. Wichtigste Datenstruktur jedes Volumes: Masterdateitabelle (MFT, Master File Table)  Lineare Folge von festgelegten 1-KB-Einträgen  Jeder MFT-Datensatz beschreibt eine Datei oder ein Verzeichnis   Enthält die Attribute der Datei (i.e. Name, Zeitstempel, Liste von Adressen, die angeben, wo auf der Platte die zugehörigen Blöcke stehen)  MFT ist selber eine Datei, kann somit irgendwo auf der Partition liegen NTFS: MFT
    14. 14. Von FAT-16 zu NTFS:  FAT-16  Altes MS-DOS Dateisystem  Verwendet 16-Bit Adressen, dadurch Beschränkung von Fest- plattenpartitionen auf max. 2GB  FAT-32  32-Bit Adressen; Max. 2TB Partitionen  NTFS  64-Bit Adressen; Max. 264 Byte große Partitionen  Cluster / Clustergrößen Dateisysteme: MS proprietär
    15. 15. Viele NTFS Partitionen verwenden 4-KB-Blöcke zur Speicherung Kompromiss zwischen:  Großen Blöcken  effizienter Dateitransfer  Kleinen Blöcken  geringe interne Fragmentierung  Knackpunkt: Da das Dateisystem eine Datei als Folge von Blöcken verwaltet, belegt eine Datei mindestens die Größe eines Blockes (Default Windows: 4KB) – auch wenn sie nur 1 Byte an Daten enthält NTFS: Cluster
    16. 16. Grundmenge an (elementaren) Operationen zur Verwaltung von Dateien:  Neu  Löschen (unlink)  Kopieren  Umbenennen  Verschieben  „Einfach verkettete Liste“ Dateioperationen
    17. 17. vs.
    18. 18.  touch  rm  rmdir  rm -r  cp  ls  less  for (( i = 1 ; i <= 1000; i++ )) do echo “$i" >> example.txt; done;  cat  Pipe: |  cat example.txt | wc –l  chmod +x Konsolenbasics (Linux)
    19. 19. Dateiverwaltung √  Abstraktionen / Schnittstellen für Zugriff auf Low-Level Funktionen (z.B. der Festplatte) √  Blöcke / Cluster √  Fragmentierung √ Prozessverwaltung / Ressourcenverwaltung / Zeitplanung  Scheduling Speicherverwaltung Betriebssystem: Zentrale Aufgaben
    20. 20. OS-Aufgaben: Prozessverwaltung
    21. 21. Rezept  Programm Informatiker / Informatikerin  Prozessor (CPU) Zutaten für den Kuchen  Eingabedaten Prozess  Aktivität, die daraus besteht, dass der Bäcker das Rezept liest, die Zutaten herbeiholt und den Kuchen backt Begrifflichkeiten: Prozess, Programm, etc.
    22. 22. …etwas geschieht…
    23. 23. Der Sohn des kuchenbackenden Informatikers wird von einer Biene gestochen – was geschieht?  Der Bäcker wechselt von einem Prozess (Backen) zu einem höheren Prozess  I. Erste-Hilfe-Buch zu Rate ziehen (Programm)  II. Medizinische Hilfe leisten (Prozess) Prozess, Programm
    24. 24. Prozess = „Aktivität jedweder Art“ Prozess umfasst:  Ein Programm  Eingaben  Ausgaben  Zustand  Mehrere Prozesse können sich einen einzelnen Prozessor teilen (Analogie: Kuchenbäcker) oder auf mehrere Prozessoren verteilt werden  Eine Schedulingstrategie entscheidet, wann die Arbeit an einem Prozess unterbrochen und ein anderer Prozess bedient wird. Prozess
    25. 25. Arbeitsdefinition „Prozess“: Ein auf einem Rechner ablauffähiges oder im Ablauf befindliches Programm, zusammen mit all seinen benötigten Ressourcen wird als Prozess oder Task bezeichnet. Prozesszustände: Nachdem ein Prozess gestartet wurde, kann er sich in verschiedenen Zuständen befinden:  rechenbereit  rechnend  suspendiert  rechenbereit  blockiert Prozess
    26. 26. Jedem Prozess wird vom Betriebssystem ein eigener Adressbereich zugewiesen Wird ein Prozess deaktiviert, müssen folgende Informationen gespeichert werden, um ihn später reaktivieren zu können:  der Programmcode des Prozesses  seine im Arbeitsspeicher befindlichen Daten  der Inhalt der CPU-Register einschließlich des Befehlszählers  eine Tabelle aller geöffneten Dateien mit ihrem aktuellen Bearbeitungszustand Prozessunterbrechung
    27. 27. Jeder Prozess verfügt über einen eigenen Speicherbereich Threads sind leichtgewichtige Prozesse, verfügen über keinen eigenen Speicherbereich Ein Prozess kann aus einem oder mehreren Threads bestehen Vorteile von Threads:  Kommunikation zwischen Threads möglich, die demselben Prozess zugeordnet sind, da gleicher Adressbereich  Leichter, d.h. schneller zu erzeugen und wieder zu zerstören als Prozesse  geringerer Laufzeit-Overhead zur Erzeugung und Verwaltung von Threads als bei Prozessen Prozess vs. Threads
    28. 28. Scheduling / Prozessverwaltung
    29. 29. Mehrere (rechenbereite) Prozesse konkurrieren um Rechenzeit Ist nur eine CPU im System vorhanden, muss entschieden werden, welcher Prozess als nächstes läuft. Der Teil des Betriebssystems, der diese Wahl trifft, wird als Scheduler bezeichnet (kommt beim präemptiven Multitasking zum Einsatz) Prozessverwaltung Abbildung aus: Tanenbaum: Moderne Betriebssysteme. 2009, S. 132.
    30. 30. Multitasking / Multithreading = Fähigkeit eines Betriebssystems, mehrere Aufgaben (Tasks / Threads) nebeneinander auszuführen U.a. zwei Verfahren:  Kooperatives Multitasking  Auch: Prioritätsabhängige Verwaltung  Präemptives Multitasking  Auch: Zeitscheibenverfahren  Z.B. Round-Robin-Strategie (Rundlauf-Strategie) Scheduler / Multitasking
    31. 31. OS-Aufgaben: Speicherverwaltung
    32. 32. Aufgabe des Betriebssystems: Versorgung der Prozesse / Threads mit Arbeitsspeicher  Memory Manager Prozesse müssen vom OS vor gegenseitiger Beeinträchtigung durch fehlerhafte Adressierung gemeinsam benutzter Speicherbereiche geschützt werden Wesentliche Verfahren zur Speicherverwaltung:  Swapping  Paging Speicherverwaltung
    33. 33. Grundproblem: Was geschieht, wenn der physikalische Arbeitsspeicher voll ist?  Lösung I (anno pief): Programmierer teilen ihre Programme manuell in kleine Segmente (sog. Overlays) auf. Overlays wurden auf der Festplatte gespeichert und bei Bedarf dynamisch vom Betriebssystem ein- und ausgelagert.  Lösung II: Virtueller Speicher  Swapping  Paging Speicherverwaltung
    34. 34. Swapping  Problem: Externe Fragmentierung
    35. 35.  Lesen Sie den Wikipedia-Beitrag unter https://de.wikipedia.org/wiki/Paging und erläutern Sie das Konzept und Verfahren des Pagings.  Was ist – und welche Aufgabe hat – die „Memory Management Unit“ (MMU)? Hausaufgabe
    36. 36. /

    ×