SlideShare a Scribd company logo
1 of 46
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
 (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
Betriebssysteme
 Metaphern
 „Datei“
 „Ordner“
 „Desktop“
 Dateiverwaltung
 Prozessverwaltung
 (Arbeits)Speicherverwaltung
Themenüberblick „Betriebssysteme“
Betriebssysteme
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)
(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
OS: Metaphern,
Dateiverwaltung
Dateiverwaltung: Metaphern
Dateiverwaltung: Metaphern
Quelle: http://3.bp.blogspot.com/-lpAg_sp3iNg/TadY5hZ7H1I/AAAAAAAAAE4/35Z-MALDS3o/s1600/DavidCarsonsDesktop.jpg
http://www.mikrocontroller.net/articles/Festplatte
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)
Hierarchische Dateisysteme
Bildquelle: http://de.wikipedia.org/wiki/Dateisystem
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
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
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
Grundmenge an (elementaren) Operationen zur
Verwaltung von Dateien:
 Neu
 Löschen (unlink)
 Kopieren
 Umbenennen
 Verschieben
 „Einfach verkettete Liste“
Dateioperationen
vs.
 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)
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
OS-Aufgaben:
Prozessverwaltung
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.
…etwas geschieht…
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
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
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
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
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
Scheduling / Prozessverwaltung
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.
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
OS-Aufgaben:
Speicherverwaltung
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
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
Swapping
 Problem: Externe Fragmentierung
 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
/

More Related Content

Viewers also liked

Future Medienbuero Eröffnung
Future Medienbuero EröffnungFuture Medienbuero Eröffnung
Future Medienbuero Eröffnungfuture_jubehi
 
Avispador: Unser ausgewählten Services für IT-Anwenderunternehmen
Avispador: Unser ausgewählten Services  für IT-AnwenderunternehmenAvispador: Unser ausgewählten Services  für IT-Anwenderunternehmen
Avispador: Unser ausgewählten Services für IT-AnwenderunternehmenAxel Oppermann
 
La Seguridad En Internet - Elisa
La Seguridad En Internet - ElisaLa Seguridad En Internet - Elisa
La Seguridad En Internet - Elisaeli_9317
 
PowerPoint Neue Regionalpolitik d
PowerPoint Neue Regionalpolitik dPowerPoint Neue Regionalpolitik d
PowerPoint Neue Regionalpolitik dregiosuisse
 
Online Communities - Business Communication ISM
Online Communities - Business Communication ISMOnline Communities - Business Communication ISM
Online Communities - Business Communication ISMRudolf Ernenputsch
 
PresentacióN2
PresentacióN2PresentacióN2
PresentacióN2FlAca Lu
 
20100531 Scrum Einfuehrung
20100531 Scrum Einfuehrung20100531 Scrum Einfuehrung
20100531 Scrum EinfuehrungMartin Fache
 
Dengue
DengueDengue
Dengueayelen
 
Einführungspräsentation Prof. Kutsch
Einführungspräsentation Prof. KutschEinführungspräsentation Prof. Kutsch
Einführungspräsentation Prof. KutschFarakMW
 

Viewers also liked (12)

Wsi gekürzt end
Wsi gekürzt endWsi gekürzt end
Wsi gekürzt end
 
BIT SoSem 2014 | Basisinformationstechnologie II - 03: Semantic Web
BIT SoSem 2014 | Basisinformationstechnologie II - 03: Semantic WebBIT SoSem 2014 | Basisinformationstechnologie II - 03: Semantic Web
BIT SoSem 2014 | Basisinformationstechnologie II - 03: Semantic Web
 
Future Medienbuero Eröffnung
Future Medienbuero EröffnungFuture Medienbuero Eröffnung
Future Medienbuero Eröffnung
 
-
--
-
 
