freeBook
 
 

Suchen und Finden

Titel

Autor/Verlag

Inhaltsverzeichnis

Nur eBooks für mein Endgerät anzeigen:

 

Newsletter

Linux-Unix-Programmierung. Galileo Computing. Das umfassende Handbuch

Linux-Unix-Programmierung. Galileo Computing. Das umfassende Handbuch

von: Jürgen Wolf

Galileo Press, 2009

ISBN: 9783836213660, 1249 Seiten

3. Auflage

Format: PDF, OL

Mac OSX,Windows PC,Mac OSX,Windows PC Online-Lesen für: Linux,Mac OSX,Windows PC

Preis: 44,90 EUR

Ersparnis: 5,00 EUR

  • Versandhandels-Marketing: Vom Katalog zum Internet
    Marketing - Grundlagen für Studium und Praxis
    Für Prüfungen lernen. Strategien zur optimalen Prüfungsvorbereitung
    Digitale Kundenbindung
    Brandherd Irak - US-Hegemonieanspruch, die UNO und die Rolle Europas
    Die großen Polit-Skandale
    Die andere Ich AG - Führen Sie sich selbst wie ein erfolgreiches Unternehmen!
    Gran Canaria
  • Buddhismus für den Alltag

     

     

     

     

     

     

     

     

 

Mehr zum Inhalt

Linux-Unix-Programmierung. Galileo Computing. Das umfassende Handbuch


 

Liebe Leserin, lieber Leser,

3

Auf einen Blick

4

Inhalt

6

Vorwort des Autors

24

Vorwort 2. Auflage

24

Vorwort 3. Auflage

25

Danksagung

25

Vorwort der Fachgutachter

28

1 Einführung

30

1.1 Anforderung an den Leser

30

1.2 Anforderung an das Betriebssystem

31

1.3 Von UNIX ...

31

1.4 ... zu Linux

33

1.5 Der Compiler GCC – eine kurze Einführung

34

1.6 POSIX, X/OPEN und ANSI C

38

1.7 Übersicht zum Buch

40

1.8 Schreibkonventionen

42

1.9 Notationsstil

43

1.10 Weitere Hilfen

43

2 E/A-Funktionen

44

2.1 Elementare E/A-Funktionen

44

2.2 Filedeskriptor

45

2.3 Funktionen, die den Filedeskriptor verwenden

47

2.4 Standard-E/A-Funktionen

85

2.5 Mit Verzeichnissen arbeiten

95

2.6 Fehlerbehandlung

113

2.7 Ausblick

115

3 Attribute von Dateien und Verzeichnissen

116

3.1 Struktur stat

116

4 Zugriff auf Systeminformationen

130

4.1 Informationen aus dem /proc-Verzeichnis herausziehen

130

4.2 Hardware-/Systeminformationen ermitteln

132

4.3 Prozessinformationen

136

4.4 Kernel-Informationen

140

4.5 Filesysteme

147

4.6 Weiterführendes

147

5 Devices – eine einfache Verbindung zur Hardware

150

5.1 Die Gerätedateitypen

150

5.2 Die Gerätedateinummern

151

5.3 Zugriff auf die Gerätedateien

152

5.4 Gerätenamen

153

5.5 Spezielle Gerätedateien

154

5.6 Gerätedateien in der Praxis einsetzen

155

6 System- und Benutzerdateien

170

6.1 Die Datei /etc/passwd

170

6.2 Die Datei /etc/shadow

175

6.3 Die Datei /etc/group

180

6.4 uname – Informationen zum lokalen System erfragen

184

6.5 Das Verzeichnis /etc/skel und Network Information Service ( NIS)

185

6.6 Dateien für Netzwerkinformationen

185

7 Dämonen, Zombies und Prozesse

188

7.1 Was ist ein Prozess?

188

7.2 Prozesskomponente

189

7.3 Prozesse überwachen – ps, top, kpm

197

7.4 Lebenszyklus eines Prozesses

199

7.5 Umgebungsvariablen eines Prozesses

201

7.6 Ressourcenlimits eines Prozesses

207

7.7 Prozesserkennung

210

7.8 Erzeugung von Prozessen – fork()

212

7.9 Warten auf einen Prozess

221

7.10 Die exec-Familie

227

7.11 Kommandoaufrufe aus dem Programm – system()

232

7.12 Dämonprozesse

233

7.13 Rund um die Ausführung von Prozessen

243

7.14 Zusammenfassung und Ausblick

255

8 Signale

256

8.1 Grundlage zu den Signalen

256

8.2 Das neue Signalkonzept

261

8.3 Signalmenge initialisieren

261

