50% Rabatt auf ausgewählte E-Books! Jetzt profitieren.
Willkommen, schön sind Sie da!
Logo Ex Libris

System-Programmierung in UNIX

  • Kartonierter Einband
  • 412 Seiten
(0) Erste Bewertung abgeben
Bewertungen
(0)
(0)
(0)
(0)
(0)
Alle Bewertungen ansehen
Das vorliegende Buch ist der zweite Band, der als Ausarbeitung der Software Vorlesungen entstand, die ich jeweils im zweiten Studi... Weiterlesen
20%
70.00 CHF 56.00
Print on demand - Exemplar wird für Sie besorgt.

Beschreibung

Das vorliegende Buch ist der zweite Band, der als Ausarbeitung der Software Vorlesungen entstand, die ich jeweils im zweiten Studienjahr im Nebenfach Informatik an der Universität Ulm anbiete. Die Vorlesungen führen in systemnahe Programmierung ein, also in den unmittelbaren Umgang mit Maschine und Betriebssystem. Im ersten Band wurden Rechnerarchitekturen, Assembler-und Makro-Programmierung in groben Zügen sowie vor allem die Programmiersprache C besprochen, in 1 der praktisch die gesamte systemnahe Programmierung bei UNIX erfolgt. Dieser zweite Band befaßt sich vor allem mit den Systemaufrufen zum Datei- und Prozeßmanagement bei UNIX. minx, ein Filemanager, der ein UNIX Dateisystem nachbildet und auch zum Beispiel unter MS-DOS auf Rechnern wie dem IBM-PC lauffähig ist, dient dazu, die Implementierung des UNIX Dateisystems und der einschlägigen Kommandos für Zugriff und Pflege zu zeigen. Der Leser sollte einfache Datenstrukturen, problemorientierte Programmierung und vor allem C und Hilfsprogramme wie make beherrschen, die im ersten Band besprochen wurden. Die Kapitel wurden weitergezählt um Verweise auf den ersten Band zu vereinfachen. Das achte Kapitel gehört eigentlich noch zu den 'Werkzeugen' des ersten Bandes.

Inhalt

