Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 UNIX und C Einleitung. 2Themen UNIX UNIX Geschichte Geschichte Eigenschaften Eigenschaften Aufbau Aufbau Shells Shells Filesystem Filesystem Wichtige.

Ähnliche Präsentationen


Präsentation zum Thema: "1 UNIX und C Einleitung. 2Themen UNIX UNIX Geschichte Geschichte Eigenschaften Eigenschaften Aufbau Aufbau Shells Shells Filesystem Filesystem Wichtige."—  Präsentation transkript:

1 1 UNIX und C Einleitung

2 2Themen UNIX UNIX Geschichte Geschichte Eigenschaften Eigenschaften Aufbau Aufbau Shells Shells Filesystem Filesystem Wichtige Kommandos und Programme Wichtige Kommandos und Programme Einführung in C Einführung in C Arbeit mit C unter UNIX Arbeit mit C unter UNIX Kopplung von C- und JAVA-Programmen Kopplung von C- und JAVA-Programmen Webseiten-Programmierung mit HTML Webseiten-Programmierung mit HTML

3 3Literatur Arne Burmeister Der Einstieg in UNIX Carl Hanser Verlag München Wien 2. Auflage ,80 DM Arne Burmeister Der Einstieg in UNIX Carl Hanser Verlag München Wien 2. Auflage ,80 DM Prof. Uwe Stephan Einführung in UNIX Prof. Uwe Stephan Einführung in UNIX

4 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. 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. 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. 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. 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. Das System wird als Quelltext verbreitet und ist leicht auf verschiedene Hardwareplattformen portierbar.

5 5 Um 1980: Es bilden sich zwei wesentlich neue Linien heraus: Um 1980: Es bilden sich zwei wesentlich neue Linien heraus: BSD : University of California in Berkley Version BSD : University of California in Berkley Version System V : AT&T Release System V : AT&T Release Auf der Basis von BSD und SVR4 werden von mehreren Computer-Herstellern eigene Derivate entwickelt: Auf der Basis von BSD und SVR4 werden von mehreren Computer-Herstellern eigene Derivate entwickelt: DEC: ULTRIX, OSF1 DEC: ULTRIX, OSF1 HP: HPUX HP: HPUX IBM: AIX IBM: AIX SUN: SunOS, Solaris SUN: SunOS, Solaris SGI: IRIX SGI: IRIX Verschiedene Bemühungen um Standardisierung scheitern. Neue Versionen integrieren die Eigenschaften der anderen Linie mehr oder weniger vollständig. Verschiedene Bemühungen um Standardisierung scheitern. Neue Versionen integrieren die Eigenschaften der anderen Linie mehr oder weniger vollständig.

6 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. 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, IBM. 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 wird inzwischen von großen Hardwareherstellern als System angeboten, z.B: Compaq, SGI, IBM. 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: LINUX enthält viele Eigenschaften großer System noch nicht: Diskless Clients Diskless Clients Cluster Cluster Unterstützung von SMP-Systemen mit größerer Prozessorzahl Unterstützung von SMP-Systemen mit größerer Prozessorzahl

7 7Multitaskingsystem UNIX ist ein Multitaskingsystem, d.h. es können gleichzeitig mehrere Aufgaben auf einem Rechner abgearbeitet werden. 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. 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) UNIX realisiert preemptives Multitasking, d.h. die Ressourcen werden den einzelnen Aufgaben vom System zugeteilt (z.B. Zeitscheiben mit Prioritätssteuerung) Andere Multitaskingsysteme: Andere Multitaskingsysteme: Windows 3.x, 9x, Me, NT, 2000, XP Windows 3.x, 9x, Me, NT, 2000, XP MacOS, BeOS, AmigaOS MacOS, BeOS, AmigaOS Alle Mainframesysteme Alle Mainframesysteme Nicht-Multitaskingsysteme: Nicht-Multitaskingsysteme: DOS DOS

