BIT – Schaßan – WS 02/03 Basisinformationstechnologie HK-Medien Teil 1, 8. Sitzung WS 02/03.

Post on 05-Apr-2015

104 views 1 download

Transcript of BIT – Schaßan – WS 02/03 Basisinformationstechnologie HK-Medien Teil 1, 8. Sitzung WS 02/03.

BIT – Schaßan – WS 02/03

Basisinformationstechnologie

HK-Medien

Teil 1, 8. SitzungWS 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. 6Tanenbaum, 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 Benutzernuser BesitzergroupArbeitsgruppe, zu der der Besitzer gehörtothers alle anderen Benutzer

BIT – Schaßan – WS 02/03

UNIX: Dateisystem (3)

Änderung der Rechte auch mit chmodVersteckte 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 CommunicationProzessterminierung: auf Prioritäten basierendSignale: asynchrone Software-Interrupts

BIT – Schaßan – WS 02/03

UNIX: Shell

Shell = Kommando-Interpreteranfä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 CMD30029 pts/6 00:00:00 bash30036 pts/6 00:00:00 man30043 pts/6 00:00:00 sh30048 pts/6 00:00:00 pager31980 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 ModularisierungKleiner Kernel im Kernel-Modus, Serverprozesse im Nutzermodusdadurch 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 BetriebssystemDas Access-Token enthält die Security-ID (SID) des Benutzers, d.h. eine Aufstellung der Sicherheitsgruppen, zu denen er gehörtAlle 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) verwaltetDas MFT ist selber eine Datei und kann sich an einer beliebigen Stelle auf der Platte befindenDer 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. VerzeichnisseDer Eintrag für jede Datei enthält

Standardinformationen (Zeitstempel, Archivbits)DateinameMS-DOS-NameSicherheitsinformationen (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 Indexeinsatzgröß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 AnmeldungZugriffskontrollen, 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 verhindernJedes Subsystem stellt einen (unterschied-lichen) Vorrat an Funktionsaufrufen zur VerfügungDas POSIX-Subsystem unterstützt minimal UNIX-Funktionen

BIT – Schaßan – WS 02/03

NT: Win32-API

API = Advanced Programming Interfacegut dokumentierte Bibliotheksprozeduren, die Systemaufrufe teilweise direkt oder durch das Win32-Subsystem durchführenAnders 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ückDas Handle kann anschließend benutzt werden, um Operationen auf das Objekt auszuführenHandles 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 SicherheitsvorkehrungenKeine geschützten File MappingsKein privater Addressraum für jedes ProgrammKeine interne Unicode-VerwendungKritische 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 LibrariesWiederverwendbare 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 Bindungdas Nutzerprogramm wird statisch mit einer speziellen Datei, der Importbibliothek, gebundenBei Start des Nutzerprogramms werden alle benötigten DLLs geladenEin Dienstprogramm zieht bestimmte Informationen aus der DLL-Datei heraus (z.B. Datenstrukturen)Ein Nutzerprogramm kann mit mehreren Importbibliotheken verbunden werdenWenn 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 BindungSetzt keine Importbibliotheken voraus und löst nicht das Laden der DLLs gleichzeitig mit dem Nutzerprogramm ausDas Nutzerprogramm erzeugt zur Laufzeit einen Aufruf, sich mit einer DLL zu bindenWeitere Aufrufe holen die Adressen der benötigten ProzedurenDanach kann die Bindung aufgehoben werdenDie 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 Embeddingseit Windows 3.1 ein neues Konzept zum DateiaustauschObjekte sind Datenobjekte, die von Windows-Applikationen erstellt wurden und die mit einer Referenz auf diese Applikation ausgestattet sindDie erstellende Applikation heißt Server, die nutzende ClientDas Ansprechen des Objektes ruft den Server auf

BIT – Schaßan – WS 02/03

Blockgrößen