1 / 136

Betriebssysteme

Betriebssysteme. Studiengang Betriebsinformatik Wintersemester 2009/10 (2. Semester). Vorlesung : 5 Veranst. á 2 DS = 20 Unterrichtsstunden Praktikum : 3 Veranst. 3 / 3 / 4 DS = 20 Unterrichtsstunden. Inhalt. Einführung Grundlagen (Windows 2000/XP) Anpassung der Arbeitsumgebung

apria
Download Presentation

Betriebssysteme

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Betriebssysteme Studiengang Betriebsinformatik Wintersemester 2009/10 (2. Semester) Vorlesung : 5 Veranst. á 2 DS = 20 Unterrichtsstunden Praktikum : 3 Veranst. 3 / 3 / 4 DS = 20 Unterrichtsstunden

  2. Inhalt • Einführung • Grundlagen (Windows 2000/XP) • Anpassung der Arbeitsumgebung • Dienste & Dienste verwalten (MMC) • Verteilte Betriebssysteme • Mehrnutzerbetrieb und Benutzerverwaltung • Kommandointerpretation und Batch-Dateien • Datensicherung

  3. Literatur Windows 2000 Professional, Eine Einführung in die PC-Benutzung Regionales Rechenzentrum für Niedersachsen / Universität Hannover http://www.rrzn.uni-hannover.de, 1. Auflage, Februar 2000 Windows 2000 Professional, Systembetreuer: Workstation Regionales Rechenzentrum für Niedersachsen / Universität Hannover http://www.rrzn.uni-hannover.de, 1. Auflage, November 2000 S. Tanenbaum Moderne Betriebssysteme. Carl Hanser u. Prentice-Hall, 1994 M. Kuppinger Microsoft Windows 2000 Server – Das Handbuch Microsoft Press Deutschland, 2000, ISBN 3-86063-133-0 P. Mandl Grundkurs Betriebssysteme Vieweg-Verlag, 2008 C. Immler Knoppix 4.0 Franzis Verlag, 2006

  4. Einführung 1.1 Was ist ein Betriebssystem? Anwendungsprogramme Software Systemprogramme Rechnersystem (RS) = Rechenanlage (RA) + Betriebssystem (BS) Der Nutzer muss von der Komplexität der Hardware abgeschirmt werden. Dem Nutzer wird eine virtuelle Maschine (= BS) angeboten, die einfacher zu verstehen und zu programmieren ist

  5. Sichten Top-down : Nutzung der virtuellen Maschine durch Benutzer Bottom-up : untersuchen, wie ein BS eine virtuelle Maschine realisiert Betriebsmittelverwaltung Zuteilung von Prozessoren (CPU), Speichern, I/O-Geräten für konkurrierende Programme Benutzer kommunizieren mit einem BS über eine grafische Benutzeroberfläche (GUI) Kommandos in einer einfachen Programmiersprache (Shell, Command-Tool) eine programmiersprachliche Schnittstelle: Systemaufrufe in C, BS ist selbst in C programmiert

  6. 1.2 Konzepte, Strukturen und Klassifizierung von BS 1. Generation ( vor 1955) : kein BS ! 2. Generation (1955 – 65) : jeweils 1 Programm zur Abarbeitung im HS, CPU wartet die meiste Zeit auf E/A 3. Generation (1965 – 80) : HS in Partitionen geteilt, in jeder Partition kann ein Programm abgearbeitet werden (Multiprogramming) Spooling-Technik Timesharing, Prozesskonzept, schneller online-Zugang für Terminale + „Stapeljobs“ im Hintergrund 4. Generation (1980 -90) : Netzwerk-BS, verteilte BS

  7. Job: Folge mehrerer Programme zusammen abarbeitbar:

  8. Netzwerkbetriebssystem: auf jedem Rechner läuft ein eigenes Betriebssystem, die Nutzer sind sich der Existenz vieler Rechner bewusst, sie können - Zugang auf entfernte Rechner haben - Dateien von einem Rechner zu anderem kopieren „Echte“ Verteilte (Betriebs-) Systeme Das BS sieht für den Benutzer aus wie ein traditionelles Einprozessorsystem, es besteht aber aus vielen Prozessoren. Nutzer haben keine Kenntnis, wo Programme ausgeführt werden.

  9. Grundlagen (Windows 2000/XP) 2.1 Architektur 2.2 Dateiverwaltung 2.3 Programme und Prozesse 2.4 Kommunikation zwischen Prozessen 2.5 Hauptspeicherverwaltung 2.6 Netzwerkbetrieb/Netzwerkprotokolle

  10. Architektur (Aufbau, Struktur) von BS Monolithische Systeme Prozeduren können sich gegenseitig aufrufen (Vermittlung von Parametern und Ergebnissen). Systemaufrufe (Supervisor call, Trap-Befehl) sind vorhanden. Umschalten von Benutzermodus in Kernmodus unterstützt. Schichtenmodell Trennung der Funktionalität in Schichten und Module, die unabhängig voneinander arbeiten. Soviel Funktionalität wie möglich in höhere Schichten verlagern, übrig bleibt der Kern (kernel) . Client-Server-Modell → Windows ist eine Kombination aus Schichtenmodell und Client-Server-Modell → Entlastung des Kernels: Microkernel-Architektur

  11. Das Client-Server-Modell (nach Tanenbaum) Das Client-Server-Modell in einem verteilten System (nach Tanenbaum)

  12. Terminalserver • Ein Terminalserver verwaltet Terminals (d.h. Client-Arbeitsplätze) • Anwendungsprogramme laufen vollständig auf den Server-Rechnern, • Server stellen Rechenleistung zur Verfügung • Clients werden ausschließlich für Präsentationen eingesetzt • Ein Server bedient (in Abhängigkeit von seiner Leistung) mehrere Clients • Client und Server kommunizieren über spezielle Protokolle • (z.B. Remote Desktop Protocol (RDP) von Microsoft)

  13. Typischerweise bestehen BS aus Komponenten für Prozessverwaltung Prozessmanager Speicherverwaltung Speicherverwaltung Dateiverwaltung Objekt-Manager Verwaltung der I/O-Geräte I/O-Manager Bei Windows NT 4.0 gab es im Benutzermodus ein Win32-Subsystem Der Modul wurde aufgespalten und Teile davon in den Kernel verschoben. Über das Grafical Device Interface greift der Windows Manager auf grafische Geräte zu.

  14. Dateien 2.2 Dateiverwaltung a) eine Folge von Bytes (Beispiel UNIX) b) eine Folge von Datensätzen (Beispiel CP/M) c) ein Baum

  15. Mit dem Konzept der Verzeichnisse (directories) bieten BS die Möglichkeit, Dateien zu gruppieren. Metapher: Verzeichnisse sind Behälter für Dateinamen Hierarchie von Dateien: eine Datei ist eine gewöhnliche Datei oder ein Verzeichnis (oder eine Gerätedatei) ein Verzeichnis enthält Dateien Jede Datei innerhalb einer Verzeichnishierarchie kann durch Angabe eines Pfadnamens benannt werden. Ein absoluter Pfadname besteht aus einer Liste von Verzeichnissen, die Ausgehend vom Wurzelverzeichnis durchlaufen werden müssen, um auf die Datei zuzugreifen. Die einzelnen Bezeichnungen werden durch ein Separatorzeichen getrennt

  16. Benennung von Dateien: .bin ausführbares Binärprogramm .batBatch-Datei (Kommandoprozedur) .c C-Quellprogramm .comkleines ausführbares Programm .class übersetzte Java-Datei .doc Dokumentationsdatei .exe ausführbares Programm .hlp Hilfe-Datei .java Java-Quellprogramm .lib Bibliothek von Objekt-Code-Dateien, vom Linker benutzt .obj Objekt-Datei .pas Pascal-Quellprogramm .sys Gerätetreiber .txt ASCII-Textdatei .xls EXCEL-Datei

  17. Dateien werden auf Datenträgern in Dateisystemen organisiert. Über Bereitstellungspunkt Verzeichnis eines NTFS-Datenträgers direkt mit anderem Datenträger verbinden

  18. Dateisystem FAT 16 VFAT FAT 32 NTFS Urspung MS-DOS Windows 95 Windows 95b Windows NT Maximale Dateigröße 2 GByte 4 GByte 4 GByte 16 Exabyte Maximale Partitionsgröße 2 GByte 4 Gbyte 2 Terabyte 16 Exabyte (2 Gigabyte) Maxim. Länge der Datei- und Verzeichnisnamen 8 255 255 255 Datei- und Ver-zeichnisattribute 3 3 3 erweitert Im Bereich der Microsoft-BS werden mehrere Arten von Dateisystemen unterstützt:

  19. Attribute von NTFS-Dateien sind: ● Attribut „schreibgeschützt“ ● Attribut „versteckt“ ● Archivattribut ● Indexattribut ● Komprimierungsattribut ● Verschlüsselungsattribut Verarbeitung von Dateien: ► Lesen, Schreiben, ► Ausführen, ► Navigieren (ein Verzeichnis zum aktuellen Verzeichnis machen) Benutzer: Subjekt Dokument: Objekt Dokument D Benutzer A Benutzer B

  20. Zugriffskontrollmatrix O1 O2 O3 S1 rwx - - S2 - w - S3 rx - x Access Control List (ACL) In einer ACL sind ACE‘s enthalten, die einzelne Berechtigungen erteilen oder entziehen. Auswertung der ACL einer Datei: 1) negative ACE‘s (welche Berechtigungen sind entzogen?) 2) positive ACE‘s: (welche Berechtigungen sind zugelassen?) → unlogische Kombinationen werden verhindert!

  21. NTFS-Berechtigungen:

  22. Regeln: ► Beim Anlegen einer Datei bekommt diese dieselben Rechte wie der Ordner, in dem sie angelegt wird (Vererbung). ► Kopieren: Berechtigungen des Zielverzeichnisses werden angenommen ► Verschieben: Berechtigungen werden mit übertragen. aber zwischen unterschiedlichen Datenträgern: wie Kopieren. ► Besitzrechte: Besitzer eines Objektes ist der Benutzer, der das Objekt erstellt hat. Besitzrechte können nicht übertragen, sondern nur übernommen werden.

  23. 2.3 Programme und Prozesse Prozessdefinition: Wird ein Programm aufgerufen (Benutzerprogr., Kommando), wird der Programmcode in den HS geladen u. abgearbeitet. Das ablaufende Programm heißt Prozess (Task). ► In einem Multitasking-BS entscheidet das BS periodisch, einen laufenden Prozess zu unterbrechen und einen anderen Prozess zu starten (wenn die dem Prozess zustehende CPU-Zeit verbraucht ist). -> Prozessscheduling ► Wenn ein Prozess suspendiert wurde, muss er später in genau diesem Zustand wieder gestartet werden.

  24. Prozesskenndaten ( sind in einer Prozesstabelle gespeichert ) bzgl. Prozessverwaltung bzgl. Speicherverwaltung● Prozessnummer (PID) bzgl. Dateiverwaltung● Prozessnummer des Elternprozesses (PPID) ● Benutzerkennung (UID) und Gruppenkennung (GID) ● Prozesspriorität (PRI) ● Prozesszustand (STAT) ● Kontrollterminal (TTY) ● zugeordnete Datenbereiche (Programm + Daten)● aktuelles Verzeichnis● die geöffneten Dateien● Environment (Variablen und Werte)● der Stack● der Befehlszähler● Register… Anzeige von Prozessen:

  25. Mit Hilfe des Taskmanagers können 1) Die Systemleistung überwacht werden - Auslastung des Prozessors - Speicherauslastung 2) laufende Systemprozesse gesteuert werden 3) aktive Anwendungen beendet werden Taskmanager → Register PROZESSE → Ansicht

  26. Prozesshierarchie: Ein Prozess kann von sich aus einen neuen Prozess erzeugen und starten. Kindprozess (child process) Elternprozess (parent process) Beim Erzeugen eines Prozesses wird mittels des Systemaufrufs fork eine Kopie des erzeugenden Prozesses erzeugt 0 1 19 20 21 128 129 130

  27. Entstehung und Ende von Prozessen

  28. main() { int w_status; int pid_fork; if((pid_fork = fork()) == 0) { execl("psohn","psohn",0); printf("execl gescheitert\n"); exit(1); } if(pid_fork == -1) { printf("fork gescheitert\n"); exit(2); } wait(&w_status); printf("Beendigungsgrund: %x\n",w_status & 0xff); printf("Exit-Status : %x\n",(w_status>>8) & 0xff); } pvater Anwendung, wenn kein Programm psohn existiert: ~> pvater execl gescheitert Beendigungsgrund: 0 Exit-Status : 1 Anwendung wenn ein Program psohn existiert mit: main(){ exit(4); } ~> pvater Beendigungsgrund: 0 Exit-Status : 4

  29. Prozess-Scheduling Es gibt viele Algorithmen für konkurrierende Forderungen nach Effizienz und Fairness gegenüber einzelnen Prozessen • Ob einem Prozess CPU-Zeit zugeteilt wird, hängt ab von • Priorität des Prozesses • Platzbedarf des Prozesses • verstrichene Wartezeit des Prozesses • Regeln: • Jeder Prozess in der Systemphase hat höhere Priorität als alle Prozesse • in der Benutzerphase • die Priorität eines Prozesses in der Benutzerphase ist um so größer • je kleiner das Verhältnis • verbrauchte CPU-Zeit • insgesamt verbrauchte Zeit ist.

  30. Round-Robin-Scheduling Wenn ein Prozess blockiert oder seine Ausführung beendet ist, bevor das Quantum abgelaufen ist, wird ihm der Prozessor entzogen. B F D G A Aktueller Prozess Nächster Prozess F D G A B

  31. 2.4 Kommunikation zwischen Prozessen • temporäre Dateien • Pipes • Signale (Unterbrechungssystem) • Shared Memory (gemeinsam genutzter Speicher) • Semaphore • Messages • Sockets IPC = Inter Process Communication

  32. Kommunikation mittels Shared Memory : Zeitkritische Abläufe (race conditions) Kritische Bereiche Wechselseitiger Ausschluss Schlafen und Aufwecken Semaphore Monitore Zeitkritische Abläufe: Probleme bei gemeinsam genutztem Speicher (HS oder Dateien) Mehrere Prozesse lesen/schreiben gemeinsam genutzte Daten, Ergebnisse hängen Von zeitlicher Reihenfolge der Les-/Schreiboperationen ab. Beispiel: Drucker-Warteschlange

  33. Kritische Bereiche: Die Teile von Programmen, in denen auf gemeinsam benutzten Speicher zugegriffen wird. Finden eines Verfahrens, um zu verhindern, dass zu einem Zeitpunkt mehr als ein Prozess gemeinsame Daten liest oder schreibt. Programm A Programm B Daten Kritischer Bereich Wechselseitiger Ausschluss: ● Sperren aller Unterbrechungen vor Eintritt in kritischen Bereich ● Aktives Warten mittels Sperrvariablen (0 – kein P. im KB., 1 – P. im KB. ) ● Schlafen und Aufwecken

  34. Aktives Warten verschwendet Prozessorzeit (Warteschleife, falls Eintritt in den kritischen Bereich nicht möglich ist). „Blockieren“, wenn ein Prozess nicht in den Kritischen Bereich eintreten kann: Der Aufrufer wird suspendiert, bis er von einem anderen Prozess aufgeweckt wird. → Ereigniszählung erforderlich

  35. Das Erzeuger-Verbraucher-Problem Puffer n = 6 Erzeuger count Verbraucher • im Zustand count=0 liest der Verbraucher count. • Verbraucher startet den Erzeuger und will sich schlafen legen. • bevor der Verbraucher sich schlafen legen kann, wird der Verbraucher-Prozess unterbrochen. • der Erzeuger wird geweckt, erhöht count (count++) und weckt den Verbraucher. • der Verbraucher schläft noch nicht, das Wecksignal bleibt wirkungslos. • der Verbraucherprozess wird fortgesetzt, der Verbraucher legt sich schlafen. • der Erzeuger füllt den Puffer und legt sich schlafen. • beide Prozesse schlafen für immer → Deadlock

  36. Messages: Nachrichtenaustausch über eine im BS-Kern verwaltete Datenstruktur. Messages werden vom Sender-Prozess in eine Message-Queue geschrieben und vom Empfänger-Prozess dort abgeholt. Falls keine Nachricht verfügbar ist, kann der Empfänger blockieren, bis eine Nachricht eintrifft.

  37. 2.5 Hauptspeicherverwaltung Swapping : Ist nicht genügend HS zum Einlagern eines ausgewählten Prozesses vorhanden, werden andere Prozesse ausgelagert. Paging : Virtueller Speicher: Der Speicher wird in Seiten (pages) eingeteilt, es werden nur noch benötigte Teile von Prozessen ein-/ausgelagert. Der Seitenwechsel wird als Paging bezeichnet. Die Speicherverwaltungseinheit MMU (Memory Management Unit) rechnet virtuelle in reale Adressen um. → es können Programme ausgeführt werden, die größer sind als der HS.

  38. Dynamisches Binden (Linken): übersetzen vebinden (linken) HS x.c x.o a.Out Bibliotheksprogramme Quellprogramme Objektprogramme (Zielprogramme) Ausführbares Programm (Lademodul, Executable)

  39. Flexible Methode ist das Binden jeder Prozedur zum Zeitpunkt ihres ersten Aufrufs: = Dynamisches Binden Alle Versionen von Windows unterstützen das dynamische Binden durch ein spezielles Dateiformat : DLL (Dynamic Link Library) DLLs können Prozeduren oder Daten oder beides enthalten

More Related