310 likes | 397 Views
Basisinformationstechnologie HK-Medien. Teil 1, 8. Sitzung WS 02/03. Literatur. Tanenbaum, Andrew S. / James Goodman: Computerarchitektur. Strukturen, Grundlagen, Konzepte. München: Pearson Studium, 2001. Darin: Kap. 6
E N D
BasisinformationstechnologieHK-Medien Teil 1, 8. Sitzung WS 02/03 BIT – Schaßan – WS 02/03
Literatur • Tanenbaum, Andrew S. / James Goodman: Computerarchitektur.Strukturen, Grundlagen, Konzepte.München: Pearson Studium, 2001.Darin: Kap. 6 • Tanenbaum, Andrew S.:Moderne Betriebssysteme. 2., verb. Aufl.München, Wien: Hanser, 1995. BIT – Schaßan – WS 02/03
UNIX System-Struktur BIT – Schaßan – WS 02/03
UNIX: Dateisystem BIT – Schaßan – WS 02/03
UNIX: Dateisystem (2) • Jede Datei hat einen Besitzer, der die Zugriffsrechte festlegt. • Es gibt drei Arten des Zugriffs: • r Lesezugriff (read) • w Schreibzugriff (write) • x Ausführung (execute) • Es gibt drei Klassen von Benutzern • user Besitzer • group Arbeitsgruppe, zu der der Besitzer gehört • others alle anderen Benutzer BIT – Schaßan – WS 02/03
UNIX: Dateisystem (3) • Änderung der Rechte auch mit chmod • Versteckte Dateien/Verzeichnisse beginnen mit einem Punkt (z.B. ".cshrc") • Externe Dateisysteme (auf Disketten, CD-ROMs etc) müssen dem System erst gemeldet, in das System eingehangen werden (mount, umount) BIT – Schaßan – WS 02/03
UNIX: Datei-Implementierung • Index-Node: Verbindung jeder Datei mit einer kleinen Tabelle, die Attribute und Plattenadressen auflistet BIT – Schaßan – WS 02/03
UNIX: Prozessmanagement • IPC: InterProcess Communication • Prozessterminierung: auf Prioritäten basierend • Signale: asynchrone Software-Interrupts BIT – Schaßan – WS 02/03
UNIX: Shell • Shell = Kommando-Interpreter • anfänglich nur Oberfläche für Befehlszeilen, später immer anspruchsvoller(Bourne-Shell sh, Korn-Shell ksh, C-Shell csh, etc) • Die meisten UNIX-Befehle sind durch Optionen veränderbar und erhalten durch deren Anwendung eine erhöhte Funktionalität BIT – Schaßan – WS 02/03
UNIX: Shell (2) amc17@uk-web2$ ls CEEC Diss Kleio-CGI-August Materialien dsmerror.log scratch CEEC-DigKamera.ppt Homepage Kleio-CGI-Juni bin mail amc17@uk-web2$ ls -l total 244 Lrwxrwxrwx 1 amc17 thaller 22 Oct 24 17:28 CEEC -> /thaller/projekte/CEEC -rw-r--r-- 1 amc17 thaller 213504 Oct 2 15:24 CEEC-DigKamera.ppt drwxr-xr-x 2 amc17 thaller 4096 Jan 8 2002 Diss Lrwxrwxrwx 1 amc17 thaller 29 Oct 24 17:26 Homepage -> /thaller2/hki/people/schassan drwxr-xr-x 6 amc17 thaller 4096 Aug 9 2001 Kleio-CGI-August drwxr-xr-x 2 amc17 thaller 4096 Apr 11 2001 Kleio-CGI-Juni Lrwxrwxrwx 1 amc17 thaller 26 Oct 24 17:24 Materialien -> /thaller/projekte/schassan drwxr-x--- 2 amc17 thaller 4096 Dec 28 2000 bin -rw-rw-rw- 1 amc17 thaller 1318 Jun 27 22:07 dsmerror.log drwx------ 2 amc17 thaller 4096 Oct 27 2000 mail drwxr-xr-x 2 amc17 thaller 4096 Aug 6 2001 scratch BIT – Schaßan – WS 02/03
UNIX: Shell (3) • Die Shell selbst ist ein Prozess. • Jedes Kommando erzeugt einen Prozess. • Ein Pipe-Kommando erzeugt mehrere Prozesse. • Die Prozesse lassen sich mit dem Befehl ps auflisten (und mit kill beenden). amc17@uk-web2$ ps PID TTY TIME CMD 30029 pts/6 00:00:00 bash 30036 pts/6 00:00:00 man 30043 pts/6 00:00:00 sh 30048 pts/6 00:00:00 pager 31980 pts/6 00:00:00 ps BIT – Schaßan – WS 02/03
UNIX: Pipes • ls | wc –wWie viele Dateien befinden sich im aktuellen Directory? • cat Kapitel.1 Kapitel.2 | wc –lWie groß sind Kap. 1+2 zusammen? • grep –i Köln Kunden | sort > Koelsche.kndnSuche in Datei Kunden alle Vorkommen des Wortes Köln und speichere das Ergebnis sortiert in Koelsche.kndn(grep = global regular expression) BIT – Schaßan – WS 02/03
UNIX: Kommando-Verknüpfungen • cmd & führe Kommando im Hintergrund (in eigenem Fenster) aus. • cmd1; cmd2 erst cmd1, dann cmd2 • cmd1 | cmd 2 Pipe aus cmd1 und cmd2 • cmd1 && cmd2 AND; nur wenn cmd1 fehlerfrei terminiert, dann cmd2 • cmd1 || cmd2 OR; nur wenn cmd1 mit Fehler terminiert, dann cmd2 BIT – Schaßan – WS 02/03
Windows NT System-Struktur BIT – Schaßan – WS 02/03
NT: Module • Verbesserungen des Betriebssystems gegenüber Windows 95/98 durch Modularisierung • Kleiner Kernel im Kernel-Modus, Serverprozesse im Nutzermodus • dadurch erleichterte Portierung auf andere Hardwaresystemez.B. Hardware-Abstraktionsschicht BIT – Schaßan – WS 02/03
NT: Dateisystem • Über das Kontextmenü (rechte Maustaste) und die Auswahl von Einstellungen, kann man die Rechte für den Zugriff auf bestimmte Verzeichnisse bzw. Dateien festlegen BIT – Schaßan – WS 02/03
NT: Dateisystem (2) • Bei der Anmeldung zum System erhält der Anfangsprozess ein Access-Token vom Betriebssystem • Das Access-Token enthält die Security-ID (SID) des Benutzers, d.h. eine Aufstellung der Sicherheitsgruppen, zu denen er gehört • Alle weiteren Prozesse erben vom Anfangsprozess das gleiche Access-Token BIT – Schaßan – WS 02/03
NT: Dateisystem (3) • Die Metadaten über die Dateien, Verzeichnisse, Rechte etc. werden in der Master File Table (MFT) verwaltet • Das MFT ist selber eine Datei und kann sich an einer beliebigen Stelle auf der Platte befinden • Der Header der MFT enthält Verweise zum Root-Verzeichnis, der Boot-Datei, zur Bad-Block-Datei, zur Freilistenverwaltung, etc. BIT – Schaßan – WS 02/03
NT: Dateisystem (4) • Dem MFT-Header folgen die Cluster für Dateien bzw. Verzeichnisse • Der Eintrag für jede Datei enthält • Standardinformationen (Zeitstempel, Archivbits) • Dateiname • MS-DOS-Name • Sicherheitsinformationen (ab NT 5.0 in separater Datei, nur ein Zeiger an dieser Stelle) • Daten von kleineren Files (Immediate File) BIT – Schaßan – WS 02/03
NT: Datei-Implementierung • Allokation mittels verknüpfter Liste und Indexeinsatz • größter Nachteil: die gesamte Tabelle muss während der ganzen Arbeitszeit über im Speicher gehalten werden BIT – Schaßan – WS 02/03
NT: Sicherheitsmanager • entspricht den Sicherheitsanforderungen des US-Verteidigungsministeriums(Orange Book), z.B.: • Echtheitsgeprüfte Anmeldung • Zugriffskontrollen, u.a. auf virtuelle Seiten, die vor der Wiederverwendung auf Null gesetzt werden müssen BIT – Schaßan – WS 02/03
NT: Subsysteme • Die Subsysteme verfolgen den Zweck, direkte Systemaufrufe durch Nutzerpro-gramme zu verhindern • Jedes Subsystem stellt einen (unterschied-lichen) Vorrat an Funktionsaufrufen zur Verfügung • Das POSIX-Subsystem unterstützt minimal UNIX-Funktionen BIT – Schaßan – WS 02/03
NT: Win32-API • API = Advanced Programming Interface • gut dokumentierte Bibliotheksprozeduren, die Systemaufrufe teilweise direkt oder durch das Win32-Subsystem durchführen • Anders als bei UNIX, wo die Menge der Systemaufrufe klein und öffentlich ist, gibt es bei der Win32-API meist mehrere Varianten, ein Ziel zu erreichen BIT – Schaßan – WS 02/03
NT: Handle • Jeder Win32-API-Aufruf, der ein Kernel-Objekt erzeugt (d.h., Speicher anfordert), gibt als Ergebnis einen Handle an den Aufrufer zurück • Das Handle kann anschließend benutzt werden, um Operationen auf das Objekt auszuführen • Handles gehören zu dem Prozess, der das vom Handle referenzierte Objekt erzeugt hat; sie können nicht direkt an andere Prozesse weitergegeben werden BIT – Schaßan – WS 02/03
Merkmale von Windows 95/98 • Kein volles 32-Bit-System (aber Win32-API) • Keine Sicherheitsvorkehrungen • Keine geschützten File Mappings • Kein privater Addressraum für jedes Programm • Keine interne Unicode-Verwendung • Kritische Betriebssystemdaten sind vom Benutzer überschreibbar BIT – Schaßan – WS 02/03
NT: Linkage • Ausführbare DOS-Programme enthalten in der .exe-Datei alle Unterroutinen, die zur Abarbeitung benötigt werden alle Routinen werden durch einem Linker zu einer festen Datei zusammengebunden statisches Linken BIT – Schaßan – WS 02/03
NT: DLLs • DLL = Dynamic Link Libraries • Wiederverwendbare Routinen sollten allerdings nur einmal vorhanden und damit auch im Speicher sein Zusammenfassung der Routinen in DLLs, von wo aus sie zentral gestartet werden können BIT – Schaßan – WS 02/03
NT: DLLs (2) • Implizite Bindung • das Nutzerprogramm wird statisch mit einer speziellen Datei, der Importbibliothek, gebunden • Bei Start des Nutzerprogramms werden alle benötigten DLLs geladen • Ein Dienstprogramm zieht bestimmte Informationen aus der DLL-Datei heraus (z.B. Datenstrukturen) • Ein Nutzerprogramm kann mit mehreren Importbibliotheken verbunden werden • Wenn eine Routine einer DLL tatsächlich benötigt wird, wird die komplette DLL in den Speicher geladen, es sei denn, sie evtl. schon dem Paging unterzogen wurden BIT – Schaßan – WS 02/03
NT: DLLs (3) • Explizite Bindung • Setzt keine Importbibliotheken voraus und löst nicht das Laden der DLLs gleichzeitig mit dem Nutzerprogramm aus • Das Nutzerprogramm erzeugt zur Laufzeit einen Aufruf, sich mit einer DLL zu binden • Weitere Aufrufe holen die Adressen der benötigten Prozeduren • Danach kann die Bindung aufgehoben werden • Die Prozedur in der DLL hat keine eigene Identität, sondern läuft im Thread des Aufrufers und benutzt dessen Variablen BIT – Schaßan – WS 02/03
NT: OLE • OLE = Object Linking and Embedding • seit Windows 3.1 ein neues Konzept zum Dateiaustausch • Objekte sind Datenobjekte, die von Windows-Applikationen erstellt wurden und die mit einer Referenz auf diese Applikation ausgestattet sind • Die erstellende Applikation heißt Server, die nutzende Client • Das Ansprechen des Objektes ruft den Server auf BIT – Schaßan – WS 02/03
Blockgrößen BIT – Schaßan – WS 02/03