1A: POSIX POSIX (Portable Operating System) ist ein Standard für UNIX-Systeme. Er dient dazu,...

6

Click here to load reader

Transcript of 1A: POSIX POSIX (Portable Operating System) ist ein Standard für UNIX-Systeme. Er dient dazu,...

Page 1: 1A: POSIX POSIX (Portable Operating System) ist ein Standard für UNIX-Systeme. Er dient dazu, Programme portabel unter UNIX und Derivaten zu tauschen und.

1A: POSIX

POSIX (Portable Operating System) ist ein Standard für UNIX-Systeme.Er dient dazu, Programme portabel unter UNIX und Derivaten zu tauschenund legt u.a. folgende Eigenschaften eines Betriebssystems fest:

- Bibliotheksaufrufe- Shellfunktionen und Shellbefehle- Sicherheitserweiterungen- Systemadministration- Transparenter Dateizugriff- Supercomputing

Z.B. sind Bourne-Again Shell-Skripte mit dem #!/bin/sh in der 1. Zeile nach POSIX-Standard unabhängig vom eingesetzten UNIX.

Unterstützt wird POSIX von fast allen UNIX und LINUX Varianten, manchmal mehr,manchmal weniger.

Page 2: 1A: POSIX POSIX (Portable Operating System) ist ein Standard für UNIX-Systeme. Er dient dazu, Programme portabel unter UNIX und Derivaten zu tauschen und.

Logos

Linux

SGI IRIX

AIX

Solaris

HP-UX

Page 3: 1A: POSIX POSIX (Portable Operating System) ist ein Standard für UNIX-Systeme. Er dient dazu, Programme portabel unter UNIX und Derivaten zu tauschen und.

1B: OPEN SOURCE

Pro Open Source:- Fehler werden schneller erkannt- Dadurch mehr Stabilität- Keine Geheimnisse der Art „security through obscurity“ - Auch Ideen von genialen Nichtmitarbeitern kommen zum Einsatz- Es wird mehr nach Interesse der beteiligten Gruppen, also auch Anwender, entwickelt.- Mehr Personen sind beteiligt- Weitgreifendere Standards, da jeder Mitmachen kann- Weiterentwicklungsfähig für den Einzelnen- Geringer Preis der Software- Verantwortung unklar- Menschlich / christlicher Grundsatz: Teilen

Pro Moneysoft:- Grosser finanzieller Gewinn, wegen Abhängigkeit- Fehler werden nicht sofort nach außen bekannt. Man kann die Schuld noch jemand anderem geben- Mehr Gewinn durch Support, Erweiterungen und Pflege- Kompaktere Standards, da weniger Parteien etwas zu sagen haben.- Verantwortung liegt bei Softwarehersteller

Page 4: 1A: POSIX POSIX (Portable Operating System) ist ein Standard für UNIX-Systeme. Er dient dazu, Programme portabel unter UNIX und Derivaten zu tauschen und.

Benutzer

Standardhilfsprogramme(Shell, Editor, Compiler, ...)

Standardbibliotheken(open, close, read, write, fork,...)

UNIX Betriebssystem(Prozeßverwaltung, Speicherverwaltung, Dateisystem, I/O...)

Hardware(CPU, Speicher, Platten, Terminals...)

Benutzungs-schnittstelle

Bibliotheks-schnittstelle

Systemaufruf-schnittstelle

Kernmodus

Benutzermodus

Trap-Befehl

Ein Trap-Befehl dient dazu, aus dem Benutzermodus in den Kernmodus umzuschalten umdann die Betriebssystemfunktionen zu benutzen.

1C: Der Trap-Befehl

Page 5: 1A: POSIX POSIX (Portable Operating System) ist ein Standard für UNIX-Systeme. Er dient dazu, Programme portabel unter UNIX und Derivaten zu tauschen und.

1D-A: Shell-Scripting How-ToMit %vi Datei erzeugen und editieren.Die erste Zeile sollte lauten: #!/bin/sh Mit %chmod u+rx scriptname Skript ausführbar machen.Mit %scriptname ausführen.Bash-Toutorial: www.tldp.org/LDP/abs/html/index.html

www.linux.org/docs/ldp/howto/Bash-Prog-Intro-HOWTO.html#!/bin/sh# Kommentar

echo „Ausgabe“# Nächste Zeile gibt den ersten Parameter, der hinter dem Skriptnamen stand aus

echo $1

while [ true ] ; do

# Ausgabe von %who | wc –l in der Variable anzleute speichern # Entscheidend hier: ` Symbol (links vor Backslash-Taste mit Shift)

anzleute=`who | wc -l` # Ausgabe einer Variablen mit $ Symbol vor dem Variablennamenecho „Es sind $anzleute Personen online“

# Mit %man sleep Dokumentation von sleep sehensleep 1

anzleuteb=`who | wc -l`# %expr – mathemtische Ausdrücke auswerten, siehe %man exprdiff=`expr $anzleuteb - $anzleute`

echo „$diff Veränderung“done

Page 6: 1A: POSIX POSIX (Portable Operating System) ist ein Standard für UNIX-Systeme. Er dient dazu, Programme portabel unter UNIX und Derivaten zu tauschen und.

1D-B: Shell-Scripting Versus Programmiersprachen

OO-Sprachen

- Precompiled Code, besonders schnell: C++- Objektorientierung- Geeignet für Endprodukte größerer Projekte- Zugriff auf komplexere Funktionen über eine umfangreiche API- Grafik / GUI

Shell-Scripte

- Skriptsprache -> Kompilierung zur Laufzeit- Prozedural- Erledigen von einfachen Aufgaben, meist auf Shell und Systemverwaltungsebene- Standard, sofern dieselbe Shell benutzt wird- Funktionen durch kombinieren von kleinen Programmen erweiterbar- Zugriff auf komplexere Funktionen (z.B. Server Programme) nur über ein einfaches Interface- Geeignet für die Herstellung von Prototypen- Shell ist ungeeignet für Grafik oder GUI