Książka informatyczna wydawnictw: BTC Edition Exit Helion Help Microsoft Press Mikom Nakom PJWSTK Read Me Robomatic Skalmierski Tortech Translator WKŁ WNT WSISIZ
Linux Programowanie systemowe Wydanie II HELION 79.00zł
Przewodnik po jądrze sytemu Linux!
Jądro systemu Linux to jeden z największych projektów rozwijanych przez ogromną społeczność. Setki wolontariuszy dniami i nocami rozwijają najważniejszy element tego systemu operacyjnego. I robią to naprawdę skutecznie! Każde kolejne wydanie Linuksa zawiera dziesiątki nowinek oraz ulepszeń - jest coraz szybsze, bezpieczniejsze i po prostu lepsze. Jednak początkujący programiści mogą mieć problemy z wykorzystaniem usług dostarczanych przez kernel. Masz obawy, że nie odnajdziesz się w gąszczu możliwości współczesnego jądra systemu Linux?
Ta książka rozwieje je w mig. Jest to wyjątkowa pozycja na rynku wydawniczym, zgłębiająca właśnie te tajemnice. W trakcie lektury nauczysz się tworzyć niskopoziomowe oprogramowanie, które będzie się komunikowało bezpośrednio z jądrem systemu. Operacje wejścia i wyjścia, strumienie, zdarzenia, procesy to tylko część elementów, które błyskawicznie opanujesz. Ponadto nauczysz się zarządzać katalogami i plikami oraz poznasz koncepcję sygnałów. Książka ta jest niezastąpionym źródłem informacji dla wszystkich programistów pracujących z jądrem Linuksa. Docenisz tę lekturę!
Poznaj:
- metody zarządzania procesami
- zastosowanie sygnałów
- zaawansowane interfejsy wejścia i wyjścia
- jądro systemu od podszewki
Poznaj jądro systemu od podszewki! Robert Love - od wielu lat jest użytkownikiem i współtwórcą systemu Linux. Rozwija środowisko graficzne GNOME oraz jądro systemu. Pracuje jako projektant oprogramowania w firmie Google, był też członkiem zespołu projektującego system operacyjny Android. Jest autorem licznych książek poświęconych programowaniu w systemie Linux.
Spis treści:
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)
- 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)
7. Zarządzanie plikami i katalogami (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)
- Dostrajanie zegara systemowego (340)
- Stan uśpienia i oczekiwania (343)
- Liczniki (349)
A: Rozszerzenia kompilatora GCC dla języka C (357)
B: Bibliografia (369)
Linux Programowanie systemowe Wydanie II
adobe algorytmy apache asp autocad asembler bsd c++ c# delphi dtp excel flash html java javascript linux matlab mysql office php samba voip uml unix visual studio windows word
Księgarnia Informatyczna zaprasza.