Betriebssysteme
Transcription
Betriebssysteme
Fakultät für Geoinformationswesen Studiengang Kartographie u. Geomatik Betriebssysteme Adressierung im Arbeitsspeicher Eine weitere wichtige Eigenschaft eines Betriebssystems ist die Art und Weise, den Hauptspeicher zu adressieren: Der Speicher wird entweder direkt oder virtuell adressiert. Direkte Adressierung: Bei direkter Adressierung entspricht der adressierbare Speicher dem physikalisch vorhandenen. Logischer und physikalischer Adressraum sind identisch. Der Wert einer Adresse bezeichnet den zugehörigen Speicherplatz im Hauptspeicher. Beispiel: MS-DOS, Mac OS bis Version 9 Virtuelle Adressierung: Bei der virtuellen Adressierung ist der adressierbare Speicherraum (viel) größer als der physikalisch vorhandene Hauptspeicher. Einem Programm steht der virtuelle Adressraum zur Verfügung und damit mehr Speicher, als im RAM vorhanden ist. Dazu stellt das Betriebssystem eine virtuelle Speicherverwaltung bereit. Der Speicher wird dazu in Seiten oder Kacheln eingeteilt. Eine Seite des virtuellen Speichers ist entweder im realen Speicher (physical memory) oder ausgelagert auf der Platte. Bei Bedarf werden ausgelagerte Seiten in den Speicher geholt und gegen (seit längerer Zeit) nicht benötigte ausgetauscht (Swapping, Paging). Die Übersetzung der virtuellen Adressen in reale physikalische Adressen wird per Hardware durch die Memory Management Unit unterstützt. Sie ist bei den heutigen Mikroprozessoren bereits im Chip integriert. Die in den verschiedenen Betriebssystemen realisierten Virtuellen Speicherverwaltungen unterscheiden sich hinsichtlich: 1. der Speichergröße, die eine Speicherseite belegt, 2. der Art, wie die Memory Management Unit aus der virtuellen Adresse eine physikalische Adresse berechnet 3. ihrer Seitenersetzungsstrategie mit der aktuell nicht benötigte Seiten durch angeforderte ausgetauscht werden. Seitenersetzungsstrategien: Kriterien für die Seitenersetzung: • Die Zugehörigkeit der Speicherseite zum aktiven Prozess • Der letzte Zugriff auf die Speicherseite • Die Unversehrtheit der Speicherseite, weil eine unveränderte Seite nicht auf den Hintergrundspeicher zurück geschrieben werden muss, sondern direkt durch die neue angeforderte Seite überschrieben werden kann. Gängige Ersetzungsstrategien: • First In - First Out • Least recently used: Die am längsten nicht genutzte Seite wird ausgelagert. • Not recently used: Seiten, die innerhalb eines Zeitintervalls nicht benutzt und nicht modifiziert wurden, werden bevorzugt ausgelagert. Danach Seiten, die entweder nicht benutzt oder modifiziert wurden und als letzte Gruppe erst Speicherseiten, die modifiziert und benutzt wurden. Da das Swapping Zeit benötigt, beschleunigt zusätzlicher physikalischer Speicher je nach Anwendung und BS die Ausführungsgeschwindigkeit z.T. erheblich. Wenn jedoch soviel physikalischer Speicher vorhanden ist, dass die wesentlichen Programm- und Datenteile des Betriebssystems und der üblicherweise parallel betriebenen Anwendungen in den Speicher passen, bewirkt zusätzlicher Hauptspeicher kaum noch eine Beschleunigung! Bei den heute üblichen Größen des Hauptspeichers (ab ca. 512 MB für Desktop-PCs) wird Swapping eher zur Ausnahme. Beispiele für virtuell adressierende BS: Windows 98, NT, 2000, XP; Unix, Linux; Mac OS X Multitasking und Prozesskonzept Prozess: Etwas vereinfacht ausgedrückt: Dr. W. Jakob Prozess = ein Programm während der Ausführung. 1 Konzepte Fakultät für Geoinformationswesen Studiengang Kartographie u. Geomatik Betriebssysteme Genauer: Prozess = • Geladener und gestarteter Programmcode (im Arbeitsspeicher) plus • Programmkontext (Register im Prozessor, Stack, belegter Speicher, Puffer, Filehandles, ...) Multitasking: Multitasking bezeichnet die Fähigkeit eines Betriebssystems, mehrere Prozesse scheinbar gleichzeitig auszuführen. Dabei werden die verschiedenen Prozesse in so kurzen Abständen immer abwechselnd aktiviert, dass der Eindruck der Gleichzeitigkeit entsteht. Kooperatives Multitasking: Jeder Prozess bestimmt selbst, wann er die Kontrolle an das BS zurückgibt. Vorteil: Einfach zu implementieren Nachteil: Programme, die nicht kooperieren (bzw. fehlerhaft sind), blockieren das gesamte System und erfordern einen Neustart. Beispiele: Windows 3.11, Mac OS bis Version 9 u. OS Classic Präemptives Multitasking Bei dieser heute vorherrschenden Methode steuert der BS-Kern die Zuteilung von Rechenzeit an die wartenden Prozesse. Jeder wartende Prozess (gleicher Priorität) erhält dabei eine Zeitscheibe im Round-Robin-Verfahren zugeteilt. Round-Robin-Verfahren: Jeder kommt der Reihe nach dran und am Ende wiederholt sich das Ganze. Ein Prozess kann verschiedene Zustände annehmen. Die wichtigsten sind: aktiv Der Prozess wird gerade von der CPU bearbeitet (running) bereit Der Prozess könnte die CPU benutzen und wartet auf Zuteilung (ready) blockiert Der Prozess wartet auf ein bestimmtes Ereignis wie z.B. eine Benutzereingabe (blocked) Für Prozesse gleicher Priorität führt der Scheduler-Prozess des BS-Kerns folgendes aus: Nach Verbrauch der Zeitscheibe wird der aktive Prozess unterbrochen, wechselt in den Zustand „bereit“ und wird hinten in die Bereit-Warteschlange eingetragen. In der Bereit-Warteschlange stehen alle bereiten Prozesse in der Reihenfolge ihrer Ankunft. Beim Freiwerden der CPU wird der vorderste Prozess aktiviert. Wenn ein aktivierter Prozess eine Ein/Ausgabe anfordert, wird er bis zu deren Ausführung blockiert. Er wandert dann in die (unsortierte) Blockiertliste. Dort verbleiben die Prozesse solange, bis die Operation abgeschlossen ist. Sie werden dann in die Bereit-Warteschlange eingereiht. Weitere Prozess-Zustände: ausgelagert der gesamte Speicher des Prozesses befindet sich auf der Festplatte neu bei der Erzeugung eines Prozesses. Prioritäten: Die Behandlung unterschiedlicher Prozess-Prioritäten kann so umgesetzt werden, dass in der Bereit-Warteschlange Prozesse höherer Priorität lediglich hinter Prozesse gleicher (oder höherer) Priorität eingereiht werden. Damit Prozesse niedriger Priorität nicht zu lange warten müssen, kann ihre Priorität mit zunehmender Wartezeit erhöht werden (dynamische Prioritäten). Realisierungen von Multitasking: Timer-Interrupt-System: Ältere Ansätze von Multitasking basierten u.a. auf der Nutzung des Timer-Interrupt-Systems. Dabei löst ein externer Timer einen Interrupt aus, worauf der Scheduler-Prozess des BS-Kerns den anstehenden Prozesswechsel durchführt. Der große Nachteil dieser Vorgehensweise besteht in der fehlenden Berechtigungs-Differenzierung von Nutzer- und Scheduler-Prozess: Der Nutzerprozess konnte jederzeit dem Scheduler verbieten, die Applikation zu unterbrechen. User- und Kernel-Mode Die CPU verfügt über mindestens zwei Berechtigungs-Modi: • Kernel-Mode für die meisten Funktionen des BS-Kerns • User-Mode für Anwender-Programme und unkritische BS-Funktionen Dr. W. Jakob 2 Konzepte Fakultät für Geoinformationswesen Studiengang Kartographie u. Geomatik Betriebssysteme Das Betriebssystem nutzt diese CPU-Eigenschaften aus und lässt alle kritischen Funktionen des BS-Kerns, darunter den Scheduler im Kernel-Mode laufen. Damit ist das BS immer gegenüber Anwendungsprogrammen bevorrechtigt. Prozessoren die unterschiedliche Modi unterstützen: • Intel 80386 und kompatible: Es gibt 4 Berechtigungslevel (Ring 0, 1, 2 und 3). Dabei stellt Ring 0 (genannt „supervisor mode“) die höchste Privilegierungsstufe dar, die bis zur Stufe 3 immer weiter eingeschränkt wird. • RISC-Prozessoren wie der Power-PC von IBM unterscheiden nur 2 Berechtigungslevel. Betriebsysteme: Windows ab NT, Linux, Unix, Mac OS ab X Sowohl Windows als auch Linux nutzen (z.T. aus Kompatibilitätsgründen) nur 2 Berechtigungslevel. Bei Intel-Prozessoren sind das die Ringe 0 und 3. Bei Windows NT und Nachfolgern spricht man auch von „Ring 0“ als Kernel-Mode und „unterprivilegierten Prozessen“. Multithreading Unter Multithreading wird die Fähigkeit eines Prozesses verstanden, mehrere Bearbeitungsstränge gleichzeitig abzuarbeiten. Multithreading setzt neben Multitasking entsprechende Fähigkeiten des Betriebssystems voraus. Abgrenzung zu Multitasking Bei Multitasking wird die parallele Ausführung (Nebenläufigkeit) mehrerer Prozesse gefordert, während sich Multithreading auf die Nebenläufigkeit von Bearbeitungssträngen innerhalb eines Prozesses bezieht. Im Gegensatz zu eigenständigen Prozessen teilen sich die verschiedenen Threads eines Prozesses jedoch den Speicher und die vom Scheduler zugeteilte Rechenzeit. Einige Betriebssysteme, z.B. Linux, realisieren Multithreading innerhalb des Multitasking. Bei Linux ist jeder Thread eine eigene Task, der selbständig in der Prozesstabelle aufgeführt wird. Hyperthreading Spezielle Funktionen von Intelprozessoren (Pentium 4, Xeon) zur Unterstützung von Multithreading-Anwendungen. Filesysteme Definition: Ein File- oder Dateisystem dient dazu, Daten in Form von Dateien in einem Speicher zu speichern und zu verwalten. Auch: Dateisystem Abkürzung: FS Speicher: Meist Massenspeicher wie Festplatten, USB-Sticks, CDs oder DVDs. Eine Datei dient der Speicherung von Daten. Sie hat • einen Namen • Zeitstempel, wie z.B. Zeitpunkt der Erstellung, der letzten Änderung, ... • Attribute (z.B. Schreibschutz) • einen Inhalt (die Daten) und sie kann haben: • Zugriffsrechte • Angaben zu den Besitzverhältnissen • Angaben zur Verschlüsselung ... Dateien werden über ihren Namen angesprochen. Der Dateinamen kann untergliedert sein, z.B. aus dem eigentlichen Namen und einer Erweiterung bestehen. Beispiel: meine_datei.txt oder MeineDatei.html Die einzelnen Namensteile werden häufig durch Punkte getrennt. Die Namenslänge und der Zeichenvorrat sind begrenzt. Verzeichnisse: Verzeichnisse dienen der Zusammenfassung von Dateien und gegebenenfalls Unterverzeichnissen nach anwendungsspezifischen Ordnungskriterien. Da ein Verzeichnis neben Dateien auch weitere Verzeichnisse enthalten kann, entsteht eine Verzeichnishierarchie. Moderne Filesysteme sind hierarchisch strukturiert. Dr. W. Jakob 3 Konzepte Fakultät für Geoinformationswesen Studiengang Kartographie u. Geomatik Betriebssysteme Beispiele: Windows 2000/XP: Mac OS X: [Laufwerk C:] +- boot.ini +- ntldr +- [Dokumente und Einstellungen] | +- [benutzername] | +- [Eigene Dateien] | +- [Eigene Bilder] | | +- Bild1.png | | | +- [Texte] | +- Brief1.txt | +- Brief2.txt | +- [Programme] [Wurzelverzeichnis] +- [Library] +- [System] +- [Users] | +- [benutzername] | +- [Bilder] | | +- Bild1.png | | | +- [Texte] | +- Brief1.txt | +- Brief2.txt | +- [Applications] Unix / Linux: [Wurzelverzeichnis] +- [boot] +- [etc] +- [home] | +- [benutzername] | +- [Bilder] | | +- Bild1.png | | | +- [Texte] | +- Brief1.txt | +- Brief2.txt | +- [usr] Verzeichnisse sind mit [eckigen Klammern] gekennzeichnet. Die Verzeichnisstruktur ist nicht durch das Filesystem vorgegeben. Sie ist vielmehr eine betriebssystemspezifische Konvention. Verzeichnisse werden auch Ordner genannt und durch unterschiedliche Zeichen getrennt: \ DOS, Windows xx (Backslash) / Unix, Linux, Mac OS X (Slash) : Mac OS X Desktop und ältere Mac OS Versionen Jeder Baum hat eine Wurzel und jeder Verzeichnisbaum ein Wurzelverzeichnis. Die verschiedenen Windows-Filesysteme unterscheiden Laufwerke und jedes Laufwerk hat sein eigenes Wurzelverzeichnis. Unix, Linux und Mac OS X haben ein einheitliches Filesystem mit einer Wurzel. Laufwerke werden an geeigneter Stelle in den Baum „eingehängt“. Der Weg von der Wurzel zu einem Verzeichnis heißt Pfad. Innerhalb eines Dateisystems wird eine Datei erst durch ihren Namen und ihren Pfad eindeutig bezeichnet. Beispiel für Pfade für den Benutzer „Egon“: Windows: C:\Dokumente und Einstellungen\Egon\Eigene Dateien\Texte\Brief1.txt Mac OS X: /Users/Egon/Texte/Brief1.txt Unix, Linux: /Home/Egon/Texte/Brief1.txt Speicherblöcke: Speicher sind in Blöcken fester Länge organisiert. Jede Datei kann aus einem oder mehreren Blöcken bestehen, wobei der letzte Block in der Regel nur teilweise belegt ist (Verschnitt). Die Blöcke einer Datei sind verzeigert. Die Blöcke einer Datei können auf einem Speichermedium • hintereinander stehen (schneller Zugriff) • verstreut sein (langsamer Zugriff, fragmentierte Datei) Dr. W. Jakob 4 Konzepte Fakultät für Geoinformationswesen Studiengang Kartographie u. Geomatik Betriebssysteme Organisation eines Verzeichnisses: Ablage der Dateinamen eines Verzeichnisses in • einer unsortierten Liste einfach, langsam bei steigender Dateizahl, Beispiele: ältere Windows-Filesysteme FAT, VFAT, FAT32 • einem Suchbaum (B-Tree) aufwändiger, schnell Beispiele: NTFS, verschiedene Unix Filesysteme Sicherheit: 1. Sicherheit vor Datenverlust: Erfolgt ein Absturz (z.B. System- oder Programmabsturz, Stromausfall, Plattencrash, ...) während I/O-Vorgängen an offenen Dateien, werden diese beschädigt oder zerstört. Filesysteme können Sicherungsmaßnahmen dagegen enthalten, die eine Dateireparatur beim Hochfahren erlauben. Journaling-Dateisysteme führen ein Journal über die gerade geänderten Dateien, wobei diese ihre Gültigkeit behalten, bis der Schreibvorgang beendet ist. Bei einem Absturz müssen dann nur die Dateien des Journals repariert werden und ein Durchsuchen des gesamten Mediums kann unterbleiben. Filesysteme • ohne Reparaturmöglichkeiten: FAT • mit geringen Reparaturmöglichkeiten: VFAT, FAT32 • mit Journaling: NTFS, verschiedene Unix- und Linux-FS 2. Sicherheit vor unerlaubtem Zugriff: In zusätzlichen Dateiattributen werden Informationen über Besitz- und Zugriffsrechte hinterlegt. Beispiele: NTFS, verschiedene Unix- und Linux-Filesysteme Alle älteren Windows-Filesysteme (FAT, VFAT, FAT32) haben KEINEN Schutz vor unerlaubtem Zugriff. Eine weitere Möglichkeit, Daten zu schützen, besteht in der Verschlüsselung der Daten. Diese kann durch das Filesystem bereits unterstützt werden oder es ist zusätzliche Software nötig. Netzwerkfilesysteme: Netzwerkfilesysteme erlauben den Zugriff auf Dateien, die sich auf anderen Rechnern im Netzwerk befinden. Da für den Benutzer normalerweise kein Unterschied zu lokalen Zugriffen besteht, spricht man von einem transparentem Zugriff. Es werden spezielle Techniken zur Replikation der Verzeichnisse und für einen schnellen Zugriff auf die verteilten Ressourcen eingesetzt. Beispiel: Fileserver Adressgröße und Adressraum: Filesysteme verwenden Adressen unterschiedlicher Größe: 16-, 32- oder 64-Bit Adressen Adressierung mit 16-Bit-Adressen: Mit 16 Bit kann man 65536 (oder 64 k) Speichereinheiten adressieren, z.B. • 64 kB oder • 64 k Blöcke zu 512 Byte, also 32 MB Bei einer Festplatte von 2 GB bedeutet eine Verwaltung mit 16-Bit-Adressen Speicherblöcke zu 32 kB. ===> viel Verschnitt bei kleineren Files. Beispiele: FAT16, VFAT Adressierung mit 32-Bit-Adressen: Mit 32 Bit kann man 4.294.967.296 (oder 4 G) Speichereinheiten adressieren, z.B. • 4 GB oder • 4 G Blöcke zu 512 Byte, also 2048 GB = 2 TB (Tera Byte) Beispiel: FAT32, wobei nur 28 Bits zur Adressierung genutzt werden. Damit sind 268.435.456 Blöcke adressierbar. Bei der üblicherweise benutzten Blockgröße von 4 kB ist damit theoretisch 1 TB adressierbar. Dr. W. Jakob 5 Konzepte Fakultät für Geoinformationswesen Studiengang Kartographie u. Geomatik Betriebssysteme Benutzerschnittstellen von Betriebssystemen Zwei unterschiedliche Arten von Benutzerschnittstellen: • Textuelle Benutzerschnittstelle • Grafische Benutzerschnittstelle Dies gilt für alle Programme, also auch für Betriebssysteme. Textuelle Benutzerschnittstelle Kommandos werden textuell eingegeben. Reaktionen erfolgen als Textausgabe.Früher einzige Benutzerschnittstelle. Eingabezeile im Bild durch gelb hervorgehoben. In modernen Betriebssystemen nach wie vor vorhanden: • DOS-Box, „Ausführen“-Fenster • Programm-Shell (Unix, Linux, Mac OS X) Wichtig zur Problembehandlung, wenn die grafische Oberfläche nicht zur Verfügung steht. D:\FH> dir /o:gned Datenträger in Laufwerk D ist USER Datenträgernummer: 3461-13E0 Verzeichnis von D:\FH . <DIR> 09.10.96 18:25 .. <DIR> 09.10.96 18:25 STUDARB <DIR> 09.10.96 18:25 UEBG <DIR> 09.10.96 18:25 VORL <DIR> 09.10.96 18:25 TEILNLI2 DOC 22.528 16.02.99 11:09 TEILN_LI DOC 21.504 18.09.96 21:39 7 Datei(en) 43.032 Byte 370.802.688 Byte frei Wichtig in allen Unix-Varianten bei professionellem Einsatz. Grafische Benutzeroberflächen Zur Gruppe der Betriebssysteme mit fensterorientierter und grafischer Benutzeroberfläche gehören • die Mac-BS-Familie, • Windows 98 SE, NT, 2000 oder XP, • Linux mit KDE oder Gnome, • Solaris mit Open-Windows, CDE oder Gnome Gegenüberstellung Benutzerschnittstelle textuell fensterorientiert Bildschirm entspricht den physikalischen Größen des Monitors virtueller Bildschirm, Größe variabel Befehle werden textuell eingegeben Befehle per Menü durch zeigen und klicken Objektorientierung: Aktionen am Objekt durch zeigen und klicken per drag and drop Eingabemedien: • Maus (pointing device) • Tastatur Eingabemedien: • Tastatur Neu sind im wesentlichen: • ein Gerät zur Eingabe durch Zeigen (Maus, Trackball, Sensorfläche, ...) • Die Aufteilung des physikalischen Bildschirms in virtuelle Bildschirme, genannt Fenster. • Menüsteuerung statt Befehlseingabe • Objektorientierung Komponenten einer fensterorientierten Benutzeroberfläche Fenster: Virtueller Bildschirm mit Rahmen, Titelleiste, Menüleiste und Bildlaufleisten. Dr. W. Jakob 6 Konzepte Fakultät für Geoinformationswesen Studiengang Kartographie u. Geomatik Betriebssysteme • Virtueller Bildschirm: • Größe veränderbar über den Rahmen. • verschiebbar über den physikalischen Bildschirm durch die Titelleiste. • „an- und abschaltbar“ durch Reduzierung auf Symbol (Icon) bzw. Expansion vom Symbol. • Titelleiste: • Namen der Anwendung. • Schaltflächen • für Fenstergrundfunktionen, darunter das Schließen der Anwendung (links). • zum Verkleinern zum Symbol oder Icon (rechts). • zum Vergrößern auf Bildschirm- oder Originalgröße (ganz rechts). • Menüleiste: Hauptmenü meist mit Untermenüs (drop down) und Funktionen. Menüaktivierung durch zeigen und anklicken. • Bildlaufleiste (Scrollbar): Schieber am rechten und unteren Ende des Fensters, mit denen verdeckte Information sichtbar gemacht werden kann. Das Fenster ermöglicht damit den Blick auf einen variablen Ausschnitt aus einem größeren Bild. Beispiele: Linux und KDE: Filebrowser Konquerer; Mac OS X: Finder; MS-Windows: Windows-Explorer Das Fenster ist in 2-facher Hinsicht ein virtueller Bildschirm: • viele Fenster unterschiedlicher Größe und Position auf einem physikalischen Bildschirm. • Ein Bildausschnitt aus einem größeren virtuellen Bild. Der Inhalt eines Fensters wird von der Anwendung bestimmt. Menüs: Menüs enthalten Funktionen und meist Untermenüs (themenorientierte hierarchische Anordnung). Menüs und Untermenüs werden durch zeigen und anklicken aktiviert und klappen dabei herunter (Hauptmenü) oder seitlich auf. Konventionen für Menüs: • Grau oder abgeblendet: Funktion im aktuellen Kontext nicht verfügbar. • . . . (Auslassungspunkte): Es folgt ein Dialogfeld mit Optionen. • (Häkchen): Aktivierte Option. • (Dreieck): Hinweis auf Untermenü. • Abbruchmöglichkeit durch klicken außerhalb des Menüs. • Shortcuts: Für viele Befehle gibt es Tastenkombinationen zur schnelleren Aktivierung eines Kommandos. Icon: Kleines Bild (Symbol) mit Unterschrift, das die Anwendung repräsentiert. Es gibt folgende Icon-Arten: Anwendungs- oder Programm-Icons: • symbolisieren Programme. • können auf dem Desktop liegen oder in Menüs stehen. Dokument-Icons: • auf Symbolgröße verkleinerte Dokumentfenster. • Icons für Dateien (Dokumente). Ordner- und Geräte-Icons: Icons für Ordner und Geräte wie Festplatten, Weschselmedien, Netzlaufwerke, weitere (externe) Hardware. Diese Icons kommen auch in Filemanager-Programmen wie dem Windows-Explorer, dem Konquerer von Linux/ KDE oder dem Finder von Mac OS vor. Statt Icon wird manchmal auch der Begriff Symbol verwendet. Maus: Zeigegerät mit Tasten. Beim Zeigen auf sensitive Schalt- oder Menüflächen erfolgt bei vielen fensterorientierten Benutzeroberflächen eine Anzeige durch Verfärbung. Rechte Maustaste gibt bei vielen fensterorientierten Benutzeroberflächen objektorientierte Zusatzinformationen aus oder bietet weitere Funktionen an (Kontextmenü). Aktivierung durch Einfach- oder Doppelklick. Häufig Modifikation der Maustastenfunktion durch gleichzeitiges Drücken von Shift, Alt oder Control (Strg). Dr. W. Jakob 7 Konzepte Fakultät für Geoinformationswesen Studiengang Kartographie u. Geomatik Betriebssysteme Drag & Drop: • Positionieren auf das Objekt, • Maustaste drücken und gedrückt halten bei gleichzeitiger Positionsänderung (drag). • Taste (und damit das Objekt) an der Zielposition loslassen (drop). Online-Hilfe Zu den Betriebssystemfunktionen und den meisten Anwendungen steht eine Online-Hilfe mit Suchfunktion zur Verfügung. Sie besteht aus Hypertexten und z.T. auch aus Bildern und Demos. Hypertext ist ein Text mit Verweisen, denen per Mausklick gefolgt werden kann, wobei sich das System die hintereinander aufgerufenen Textseiten merkt. Man kann also den vorwärts gegangenen „Pfad“ wieder zurückverfolgen und zwischendurch abzweigen. Viele Anwendungen bieten in den verschiedenen Fenstern auch kontextbezogene Hilfen an. Konventionen und Syntax Kommandos an das Betriebssystem werden bei textuellen Benutzerschnittstellen auch als textuelle Befehle eingegeben. Z.B.: edit mein.txt Editoraufruf für Datei mein.txt Die Kommandozeile besteht aus einem Prompt, dem eingegebenen Text und einem (meist blinkenden) Cursor, der die aktuelle Schreibposition anzeigt: C:\ > edit mein.t_ MS-DOS Unix bash$ xemacs mein.t_ Abgeschlossen wird ein Kommando durch die Enter-, Return- oder Eingabe-Taste (auch: ). Erst nach Betätigung dieser Taste wird das Kommando vom Befehlsinterpreter der shell gelesen, analysiert und bei Fehlerfreiheit ausgeführt. Der grammatikalische Aufbau eines Befehls wird durch seine Syntax beschrieben. Der grundsätzliche Aufbau von Betriebssystem-Kommandos ist denkbar einfach: Dem Befehlswort folgen durch Leerzeichen (Blanks) getrennte Parameter und/oder Optionen, auch Schalter genannt. Text Fester Bestandteil des Befehls. Abweichend wird (z.B. bei DOS) auch GROSS geschrieben. <synt_var> Syntaktische Variable: Diese ist durch einen geeigneten Text, z.B. einen Dateinamen, zu ersetzen. Statt der < > wird auch unterstrichen oder alles klein geschrieben. [ ... ] Optionalklammer: Der darin enthaltene Teil kann weggelassen werden. ( ... | ...) Alternative. ( ... ) ( ... ) * + Stern-Operator: Der in der Klammer eingeschlossene Teil kann gar nicht, einmal oder beliebig oft vorkommen. Plus-Operator: Der in der Klammer eingeschlossene Teil kommt mindestens einmal vor. Die Klammern, Auslassungspunkte und Operatorzeichen sind natürlich nicht Bestandteil des damit beschriebenen Befehls. Dagegen sind die Leerzeichen unbedingt anzugebende Trennzeichen zwischen den Bestandteilen eines Kommandos! Beispiele: Syntax: cd [<verzeichnis>|..] Gültige Kommandos: cd Ungültige Kommandos: cd . cd .. cd bilder cd.. Syntax: dir [/a[:]<attr>] [<drive>:][\][<verz>(\<verz>)] Gültige Kommandos: dir dir /a:h dir d:\briefe\anna dir /a:h \dos dir /ah dir \briefe\anna Ungültige Kommandos: dir /h dir /a dir : dir /a:s /briefe Dr. W. Jakob 8 dir \ Konzepte