Upload
almerich-zeimet
View
104
Download
1
Embed Size (px)
Citation preview
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