Avispador: Unser ausgewählten Services für IT-Anwenderunternehmen
Avispador: Unser ausgewählten Services  für IT-AnwenderunternehmenAvispador: Unser ausgewählten Services  für IT-Anwenderunternehmen
Avispador: Unser ausgewählten Services für IT-Anwenderunternehmen
 
La Seguridad En Internet - Elisa
La Seguridad En Internet - ElisaLa Seguridad En Internet - Elisa
La Seguridad En Internet - Elisa
 
PowerPoint Neue Regionalpolitik d
PowerPoint Neue Regionalpolitik dPowerPoint Neue Regionalpolitik d
PowerPoint Neue Regionalpolitik d
 
Online Communities - Business Communication ISM
Online Communities - Business Communication ISMOnline Communities - Business Communication ISM
Online Communities - Business Communication ISM
 
PresentacióN2
PresentacióN2PresentacióN2
PresentacióN2
 
20100531 Scrum Einfuehrung
20100531 Scrum Einfuehrung20100531 Scrum Einfuehrung
20100531 Scrum Einfuehrung
 
Dengue
DengueDengue
Dengue
 
Einführungspräsentation Prof. Kutsch
Einführungspräsentation Prof. KutschEinführungspräsentation Prof. Kutsch
Einführungspräsentation Prof. Kutsch
 

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

Betriebsysteme: zwei wichtige Konzepte aus der Praxis
Betriebsysteme: zwei wichtige Konzepte aus der PraxisBetriebsysteme: zwei wichtige Konzepte aus der Praxis
Betriebsysteme: zwei wichtige Konzepte aus der PraxisBrigitte Jellinek
 
Multithreading in c# mit tpl
Multithreading in c# mit tplMultithreading in c# mit tpl
Multithreading in c# mit tplDavidT27
 
Compact, Compress, De-DUplicate
Compact, Compress, De-DUplicateCompact, Compress, De-DUplicate
Compact, Compress, De-DUplicateUlrich Krause
 
Grundlagen der Kommandozeile unter Unix/Linux (Handout)
Grundlagen der Kommandozeile unter Unix/Linux (Handout)Grundlagen der Kommandozeile unter Unix/Linux (Handout)
Grundlagen der Kommandozeile unter Unix/Linux (Handout)Kerstin Puschke
 
AdminCamp 2011 Performance
AdminCamp 2011 PerformanceAdminCamp 2011 Performance
AdminCamp 2011 PerformanceUlrich Krause
 
The Linux File System
The Linux File SystemThe Linux File System
The Linux File Systemsteffenbauer
 
NTFS On Disk Structure
NTFS On Disk StructureNTFS On Disk Structure
NTFS On Disk StructureGerrit Beine
 
Btrfs - das Dateisystem der Zukunft?
Btrfs - das Dateisystem der Zukunft?Btrfs - das Dateisystem der Zukunft?
Btrfs - das Dateisystem der Zukunft?B1 Systems GmbH
 
Topix 2006 HP Autostore VHP
Topix 2006 HP Autostore VHPTopix 2006 HP Autostore VHP
Topix 2006 HP Autostore VHPThomas Moser
 
Domino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG Konferenz
Domino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG KonferenzDomino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG Konferenz
Domino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG Konferenzpanagenda
 
3.1 dateiein- und ausgabe
3.1   dateiein- und ausgabe3.1   dateiein- und ausgabe
3.1 dateiein- und ausgabeMichael Konzett
 
Was ist eine Datenbank - und was hat Blockchain damit zu tun?
Was ist eine Datenbank - und was hat Blockchain damit zu tun?Was ist eine Datenbank - und was hat Blockchain damit zu tun?
Was ist eine Datenbank - und was hat Blockchain damit zu tun?Stefan Adolf
 
Grundlagen der Kommandozeile unter Unix/Linux (Folien)
Grundlagen der Kommandozeile unter Unix/Linux (Folien)Grundlagen der Kommandozeile unter Unix/Linux (Folien)
Grundlagen der Kommandozeile unter Unix/Linux (Folien)Kerstin Puschke
 

