2 Architektur und Konzepte
Transcrição
2 Architektur und Konzepte
Architektur und Konzepte 2 Architektur und Konzepte Ziele des Kapitels: Sie lernen Aufbau und Struktur von Windows NT kennen. ¼ ¼ Sie erhalten einen Überblick über die Konzeption des Betriebssystems. ¼ Sie lernen die zwei in Windows NT verwendbaren Dateisysteme kennen. ¼ Sie informieren sich über die Sicherheitskonzepte von Windows NT. Microsoft Windows NT 4.0 Workstation Einführung 11 Architektur und Konzepte Ein Betriebssystem hat die grundlegende Aufgabe, dem Benutzer die Rechnerhardware wie Prozessor, Festplatten, Disketten, Netzkarten, Drucker usw. für seine Arbeit zugänglich zu machen. Das Betriebssystem stellt also den Vermittler zwischen der Hardware, den Anwendungsprogrammen und Ihnen, dem Nutzer, dar. Moderne Betriebssysteme bieten Eigenschaften und Hilfsmittel an, die die Arbeit am Rechner ganz wesentlich erleichtern. Dazu gehört besonders eine graphische Benutzeroberfläche und die Möglichkeit, nicht nur mit der Tastatur zu arbeiten. Dennoch gibt es auch im Bereich der Arbeitsplatzcomputer noch Betriebssysteme, die uns als Anwender Beschränkungen auferlegen. Dazu gehört auch das weitverbreitete DOS. Die Einschränkungen liegen vor allem im Bereich der Speicher- und Prozessornutzung. Die zu günstigen Preisen angebotene Computerhardware wird etwa mit DOS nicht entsprechend den Möglichkeiten genutzt. Die Anforderungen an einen PC sind gestiegen. Es sollen mehrere Programme gleichzeitig eingesetzt werden können, Einbindung in die verschiedensten Netzwerkumgebungen und eine unkomplizierte, effektive Speicherverwaltung sind gefordert. 2.1 Betriebssystemkonzepte im Vergleich Die verschiedenen Betriebssystemkonstruktionen folgen im wesentlichen drei Konzepten. ¼ ¼ Ein dem monolithischen Modell folgendes Betriebssystem erreicht seine Funktion durch die Kombination einer Anzahl von Prozeduren. Ein solches System ist wegen der Vielzahl der möglichen Verbindungen zwischen den Prozeduren schwer zu erweitern oder zu ändern. Ein Beispiel eines monolithisch konstruierten Betriebssystems ist MS-DOS. Das Schichtenmodell ergibt sich aus dem Ansatz, die Funktionalität des Betriebssystems in Schichten und diese in Module aufzuteilen. Das führt zu einer hierarchischen Struktur innerhalb der Schichten und Module. Funktionen können von Modulen höherer Schichten, nicht aber von denen der gleichen Schicht aufgerufen werden. Durch die geordnete Struktur ergeben sich einige Vorteile. Die Fehlersuche wird vereinfacht, da ein Fehler in den Schichten von unten nach oben gesucht werden kann. Auch ist eine Erweiterung oder Änderung leichter möglich, da Schichten oder Module ausgetauscht werden können. VAX/VMS ist ein Betriebssystem, das diesem Modell entspricht. 12 © Microsoft GmbH 1996 Architektur und Konzepte ¼ ¼ Der Aufbau des Betriebssystems nach dem Client-Server-Modell folgt einer anderen Idee. Clients sind entweder Bestandteile des Betriebssystems oder Anwendungsprogramme, die Dienste anfordern. Diese Dienste werden von Serverprozessen bereitgestellt. Der Kern des Betriebssytems ist so relativ klein und wird als Microkernel bezeichnet. Die Anforderungen der Clientprozesse und die Antworten der Server werden durch den Microkernel transportiert. Der Microkernel stellt den Zugriff auf die Hardware bereit. Im Client-Server-Betriebssystem laufen alle Prozesse bis auf den Microkernel im Anwendermodus. So kann ein Prozess "abstürzen", ohne das Betriebssystem selbst zu gefährden. Außerdem ist der Ablauf der Prozesse auf unterschiedlichen Prozessoren oder auch entfernten Computern im Netz möglich. Windows NT verwendet eine Architektur, die Eigenschaften des Schichtenund des Client-Server-Modells kombiniert. Die einzelnen Komponenten werden in den folgenden Abschnitten noch genauer beschrieben. Die im privilegierten Modus laufenden Teile von Windows NT sind die Executive, der eigentliche Kernel und der HAL (Hardware Abstraction Layer). Diese drei Komponenten liegen nach dem Schichtenmodell übereinander. Der HAL ist eine Schicht innerhalb der Executive. In der Executive liegen weitere Module, die untereinander kommunizieren können. Im Anwendermodus laufen Subsysteme als Server für Client-Prozesse, die aus den verschiedenen, von Windows NT unterstützten Softwarewelten stammen können. Die Vorteile des Schichtenmodells und des Client-Server-Modells wurden hier vereinigt. Die Kompatibilität zu Software verschiedener Umgebungen wurde über das Client-Server-Modell realisiert. So ist das eigentliche Betriebssystem geschützt, Änderungen und Erweiterungen sind leichter möglich. In Windows NT 4.0 hat sich der Kernel verändert. Der Windows Manager, das GDI, die graphischen Geräte-Treiber und -Schnittstellen liegen jetzt in der Windows NT Executiven. Dies führt dazu, daß die Steuerung von Eingabe, Ausgabe und grafischen Darstellungen jetzt im geschützten Bereich der Windows Executiven ausgeführt werden. Das hat den Vorteil einer verbesserten Kommunikation mit anderen Komponenten der Executiven, da diese auch im geschützten Modus laufen. Microsoft Windows NT 4.0 Workstation Einführung 13 Architektur und Konzepte Applikation POSIX geschützte Subsysteme Posix Posix Windows NT Executive WIN32 OS/2 CSR CSR OS/2 OS/2 ObjektObjekt- SicherheitsSicherheits- Prozess Prozess Manager Monitor Manager Manager Monitor Manager I/O I/OManager Manager Logon Logon Sicherheit Sicherheit Virtueller Virtueller Windows Windows Speicher Speicher Manager Manager Manager GDI Manager GDI Micro-Kernel Micro-Kernel HAL HAL Grafik Grafik Geräte Geräte Treiber Treiber Lokaler Lokaler Prozeduren Prozeduren Aufruf Aufruf Hardware Abbildung 2.1: Windows NT 4.0 - Architektur 2.2 Der HAL (Hardware Abstraction Layer) Der Kernel von Windows NT setzt nicht direkt auf der Hardware auf. Der HAL liegt zwischen Hardware und Kernel. Er versteckt hardwareabhängige Details der unterschiedlichen Systeme und sorgt so für Portabilität des Betriebssystems auf andere Plattformen. Die Komponenten von Windows NT rufen nicht selbst Hardwareroutinen auf. Der HAL stellt diese Funktionen bereit. Prozessor- und sytemabhängiger Code wird soweit wie möglich in dem HAL konzentriert. Nicht alle hardwarespezifischen Funktionen liegen in dem HAL. Geräte, die installiert und entfernt werden können, wie Festplattenkontroller, Grafikkarten und CD-ROM Laufwerke, müssen über Gerätetreiber angesprochen werden. 2.3 Windows NT Executive Dieser Teil von Windows NT läuft im privilegierten Prozessormodus. Hier sind die Kernfunktionen des Betriebssystems in einer Reihe von weitgehend selbstständigen Modulen untergebracht. Zur Executiven gehört der eigentliche Kern von Windows NT (Kernel) und auch der HAL. Weitere Module sind der Objektmanager, der Prozessmanager und der Sicherheitsmonitor. Auch die Verwaltung des virtuellen Speichers und ein Kommunikationsmodul (Local Procedure Calls) sind hier untergebracht. Der I/O-Manager, das Ein-/Ausgabesystem, ist ebenfalls Teil der Executiven und sorgt für die Unabhängigkeit von bestimmter Hardware. Dazu gehören alle Prozesse, die mit der Ein- oder Ausgabe von Daten zu tun haben, etwa der Cachemanager, Gerätetreiber und Treiber für Dateisysteme. In Windows NT 4.0 wurde die Executive um den Windows Manager, GDI und die graphischen Gerätetreiber erweitert. 14 © Microsoft GmbH 1996 Architektur und Konzepte 2.4 Die Subsysteme Windows NT verfügt über vier Subsysteme, über die Softwarekompatibilität für DOS und 16-Bit-Windowsprogramme, OS/2 Programme und für POSIX realisiert werden. WIN32 ist das wichtigste Subsystem, das zum Teil in die Executive integriert wurde. Es stellt die grafische Benutzerumgebung zur Verfügung. Es hat die Aufgabe, 32-Bit-Windows NT-Anwendungen auszuführen, stellt aber auch die Umgebung für DOS- und 16-Bit-Windows-Anwendungen. Es gibt also kein eigenes Subsystem für DOS- oder Windows-Programme. Diese Umgebung wird als VDM (Virtual DOS Machine) erzeugt. Auch 16-BitWindows benutzt eine solche VDM, die als WOW (Windows 16 on Windows 32) bezeichnet wird. WIN32 stellt auch für die Subsysteme OS/2 und POSIX die Ein- und Ausgabe von Bildschirm und Tastatur zur Verfügung. Da Windows NT in der aktuellen Version nur textorientierte OS/2- oder POSIX-Anwendungen unterstützt, stellt dies kein Problem dar. Ein weitere wichtige Komponente ist das Sicherheitssubsystem. Es überprüft die lokalen Anmeldungen der Benutzer und stellt deren Berechtigungen im System fest. Außerdem durchlaufen Anmeldungen aus dem Netz diese Komponente. Für die Verarbeitung der Funktionsaufrufe durch die Subsysteme gibt es drei Möglichkeiten: ¼ Direkte Verarbeitung durch das Subsystem ¼ Aufruf einer Windows-NT Funktion über die Executive Services ¼ Aufruf des Win32-Subsystem direkt über Windows NT 2.5 Multitasking Ein Task ist als eine Aufgabe zu verstehen, die der Prozessor des Rechners zu bearbeiten hat. Multitasking ist die Fähigkeit eines Betriebssystems, mehrere solcher Tasks praktisch gleichzeitig abzuarbeiten. Natürlich ist das auf einem einzigen Prozessor nicht wirklich der Fall, sieht aber für den Benutzer des Systems so aus. Ein Multitasking-Betriebssystem wie Windows NT verwaltet die Prozessorressourcen. Den wartenden Prozessen wird Prozessorzeit, nach Prioritäten gesteuert, mit Hilfe eines Zeitscheibenverfahrens zugeteilt. Prozessorzeit wird nicht von allen aktiven Prozessen benötigt. Viele Programme warten häufig Microsoft Windows NT 4.0 Workstation Einführung 15 Architektur und Konzepte lange auf Benutzereingaben und müssen während dieser Zeiten nicht berücksichtigt werden. Es gibt zwei Varianten - preemptives und nonpreemptives Multitasking. Das nonpreemptive Multitasking wird von Windows 3.1 angewendet. Dabei haben die Prozesse die Aufgabe, die Kontrolle über den Prozessor wieder an das Betriebssystem zu übergeben. Dies funktioniert nicht immer reibungslos. Beim preemptiven Multitasking kann das Betriebssystem den Prozessen die Kontrolle über den Prozessor entziehen und so die Rechenzeiten genau steuern. Windows NT arbeitet mit diesem Verfahren. Multitasking ist für Serversysteme unbedingt erforderlich, denn hier müssen oft eine große Zahl von Anfragen aus dem Netz und servereigene Prozesse verarbeitet werden. Ein Singletaskingsystem würde hier zu unerträglichen Antwortzeiten führen. Auch auf einem Einzelplatzsystem ist es von großem Vorteil, wenn mehrere Prozesse gleichzeitig aktiv sein können. So kann beispielsweise der Compiler den Programmcode verarbeiten, während Sie gleichzeitig die Dokumentation vervollständigen und ein Druckauftrag an den Drucker gesendet wird. 2.6 Speicherverwaltung Windows NT arbeitet mit einem flachen 32-Bit-Speichermodell und somit 4 Gigabyte adressierbarem Speicher, der 250mal soviel wie Windows 3.1 mit 16 MB direkt adressieren kann. Es ist wahrscheinlich, daß dies nicht sobald eine Begrenzung darstellen wird. Gleichzeitig wird die Verletzung des Speicherraums eines Prozesses durch einen anderen verhindert. Die Stabilität des gesamten Systems wird dadurch gesichert. Ein Prozess kann in seinem Speicherraum "abstürzen", ohne andere zu beeinflussen. Außerdem stehen durch virtuelle Speicherverwaltung jedem Prozess bis zu 2 Gigabyte zur Verfügung. Der Speicher muß nicht als physikalischer Arbeitsspeicher existieren, da durch den VMM (Virtual Memory Manager) Speicherbereiche auf die Festplatte ausgelagert werden können. Eine weitere Aufgabe des VMM ist das Zwischenlagern gelesener Speicherinformationen (von Festplatte oder Speicher) in einem bestimmten Speicherbereich, dem sogenannten Cache. Auf diesen im physikalischen Arbeitsspeicher liegenden Cache kann wesentlich schneller zugegriffen werden als auf eine Festplatte. Die Aufgabe, den Zugriff auf die Festplatte zu minimieren, erfüllt ebenfalls der VMM. 16 © Microsoft GmbH 1996 Architektur und Konzepte 2.7 Dateisysteme unter Windows NT Unter Windows NT 4.0 gibt es nur noch zwei Dateisysteme. Diese haben unterschiedliche Eigenschaften und werden dementsprechend je nach Situation eingesetzt. Für Windows NT wurde ein neues Dateisystem, das NTFS (New Technology File System) entwickelt. Nur bei Einsatz von NTFS können Sie alle Vorteile und neuen Eigenschaften von Windows NT nutzen, insbesondere die Sicherheitsmechanismen auf lokalen Platten. HPFS (High Performance File System), das Dateisystem von OS/2, wird in der Version 4.0 von Windows NT nicht mehr unterstützt. 2.7.1 FAT (File AlLOCATION TABLE) Dies ist das Dateisystem von DOS. Es wird auf allen DOS/Windows-Systemen verwendet. Die Namensgebung für Dateien und Verzeichnisse beruht auf der 8.3-Regel. Eine Datei kann einen Namen von bis zu 8 Zeichen Länge haben, der durch einen Punkt von der bis zu drei Zeichen langen Erweiterung getrennt wird. Die Erweiterung wird meist für den Dateityp verwendet. FAT ist gut für kleine Festplatten geeignet, wird aber aufgrund des Suchverfahrens bei großen Platten mit vielen Dateieinträgen im Vergleich zu NTFS langsam. Werden auf einer FAT-Partition häufig Dateien gelöscht, neu erstellt und vergrößert, führt dies zu Fragmentierung. Die Dateien liegen dann nicht mehr "am Stück" auf der Platte, sondern in mehreren Abschnitten verteilt. Fragmentierung kann zu deutlicher Verlangsamung des Dateizugriffs führen. 2.7.2 NTFS (New Technology File System) Dies ist das Dateisystem von Windows NT und sollte bevorzugt eingesetzt werden. Es bietet mehrere Vorteile und ist erforderlich, wenn Sie die speziellen Sicherheitsfunktionen von Windows NT einsetzen wollen. Die Performance von NTFS wurde in Windows NT 4.0 wesentlich verbessert. ¼ Verbesserte Wiederherstellung durch Überwachung aller Transaktionen auf der Platte und Sicherheit durch Hot-Fixing (Umleiten der Daten aus beschädigten Bereichen in sichere Sektoren). ¼ Sehr große Dateien möglich. ¼ POSIX konform. ¼ ¼ Sicherheitsfunktionen: Berechtigungen auf Datei und Verzeichnisebene, Überwachung. Fragmentierung wird vorgebeugt. Microsoft Windows NT 4.0 Workstation Einführung 17 Architektur und Konzepte ¼ Lange Dateinamen bis 255 Zeichen sind möglich. ¼ Dateikompression. Die Daten und Eigenschaften der Dateisysteme im Vergleich Kriterium FAT NTFS Länge von Datei/Verzeichniseinträgen 11 (8.3) 255 Dateigröße maximal 4 GB 16 EB Partitionsgröße maximal 4 GB 16 EB Datei- /Verzeichnisattribute einfach erweitert Zugang durch Windows NT Suchverfahren in Verzeichnissen DOS, OS/2, Windows NT Listen B-tree Lokale Sicherheit nein ja 2.8 Sicherheit unter Windows NT Zu diesem Punkt gehören die allgemeine Stabilität des Betriebssystems selbst und der Schutz vor unberechtigtem Zugriff. Die Stabilität von Windows NT ist sehr hoch, was durch schlechte Programme leicht gezeigt werden kann. Stürzt das Programm ab, können Sie es einfach aus dem Speicher entfernen und weiterarbeiten. Die Stabilität ist selbst dann hoch, wenn durch einen Stromausfall oder einen falschen Handgriff das System einfach abgebrochen wurde. Außer den im Speicher ungesicherten Daten werden Sie kein Problem mit Ihrem Rechner bekommen. Voraussetzung ist allerdings der Einsatz von NTFS als Dateisystem. NTFS ist auch die Voraussetzung für den Schutz vor unberechtigtem Zugriff. Der Zugang zum System ist nur über einen Anmeldeprozess möglich. Diese Anmeldung wird lokal oder über das Netz gleich behandelt. Die Anmeldung wird vom Sicherheitssystem bearbeitet. Dieses überprüft Benutzernamen und Kennwort und entscheidet anhand der Einträge über die Rechte im System. Diese Rechte setzen sich aus den allgemein festgelegten Sicherheitsregeln, den Berechtigungen des Benutzers selbst und seinen Gruppenzugehörigkeiten zusammen. Der Benutzer führt bei seiner Arbeit diese Berechtigungen im System als sogenanntes Access Token mit. So kann bei Zugriffen schnell über die Berechtigungen entschieden werden. 18 © Microsoft GmbH 1996 Architektur und Konzepte 2.9 Windows NT im Netz Windows NT ist als netzwerkfähiges Betriebssystem konzipiert. Die Netzwerkfunktionen sind bereits eingebaut und die meisten wichtigen Komponenten und Protokolle werden mitgeliefert. So kann Windows NT in die meisten Netzumgebungen einfach "hineininstalliert" und sofort unkompliziert eingebunden werden. Es wird eine große Zahl von Netzkartentreibern mitgeliefert. Die Anbindung an Microsoft-Netzwerke, an Novell-Server, IBM LAN Server und andere Netze ist sofort möglich. Mit Windows NT Workstation können Sie ein Peer-to-Peer-Netz aufbauen. So können Sie aus mehreren Rechnern mit Windows NT oder Windows für Workgroups ein Netz für eine Arbeitsgruppe aufbauen. Sie können auch als Arbeitsstation in eine Domäne eingebunden sein, die von Windows NT Servern oder Microsoft LAN Manager verwaltet wird. 2.10 ¼ Zusammenfassung: Architektur und Konzepte Die Windows NT Archtitektur verwendet Konzepte aus dem Schichtenund dem Client-Server-Modell Vorteile aus dem Schichtenmodell sind die geordnete Struktur. Daher sind Fehlersuche, Änderung oder Erweiterung leichter möglich. Als Vorteil aus dem Client-Server-Modell ist der relativ kleine Kern des Betriebssystems übernommen worden. Bis auf die Kernroutinen laufen alle anderen Prozesse im Anwendermodus. Wenn ein Prozeß abstürzt, stürzt nicht gleich das Betriebssystem mit ab. Windows NT ist portierbar, Programme können auf verschiedenen Prozessoren und Rechnern ablaufen. ¼ Komponenten von Windows NT Executive besteht aus Kernel, HAL und weiteren Modulen (Objektmanager, Prozessmanager, Sicherheitsmonitor, Verwaltung des virtuellen Speichers, Kommunikationsmodul, I/O Manager, Windows Manager, GDI, graphische Gerätetreiber); enthält die Kernfunktionen des Betriebssystemes Kernel ist der eigentlicher Kern des Betriebssystems, stellt die Grundfunktionen bereit. Microsoft Windows NT 4.0 Workstation Einführung 19 Architektur und Konzepte HAL der Hardware Abstraction Layer führt vom Betriebssystem aufgerufene Hardwareroutinen aus; versteht hardwareabhängige Details der unterschiedlichen Systeme und sorgt so für Portierbarkeit auf andere Systeme. Subsysteme das WIN32-Subsystem stellt die grafische Benutzeroberfläche zur Verfügung, führt 32-Bit-Windows-Anwendungen aus und stellt die Umgebung für DOS- und Windows-Anwendungen zur Verfügung; das OS/2-Subsystem stellt die Umgebung für OS/2 Programme; das POSIX-Subsystem stellt die Umgebung für POSIX-Programme; das Sicherheitssubsystem überprüft die Anmeldungen der Benutzer. ¼ Speicherverwaltung Der Arbeitsspeicher muß dem Prozessor alle nötigen Programm- und Dateninformationen zur Verfügung stellen. Unter Windows NT kann der Speicher, im Gegensatz zu DOS, in voller Größe genutzt werden. ¼ Dateisysteme In Windows NT können in verschiedenen Partitionen zwei unterschiedliche Systeme zum Speichern von Dateien verwendet werden: ¼ FAT Das Dateisystem von DOS. Dateinamen haben eine Länge von bis zu 8 Zeichen und 3 Zeichen Erweiterung. Wird bei großen Platten mit vielen Dateien wegen seines Suchsystems ziemlich langsam. Die sinnvolle Grenze liegt bei ca. 400 MB. NTFS Das Dateisystem von Windows NT. Erlaubt Dateinamen bis 255 Zeichen. Verwendet das B-Tree Suchverfahren. Besserer Schutz vor Fragmentierung der Festplatte. Ermöglicht sehr große Dateien (bis 16 Exabyte). Hat eine sehr gute Wiederherstellungsfunktion für beschädigte Dateien. Hat als einziges Dateisystem Sicherheitsfunktionen mit Berechtigungen auf Dateien und Verzeichnisse und Überwachung. Sollte hauptsächlich eingesetzt werden. Sicherheit unter Windows NT Die Stabilität des Betriebssystems ist sehr hoch, da abgestürzte Programme einfach aus dem Speicher geworfen werden können, ohne daß das Betriebssystem gleich mit abstürzt. Auch bei Stromausfall oder anderem Abbruch des Systems passiert Ihrem System, falls Sie NTFS als Dateisystem einsetzen, nichts! Das Dateisystem NTFS schützt Ihre Dateien oder Verzeichnisse vor unberechtigtem Zugriff. Jeder Benutzer muß sich im System mit Benutzernamen und Passwort anmelden, jeder Benutzer hat eigene Rechte auf Dateien und Verzeichnisse. 20 © Microsoft GmbH 1996