Autor: Marc J. Rochkind
ISBN: 978-83-204-3253-4
Ilość stron: 768
Data wydania: 03/2007
Twarda oprawa
Jest to znany podręcznik, którego drugie wydanie w oryginale ukazało się po 19 latach. Na wielu polskich uczelniach jest uważany za podstawowy do wykładów z systemu UNIX. Opisano w nim aktualny stan systemu. Zestaw omówionych funkcji zwiększył się z 70 do 300. Bardzo dokładnie opisano wątki, mechanizmy komunikacji międzyprocesorowej System V IPC, a także gniazda i programowanie sieciowe oraz asynchroniczne wejście-wyjście.
Książka "Programowanie w systemie UNIX dla zaawansowanych Wydanie trzecie zmienione i rozszerzone" jest klasyczną pozycją, która znowu przez wiele lat będzie służyć kolejnym pokoleniom studentów informatyki na wszystkich uczelniach wyższych.
Rozdziały:
Rozdział 1. Pojęcia podstawowe 1.1. Błyskawiczny przegląd systemów UNIX i Linux 1.2. Wersje systemu UNIX 1.3. Używanie funkcji systemowych 1.4. Obsługa błędów 1.5. Standardy systemu UNIX 1.6. Wspólny plik nagłówkowy 1.7. Daty i czasy 1.8. O programach przykładowych 1.9. Ważne pomoce naukowe
Rozdział 2. Podstawowe operacje wejścia-wyjścia dla plików 2.1. Wprowadzenie do operacji wejścia-wyjścia dla plików 2.2. Deskryptory plików i opisy plików otwartych 2.3. Symbole bitów praw dostępu do pliku 2.4. Funkcje systemowe open oraz creat 2.5. Funkcja systemowa umask 2.6. Funkcja systemowa unlink 2.7. Tworzenie plików roboczych 2.8. Wskaźniki pliku i sygnalizator 0-APPEND 2.9. Funkcja systemowa write 2.10. Funkcja systemowa read 2.11. Funkcja systemowa close 2.12. Operacje wejścia-wyjścia buforowane przez użytkownika 2.13. Funkcja systemowa Iseek 2.14. Funkcje systemowe pread oraz pwrite 2.15. Funkcje systemowe readv oraz writev 2.16. Zsynchronizowane operacje wejścia-wyjścia 2.17. Funkcje systemowe truncate oraz ftruncate
Rozdział 3. Zaawansowane operacje wejścia-wyjścia dla plików 3.1. Wprowadzenie 3.2. Dyskowe pliki specjalne i systemy plików 3.3. Dowiązania twarde i symboliczne 3.4. Nazwy ścieżek 3.5. Pozyskiwanie i wyświetlanie metadanych pliku 3.6. Katalogi 3.7. Zmienianie i-węzła 3.8. Dodatkowe funkcje systemowe działające na plikach 3.9. Wejście-wyjście asynchroniczne
Rozdział 4. Wejście-wyjście terminalowe 4.1. Wprowadzenie 4.2. Czytanie danych przekazywanych za pomocą terminalu 4.3. Sesje i grupy procesów (zadania) 4.4. Funkcja systemowa ioctl 4.5. Określanie atrybutów terminalu 4.6. Dodatkowe funkcje systemowe sterujące terminalem 4.7. Funkcje systemowe identyfikujące terminal 4.8. Pełnoekranowe programy użytkowe 4.9. Wejście-wyjście STREAMS 4.10. Pseudoterminale
Rozdział 5. Procesy i wątki 5.1. Wprowadzenie 5.2. Środowisko 5.3. Funkcje systemowe exec 5.4. Implementowanie powłoki (wersja 1) 5.5. Funkcja systemowa fork 5.6. Implementowanie powłoki (wersja 2) 5.7. Funkcje systemowe exit oraz zakończenie procesu 5.8. Funkcje systemowe wait, waitpid oraz waitid 5.9. Sygnały, zakończenie i czekanie 5.10. Implementowanie powłoki (wersja 3) 5.11. Pobieranie identyfikatorów użytkownika i grupy 5.12. Ustanawianie identyfikatorów użytkownika i grupy 5.13. Pobieranie identyfikatorów procesu 5.14. Funkcja systemowa chroot 5.15. Pobieranie i określanie priorytetu 5.16. Ograniczenia procesu 5.17. Wprowadzenie do wątków 5.18. Problem blokowania
Rozdział 6. Podstawowa komunikacja międzyprocesowa 6.1. Wprowadzenie 6.2. Łącza komunikacyjne 6.3. Funkcje systemowe dup oraz dup2 6.4. Rzeczywista powłoka 6.5. Komunikacja dwukierunkowa za pomocą łączy jednokierunkowych 6.6. Komunikacja dwukierunkowa za pomocą łączy dwukierunkowych
Rozdział 7. Zaawansowana komunikacja międzyprocesowa 7.1. Wprowadzenie 7.2. Kolejki FIFO, czyli łącza nazwane 7.3. Prosty abstrakcyjny interfejs służący do wymiany komunikatów (SMI) 7.4. Komunikacja międzyprocesowa w Systemie V 7.5. Kolejki komunikatów w Systemie V 7.6. Komunikacja międzyprocesowa w standardzie POSIX 7.7. Kolejki komunikatów w standardzie POSIX 7.8. O semaforach 7.9. Semafory w Systemie V 7.10. Semafory w standardzie POSIX 7.11. Ryglowanie plików 7.12. O pamięci wspólnej 7.13. Pamięć wspólna w Systemie V 7.14. Pamięć wspólna w standardzie POSIX 7.15. Porównywanie efektywności
Rozdział 8. Komunikacja w sieci oraz gniazda 8.1. Podstawy gniazd 8.2. Adresy gniazdowe 8.3. Opcje gniazd 8.4. Prosty interfejs gniazdowy 8.5. Implementacja interfejsu SMI dla gniazd 8.6. Gniazda bezpołączeniowe 8.7. Dane pozapasmowe 8.8. Funkcje przeszukiwania sieciowej bazy danych 8.9. Rozmaite funkcje systemowe 8.10. Rozważania na temat dużej efektywności
Rozdział 9. Sygnały i liczniki czasu 9.1. Podstawy sygnałów 9.2. Oczekiwanie na sygnał 9.3. Różne funkcje systemowe dla sygnałów 9.4. Mało ważne funkcje systemowe dotyczące sygnałów 9.5. Mechanizm RTS 9.6. Skoki globalne 9.7. Zegary i liczniki czasu
Dodatki:
Dodatek A. Atrybuty procesu
Dodatek B. Ux — opakowanie w języku C++ dla funkcji standardowych systemu UNIX
Dodatek C. Jtux — interfejs w języku Java (Jython) dla funkcji standardowych systemu UNIX
Dodatek D. Skorowidze funkcji w kolejności alfabetycznej i tematycznej
Programowanie w systemie UNIX dla zaawansowanych Wydanie trzecie zmienione i rozszerzone --- Pozycja niedostępna.---
|