Similar to Bit wisem 2015-wieners-sitzung-08_Betriebssysteme: Metaphern, Datei- und Ressourcenverwaltung (20)

BIT I WiSe 2014 | Basisinformationstechnologie I - 07: Betriebssysteme
BIT I WiSe 2014 | Basisinformationstechnologie I - 07: BetriebssystemeBIT I WiSe 2014 | Basisinformationstechnologie I - 07: Betriebssysteme
BIT I WiSe 2014 | Basisinformationstechnologie I - 07: Betriebssysteme
 
Bit WiSe 2013 | Basisinformationstechnologie I - 07: Betriebssysteme
Bit WiSe 2013 | Basisinformationstechnologie I - 07: BetriebssystemeBit WiSe 2013 | Basisinformationstechnologie I - 07: Betriebssysteme
Bit WiSe 2013 | Basisinformationstechnologie I - 07: Betriebssysteme
 
Betriebsysteme: zwei wichtige Konzepte aus der Praxis
Betriebsysteme: zwei wichtige Konzepte aus der PraxisBetriebsysteme: zwei wichtige Konzepte aus der Praxis
Betriebsysteme: zwei wichtige Konzepte aus der Praxis
 
2011 05 11 09-15 ips_libelle_topsoft
2011 05 11 09-15 ips_libelle_topsoft2011 05 11 09-15 ips_libelle_topsoft
2011 05 11 09-15 ips_libelle_topsoft
 
Multithreading in c# mit tpl
Multithreading in c# mit tplMultithreading in c# mit tpl
Multithreading in c# mit tpl
 
Compact, Compress, De-DUplicate
Compact, Compress, De-DUplicateCompact, Compress, De-DUplicate
Compact, Compress, De-DUplicate
 
Grundlagen der Kommandozeile unter Unix/Linux (Handout)
Grundlagen der Kommandozeile unter Unix/Linux (Handout)Grundlagen der Kommandozeile unter Unix/Linux (Handout)
Grundlagen der Kommandozeile unter Unix/Linux (Handout)
 
AdminCamp 2011 Performance
AdminCamp 2011 PerformanceAdminCamp 2011 Performance
AdminCamp 2011 Performance
 
The Linux File System
The Linux File SystemThe Linux File System
The Linux File System
 
Windows Powershell
Windows PowershellWindows Powershell
Windows Powershell
 
Neuerungen in TYPO3 6.0
Neuerungen in TYPO3 6.0Neuerungen in TYPO3 6.0
Neuerungen in TYPO3 6.0
 
NTFS On Disk Structure
NTFS On Disk StructureNTFS On Disk Structure
NTFS On Disk Structure
 
Btrfs - das Dateisystem der Zukunft?
Btrfs - das Dateisystem der Zukunft?Btrfs - das Dateisystem der Zukunft?
Btrfs - das Dateisystem der Zukunft?
 
Topix 2006 HP Autostore VHP
Topix 2006 HP Autostore VHPTopix 2006 HP Autostore VHP
Topix 2006 HP Autostore VHP
 
Domino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG Konferenz
Domino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG KonferenzDomino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG Konferenz
Domino Statistiken verstehen und nutzen (Teil 1) - 41. DNUG Konferenz
 
C++ kompakt
C++ kompaktC++ kompakt
C++ kompakt
 
3.1 dateiein- und ausgabe
3.1   dateiein- und ausgabe3.1   dateiein- und ausgabe
3.1 dateiein- und ausgabe
 
Was ist eine Datenbank - und was hat Blockchain damit zu tun?
Was ist eine Datenbank - und was hat Blockchain damit zu tun?Was ist eine Datenbank - und was hat Blockchain damit zu tun?
Was ist eine Datenbank - und was hat Blockchain damit zu tun?
 
