Title: Aufgaben eines Betriebssystems
1Teil II Benutzerebene eines Rechners
- Das Betriebssystem UNIX
- Internet
- Texteditor
? Pierre Bayerl, Klaus Murmann Heiko Neumann,
Fakultät für Informatik, Universität Ulm, 2002/03
2- Das Betriebssystem UNIX
- Kurzeinführung Was ist UNIX
- Rechnersitzungen An- und Abmeldung
- Dateien und Dateisystem
- Kommando-Interpreterebene (Shell) und Prozesse
3Aufgaben eines Betriebssystems
- Generell Verwaltung und Zuteilung
- der Ressourcen eines Rechners
- Kontrolle und Verwaltung der Betriebsmittel
- Ausführen von Benutzerprogrammen (Rechenzeit und
Speicher) - Speicherung von Daten (Plattenplatz)
- Drucken von Dokumenten (Drucker)
- Bereitstellung einer logischen Sicht auf die
Betriebsmittel - Zugriff auf Dokumente, Drucker, periphere Geräte
(Dateisystem) - Prozesssteuerung (Prozess-Subsystem, Rechenzeit)
4Kennzeichen von UNIX
- Mehrbenutzer-Betriebssystem (multi-user)
- Time-sharing Betriebssystem (Verwaltung mehrerer
asynchroner Prozesse) - Geräteunabhängiges, hierarchisches Dateikonzept
- Gute Portabilität (hohe Verfügbarkeit von
Software) - Dialogorientierung (Kommandointerpreter)
- Fließband-Technik (pipelining)
5Aktuelle UNIX-Derivate
Erste UNIX Version (ATT 1969)
Linux
BSD/FreeBSD
Sun Solaris
Darwin/Mac OS X
Im Pool Sun Solaris Zuhause z.B. Linux
6Strukturierung von UNIX Schalen-/Schichtenkonzept
- Hardware
- Betriebssystem-Kern (kernel)
- (Prozessverwaltung und kommunikation,
Speicherverwaltung, Ein-/Ausgabe-Verwaltung,
Gerätetreiber, ...) - Dienst- und Anwenderprogramme
- (Bibliothek mit Standardfunktionen (in C),
Compiler, Editoren, ...) - Kommandointerpreter (shell)
shell
7Was ist eine Shell(Kommandointerpreter) ?
Befehl
Ausgabe
- Textuelle Eingabe von Befehlen
- Textuelle Ausgabe von Befehlsergebnissen
- Dialog/Kommunikation mit dem System
- Eingabe von Kommandos am Prompt
Prompt
Rechnername evtl. weitere Informationen
- Variable visuelle Darstellung von Shells
- Basisfunktionalität ist in jedem Fall identisch
- Eingabe Kommando(s)
- Ausgabe Ergebnis
8Anmeldung an ein UNIX-System (1)
- Benutzer-Account
- Zugang über Benutzername (login) Passwort
- Ermöglicht Zugriff auf Ressourcen (Plattenplatz,
Drucker, ...) - Graphisches Login an einem X-Terminal (im
WiMa-Pool) - Eröffnet eine UNIX-Sitzung an einem graphischen
UNIX-Computerarbeitsplatz - Graphische Oberfläche ermöglicht das Öffnen
verschiedener Fenster
RECHNERNAME
Beispiel
Login pierre Password
9Anmeldung an ein UNIX-System (2)
- Remote Login von einem anderen Rechner
- Möglich von UNIX-Rechnern und Windows-Rechnern
- Die Verwendung von graphischen Programmen hängt
davon ab ob der Verwendete Arbeitplatz dies
ermöglicht - Am besten und am sichersten ist die Verwendung
der Secure Shell - Von einem beliebigen UNIX-Rechner (z.B. im
E-Techniker Pool) - ssh -l loginname turing.mathematik.uni-ulm.de
- (Statt des Rechners turing kann auch thales oder
theseus verwendet werden)
10Anmeldung an ein UNIX-System (3)
- Um sich von einer Windows-Maschine aus
einzuwählen ist ein entsprechendes Programm nötig
(z.B. PuTTY) - http//ssh.mathematik.uni-ulm.de/install/putty.htm
l - http//www.chiark.greenend.org.uk/sgtatham/putty/
11Arbeiten mit einem UNIX-System (Shell)
- Kommandozeile (Shell) um mit dem Betriebssystem
zu kommunizieren - Kommando ausführen ltBefehlgt ltParametergt
- Vorsicht Groß/Klein-Schreibung beachten!
- Bei einem X-Terminal muß zuvor eine Shell
geöffnet werden - Mit der rechten Maustaste auf den Hintergrund
klicken - Es erscheint ein Menü. Wählen Sie
- Hosts - Xterm - thales
- Beim Remote Login (mit ssh) bekommt man
automatisch eine Shell
12Abmelden von einem UNIX-System
- Abmelden zum Schutz der eigenen Daten (Texte,
Mails, Ressourcen!) - Abmelden von der Kommandozeile
- Befehl exit oder logout
- Abmelden von X-Terminal
- Knopf/Menüpunkt exit oder logout drücken
NIEMALS DIE X-TERMINALS AUSSCHALTEN!!
13Zusammenfassung Anmelden Abmelden
- Anmelden (login)
- Am X-Terminal
- Per ssh von einem anderen UNIX System
- Per ssh von einem Windows-Rechner
- Abmelden
- exit an der Kommandozeile (Shell) eingeben
- exit-Knopf drücken (X-Terminal)
- Rechner im WiMa-Pool (X-Terminals) nie
ausschalten !!
14Demonstration
DEMO
15Dateien und Dateisystem
Datei
- Dateikonzept
- Datei sequentielle Folge von Datenworten (Bytes)
- Dateiarten
- Normale Dateien (files Texte, Programme,
Daten,...) -
- Dateiverzeichnisse (directories auch Kataloge)
- Gerätedateien (special files, für physik. Geräte)
Nahezu alle Ressourcen werden bei UNIX-Systemen
auf Dateien abgebildet
16Datei-Hierarchie
- UNIX-Dateisystem Hierarchie von Dateien
- Jede Datei besitzt eine eindeutige Adresse
- Verzeichnis(-Dateien) können wiederum Dateien
enthalten - Standard-Verzeichnisse gliedern das System auf
- /dev Physikalische Geräte (Drucker, Festplatte,
...) - /usr Anwendungen (Programme, Bibliotheken, ...)
- /home Benutzerverzeichnisse
- Heimatverzeichnis
- /home/name
- enthält alle
- persönlichen
- Dateien
z.B. /home/pierre/datei1.txt
17Datei Adressierung
- Vollständiger Name (ausgehend von / )
- /home/pierre/datei1.txt
- Relativer Name (ausgehen vom aktuellen
Verzeichnis) - datei1.txt
- ./datei1.txt
- ../klaus/datei3.txt
- Besondere Verzeichnisnamen
- . Aktuelles Verzeichnis
- .. Verzeichnis eine Ebene höher
- / Wurzel des Dateisystems (root)
Aktuelles Verzeichnis
18Verzeichnis Kommandos (1)
- pwd Name/Pfad des aktuellen Verzeichnisses
anzeigen - (print working directory)
- cd Ändern des Arbeitsverzeichnisses
(change directory) - cd Wechsel ins Heimatverzeichnis
- cd ltnamegt zum angegebenen Unterverzeichnis
- mkdir ltnamegt Anlegen eines neuen
Unterverzeichnisses - rmdir ltnamegt Löschen eines Unterverzeichnisses
- (das angesprochene Verzeichnis muss leer
sein)
19Verzeichnis Kommandos (2)
- ls Anzeige eines Verzeichnisinhaltes
- ls -l Ausführliche Anzeige des Inhalts
(Dateigröße...) - Platzhalter für Dateinamen (beliebig viele
Zeichen) ? (ein Zeichen) - ls d Alle Dateien deren Namen mit d beginnt
- ls 2 Alle Dateien in deren Namen eine 2
vorkommt - Alternativ können Dateien auch einzeln aufgeführt
werden - ls d f Listet alle Dateien die mit d oder mit
f beginnen
20Dateiausgabe Kommandos (1)
- cat Ausgabe oder Konkatenation von Dateien auf
Monitor - more Seitenweise (formatierte) Ausgabe von
Dateien auf Monitor - head, tail Ausgabe der ersten/letzen Zeilen
von Dateien auf Monitor - grep Suchen einer gegebenen Zeichenfolge in
einer Datei - Format grep ltsuch-stringgt datei1
datei2...
Inhalt von datei1.txt
Inhalt von datei2.txt
Inhalt von file2.txt
Suchergebnisse Welche Dateien enthalten den
Text datei?
21Dateiausgabe Kommandos (2)
- a2ps Ausgabe von Textdateien (ASCII-Dateien) auf
dem Drucker - lp Ausgabe von Postscript-Dateien auf Drucker
- (MIT lp NUR POSTSCRIPTDATEIEN DRUCKEN)
Druckerausgabe auf bestimmten Druckern lp
-dltDruckernamegt ltDateigt.ps a2ps -PltDruckernamegt
ltDateigt.txt Drucker garamond gutenberg Bsp.
a2ps -Pgutenberg datei1.txt
22Kopieren / Verschieben von Dateien
- cp Kopieren von Dateien (cp quelldatei zieldatei
oder cp quelldatei zielordner) - cp datei1.txt example2/kopie1.txt
- cp datei1.txt example2
- mv Verschieben von Dateien
- mv example2/kopie1.txt datei3.txt
- rm Löschen von Dateien (Vorsicht Was weg ist
ist weg!) - rm datei3.txt
23Dateien - Besitzer und Rechte (1)
- Dateien gehören dem Benutzer der sie angelegt hat
- (Benutzer teilen sich wiederum in verschiedene
Gruppen auf) - Der Besitzer darf sog. Rechte an seinen Dateien
vergeben - Lesen (r) Wer darf diese Datei betrachten
- Schreiben (w) Wer darf diese Datei verändern
- Ausführen (x) Handelt es sich um eine
Ausführbare Datei - Rechte können vergeben werden an
- Sich selbst
- Anderen Benutzern aus der selben Gruppe
- Allen anderen Benutzern
Befehl zum Anzeigen Des aktuellen Verzeichnisses
Benutzer/Gruppe
Dateigröße
Rechte
Dateiname
24Dateien - Besitzer und Rechte (2)
- chmod Verändern der Zugriffsrechte auf Dateien
- Syntax chmod ltParametergt ltDatei(en)gt
- Parameter (siehe man chmod)
- w oder r (ermöglicht schreibenden bzw.
lesenden Zugriff) - -w oder -r (verhindert schreibenden bzw.
lesenden Zugriff) -
Kein Zugriff ohne Lese-Recht!
25Kommandozeile (Shell) und UNIX-Kommandos
- Übersicht über einige UNIX-Befehle
- Was ist die Standarteingabe bzw. Standartausgabe
- Kombinieren von UNIX-Kommandos
- Umlenken der Eingabe/Ausgabe
- Pipes
26Nützliche UNIX-Kommandos (1)
27Nützliche UNIX-Kommandos (2)
Ausgabe der ersten n Zeilen
Textsuche in Dateien
1 4567 890 2 TEST ABC 3 Xxxx xxx 4 4567
890 5 4567 890 6 ABCD EFG 7 4567 890 8 Allg
Inf 9 4567 890 10 4567 ABC 11 4567 890 12 4567
890
theseus head -n 3 abc.txt 1 4567 890 2 TEST
ABC 3 Xxxx xxx
theseus grep ABC abc.txt 2 TEST ABC 6 ABCD
EFG 10 4567 ABC
Ausgabe der letzten n Zeilen
Zeilenweise sortieren
theseus tail -n 3 abc.txt 10 4567 ABC 11 4567
890 12 4567 890
theseus sort abc.txt 1 4567 890 10 4567 ABC 11
4567 890 12 4567 890 2 TEST ABC 3 Xxxx xxx 4
4567 890 5 4567 890 6 ABCD EFG 7 4567 890 8
Allg Inf 9 4567 890
Datei abc.txt Bestehen aus 12 Zeilen à 12
Zeichen (11 Zeichen Zeilenumbruch) bzw. 36
Wörter
Zeilen/Wort/Zeichen-Anzahl
theseus wc abc.txt 12 36 144
abc.txt
28Standarteingabe und Standartausgabe
- Die Shell stellt Ein- und Ausgabekanäle für
Prozesse zur Verfügung - Kommandos können von der Standarteingabe lesen
und schreiben ihre Ergebnisse in die
Standartausgabe - Fehlermeldungen werden zu Diagnoseausgabe
weitergeleitet
29UNIX-Kommandos und die Standarteingabe
- Bei den meißten UNIX-Befehlen kann man den
Dateinamen weglassen. - Statt aus einer Datei zu lesen wird von der
Standarteingabe gelesen. - (normalerweise Standarteingabe Tastatureingabe)
- Falls nötig kann das Dateiende mit CTRL-D
signalisiert werden. - Beispiele
localhost pi sort Pierre Bayerl Klaus
Murmann Heiko Neumann D Heiko Neumann Klaus
Murmann Pierre Bayerl localhost pi
localhost pi tail -n 1 Pierre Bayerl D Bayer
l localhost pi
30Umleiten der Ein/Ausgabe in/aus eine(r) Datei
- gt Umlenken der Standardausgabe in eine
angegebene Datei. - existiert die Datei nicht, wird diese angelegt.
- existiert die Datei, so wird deren Inhalt
überschrieben! - Bsp. ls gtinhalt.txt
-
- gtgt hängt neuen Inhalt am Dateiende an!
- Bsp. ls order1 gtgt inhalt.txt
- 2gt Umlenken der
- Diagnoseausgabe
- Bsp wc x datei1.txt 2gt err.txt
- (-x als Option ungültig!)
- lt Umlenken der Eingabe aus
- einer Datei
localhost pi sort gtout.txt Pierre
Bayerl Klaus Murmann Heiko Neumann D localhost
pi tail -n 1 ltout.txt Pierre
Bayerl localhost pi
31Verknüpfen mehrer Kommandos über Pipes
- Direkte Verknüpfung der Ausgabe eines Prozesses
mit der Eingabe eines anderen Prozesses - Syntax Befehl1 Befehl2 Befehl3 ...
- Bsp. ls /usr/bin grep ail (ohne
Dateiangabe ließt grep von stdin)
localhost pi sort tail -n 1 Pierre
Bayerl Klaus Murmann Heiko Neumann D Pierre
Bayerl localhost pi
Pipe
32- Internet
- Prinzip und Organisation
- Dienste und Adressen
- WWW (World wide web)
- E-Mail
33Prinzip und Organisation Nachrichten-Übermittlung
- Netze von Rechnern
- Vermittlungsrechner (Router)
- Zielrechner
- Vermittlung und Betrieb (Paketvermittlung)
- Nachricht von A nach B
- Zerlegung in Pakete mit Zieladdresse B
- Versendung der Pakete über möglicherweise
verschiedene Verbindungen
34Prinzip und Organisation Protokolle
- Protokolle Konventionen und Regeln für den
Austausch von Informationen zwischen Computern im
Internet
- Ziel vollständige, fehlerfreie und möglichst
effektive Datenübertragung - TCP/IP heute Standard
- TCP Transmission Control Protocol
- IP Internet Protocol
35Prinzip und Organisation Client-Server-Prinzip
- Client-Server Prinzip
- Server (Diener, Anbieter)
- Programm auf einem Rechner A, das einen
bestimmten Dienst anbietet und der von einem
anderen Nutzer abgerufen werden kann. -
- Client (Klient, Kunde)
- (Anwender-)Programm auf einem Rechner B, das
den Dienst anfordert.
36Dienste
- TELNET oder SSH
- Zugriff auf andere Rechner (Dialogzugriff).
- FTP
- Übertragen (Kopieren) von Dateien zwischen
verschieden Rechnern. - E-MAIL
- Austausch von Nachrichten.
- NEWS
- Diskussion- und Informationsmedium zu vielen
verschiedenen Themen. - HTTP
- Multimediales hyperlink-basiertes
Informationssystem und Schnittstelle - den anderen Internet-Diensten.
- DNS
- Domain Name Service, spezieller Dienst um
Internetadressen korrekt zu handhaben
37Internet Adressen
- Jeder Rechner im Internet besitzt eine aus vier
Bytes (Zahlen) bestehenden eindeutigen Adresse
(IP-Adresse), z.B. 134.60.74.81 - Symbolische Adressen werden von einem speziellen
Dienst (DNS, Domain Name Service) in IP-Adressen
umwandelt, - z.B. allgemeine.informatik.uni-ulm.de ?
134.60.74.81.
Rechner A möchte mit Rechner B in Kontakt treten
A
DNS-Server
B
Client
Ziel-Rechner (Server) z.B. allgemeine.informatik.u
ni-ulm.de
38Internetadressen IP-Adressen
- Länge 32 Bit 4 Byte à 8 Bit
- Format von IP-Adressen a.b.c.d
- a,b,c,d ? 1,254
- 0 und 255 haben
Sonderrolle - Beispiele gültiger Internet-Adressen
-
- 141.41.49.2
- 194.163.245.145
- Mit 127.0.0.1 oder localhost kann stets der
Rechner auf dem gerade gerabeitet wird
angesprochen werden.
39Internetadressen Symbolische Adressen (1)
- Jede an das Internet angeschlossene Einrichtung
betreibt einen eigenen Namens-Server (DNS, Domain
Name Server) - In jedem Land gibt es einen Haupt-Domain-Name-Serv
er (verteilte Rechnerdatenbank mit
Namen/Adresseinträgern) - Aufbau der Domain-Namen
Beispiel axon.informatik.uni-ulm.de
40Internetadressen Symbolische Adressen (2)
- Adressierungsschema URL (Uniform Resource
Locator) - Beispiel
- http//www.informatik.uni-ulm.de
- http//allgemeine.informatik.uni-ulm.de
Vor dem Doppelpunkt steht das zu verwendende
Protokoll (z.B. ftp, http,..).
41Email
- Einsatz Verschicken von Nachrichten an
verschiedene Benutzer des (UNIX)-Systems. - verschickte Nachrichten landen in einem
Briefkasten. (MAIL-BOX) - Der Inhalt ist vom jeweiligen Adressaten
abrufbar. - Das Vorhandensein von (neuen) Nachrichten wird
nach dem Anmelden (login) angezeigt You have
mail oder You have new mail. - Zum lesen der Mails wird ein spezielles Programm
benötigt (z.B. pine, netscape, ...)
42Pine (1)
- ASCII-orientiertes Programm zum lesen und
schreiben von Mails - Wichtigste Menüpunkte
- - Compose Message (neue Mail schreiben)
- - Folder List (zeigt Mailverzeichnisse)
- gt INBOX (hier sind die
neuen Mails drin) - gt sent-mail (die Mails die
man selber verschickt hat) - im unteren Teil des Fensters sieht man welche
Tasten für welchen Befehl gedrückt werden müssen
( bedeutet die ctrl-Taste) - wichtige Befehle
- m zum Hauptmenue
- q Beenden
(mit y(es) bestätigen) - Control X versenden der Mail
- (in
Compose Message)
43Pine (2)
Hauptmenü
Mögliche Befehle
44Pine (3)
45Pine (4)
DEMO
46- Editoren
- Übersicht
- vi
- pico
- nedit
- emacs
47Übersicht
- Editoren dienen zum Erzeugen und Modifizieren von
Dateien - Textdateien / Dokumente (z.B. ein Reisebericht)
- Programm-Dateien (z.B. Modula-2 Quellcode)
- ...
- Verbreitete UNIX-Editoren
- vi (sehr spartanisch, aber immer verfügbar und
sehr mächtig) - pico (wird von pine verwendet um mails zu
editieren) - nedit (graphischer Editor à la Windows. Start
nedit ) - emacs (sehr mächtiger Editor, graphische Version
xemacs)
48Editor vi
- Auf allen UNIX-Systemen verfügbar, jedoch sehr
spartanisch - Sehr mächtig
- Auch verfügbar für Windows-Systeme
- Wichtige Funktionen
- Editor aufrufen vi Datei
- Text speichern ltESCgt w
- Text speichern Editor verlassen ltESCgt wq
- Editor verlassen ohne zu speichern ltESCgt q!
- Alternative vim (vi-improved)
- Lernen den vi oder vim zu bedienen
- Shell-Kommando vimtutor
49Editor pico
- Bedienung ähnlich pine
- Wichtige Funktionen
- Editor aufrufen pico Datei
- Text speichern ctrl-o
- Text speichern Editor verlassen ctrl-x y
(y yes für Speichern) - Editor verlassen ohne zu speichern ctrl-x n
(n no für Speichern) - Ähnlich wie bei pine werden in der untersten
Zeile stets mögliche Tastenkombinationen
angezeigt.
50Editor nedit
- Graphischer Editor, benötigt einen graphischen
Arbeitsplatz - (per ssh von einem Windowsrechner steht dieser
Editor unter Umständen nicht zur Verfügung) - Bedienung ähnlich wie Windows-Applikationen
- Sehr leicht zu bedienen
- Alle Funktionen sind per Menü-Zeile mit der Maus
erreichbar - Wichtige Funktionen
- Editor aufrufen nedit Datei ( startet das
Programm und kehrt zur Kommandozeile zurück) - Text speichern ctrl-s
- Editor verlassen ctrl-q
51Editor emacs / xemacs
- Sehr verbreitet, auf nahezu allen UNIX-Systemen
verfügbar - Sehr mächtig
- Auch verfügbar für Windows-Systeme
- Wichtige Funktionen
- Editor aufrufen emacs Datei oder xemacs Datei
- Text speichern ctrl-x ctrl-s (nacheinander
ctrlx und ctrls drücken) - Editor verlassen ctrl-x ctrl-c
- Editor-Befehl abbrechen ctrl-g
- Zeile n anspringen ltESCgt g n
- Undo (Rückgänig) ctrl-x u (nacheinander ctrlx
und u drücken) - Lernen den emacs oder xemacs zu bedienen
- Editor-Kommando ctrl-h t (nacheinander ctrlx
und u drücken)