Linux. Programowanie systemowe.pdf
(
519 KB
)
Pobierz
Linux. Programowanie
systemowe
Autor: Robert Love
TĀumaczenie: Jacek Janusz
ISBN: 978-83-246-1497-4
TytuĀ oryginaĀu:
Linux System
Programming: Talking Directly
to the Kernel and C Library
Format: 168x237, stron: 400
Wykorzystaj moc Linuksa i twrz funkcjonalne oprogramowanie systemowe!
¤
Jak zarzĴdzaě plikowymi operacjami wejľcia i wyjľcia?
¤
Jak zablokowaě fragmenty przestrzeni adresowej?
¤
Jak sterowaě dziaĀaniem interfejsu odpytywania zdarzeĺ?
Dzisiaj systemu Linux nie musimy juŃ nikomu przedstawiaě, dziķki swojej
funkcjonalnoľci i uniwersalnoľci staĀ siķ niezwykle popularny i szeroko
wykorzystywany. DziaĀa wszķdzie ? poczynajĴc od najmniejszych telefonw
komrkowych, a na potķŃnych superkomputerach koĺczĴc. Z Linuksa korzystajĴ
agencje wywiadowcze i wojsko, jego niezawodnoľě doceniĀy rwnieŃ banki i instytucje
finansowe. Oprogramowanie z przestrzeni uŃytkownika w systemie Linux moŃe byě
uruchamiane na wszystkich platformach, na ktrych poprawnie dziaĀa kod jĴdra.
CzytajĴc ksiĴŃkķ âLinux. Programowanie systemoweÒ, dowiesz siķ, jak utworzyě
oprogramowanie, ktre jest niskopoziomowym kodem, komunikujĴcym siķ
bezpoľrednio z jĴdrem oraz gĀwnymi bibliotekami systemowymi. Opisany zostaĀ tu
sposb dziaĀania standardowych i zaawansowanych interfejsw zdefiniowanych
w Linuksie. Po lekturze napiszesz inteligentniejszy i szybszy kod, ktry dziaĀa
we wszystkich dystrybucjach Linuksa oraz na wszystkich rodzajach sprzķtu.
Nauczysz siķ budowaě poprawne oprogramowanie i maksymalnie je wykorzystywaě.
¤
Programowanie systemowe
¤
Biblioteka jķzyka C
¤
Kompilator jķzyka C
¤
Interfejs odpytywania zdarzeĺ
¤
ZarzĴdzanie procesami i pamiķciĴ
¤
UŃytkownicy i grupy
¤
Ograniczenia zasobw systemowych
¤
ZarzĴdzanie plikami i katalogami
¤
Identyfikatory sygnaĀw
¤
Struktury danych reprezentujĴce czas
¤
Konwersje czasu
Wydawnictwo Helion
ul. Koľciuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
Poznaj i ujarzmij potķgķ Linuksa!
Spis treści
Przedmowa ............................................................................................................................... 7
Wstęp ........................................................................................................................................ 9
1.
Wprowadzenie — podstawowe pojęcia .................................................................... 15
Programowanie systemowe
15
API i ABI
18
Standardy
20
Pojęcia dotyczące programowania w Linuksie
23
Początek programowania systemowego
36
2.
Plikowe operacje wejścia i wyjścia ............................................................................. 37
Otwieranie plików
38
Czytanie z pliku przy użyciu funkcji read()
43
Pisanie za pomocą funkcji write()
47
Zsynchronizowane operacje wejścia i wyjścia
51
Bezpośrednie operacje wejścia i wyjścia
55
Zamykanie plików
56
Szukanie za pomocą funkcji lseek()
57
Odczyty i zapisy pozycyjne
59
Obcinanie plików
60
Zwielokrotnione operacje wejścia i wyjścia
61
Organizacja wewnętrzna jądra
72
Zakończenie
76
3.
Buforowane operacje wejścia i wyjścia ...................................................................... 77
Operacje wejścia i wyjścia, buforowane w przestrzeni użytkownika
77
Typowe operacje wejścia i wyjścia
79
Otwieranie plików
80
3
Otwieranie strumienia poprzez deskryptor pliku
81
Zamykanie strumieni
82
Czytanie ze strumienia
83
Pisanie do strumienia
86
Przykładowy program używający buforowanych operacji wejścia i wyjścia
88
Szukanie w strumieniu
89
Opróżnianie strumienia
91
Błędy i koniec pliku
92
Otrzymywanie skojarzonego deskryptora pliku
93
Parametry buforowania
93
Bezpieczeństwo wątków
95
Krytyczna analiza biblioteki typowych operacji wejścia i wyjścia
97
Zakończenie
98
4.
Zaawansowane operacje plikowe wejścia i wyjścia .................................................. 99
Rozproszone operacje wejścia i wyjścia
100
Interfejs odpytywania zdarzeń
105
Odwzorowywanie plików w pamięci
110
Porady dla standardowych operacji plikowych wejścia i wyjścia
123
Operacje zsynchronizowane, synchroniczne i asynchroniczne
126
Zarządcy operacji wejścia i wyjścia oraz wydajność operacji wejścia i wyjścia
129
Zakończenie
141
5.
Zarządzanie procesami ............................................................................................. 143
Identyfikator procesu
143
Uruchamianie nowego procesu
146
Zakończenie procesu
153
Oczekiwanie na zakończone procesy potomka
156
Użytkownicy i grupy
166
Grupy sesji i procesów
171
Demony
176
Zakończenie
178
6.
Zaawansowane zarządzanie procesami .................................................................. 179
Szeregowanie procesów
179
Udostępnianie czasu procesora
183
Priorytety procesu
186
Wiązanie procesów do konkretnego procesora
189
Systemy czasu rzeczywistego
192
Ograniczenia zasobów systemowych
206
4
|
Spis treści
7.
Zarządzanie plikami i katalogami ............................................................................ 213
Pliki i ich metadane
213
Katalogi
228
Dowiązania
240
Kopiowanie i przenoszenie plików
245
Węzły urządzeń
248
Komunikacja poza kolejką
249
Śledzenie zdarzeń związanych z plikami
251
8.
Zarządzanie pamięcią ............................................................................................... 261
Przestrzeń adresowa procesu
261
Przydzielanie pamięci dynamicznej
263
Zarządzanie segmentem danych
273
Anonimowe odwzorowania w pamięci
274
Zaawansowane operacje przydziału pamięci
278
Uruchamianie programów, używających systemu przydzielania pamięci
281
Przydziały pamięci wykorzystujące stos
282
Wybór mechanizmu przydzielania pamięci
286
Operacje na pamięci
287
Blokowanie pamięci
291
Przydział oportunistyczny
295
9.
Sygnały ....................................................................................................................... 297
Koncepcja sygnałów
298
Podstawowe zarządzanie sygnałami
304
Wysyłanie sygnału
309
Współużywalność
311
Zbiory sygnałów
314
Blokowanie sygnałów
315
Zaawansowane zarządzanie sygnałami
316
Wysyłanie sygnału z wykorzystaniem pola użytkowego
324
Zakończenie
325
10.
Czas ............................................................................................................................ 327
Struktury danych reprezentujące czas
329
Zegary POSIX
332
Pobieranie aktualnego czasu
334
Ustawianie aktualnego czasu
337
Konwersje czasu
338
Spis treści
|
5
Dostrajanie zegara systemowego
340
Stan uśpienia i oczekiwania
343
Liczniki
349
A
Rozszerzenia kompilatora GCC dla języka C ............................................................ 357
B
Bibliografia ................................................................................................................369
Skorowidz .................................................................................................................. 373
6
|
Spis treści
Plik z chomika:
wikileaks
Inne pliki z tego folderu:
Podrecznik freelancera Tajniki sukcesu niezaleznego projektanta stron WWW Smashing Magazine.pdf
(678 KB)
Programowanie uslug WCF Wydanie III.pdf
(1103 KB)
Programowanie w jezyku Clojure.pdf
(704 KB)
Projektowanie witryn internetowych User eXperience Smashing Magazine.pdf
(946 KB)
Projektowanie WWW Ksiega pomyslow 2.pdf
(3377 KB)
Inne foldery tego chomika:
Pliki dostępne do 01.06.2025
Pliki dostępne do 19.01.2025
### 5 TYSIĘCY FILMÓW ( hasło xxx )
€ dodaj coś do tego chomika
€ ZAROBEK ZA KLIKANIE W INTERNECIE
Zgłoś jeśli
naruszono regulamin