Grundlagen der Kommandozeile unter Unix/Linux (Folien)
Grundlagen der Kommandozeile unter Unix/Linux (Folien)Grundlagen der Kommandozeile unter Unix/Linux (Folien)
Grundlagen der Kommandozeile unter Unix/Linux (Folien)
 
Pr O St Doku
Pr O St DokuPr O St Doku
Pr O St Doku
 

More from Institute for Digital Humanities, University of Cologne

More from Institute for Digital Humanities, University of Cologne (20)

Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 17.04.2019 | ...
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 17.04.2019 | ...Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 17.04.2019 | ...
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 17.04.2019 | ...
 
Augmented City –Street Art, Embodiment, Cultural Heritage & AR | 03.04.2019 |...
Augmented City –Street Art, Embodiment, Cultural Heritage & AR | 03.04.2019 |...Augmented City –Street Art, Embodiment, Cultural Heritage & AR | 03.04.2019 |...
Augmented City –Street Art, Embodiment, Cultural Heritage & AR | 03.04.2019 |...
 
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 03.04.2019 | ...
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 03.04.2019 | ...Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 03.04.2019 | ...
Künstliche Intelligenz und visuelle Erzählungen: Comicanalyse | 03.04.2019 | ...
 
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
 
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
Transformation mittelhochdeutscher Erfahrungswelten – vom Text zum Computerga...
 
Bit sosem 2016-wieners-sitzung-13_ki-in-games
Bit sosem 2016-wieners-sitzung-13_ki-in-gamesBit sosem 2016-wieners-sitzung-13_ki-in-games
Bit sosem 2016-wieners-sitzung-13_ki-in-games
 
Bit sosem 2016-wieners-sitzung-12_bild-iv-computer-vision
Bit sosem 2016-wieners-sitzung-12_bild-iv-computer-visionBit sosem 2016-wieners-sitzung-12_bild-iv-computer-vision
Bit sosem 2016-wieners-sitzung-12_bild-iv-computer-vision
 
Bit sosem 2016-wieners-sitzung-11_bild-iii-filter
Bit sosem 2016-wieners-sitzung-11_bild-iii-filterBit sosem 2016-wieners-sitzung-11_bild-iii-filter
Bit sosem 2016-wieners-sitzung-11_bild-iii-filter
 
Bit sosem 2016-wieners-sitzung-10_bild-ii-punktoperationen
Bit sosem 2016-wieners-sitzung-10_bild-ii-punktoperationenBit sosem 2016-wieners-sitzung-10_bild-ii-punktoperationen
Bit sosem 2016-wieners-sitzung-10_bild-ii-punktoperationen
 
Bit sosem 2016-wieners-sitzung-09_bild-i-kompression
Bit sosem 2016-wieners-sitzung-09_bild-i-kompressionBit sosem 2016-wieners-sitzung-09_bild-i-kompression
Bit sosem 2016-wieners-sitzung-09_bild-i-kompression
 
Bit sosem 2016-wieners-sitzung-08_semantic-web
Bit sosem 2016-wieners-sitzung-08_semantic-webBit sosem 2016-wieners-sitzung-08_semantic-web
Bit sosem 2016-wieners-sitzung-08_semantic-web
 
Bit sosem 2016-wieners-sitzung-07_rechnerkommunikation-ii
Bit sosem 2016-wieners-sitzung-07_rechnerkommunikation-iiBit sosem 2016-wieners-sitzung-07_rechnerkommunikation-ii
Bit sosem 2016-wieners-sitzung-07_rechnerkommunikation-ii
 
Bit sosem 2016-wieners-sitzung-06_rechnerkommunikation
Bit sosem 2016-wieners-sitzung-06_rechnerkommunikationBit sosem 2016-wieners-sitzung-06_rechnerkommunikation
Bit sosem 2016-wieners-sitzung-06_rechnerkommunikation
 
