EDV1 - 01Einführung UNIX und C Einleitung. EDV1 - 01Einführung 2 Themen UNIX –Geschichte...

14
EDV1 - 01Einführung UNIX und C Einleitung

Transcript of EDV1 - 01Einführung UNIX und C Einleitung. EDV1 - 01Einführung 2 Themen UNIX –Geschichte...

Page 1: EDV1 - 01Einführung UNIX und C Einleitung. EDV1 - 01Einführung 2 Themen UNIX –Geschichte –Eigenschaften –Aufbau –Shells –Filesystem –Wichtige Kommandos.

EDV1 - 01Einführung

UNIX und C

Einleitung

Page 2: EDV1 - 01Einführung UNIX und C Einleitung. EDV1 - 01Einführung 2 Themen UNIX –Geschichte –Eigenschaften –Aufbau –Shells –Filesystem –Wichtige Kommandos.

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

Page 4: EDV1 - 01Einführung UNIX und C Einleitung. EDV1 - 01Einführung 2 Themen UNIX –Geschichte –Eigenschaften –Aufbau –Shells –Filesystem –Wichtige Kommandos.

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.

Page 5: EDV1 - 01Einführung UNIX und C Einleitung. EDV1 - 01Einführung 2 Themen UNIX –Geschichte –Eigenschaften –Aufbau –Shells –Filesystem –Wichtige Kommandos.

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.

Page 6: EDV1 - 01Einführung UNIX und C Einleitung. EDV1 - 01Einführung 2 Themen UNIX –Geschichte –Eigenschaften –Aufbau –Shells –Filesystem –Wichtige Kommandos.

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

Page 7: EDV1 - 01Einführung UNIX und C Einleitung. EDV1 - 01Einführung 2 Themen UNIX –Geschichte –Eigenschaften –Aufbau –Shells –Filesystem –Wichtige Kommandos.

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

Page 8: EDV1 - 01Einführung UNIX und C Einleitung. EDV1 - 01Einführung 2 Themen UNIX –Geschichte –Eigenschaften –Aufbau –Shells –Filesystem –Wichtige Kommandos.

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

Page 9: EDV1 - 01Einführung UNIX und C Einleitung. EDV1 - 01Einführung 2 Themen UNIX –Geschichte –Eigenschaften –Aufbau –Shells –Filesystem –Wichtige Kommandos.

ED

V1 - 01E

infü

hru

ng

9

Aufbau

Hardware

Hardwarespezifischer Kern

Hardwareunabhängiger Kern

Standardbibliotheken

Shells

Nutzerprogramme

Dienstprogramme

Page 10: EDV1 - 01Einführung UNIX und C Einleitung. EDV1 - 01Einführung 2 Themen UNIX –Geschichte –Eigenschaften –Aufbau –Shells –Filesystem –Wichtige Kommandos.

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

Page 11: EDV1 - 01Einführung UNIX und C Einleitung. EDV1 - 01Einführung 2 Themen UNIX –Geschichte –Eigenschaften –Aufbau –Shells –Filesystem –Wichtige Kommandos.

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

Page 12: EDV1 - 01Einführung UNIX und C Einleitung. EDV1 - 01Einführung 2 Themen UNIX –Geschichte –Eigenschaften –Aufbau –Shells –Filesystem –Wichtige Kommandos.

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

Page 13: EDV1 - 01Einführung UNIX und C Einleitung. EDV1 - 01Einführung 2 Themen UNIX –Geschichte –Eigenschaften –Aufbau –Shells –Filesystem –Wichtige Kommandos.

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

Page 14: EDV1 - 01Einführung UNIX und C Einleitung. EDV1 - 01Einführung 2 Themen UNIX –Geschichte –Eigenschaften –Aufbau –Shells –Filesystem –Wichtige Kommandos.

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