8 Portable Ein- und Ausgabe - "stdio" und "termcap".- 8.1 Dateianschluß.- 8.2 Transferoperationen.- 8.3 Positionierung.- 8.4 Umwandlungen.- 8.5 Andere Funktionen.- 8.6 Filter.- 8.7 Text seitenweise betrachten - "crt".- 8.7.1 Aufgabenverteilung - "main()".- 8.7.2 Benutzerschnittstelle - "query()".- 8.7.3 Positionierung und Ausgabe - "page()".- 8.7.4 Eingabe - "newline()".- 8.7.5 Dateianschluß.- 8.7.6 Eine temporäre Datei.- 8.7.7 Mustersuche.- 8.8 Schirmoperationen am Terminal.- 8.8.1 "curses".- 8.8.2 Beispiel.- 8.8.3 "termlib".- 9 Systemaufrufe und Kommandos.- 9.1 Das UNIX Dateisystem.- 9.2 Standards.- 9.3 Existente Dateien kopieren - "cat".- 9.3.1 Funktionsbeschreibung.- 9.3.2 Hauptprogramm.- 9.3.3 Meldung und Prozeßabbruch - "fatal()".- 9.3.4 Kopieren - "read()" und "write()".- 9.3.5 Dateianschluß - "open()" und "close()".- 9.3.6 Ausblick.- 9.4 Information über Dateien - "Is".- 9.4.1 Funktionsbeschreibung.- 9.4.2 Hauptprogramm.- 9.4.3 Katalog oder Datei - "stat()".- 9.4.4 Information über eine Datei - "stat()".- 9.4.5 Traverse der Dateihierarchie - "struct direct".- 9.4.6 Positionieren in einer Datei - "Iseek()".- 9.4.7 Ausblick.- 9.5 Wo bin ich - "pwd".- 9.5.1 Funktionsbeschreibung und Hauptprogramm.- 9.5.2 Aufwärts zur Wurzel - "chdir()".- 9.5.3 Ausblick.- 9.6 Arbeitskatalog und Suche nach Kommandos.- 9.6.1 Arbeitskatalog wechseln - "cd".- 9.6.2 Verdeckte Argumente - "getenv()".- 9.6.3 Vererbungslehre - "system()".- 9.6.4 Ausblick - "sh" und "PATH".- 9.7 Kataloge manipulieren - "mkdir" und "rmdir".- 9.7.1 Funktionsbeschreibung.- 9.7.2 Pfadmassage.- 9.7.3 Ein neuer Katalog - "mknod()" und "link()".- 9.7.4 Ein Katalog wird entfernt - "unlink()".- 9.7.5 Ausblick - Ritchie's Patent.- 9.8 Dateinamen löschen - "rm".- 9.8.1 Funktionsbeschreibung.- 9.8.2 Realisierung.- 9.8.3 Ausblick.- 9.9 Kopieren und verlagern - "cp", "In" und "mv".- 9.9.1 Funktionsbeschreibung.- 9.9.2 Hauptprogramm.- 9.9.3 Ist sie's oder ist sie's nicht?.- 9.9.4 Kopieren - "creat()".- 9.9.5 Ein zweiter Dateiname.- 9.9.6 Datei umbenennen.- 9.9.7 Ausblick.- 9.10 Dateien, Besitzer und Benutzer.- 9.10.1 Prozeßidentifikation - "login".- 9.10.2 Zugriffsschutz.- 9.10.3 Super- und andere Benutzer.- 9.10.4 Zugriffsschutz ändern - "chmod".- 9.10.5 Besitzer und Gruppe ändern - "chown" und "chgrp".- 9.10.6 Ausblick - "access()".- 10 Der Filemanager - "minx".- 10.1 Was ist ein Filemanager?.- 10.2 Die UNIX Filemanager-Schnittstelle.- 10.3 Wie funktioniert ein Systemaufruf?.- 10.4 Speicherflächen für den Filemanager.- 10.5 Architektur des Filemanagers.- 10.6 Programmiertechnik.- 10.6.1 Konstruktion von Namen.- 10.6.2 Zugriffsmakros.- 10.7 Fehler.- 10.7.1 Fehlerarten.- 10.7.2 Reaktionen.- 10.7.3 Fehlerberichte.- 10.8 Ablaufverfolgung.- 10.9 Block-Depot - "buf"-Modul.- 10.9.1 Aufgaben.- 10.9.2 Datenstrukturen - "buf.h" und "super.h".- 10.9.3 Parametrisierung - "param.h" und "types.h".- 10.9.4 Implementierung - "buf.c".- 10.9.5 Systemaufrufe.- 10.9.6 Systemabbruch.- 10.10 Gerätetreiber.- 10.10.1 Prinzip.- 10.10.2 Gerätenummern - "bdevsw[]".- 10.10.3 Dateisystem zum Anfassen - "mem.c".- 10.10.4 Ausblick.- 10.11 Test eines Moduls.- 10.12 Inode-Depot - "inode"-Modul.- 10.12.1 Aufgaben.- 10.12.2 Datenstrukturen - "inode.h" und "dinode.h".- 10.12.3 Implementierung - "inode.c".- 10.12.4 Erweiterung des linearen Dateisystems.- 10.12.5 Test.- 10.12.6 Ausblick.- 10.13 File-Tabelle - "file"-Modul.- 10.13.1 Aufgaben.- 10.13.2 Datenstrukturen - "file.h" und "user.h".- 10.13.3 Implementierung - "file.c".- 10.13.4 Systemaufrufe.- 10.13.5 Test.- 10.13.6 Ausblick.- 10.14 Datentransfer - "io"-Modul.- 10.14.1 Aufgaben.- 10.14.2 Implementierung - "io.c".- 10.14.3 Systemaufrufe.- 10.14.4 Zeichenorientierte Geräte - "cdevsw[]".- 10.14.5 Test.- 10.15 Katalogsystem - "name"-Modul.- 10.15.1 Aufgaben.- 10.15.2 Implementierung - "name.c".- 10.15.3 Systemaufrufe.- 10.15.4 Test.- 10.16 Andere Systemaufrufe - "svc"-Modul.- 10.16.1 Aufgaben.- 10.16.2 Implementierung - "svc.c".- 10.17 Endmontage.- 10.17.1 Das Rahmenprogramm - "minx.c".- 10.17.2 Quo vadis, Systemaufruf? - "minx.h".- 10.17.3 Potemkinsche Funktionen - "stdio.c".- 10.17.4 Prozeßmanagement - "process()".- 10.17.5 Kommandoprozessor - "sh.c".- 10.17.6 Ablaufverfolgung.- 10.17.7 Konfiguration.- 10.18 Ausblick.- 11 Management und Pflege des Dateisystems.- 11.1 Konstruktion einer Gerätedatei - "mknod".- 11.1.1 Prinzip.- 11.1.2 Implementierung.- 11.2 Erweiterung der Dateihierarchie - "mount" und "umount".- 11.2.1 Prinzip - "mount()" und "umount()".- 11.2.2 Implementierung.- 11.3 Dateihierarchie fixieren - "sync" und "update".- 11.4 Konstruktion eines Dateisystems - "mkfs".- 11.4.1 Prinzip.- 11.4.2 Algorithmus.- 11.4.3 Details.- 11.5 Konsistenz des linearen Dateisystems - "icheck".- 11.5.1 Prinzip.- 11.5.2 Algorithmus.- 11.5.3 Hilfsfunktionen - "maint"-Modul.- 11.5.4 Details.- 11.6 Konsistenz der Kataloge - "dcheck".- 11.6.1 Prinzip.- 11.6.2 Algorithmus.- 11.6.3 Details.- 11.7 Reparatur.- 11.7.1 Prinzip - "fsck".- 11.7.2 Inode modifizieren - "clri" und "ipatch".- 11.7.3 Lineare Verwicklungen.- 11.7.4 Katalogprobleme.- 11.7.5 Ausblick - "fsck".- 12 Prozesse.- 12.1 Manipulationen mit Programmen und Prozessen.- 12.1.1 Ein neues Image - "exec".- 12.1.2 Verdeckte Argumente.- 12.1.3 Prozeßmanagement - "exit()", "fork()" und "wait()".- 12.1.4 Kommando als Unterprogramm - "system()".- 12.1.5 Wie macht's die Shell?.- 12.2 Signale.- 12.2.1 Begriffe.- 12.2.2 Systemaufrufe - "kill()" und "signal()".- 12.2.3 "system()" für Fortgeschrittene.- 12.2.4 Abfangfunktionen.- 12.2.5 Signale und die Shell.- 12.2.6 Ruhepause - "alarm()", "pause()" und "sleepo".- 12.2.7 Das geteilte Terminal.- 12.2.8 Signale stapelweise.- 12.3 Dateiverbindung zwischen Prozessen.- 12.3.1 Systemaufruf - "pipe()".- 12.3.2 Verpackung - "popen()" und "pclose()".- 12.4 Prozeßsynchronisation.- 12.4.1 Druckermanagement - "spool".- 12.4.2 Stapelverarbeitung - "batch".- Anhang 1 Hinweise zu den Denkpausen.- Anhang 2 "minx" Manual.- Quellen.

Produktinformationen

Titel: System-Programmierung in UNIX
Untertitel: Teil 2: Techniken
Autor:
EAN: 9783519024712
ISBN: 978-3-519-02471-2
Format: Kartonierter Einband
Herausgeber: Vieweg+Teubner Verlag
Genre: Sonstiges
Anzahl Seiten: 412
Gewicht: 700g
Größe: H228mm x B162mm x T22mm
Jahr: 1986
Auflage: 1986