EDV1 - 01Einführung UNIX und C Einleitung. EDV1 - 01Einführung 2 Themen UNIX –Geschichte...
-
Upload
tabea-stieve -
Category
Documents
-
view
105 -
download
3
Transcript of EDV1 - 01Einführung UNIX und C Einleitung. EDV1 - 01Einführung 2 Themen UNIX –Geschichte...
EDV1 - 01Einführung
UNIX und C
Einleitung
ED
V1 - 01E
infü
hru
ng
2
Themen
• UNIX– Geschichte– Eigenschaften– Aufbau– Shells– Filesystem– Wichtige Kommandos und Programme
• Einführung in C– Arbeit mit C unter UNIX
• Kopplung von C- und JAVA-Programmen• Webseiten-Programmierung mit HTML
ED
V1 - 01E
infü
hru
ng
3
Literatur
• Arne BurmeisterDer Einstieg in UNIXCarl Hanser Verlag München Wien2. Auflage 200039,80 DM
• Prof. Uwe StephanEinführung in UNIXhttp://www.tfh-berlin.de/~stephan/i_unroot.html
ED
V1 - 01E
infü
hru
ng
4
UNIX/C - Geschichte
• 1969: Ken Thompson (Bell Telephone Laboratories) arbeitet an der Entwicklung des Betriebssystems MULTICS und eines Spieles auf diesem System. Die Entwicklung von MULTICS wird eingestellt.
• Thompson möchte das Spiel auf einer PDP-7 weiterentwickeln. Die Maschine hat jedoch kein Betriebssystem. Er entwickelt in Maschinensprache ein Minimalbetriebsystem unter Nutzung von MULTICS-Ideen. Portierung auf PDP-11.
• Um das System besser portierbar zu machen entwickelt er zusammen mit Dennis Ritchie die Programmiersprache C.
• 1973: Thompson und Ritchie schreiben das gesamte UNIX-System in C (bis auf 3%). Der verbleibende Rest ist hardwarespezifisch.
• Das System wird als Quelltext verbreitet und ist leicht auf verschiedene Hardwareplattformen portierbar.
ED
V1 - 01E
infü
hru
ng
5
• Um 1980: Es bilden sich zwei wesentlich neue Linien heraus:– BSD : University of California in Berkley
Version 4.3 1987– System V : AT&T
Release 4 1990• Auf der Basis von BSD und SVR4 werden von mehreren
Computer-Herstellern eigene Derivate entwickelt:– DEC: ULTRIX, OSF1– HP: HPUX– IBM: AIX– SUN: SunOS, Solaris– SGI: IRIX
• Verschiedene Bemühungen um Standardisierung scheitern. Neue Versionen integrieren die Eigenschaften der anderen Linie mehr oder weniger vollständig.
ED
V1 - 01E
infü
hru
ng
6
• In den 90er Jahren hat sich die Open Source Lizensierung und die GNU-Software verbreitet. In diesem Rahmen entwickelte Linus Torvalds das offene und frei verfügbare System LINUX. Dieses wurde auf viele verschiedene Hardwareplattformen portiert. Durch die Beteiligung vieler Softwareentwickler in der ganzen Welt entwickelt es sich stürmisch und passt sich der Entwicklung der Hardware optimal an.
• LINUX wird inzwischen von großen Hardwareherstellern als System angeboten, z.B: Compaq, SGI.Problem: LINUX und die GNU-Compiler sind nicht optimal auf die Prozessoren abgestimmt. Daher sind die Rechner mit Originalsystemen in der Regel leistungsfähiger.
• LINUX enthält viele Eigenschaften großer System noch nicht:– Diskless Clients– Cluster– Unterstützung von SMP-Systemen mit größerer
Prozessorzahl
ED
V1 - 01E
infü
hru
ng
7
Multitaskingsystem
• UNIX ist ein Multitaskingsystem, d.h. es können gleichzeitig mehrere Aufgaben auf einem Rechner abgearbeitet werden. – Das System organisiert die Verteilung der vorhandenen
Ressourcen auf mehrere quasi gleichzeitig ablaufende Prozesse. Ressourcen sind z.B.: CPU-Leistung, Hauptspeicher, externe Speicher, Drucker u.s.w.
– UNIX realisiert preemptives Multitasking, d.h. die Ressourcen werden den einzelnen Aufgaben vom System zugeteilt (z.B. Zeitscheiben mit Prioritätssteuerung)
• Andere Multitaskingsysteme:– Windows 3.x, 9x, NT, 2000– MacOS, BeOS– Alle Mainframesysteme
• Nicht-Multitaskingsysteme:– DOS
ED
V1 - 01E
infü
hru
ng
8
Multiusersystem
• UNIX ist von Beginn an ein Multiusersystem, d.h. es können mehrere verschiedene Nutzer gleichzeitig den selben Computer nutzen. – Nutzer müssen eindeutig und sicher identifiziert werden.
Name, Passwort– Daten der Nutzer müssen gegen unbefugte Benutzung
geschützt werde. Zugriffsrechte– Nutzereigene Konfiguration der Umgebung muss ermöglicht
werden. eigene Konfigurationsdateien• Andere Multiusersysteme:
– Windows NT 4.0 + MS Terminalserver, Windows 2000– Mainframesysteme : OpenVMS, IBM OS/390
• Nicht-Multiusersysteme– DOS, Windows 3.x, 9x, NT 3.x
ED
V1 - 01E
infü
hru
ng
9
Aufbau
Hardware
Hardwarespezifischer Kern
Hardwareunabhängiger Kern
Standardbibliotheken
Shells
Nutzerprogramme
Dienstprogramme
ED
V1 - 01E
infü
hru
ng
10
• Schichtenaufbau – Hardwarenähere Schichten werden teilweise durch
hardwarefernere Schichten überdeckt.– Der Kern deckt die Hardware vollständig ab. Zugriff auf die
Hardware ist also nur über den UNIX-Kern möglich.– Zum UNIX-“Standard“ gehören auch die
Standardbibliotheken.– Modularität– Portabilität– Kompatibilität
ED
V1 - 01E
infü
hru
ng
11
Aufgaben des Kerns
• Verwaltung von Prozessen• Aufteilung der Rechenzeit• Verwaltung des Speichers• Ansteuerung von Geräten• Bereitstellung des Dateisystems• Kommunikation zwischen Prozessen
ED
V1 - 01E
infü
hru
ng
12
Standardbibliotheken
• Standardbibliotheken ermöglichen die Nutzung komplexerer Funktionen ohne direkt auf den Systemkern zugreifen zu müssen. Z.B.:– Arbeit mit Graphischen Nutzeroberflächen
• Fenster öffnen• Text ausgeben u.s.w.
– Arbeit mit dem Filesystem– Arbeit mit externen Geräten
ED
V1 - 01E
infü
hru
ng
13
Shells
• Die Shell ermöglicht dem Nutzer mit dem System zu kommunizieren, d.h. Kommandos einzugeben, Programme zu starten und kompliziertere Abläufe zu automatisieren (Scripte).
• Shells sind normale Programme. Es existieren viele verschiedene Shells.
• Der Nutzer arbeitet immer mit einer Shell.– sh : Bourne-Shell– bash : Bourne Again Shell– ksh: Korn-Shell– csh : C-Shell– tcsh : erweiterte C-Shell
• Shells stellen bestimmte elementare Kommandos zu Verfügung, z.B.:– cd : Change Directory– pwd : Print Working Directory
ED
V1 - 01E
infü
hru
ng
14
Dienstprogramme
• Dienstprogramme sind normale, ausführbare Programme, die bestimmte z.T. sehr komplexe Funktionen realisieren und mit dem UNIX-Betriebsystem ausgeliefert werden.
• Beispiele:– sed : automatisches editieren von Texten– vi, ed : einfache Editoren– grep : suchen von Texten in Dateien– find : durchsuchen von Verzeichnisbäumen nach Dateien
mit bestimmten Eigenschaften und Ausführen von Kommandos mit diesen Dateien
– cat : Ausgabe einer Datei auf den Bildschirm– man : betrachten der Manualpages– lpr : Datei drucken– ls : Verzeichnisinhalt anzeigen