8.4 Signalmenge hinzufügen oder löschen

262

8.5 Signale einrichten oder erfragen

262

8.6 Signal an den eigenen Prozess senden – raise()

268

8.7 Signale an andere Prozesse senden – kill()

268

8.8 Zeitschaltuhr einrichten – alarm()

269

8.9 Prozesse stoppen, bis ein Signal eintritt – pause()

269

8.10 Prozesse für eine bestimmte Zeit stoppen – sleep() und usleep()

270

8.11 Signalmaske erfragen oder ändern – sigprocmask()

270

8.12 Prozess während einer Änderung der Signalmaske stoppen – sigsuspend()

271

8.13 Prozesse synchronisieren

272

9 IPC – Interprozesskommunikation

276

9.1 Unterschiedliche Interprozesskommunikations-Techniken im Überblick

277

9.2 Gründe für IPC

283

9.3 Pipes

284

9.4 System-V-Interprozesskommunikation

319

9.5 Semaphore

322

9.6 Message Queues

329

9.7 Shared Memory

340

10 Threads

350

10.1 Unterschiede zwischen Threads und Prozessen

350

10.2 Thread-Bibliotheken

351

10.3 Kernel- und User-Threads

352

10.4 Scheduling und Zustände von Threads

352

10.5 Die grundlegenden Funktionen zur Thread-Programmierung

353

10.6 Die Attribute von Threads und das Scheduling

363

10.7 Threads synchronisieren

368

10.8 Threads abbrechen (canceln)

392

10.9 Erzeugen von Thread-spezifischen Daten (TSD-Data)

396

10.10 pthread_once – Codeabschnitt einmal ausführen

399

10.11 Thread-safe (thread-sichere Funktionen)

401

10.12 Threads und Signale

402

10.13 Zusammenfassung und Ausblick

406

11 Netzwerkprogrammierung

408

11.1 Einführung

408

11.2 Aufbau von Netzwerken

409

11.3 TCP/IP – Aufbau und Struktur

412

11.4 TCP Socket

415

11.5 Kommunikationsmodell

416

11.6 Grundlegende Funktionen zum Zugriff auf die Socket- Schnittstelle

417

11.7 Aufbau eines Clientprogramms

425

11.8 Aufbau des Serverprogramms

428

11.9 IP-Adressen konvertieren, manipulieren und extrahieren

433

11.10 Namen und IP-Adressen umwandeln

439

11.11 Der Puffer

447

11.12 Standard-E/A-Funktionen verwenden

448

11.13 Parallele Server

449

11.14 Syncrones Multiplexing – select()

463

11.15 POSIX-Threads und Netzwerkprogrammierung

482

11.16 Optionen für Sockets setzen bzw. erfragen

486

11.17 UDP

490

11.18 Unix-Domain-Sockets (IPC)

497

11.19 Multicast-Socket

503

11.20 Nicht blockierende I/O-Sockets

510

11.21 Etwas zu Streams und TLI, Raw Socket, XTI

513

11.22 IPv4 und IPv6

515

11.23 Netzwerksoftware nach IPv6 portieren

516

11.24 Sicherheit und Verschlüsselung

518

12 MySQL und PostgreSQL

520

12.1 Relationales Datenbanksystem

520

12.2 Relationaler Datenbankserver

522

12.3 SQL-Server im Überblick

523

12.4 MySQL

523

12.5 MySQL C-API

547

12.6 Beispiel eines Newssystems mit MySQL

584

12.7 Neue SQL-Funktionen für die Shell – MySQL erweitern

610

12.8 MySQL-Funktionen mit der UDF-Schnittstelle entwerfen

611

12.9 PostgreSQL – objektrelationales Datenbankverwaltungssystem

620

13 Terminal E/A und Benutzerschnittstellen für die Konsole

654

13.1 termios

654

13.2 terminfo

672

13.3 ncurses – Halbgrafik

680

14 GTK+

716

14.1 Was ist GTK+?

716

14.2 GTK+-Anwendungen übersetzen

720

14.3 Eine Einführung in die Glib-Bibliothek

721

14.4 Grundlagen der GTK+-Programmierung

742

14.5 Fenster – GtkWindow

751

14.6 Anzeige-Elemente

759

14.7 Behälter

766

14.8 Buttons und Toogled-Buttons

778

14.9 Dateneingabe

786

14.10 Menü und Toolbar

796

14.11 Mehrzeiliger Text

813

14.12 Auswählen (Selection)

825

14.13 Events

834

14.14 Weitere Widget- und GTK+-Elemente im Überblick

839

15 Übersicht über weitere beliebte GUI- Bibliotheken

842

15.1 gtkmm – GTK+ für C++