8 8Multiusersystem UNIX ist von Beginn an ein Multiusersystem, d.h. es können mehrere verschiedene Nutzer gleichzeitig den selben Computer nutzen. 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 Nutzer müssen eindeutig und sicher identifiziert werden. Name, Passwort Daten der Nutzer müssen gegen unbefugte Benutzung geschützt werde. Zugriffsrechte Daten der Nutzer müssen gegen unbefugte Benutzung geschützt werde. Zugriffsrechte Nutzereigene Konfiguration der Umgebung muss ermöglicht werden. eigene Konfigurationsdateien in eigenem Nutzerverzeichnis Nutzereigene Konfiguration der Umgebung muss ermöglicht werden. eigene Konfigurationsdateien in eigenem Nutzerverzeichnis Andere Multiusersysteme: Andere Multiusersysteme: Windows NT MS Terminalserver, Windows 2000, Windows XP Windows NT MS Terminalserver, Windows 2000, Windows XP Mainframesysteme : OpenVMS, IBM OS/390 Mainframesysteme : OpenVMS, IBM OS/390 Nicht-Multiusersysteme Nicht-Multiusersysteme DOS, Windows 3.x, 9x, NT 3.x DOS, Windows 3.x, 9x, NT 3.x

9 9Aufbau Hardware Hardwarespezifischer Kern Hardwareunabhängiger Kern Standardbibliotheken Shells Nutzerprogramme Dienstprogramme

10 10 Schichtenaufbau Schichtenaufbau Hardwarenähere Schichten werden teilweise durch hardwarefernere Schichten überdeckt. 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. 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. Zum UNIX-Standard gehören auch die Standardbibliotheken. Modularität Modularität Portabilität Portabilität Kompatibilität Kompatibilität

11 11 Aufgaben des Kerns Verwaltung von Prozessen Verwaltung von Prozessen Aufteilung der Rechenzeit Aufteilung der Rechenzeit Verwaltung des Speichers Verwaltung des Speichers Ansteuerung von Geräten Ansteuerung von Geräten Bereitstellung des Dateisystems Bereitstellung des Dateisystems Kommunikation zwischen Prozessen Kommunikation zwischen Prozessen

12 12Standardbibliotheken Standardbibliotheken ermöglichen die Nutzung komplexerer Funktionen ohne direkt auf den Systemkern zugreifen zu müssen. Z.B.: Standardbibliotheken ermöglichen die Nutzung komplexerer Funktionen ohne direkt auf den Systemkern zugreifen zu müssen. Z.B.: Arbeit mit graphischen Nutzeroberflächen Arbeit mit graphischen Nutzeroberflächen Fenster öffnen Fenster öffnen Text ausgeben u.s.w. Text ausgeben u.s.w. Arbeit mit dem Filesystem Arbeit mit dem Filesystem Arbeit mit externen Geräten Arbeit mit externen Geräten

13 13Shells 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). 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. Shells sind normale Programme. Es existieren viele verschiedene Shells. Der Nutzer arbeitet immer mit einer Shell. Der Nutzer arbeitet immer mit einer Shell. sh : Bourne-Shell sh : Bourne-Shell bash : Bourne Again Shell bash : Bourne Again Shell ksh: Korn-Shell ksh: Korn-Shell csh : C-Shell csh : C-Shell tcsh : erweiterte C-Shell tcsh : erweiterte C-Shell Shells stellen bestimmte elementare Kommandos zu Verfügung, z.B.: Shells stellen bestimmte elementare Kommandos zu Verfügung, z.B.: cd : Change Directory cd : Change Directory pwd : Print Working Directory pwd : Print Working Directory

14 14Dienstprogramme Dienstprogramme sind normale, ausführbare Programme, die bestimmte z.T. sehr komplexe Funktionen realisieren und mit dem UNIX-Betriebsystem ausgeliefert werden. Dienstprogramme sind normale, ausführbare Programme, die bestimmte z.T. sehr komplexe Funktionen realisieren und mit dem UNIX-Betriebsystem ausgeliefert werden. Beispiele: Beispiele: sed : automatisches editieren von Texten sed : automatisches editieren von Texten vi, ed : einfache Editoren vi, ed : einfache Editoren grep : suchen von Texten in Dateien grep : suchen von Texten in Dateien find : durchsuchen von Verzeichnisbäumen nach Dateien mit bestimmten Eigenschaften und Ausführen von Kommandos mit diesen 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 cat : Ausgabe einer Datei auf den Bildschirm man : betrachten der Manualpages man : betrachten der Manualpages lpr : Datei drucken lpr : Datei drucken ls : Verzeichnisinhalt anzeigen ls : Verzeichnisinhalt anzeigen


Herunterladen ppt "1 UNIX und C Einleitung. 2Themen UNIX UNIX Geschichte Geschichte Eigenschaften Eigenschaften Aufbau Aufbau Shells Shells Filesystem Filesystem Wichtige."

Ähnliche Präsentationen


Google-Anzeigen