Bit sosem 2016-wieners-sitzung-05_zellulaere-automaten-conway
Bit sosem 2016-wieners-sitzung-05_zellulaere-automaten-conwayBit sosem 2016-wieners-sitzung-05_zellulaere-automaten-conway
Bit sosem 2016-wieners-sitzung-05_zellulaere-automaten-conway
 
Bit sosem 2016-wieners-sitzung-04_theoretische-informatik
Bit sosem 2016-wieners-sitzung-04_theoretische-informatikBit sosem 2016-wieners-sitzung-04_theoretische-informatik
Bit sosem 2016-wieners-sitzung-04_theoretische-informatik
 
Bit sosem 2016-wieners-sitzung-03_algorithmen
Bit sosem 2016-wieners-sitzung-03_algorithmenBit sosem 2016-wieners-sitzung-03_algorithmen
Bit sosem 2016-wieners-sitzung-03_algorithmen
 
Bit sosem 2016-wieners-sitzung-02_datenstrukturen
Bit sosem 2016-wieners-sitzung-02_datenstrukturenBit sosem 2016-wieners-sitzung-02_datenstrukturen
Bit sosem 2016-wieners-sitzung-02_datenstrukturen
 
Bit sosem 2016-wieners-sitzung-01_auffrischung
Bit sosem 2016-wieners-sitzung-01_auffrischungBit sosem 2016-wieners-sitzung-01_auffrischung
Bit sosem 2016-wieners-sitzung-01_auffrischung
 
Bit sosem 2016-wieners-sitzung-00_themenueberblick
Bit sosem 2016-wieners-sitzung-00_themenueberblickBit sosem 2016-wieners-sitzung-00_themenueberblick
Bit sosem 2016-wieners-sitzung-00_themenueberblick
 
Bit wisem 2015-wieners-sitzung-13_Zusammenfassung II
Bit wisem 2015-wieners-sitzung-13_Zusammenfassung IIBit wisem 2015-wieners-sitzung-13_Zusammenfassung II
Bit wisem 2015-wieners-sitzung-13_Zusammenfassung II
 

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

  • 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.  (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. Betriebssysteme  Metaphern  „Datei“  „Ordner“  „Desktop“  Dateiverwaltung  Prozessverwaltung  (Arbeits)Speicherverwaltung Themenüberblick „Betriebssysteme“
  • 5.
  • 6.
  • 7.
  • 8.
  • 9. 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)
  • 10.
  • 11.
  • 12.
  • 13. (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
  • 18. 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)
  • 20. 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
  • 21. 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
  • 22. 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
  • 23.
  • 24. Grundmenge an (elementaren) Operationen zur Verwaltung von Dateien:  Neu  Löschen (unlink)  Kopieren  Umbenennen  Verschieben  „Einfach verkettete Liste“ Dateioperationen
  • 25.
  • 26. vs.
  • 27.  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)
  • 28. 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
  • 30.
  • 31. 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.
  • 33. 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
  • 34. 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
  • 35. 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
  • 36. 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
  • 37. 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
  • 39. 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.
  • 40. 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
  • 42. 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
  • 43. 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
  • 45.  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
  • 46. /

Editor's Notes

  1. Wir gewöhnen uns an Gegebenheiten von Betriebssystemen. Deshalb reagieren wir auf Änderungen mitunter skeptisch – und möchten Althergebrachtes wiederhaben.
  2. Manchmal wird die wunderbare Welt des Betriebssystems durchbrochen, z.B. mit dem Bluescreen.
  3. OS bzw. Benutzungsschnittstelle mit dem magischen Handschuh: „Minority Report“ (2002)
  4. Metapher Desktop
  5. Metapher Desktop  Dateien
  6. 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
  7. 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
  8. New Technology File System
  9. 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.
  10. Fragmentierung
  11. 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
  12. 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)
  13. „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)
  14. 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.
  15. 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.
  16. 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
  17. 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)
  18. 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
  19. 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.