842

15.2 wxWidget

846

15.3 FLTK

849

15.4 Qt

850

15.5 Die niedrige Ebene – X-Window-Programmierung

853

15.6 Multimediabibliotheken

853

16 Werkzeuge für Programmierer

860

16.1 Der Compiler gcc

860

16.2 Make

867

16.3 Bibliotheken erstellen

881

16.4 RPM

889

16.5 RCS und CVS

899

16.6 Zeitmessung von Programmen

924

16.7 Debuggen mit gdb und ddd

930

16.8 STRACE – Systemaufrufe verfolgen

940

16.9 Memory Leaks und unerlaubte Speicherzugriffe

943

16.10 Ausblick

949

17 Shellprogrammierung

952

17.1 Was ist eine Shell und was kann sie?

952

17.2 Was sind Shellskripts und wann ist ihr Einsatz sinnvoll?

952

17.3 Wann brauche ich keine Shellskripts?

954

17.4 Verschiedene Shelltypen

954

17.5 Shellskripts ausführen

956

17.6 Vom Shellskript zum Prozess

965

17.7 Datenstrom (Stream) umleiten

966

17.8 Ersatzmuster (Namen-Expansion) zur Suche verwenden

973

17.9 Variablen

977

17.10 Quotings

998

17.11 Kommandozeilenargumente

1000

17.12 Kontrollstrukturen

1007

17.13 Terminal-Eingabe und -Ausgabe

1029

17.14 Funktionen

1051

17.15 Signale

1055

17.16 Prozess- und Skriptausführung

1059

17.17 Ein Shellskript bei der Ausführung

1066

A Sicherheit unter Linux

1068

A. 1 Viren und Trojaner

1068

A. 2 Der Superuser (su)

1069

A. 3 Überlaufen von Logfiles

1069

A. 4 Zugriffsrechte auf Dateien

1070

A. 5 Das SUID-Bit

1070

A. 6 Programme ohne Ausführrechte

1072

A. 7 Buffer Overflow (Pufferüberlauf)

1072

A. 8 Race Condition

1074

A. 9 Temporäre Dateien

1075

A. 10 chroot

1076

A. 11 Umgebungsvariablen

1077

A. 12 Zugriffsrechte – häufig gemachte Fehler

1080

A. 13 system() und popen()

1080

A. 14 Offene Filedeskriptoren

1081

A. 15 Core Dump

1083

A. 16 SQL Injection

1084

A. 17 Filedeskriptor-Überlauf mit select()

1086

B Funktionsreferenz

1088

B. 1 ANSI C

1088

B. 2 ANSI C99

1106

B. 3 Elementare E/A-Funktionen

1113

B. 4 Fortgeschrittene E/A-Funktionen

1115

B. 5 Verzeichnisse

1121

B. 6 Attribute von Dateien und Verzeichnissen

1123

B. 7 Links

1125

B. 8 Prozess und Prozessverwaltungsfunktionen

1126

B. 9 Signale – Das neue Signalkonzept

1127

B. 10 Interprozesskommunikationen

1130

B. 11 Sys-V-Interprozesskommnunikationen

1131

B. 12 Threadprogrammierung

1133

B. 13 Netzwerkprogrammierung

1136

B. 14 MySQL C-API

1142

B. 15 PostgreSQL C-API

1147

B. 16 Weitere Funktionsreferenzen auf der Buch-CD

1150

C Linux-Unix-Kommandoreferenz

1152

C. 1 Dateiorientierte Kommandos

1152

C. 2 Verzeichnisorientierte Kommandos

1169

C. 3 Verwaltung von Benutzern und Gruppe

1170

C. 4 Programm- und Prozessverwaltung

1174

C. 5 Speicherplatzinformationen

1180

C. 6 Dateisystem-Kommandos

1181

C. 7 Archivierung und Backup

1191

C. 8 Systeminformationen

1203

C. 9 System-Kommandos

1204

C. 10 Druckeradministration

1206

C. 11 Netzwerkbefehle

1206

C. 12 Benutzerkommunikation

1217

C. 13 Bildschirm- und Terminalkommandos

1218

C. 14 Online-Hilfen

1220

C. 15 Alles rund um PostScript-Kommandos

1222

C. 16 Gemischte Kommandos

1222

D Inhalt der Buch-CD

1224

Index

1226

A

1226

B

1227

C

1227

D

1228

E

1229

F

1229

G

1230

H

1233

I

1233

J

1234

K

1234

L

1236

M

1237

N

1239

O

1240

P

1240

Q

1242

R

1242

S

1243

T

1246

U

1247

V

1248

W X

1248

Y

1248

Z

1248