Facebook - konwersja
Darmowy fragment

Linux. Programowanie systemowe - ebook

Wydawnictwo:
Tłumacz:
Format:
PDF
Data wydania:
13 listopada 2012
57,00
5700 pkt
punktów Virtualo

Linux. Programowanie systemowe - ebook

Wykorzystaj moc Linuksa i twórz 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 telefonów komórkowych, a na potężnych superkomputerach kończąc. Z Linuksa korzystają agencje wywiadowcze i wojsko, jego niezawodność doceniły również banki i instytucje finansowe. Oprogramowanie z przestrzeni użytkownika w systemie Linux może być uruchamiane na wszystkich platformach, na których poprawnie działa kod jądra.

Czytając książkę "Linux. Programowanie systemowe", dowiesz się, jak utworzyć oprogramowanie, które jest niskopoziomowym kodem, komunikującym się bezpośrednio z jądrem oraz głównymi bibliotekami systemowymi. Opisany został tu sposób działania standardowych i zaawansowanych interfejsów zdefiniowanych w Linuksie. Po lekturze napiszesz inteligentniejszy i szybszy kod, który 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 zasobów systemowych
  • Zarządzanie plikami i katalogami
  • Identyfikatory sygnałów
  • Struktury danych reprezentujące czas
  • Konwersje czasu

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)
  • 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)

  • 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)
  • 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)

Kategoria: Systemy operacyjne
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-246-6109-1
Rozmiar pliku: 3,7 MB

BESTSELLERY

Menu

Zamknij