Linux. Programowanie systemowe. Wydanie II
- Autor: :
- Robert Love
- Promocja 2za1
- +79 pkt
- +43 pkt
- Wydawnictwo:
- Helion
- Wydawnictwo:
- Helion
- Ocena:
- 5.0/6 Opinie: 7
- Stron:
- 448
- Druk:
- oprawa miękka
- Dostępne formaty:
-
PDFePubMobi
Opis ebooka: Linux. Programowanie systemowe. Wydanie II
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.
Twórz oprogramowanie, które opiera się bezpośrednio na usługach, udostępnianych przez jądro Linuksa oraz podstawowych bibliotekach systemowych. W tej obszernej pozycji Robert Love — współtwórca jądra Linuksa — udostępnia Ci podręcznik dotyczący programowania systemowego w Linuksie, instrukcję prezentującą funkcje systemowe Linuksa, a także poradnik dla wtajemniczonych, pozwalający na tworzenie bardziej inteligentnego i szybszego kodu.
Robert Love dokładnie odróżnia funkcje standardu POSIX od specjalnych usług, udostępnianych tylko w systemie Linux. Dzięki dodaniu rozdziału związanego z wielowątkowością, to uaktualnione i poszerzone wydanie zawiera dokładną analizę systemu Linux, zarówno pod względem teoretycznym, jak i praktycznym. Poruszono w nim wiele zagadnień programistycznych, włącznie z następującymi:
- Przegląd jądra Linuksa, biblioteki oraz kompilatora języka C,
- Podstawowe operacje wejścia i wyjścia, takie jak czytanie i pisanie do plików,
- Zaawansowane interfejsy wejścia i wyjścia, odwzorowania pamięci oraz metody optymalizacji,
- Rodzina funkcji systemowych przeznaczonych dla podstawowych działań związanych z zarządzaniem procesami,
- Zaawansowane zarządzanie procesami, włącznie z procesami czasu rzeczywistego,
- Zagadnienia związane z wątkami, programowanie wielowątkowe oraz standard Pthreads,
- Zarządzanie plikami i katalogami,
- Interfejsy służące do przydzielania pamięci i optymalizowania dostępu do niej,
- Podstawowe i zaawansowane interfejsy dotyczące sygnałów, a także ich rola w systemie,
- Zarządzanie czasem, włącznie z zegarami standardu POSIX oraz licznikami wysokiej rozdzielczości.
Robert Love jest od bardzo dawna użytkownikiem oraz współtwórcą systemu Linux. Jego wkład w rozwój tego systemu obejmuje takie zagadnienia jak jądro Linuksa oraz graficzny interfejs użytkownika GNOME. Jest projektantem oprogramowania w firmie Google, gdzie należał do zespołu, tworzącego system operacyjny Android.
„Książka Programowanie systemowe w Linuksie powinna znaleźć się na półce każdego, kto poważnie myśli o tworzeniu aplikacji w systemie Linux lub po prostu chciałby się dowiedzieć, w jaki sposób można poprawić umiejętności programowania. Robert stworzył niezbędny zasób dla profesjonalnych programistów Linuksa”.Jeremy Allison,
Zespół narzędzia Samba
Wybrane bestsellery
-
Write software that draws directly on services offered by the Linux kernel and core system libraries. With this comprehensive book, Linux kernel contributor Robert Love provides you with a tutorial on Linux system programming, a reference manual on Linux system calls, and an insider’s guide...(154.28 zł najniższa cena z 30 dni)
154.23 zł
249.00 zł(-38%) -
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 mak...(28.50 zł najniższa cena z 30 dni)
31.35 zł
57.00 zł(-45%) -
Everything you need to know about Linux is in this book. Written by Stephen Figgins, Ellen Siever, Robert Love, and Arnold Robbins -- people with years of active participation in the Linux community -- Linux in a Nutshell, Sixth Edition, thoroughly covers programming tools, system and network adm...(92.18 zł najniższa cena z 30 dni)
92.07 zł
149.00 zł(-38%) -
W tej książce omówiono wewnętrzny sposób działania frameworka Kubernetes i pokazano, jak za jego pomocą budować wydajne, niezawodne i odporne na awarie aplikacje natywnej chmury. Dowiesz się, jak kontenery używają przestrzeni nazw w celu izolowania procesów, a także jak korzystają z funkcjonalnoś...(53.40 zł najniższa cena z 30 dni)
57.84 zł
89.00 zł(-35%) -
Jeśli zastanawiasz się nad przekwalifikowaniem i karierą w branży informatycznej albo chcesz poszerzyć swoje umiejętności o programowanie, ale wydaje Ci się ono czarną magią, zapewniamy - w programowaniu nie ma nic z magii. To proces polegający na tworzeniu zbioru instrukcji, dzięki którym komput...(23.94 zł najniższa cena z 30 dni)
25.92 zł
39.90 zł(-35%) -
Ta zwięzła publikacja przyda się profesjonalistom, którzy lubią drobne ulepszenia prowadzące do dużych korzyści. Zrozumiale wyjaśniono w niej, na czym polega proces tworzenia czystego i niezawodnego kodu. W rozsądnej dawce podano zagadnienia teoretyczne, takie jak sprzężenie, kohezja, zdyskontowa...(29.94 zł najniższa cena z 30 dni)
32.43 zł
49.90 zł(-35%) -
Dzięki tej książce dowiesz się, jak pozyskiwać, analizować i wizualizować dane, a potem używać ich do rozwiązywania problemów biznesowych. Wystarczy, że znasz podstawy Pythona i matematyki na poziomie liceum, aby zacząć stosować naukę o danych w codziennej pracy. Znajdziesz tu szereg praktycznych...(41.40 zł najniższa cena z 30 dni)
44.85 zł
69.00 zł(-35%) -
Dzięki tej książce poznasz od podstaw Gita i GitLaba. Dowiesz się, jak skonfigurować runnery GitLaba, a także jak tworzyć i konfigurować potoki dla różnych etapów cyklu rozwoju oprogramowania. Poznasz zasady interpretacji wyników potoków w GitLabie. Nauczysz się też wdrażania kodu w różnych środo...(47.40 zł najniższa cena z 30 dni)
51.35 zł
79.00 zł(-35%) -
ChatGPT, chatbot opracowany i udostępniony przez firmę OpenAI, szybko stał się obiektem zainteresowania internautów na całym świecie — i na nowo wzbudził gorące dyskusje wokół sztucznej inteligencji. Ludzie mediów prześcigają się w skrajnych wizjach, jedni podchodzą do tematu entuzjastyczni...(10.95 zł najniższa cena z 30 dni)
12.04 zł
21.90 zł(-45%) -
Tę książkę docenią przede wszystkim inżynierowie oprogramowania, programiści i administratorzy systemów, którzy muszą szybko zrozumieć praktyki DevOps. Znajdziesz tu bezcenną wiedzę, która ułatwi Ci efektywną pracę z nowoczesnym stosem aplikacji i sprawne przystąpienie do zadań związanych z DevOp...(40.20 zł najniższa cena z 30 dni)
43.55 zł
67.00 zł(-35%)
Zobacz pozostałe książki z serii
-
To drugie, zaktualizowane wydanie przewodnika po systemie Prometheus. Znajdziesz w nim wyczerpujące wprowadzenie do tego oprogramowania, a także wskazówki dotyczące monitorowania aplikacji i infrastruktury, tworzenia wykresów, przekazywania ostrzeżeń, bezpośredniej instrumentacji kodu i pobierani...(53.40 zł najniższa cena z 30 dni)
57.84 zł
89.00 zł(-35%) -
Dzięki tej książce zrozumiesz bazowe koncepcje programowania funkcyjnego i przekonasz się, że możesz włączać je do kodu bez rezygnacji z paradygmatu obiektowego. Dowiesz się również, kiedy w swojej codziennej pracy używać takich opcji jak niemutowalność i funkcje czyste i dlaczego warto to robić....(52.20 zł najniższa cena z 30 dni)
56.55 zł
87.00 zł(-35%) -
Ta książka będzie świetnym uzupełnieniem wiedzy o Flutterze i Darcie, sprawdzi się również jako wsparcie podczas rozwiązywania konkretnych problemów. Znalazło się tu ponad sto receptur, dzięki którym poznasz tajniki pisania efektywnego kodu, korzystania z narzędzi udostępnianych przez framework F...(41.40 zł najniższa cena z 30 dni)
44.85 zł
69.00 zł(-35%) -
Ten przewodnik, który docenią programiści i architekci, zawiera wyczerpujące omówienie zagadnień projektowania, funkcjonowania i modyfikowania architektury API. Od strony praktycznej przedstawia strategie budowania i testowania API REST umożliwiającego połączenie oferowanej funkcjonalności na poz...(41.40 zł najniższa cena z 30 dni)
44.85 zł
69.00 zł(-35%) -
W tej książce omówiono ponad 20 najprzydatniejszych wzorców projektowych, dzięki którym tworzone aplikacje internetowe będą łatwe w późniejszej obsłudze technicznej i w trakcie skalowania. Poza wzorcami projektowymi przedstawiono wzorce generowania i wydajności działania, których znaczenie dla uż...(41.40 zł najniższa cena z 30 dni)
44.85 zł
69.00 zł(-35%) -
To gruntownie zaktualizowane i uzupełnione wydanie praktycznego przewodnika po wdrażaniu i testowaniu kontenerów Dockera. Przedstawia proces przygotowania pakietu aplikacji ze wszystkimi ich zależnościami, a także jego testowania, wdrażania, skalowania i utrzymywania w środowiskach produkcyjnych....(52.20 zł najniższa cena z 30 dni)
56.55 zł
87.00 zł(-35%) -
To książka przeznaczona dla osób, które pracują ze zbiorami danych. Jest praktycznym przewodnikiem po koncepcjach algebry liniowej, pomyślanym tak, by ułatwić ich zrozumienie i zastosowanie w użytecznych obliczeniach. Poszczególne zagadnienia przedstawiono za pomocą kodu Pythona, wraz z przykłada...(46.20 zł najniższa cena z 30 dni)
50.05 zł
77.00 zł(-35%) -
Ta książka stanowi wszechstronne omówienie wszystkich bibliotek Pythona, potrzebnych naukowcom i specjalistom pracującym z danymi. Znalazł się tu dokładny opis IPythona, NumPy, Pandas, Matplotlib, Scikit-Learn i innych narzędzi. Podręcznik uwzględnia przede wszystkim ich aspekty praktyczne, dzięk...(77.40 zł najniższa cena z 30 dni)
83.85 zł
129.00 zł(-35%) -
Oto kolejne wydanie zwięzłego podręcznika dla programistów Javy, który ma ułatwić maksymalne wykorzystanie technologii tego języka w wersji 17. Treść została skrupulatnie przejrzana i uzupełniona o materiał dotyczący nowości w obiektowym modelu Javy. Pierwsza część książki obejmuje wprowadzenie d...(53.40 zł najniższa cena z 30 dni)
57.84 zł
89.00 zł(-35%) -
Oto zwięzły i praktyczny przewodnik po usłudze GA4 i jej integracji z chmurą. Szczególnie skorzystają z niego analitycy danych, biznesu i marketingu. Opisano tu wszystkie istotne kwestie dotyczące tego nowego, potężnego modelu analitycznego. Szczególną uwagę poświęcono bardziej zaawansowanym funk...(41.40 zł najniższa cena z 30 dni)
44.85 zł
69.00 zł(-35%)
Ebooka "Linux. Programowanie systemowe. Wydanie II" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Linux. Programowanie systemowe. Wydanie II" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Linux. Programowanie systemowe. Wydanie II" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- Tytuł oryginału:
- Linux System Programming: Talking Directly to the Kernel and C Library, 2nd Edition
- Tłumaczenie:
- Jacek Janusz
- ISBN Książki drukowanej:
- 978-83-246-8285-0, 9788324682850
- Data wydania książki drukowanej:
- 2014-03-21
- ISBN Ebooka:
- 978-83-246-8288-1, 9788324682881
- Data wydania ebooka:
- 2014-03-21 Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Format:
- 168x237
- Numer z katalogu:
- 17000
- Rozmiar pliku Pdf:
- 3.5MB
- Rozmiar pliku ePub:
- 2.6MB
- Rozmiar pliku Mobi:
- 7.2MB
- Pobierz przykładowy rozdział PDF
Spis treści ebooka
- Linux: Programowanie Systemowe
- Przedmowa
- Wstęp
- Przyjęte założenia, dotyczące odbiorców książki
- Zawartość książki
- Wersje uwzględnione w tej książce
- Użyte konwencje
- Używanie przykładowych kodów
- Podziękowania
- 1. Wprowadzenie podstawowe pojęcia
- Programowanie systemowe
- Dlaczego warto uczyć się programowania systemowego?
- Kamienie węgielne programowania systemowego
- Funkcje systemowe
- Wywoływanie funkcji systemowych
- Biblioteka języka C
- Kompilator języka C
- Programowanie systemowe
- API i ABI
- API
- ABI
- Standardy
- Historia POSIX oraz SUS
- Standardy języka C
- Linux i standardy
- Książka i standardy
- Pojęcia dotyczące programowania w Linuksie
- Pliki i system plików
- Pliki zwykłe
- Katalogi i dowiązania
- Dowiązania twarde
- Dowiązania symboliczne
- Pliki specjalne
- Systemy plików i przestrzenie nazw
- Pliki i system plików
- Procesy
- Wątki
- Hierarchia procesów
- Użytkownicy i grupy
- Uprawnienia
- Sygnały
- Komunikacja międzyprocesowa
- Pliki nagłówkowe
- Obsługa błędów
- Początek programowania systemowego
- 2. Plikowe operacje wejścia i wyjścia
- Otwieranie plików
- Funkcja systemowa open()
- Znaczniki w funkcji open()
- Funkcja systemowa open()
- Właściciele nowych plików
- Uprawnienia nowych plików
- Funkcja creat()
- Wartości zwracane i kody błędów
- Otwieranie plików
- Czytanie z pliku przy użyciu funkcji read()
- Wartości zwracane
- Czytanie wszystkich bajtów
- Odczyty nieblokujące
- Inne wartości błędów
- Ograniczenia rozmiaru dla funkcji read()
- Pisanie za pomocą funkcji write()
- Zapisy częściowe
- Tryb dopisywania
- Zapisy nieblokujące
- Inne kody błędów
- Ograniczenia rozmiaru dla funkcji write()
- Sposób działania funkcji write()
- Zsynchronizowane operacje wejścia i wyjścia
- Funkcje fsync() i fdatasync()
- Wartości zwracane i kody błędów
- Funkcje fsync() i fdatasync()
- Funkcja sync()
- Znacznik O_SYNC
- Znaczniki O_DSYNC i O_RSYNC
- Bezpośrednie operacje wejścia i wyjścia
- Zamykanie plików
- Kody błędów
- Szukanie za pomocą funkcji lseek()
- Szukanie poza końcem pliku
- Kody błędów
- Ograniczenia
- Odczyty i zapisy pozycyjne
- Kody błędów
- Obcinanie plików
- Zwielokrotnione operacje wejścia i wyjścia
- Funkcja select()
- Wartości powrotu oraz kody błędów
- Przykład użycia funkcji select()
- Przenośny sposób wstrzymania wykonania aplikacji za pomocą funkcji select()
- Funkcja pselect()
- Funkcja select()
- Funkcja poll()
- Wartości powrotu oraz kody błędów
- Przykład użycia funkcji poll()
- Funkcja ppoll()
- Porównanie funkcji poll() i select()
- Organizacja wewnętrzna jądra
- Wirtualny system plików
- Bufor stron
- Opóźniony zapis stron
- Zakończenie
- 3. Buforowane operacje wejścia i wyjścia
- Operacje wejścia i wyjścia buforowane w przestrzeni użytkownika
- Rozmiar bloku
- Operacje wejścia i wyjścia buforowane w przestrzeni użytkownika
- Typowe operacje wejścia i wyjścia
- Wskaźniki do plików
- Otwieranie plików
- Tryby
- Otwieranie strumienia poprzez deskryptor pliku
- Zamykanie strumieni
- Zamykanie wszystkich strumieni
- Czytanie ze strumienia
- Czytanie pojedynczego znaku
- Wycofywanie znaku
- Czytanie pojedynczego znaku
- Czytanie całego wiersza
- Czytanie dowolnych łańcuchów
- Czytanie danych binarnych
- Pisanie do strumienia
- Zapisywanie pojedynczego znaku
- Zapisywanie łańcucha znaków
- Zapisywanie danych binarnych
- Przykładowy program używający buforowanych operacji wejścia i wyjścia
- Szukanie w strumieniu
- Otrzymywanie informacji o aktualnym położeniu w strumieniu
- Opróżnianie strumienia
- Błędy i koniec pliku
- Otrzymywanie skojarzonego deskryptora pliku
- Parametry buforowania
- Bezpieczeństwo wątków
- Nieautomatyczne blokowanie plików
- Nieblokowane operacje na strumieniu
- Krytyczna analiza biblioteki typowych operacji wejścia i wyjścia
- Zakończenie
- 4. Zaawansowane operacje plikowe wejścia i wyjścia
- Rozproszone operacje wejścia i wyjścia
- Funkcje readv() i writev()
- Wartości powrotne
- Przykład użycia funkcji writev()
- Przykład użycia funkcji readv()
- Implementacja
- Funkcje readv() i writev()
- Rozproszone operacje wejścia i wyjścia
- Odpytywanie zdarzeń
- Tworzenie nowego egzemplarza interfejsu odpytywania zdarzeń
- Sterowanie działaniem interfejsu odpytywania zdarzeń
- Oczekiwanie na zdarzenie w interfejsie odpytywania zdarzeń
- Zdarzenia przełączane zboczem a zdarzenia przełączane poziomem
- Odwzorowywanie plików w pamięci
- Funkcja mmap()
- Rozmiar strony
- Wartości powrotne i kody błędów
- Dodatkowe sygnały
- Funkcja mmap()
- Funkcja munmap()
- Przykład odwzorowania w pamięci
- Zalety używania funkcji mmap()
- Wady używania funkcji mmap()
- Zmiana rozmiaru odwzorowania
- Wartości powrotne i kody błędów
- Zmiana uprawnień odwzorowania
- Wartości powrotne i kody błędów
- Synchronizacja odwzorowanego pliku
- Wartości powrotne i kody błędów
- Dostarczanie porad dotyczących odwzorowania w pamięci
- Wartości powrotne i kody błędów
- Porady dla standardowych operacji plikowych wejścia i wyjścia
- Funkcja systemowa posix_fadvise()
- Wartości powrotne i kody błędów
- Funkcja systemowa posix_fadvise()
- Funkcja systemowa readahead()
- Wartości powrotne i kody błędów
- Porada jest tania
- Operacje zsynchronizowane, synchroniczne i asynchroniczne
- Asynchroniczne operacje wejścia i wyjścia
- Zarządcy operacji wejścia i wyjścia oraz wydajność operacji wejścia i wyjścia
- Adresowanie dysku
- Działanie zarządcy operacji wejścia i wyjścia
- Wspomaganie odczytów
- Zarządca z terminem nieprzekraczalnym
- Zarządca przewidujący
- Zarządca ze sprawiedliwym szeregowaniem
- Zarządca niesortujący
- Wybór i konfiguracja zarządcy operacji wejścia i wyjścia
- Optymalizowanie wydajności operacji wejścia i wyjścia
- Szeregowanie operacji wejścia i wyjścia w przestrzeni użytkownika
- Sortowanie wg ścieżki
- Sortowanie wg numeru i-węzła.
- Sortowanie wg numeru fizycznego bloku
- Szeregowanie operacji wejścia i wyjścia w przestrzeni użytkownika
- Zakończenie
- 5. Zarządzanie procesami
- Programy, procesy i wątki
- Identyfikator procesu
- Przydział identyfikatorów procesów
- Hierarchia procesów
- Typ pid_t
- Otrzymywanie identyfikatora procesu oraz identyfikatora procesu rodzicielskiego
- Uruchamianie nowego procesu
- Rodzina funkcji exec
- Pozostałe elementy grupy funkcji exec
- Kody błędów
- Rodzina funkcji exec
- Funkcja systemowa fork()
- Kopiowanie podczas zapisu
- Funkcja vfork()
- Zakończenie procesu
- Inne sposoby na zakończenie procesu
- Funkcja atexit()
- Funkcja on_exit()
- Sygnał SIGCHLD
- Oczekiwanie na zakończone procesy potomka
- Oczekiwanie na określony proces
- Jeszcze wszechstronniejsza funkcja oczekiwania
- BSD wkracza do akcji: funkcje wait3() i wait4()
- Uruchamianie i oczekiwanie na nowy proces
- Procesy zombie
- Użytkownicy i grupy
- Rzeczywiste, efektywne oraz zapisane identyfikatory użytkownika i grupy
- Zmiana rzeczywistego lub zapisanego identyfikatora dla użytkownika lub grupy
- Zmiana efektywnego identyfikatora dla użytkownika lub grupy
- Zmiana identyfikatora dla użytkownika lub grupy w wersji BSD
- Zmiana identyfikatora dla użytkownika lub grupy w wersji HP-UX
- Zalecane modyfikacje identyfikatorów użytkownika i grupy
- Wsparcie dla zapisanych identyfikatorów użytkownika
- Otrzymywanie identyfikatorów użytkownika i grupy
- Grupy sesji i procesów
- Funkcje systemowe do obsługi sesji
- Funkcje systemowe do obsługi grup procesów
- Przestarzałe funkcje do obsługi grupy procesów
- Demony
- Zakończenie
- 6. Zaawansowane zarządzanie procesami
- Szeregowanie procesów
- Przedziały czasowe
- Procesy związane z wejściem i wyjściem a procesy związane z procesorem
- Szeregowanie z wywłaszczaniem
- Szeregowanie procesów
- Completely Fair Scheduler
- Udostępnianie czasu procesora
- Prawidłowe sposoby użycia sched_yield()
- Priorytety procesu
- nice()
- getpriority() i setpriority()
- Priorytety wejścia i wyjścia
- Wiązanie procesów do konkretnego procesora
- sched_getaffinity() i sched_setaffinity()
- Systemy czasu rzeczywistego
- Systemy ścisłego oraz zwykłego czasu rzeczywistego
- Opóźnienie, rozsynchronizowanie oraz parametry graniczne
- Obsługa czasu rzeczywistego przez system Linux
- Linuksowe strategie szeregowania i ustalania priorytetów
- Strategia FIFO (first in, first out)
- Strategia cykliczna
- Strategia zwykła
- Strategia szeregowania wsadowego
- Ustalanie strategii szeregowania dla systemu Linux
- Kody błędów
- Ustawianie parametrów szeregowania
- Kody błędów
- Określanie zakresu poprawnych priorytetów
- sched_rr_get_interval()
- Kody błędu
- Środki ostrożności przy pracy z procesami czasu rzeczywistego
- Determinizm
- Wcześniejsze zapisywanie danych oraz blokowanie pamięci
- Wiązanie do procesora a procesy czasu rzeczywistego
- Ograniczenia zasobów systemowych
- Ograniczenia
- Ograniczenia domyślne
- Ograniczenia
- Ustawianie i odczytywanie ograniczeń
- Kody błędów
- 7. Wątkowość
- Binaria, procesy i wątki
- Wielowątkowość
- Koszty wielowątkowości
- Alternatywy dla wielowątkowości
- Modele wątkowości
- Wątkowość na poziomie użytkownika
- Wątkowość mieszana
- Współprogramy i włókna
- Wzorce wątkowości
- Wątkowość thread-per-connection
- Wątkowość sterowana zdarzeniami
- Współbieżność, równoległość i wyścigi
- Sytuacje wyścigów
- Przykłady wyścigów ze świata rzeczywistego
- Sytuacje wyścigów
- Synchronizacja
- Muteksy
- Zakleszczenia
- Unikanie zakleszczeń
- Standard Pthreads
- Implementacje wątkowości w Linuksie
- Interfejs programistyczny dla standardu Pthreads
- Konsolidowanie implementacji Pthreads
- Tworzenie wątków
- Identyfikatory wątków
- Porównywanie identyfikatorów wątków
- Kończenie wątków
- Zakończenie samego siebie
- Zakończenie innych wątków
- Łączenie i odłączanie wątków
- Łączenie wątków
- Odłączanie wątków
- Przykład wątkowości
- Muteksy standardu Pthreads
- Inicjalizowanie muteksów
- Blokowanie muteksów
- Odblokowywanie muteksów
- Przykład użycia muteksu
- Dalsze zdobywanie wiedzy
- 8. Zarządzanie plikami i katalogami
- Pliki i ich metadane
- Rodzina funkcji stat
- Uprawnienia
- Prawa własności
- Atrybuty rozszerzone
- Klucze i wartości
- Przestrzenie nazw dla atrybutów rozszerzonych
- Operacje dla atrybutów rozszerzonych
- Odczytywanie atrybutu rozszerzonego
- Ustawianie atrybutu rozszerzonego
- Wyświetlanie atrybutów rozszerzonych dla pliku
- Usuwanie atrybutu rozszerzonego
- Pliki i ich metadane
- Katalogi
- Aktualny katalog roboczy
- Odczytywanie aktualnego katalogu roboczego
- Zmiana aktualnego katalogu roboczego
- Aktualny katalog roboczy
- Tworzenie katalogów
- Usuwanie katalogów
- Odczytywanie zawartości katalogu
- Czytanie ze strumienia katalogu
- Zamykanie strumienia katalogu
- Funkcje systemowe służące do odczytywania zawartości katalogu
- Dowiązania
- Dowiązania twarde
- Dowiązania symboliczne
- Usuwanie elementów z systemu plików
- Kopiowanie i przenoszenie plików
- Kopiowanie
- Przenoszenie
- Węzły urządzeń
- Specjalne węzły urządzeń
- Generator liczb losowych
- Komunikacja poza kolejką
- Śledzenie zdarzeń związanych z plikami
- Inicjalizacja interfejsu inotify
- Elementy obserwowane
- Dodawanie nowego elementu obserwowanego
- Maska elementu obserwowanego
- Zdarzenia interfejsu inotify
- Odczytywanie zdarzeń inotify
- Zaawansowane zdarzenia inotify
- Łączenie zdarzeń przenoszenia
- Zaawansowane opcje obserwowania
- Usuwanie elementu obserwowanego z interfejsu inotify
- Otrzymywanie rozmiaru kolejki zdarzeń
- Usuwanie egzemplarza interfejsu inotify
- 9. Zarządzanie pamięcią
- Przestrzeń adresowa procesu
- Strony i stronicowanie
- Współdzielenie i kopiowanie podczas zapisu
- Strony i stronicowanie
- Regiony pamięci
- Przestrzeń adresowa procesu
- Przydzielanie pamięci dynamicznej
- Przydzielanie pamięci dla tablic
- Zmiana wielkości obszaru przydzielonej pamięci
- Zwalnianie pamięci dynamicznej
- Wyrównanie
- Przydzielanie pamięci wyrównanej
- Inne zagadnienia związane z wyrównaniem
- Zarządzanie segmentem danych
- Anonimowe odwzorowania w pamięci
- Tworzenie anonimowych odwzorowań w pamięci
- Odwzorowanie pliku /dev/zero
- Zaawansowane operacje przydziału pamięci
- Dokładne dostrajanie przy użyciu funkcji malloc_usable_size() oraz malloc_trim()
- Uruchamianie programów używających systemu przydzielania pamięci
- Otrzymywanie danych statystycznych
- Przydziały pamięci wykorzystujące stos
- Powielanie łańcuchów znakowych na stosie
- Tablice o zmiennej długości
- Wybór mechanizmu przydzielania pamięci
- Operacje na pamięci
- Ustawianie wartości bajtów
- Porównywanie bajtów
- Przenoszenie bajtów
- Wyszukiwanie bajtów
- Manipulowanie bajtami
- Blokowanie pamięci
- Blokowanie fragmentu przestrzeni adresowej
- Blokowanie całej przestrzeni adresowej
- Odblokowywanie pamięci
- Ograniczenia blokowania
- Czy strona znajduje się w pamięci fizycznej?
- Przydział oportunistyczny
- Przekroczenie zakresu zatwierdzenia oraz stan braku pamięci (OOM)
- 10. Sygnały
- Koncepcja sygnałów
- Identyfikatory sygnałów
- Sygnały wspierane przez system Linux
- Koncepcja sygnałów
- Podstawowe zarządzanie sygnałami
- Oczekiwanie na dowolny sygnał
- Przykłady
- Uruchomienie i dziedziczenie
- Odwzorowanie numerów sygnałów na łańcuchy znakowe
- Wysyłanie sygnału
- Uprawnienia
- Przykłady
- Wysyłanie sygnału do samego siebie
- Wysyłanie sygnału do całej grupy procesów
- Współużywalność
- Funkcje, dla których współużywalność jest zagwarantowana
- Zbiory sygnałów
- Inne funkcje obsługujące zbiory sygnałów
- Blokowanie sygnałów
- Odzyskiwanie oczekujących sygnałów
- Oczekiwanie na zbiór sygnałów
- Zaawansowane zarządzanie sygnałami
- Struktura siginfo_t
- Wspaniały świat pola si_code
- Wysyłanie sygnału z wykorzystaniem pola użytkowego
- Przykład wykorzystania pola użytkowego
- Ułomność systemu Unix?
- 11. Czas
- Struktury danych reprezentujące czas
- Reprezentacja pierwotna
- Następna wersja dokładność na poziomie mikrosekund
- Kolejna, lepsza wersja dokładność na poziomie nanosekund
- Wyłuskiwanie składników czasu
- Typ danych dla czasu procesu
- Struktury danych reprezentujące czas
- Zegary POSIX
- Rozdzielczość źródła czasu
- Pobieranie aktualnego czasu
- Lepszy interfejs
- Interfejs zaawansowany
- Pobieranie czasu procesu
- Ustawianie aktualnego czasu
- Precyzyjne ustawianie czasu
- Zaawansowany interfejs ustawiania czasu
- Konwersje czasu
- Dostrajanie zegara systemowego
- Stan uśpienia i oczekiwania
- Obsługa stanu uśpienia z dokładnością do mikrosekund
- Obsługa stanu uśpienia z dokładnością do nanosekund
- Zaawansowane zarządzanie stanem uśpienia
- Przenośny sposób wprowadzania w stan uśpienia
- Przepełnienia
- Alternatywy stanu uśpienia
- Liczniki
- Proste alarmy
- Liczniki interwałowe
- Liczniki zaawansowane
- Tworzenie licznika
- Inicjalizowanie licznika
- Odczytywanie czasu wygaśnięcia licznika
- Odczytywanie wartości przepełnienia licznika
- Usuwanie licznika
- A. Rozszerzenia kompilatora GCC dla języka C
- GNU C
- Funkcje wplatane (inline)
- Zapobieganie wplataniu funkcji
- Funkcje czyste (pure)
- Funkcje stałe
- Funkcje, które nie wracają do procedury wywołującej
- Funkcje przydzielające pamięć
- Wymuszanie sprawdzania wartości powrotnej dla procedur wywołujących
- Oznaczanie funkcji niezalecanych
- Oznaczanie funkcji używanych
- Oznaczanie funkcji lub parametrów nieużywanych
- Pakowanie struktury
- Zwiększanie wartości wyrównania dla zmiennej
- Umieszczanie zmiennych globalnych w rejestrach
- Optymalizacja gałęzi kodu
- Uzyskiwanie typu dla wyrażenia
- Uzyskiwanie wielkości wyrównania dla danego typu
- Pozycja elementu w strukturze
- Uzyskiwanie powrotnego adresu funkcji
- Zakresy funkcji case
- Arytmetyka wskaźników do funkcji oraz wskaźników void
- Więcej przenośności i elegancji za jednym razem
- B. Bibliografia
- Programowanie w języku C
- Programowanie w Linuksie
- Jądro Linuksa
- Projektowanie systemu operacyjnego
- C. O autorze
- Indeks
- Kolofon
- Copyright
Helion - inne książki
-
Wszystkie znaki na niebie i ziemi wskazują wyraźnie: wkraczamy w erę, w której sztuczna inteligencja (SI) będzie wszechobecna. Wygra na tym ten, kto szybciej nauczy się z nią skutecznie porozumiewać. Nie czekaj zatem i już dziś opanuj sztukę tworzenia precyzyjnych i trafnych promptów, czyli instr...(38.35 zł najniższa cena z 30 dni)
38.35 zł
59.00 zł(-35%) -
Tę książkę docenią średnio zaawansowani użytkownicy Pythona, którzy tworzą aplikacje korzystające z osiągnięć nauki o danych. Znajdziesz w niej omówienie możliwości języka, wbudowanych struktur danych Pythona, jak również takich bibliotek jak NumPy, pandas, scikit-learn i matplotlib. Nauczysz się...(44.85 zł najniższa cena z 30 dni)
44.85 zł
69.00 zł(-35%) -
Internet rozwija się w niesamowitym tempie. Dawniej sieć WWW była prostsza ― projektanci łączyli kod PHP, HTML i zapytania do MySQL w jednym pliku. Z czasem urosła do miliardów stron, co radykalnie zmieniło jej kształt. Zmieniły się też narzędzia i sposób pracy. Dziś idealnym wyborem dewelo...(44.85 zł najniższa cena z 30 dni)
44.85 zł
69.00 zł(-35%) -
To prawda: świat kryptowalut jest skomplikowany. Możesz go jednak zrozumieć i nauczyć się po nim poruszać, w czym pomoże Ci ta książka — interesujący przewodnik, który przystępnie wyjaśnia technologiczne podstawy rynku kryptowalut i związanej z nim ekonomii cyfrowej. Dowiesz się stąd, jak f...(40.20 zł najniższa cena z 30 dni)
43.55 zł
67.00 zł(-35%) -
Ta książka koncentruje się głównie na rozwijaniu repozytorium kodu, czyli tworzeniu grafu commitów zawierających poszczególne wersje. Do realizacji tego zadania idealnym, bo najpotężniejszym narzędziem jest wiersz poleceń - i właśnie z niego korzystamy w poradniku. Druga kwestia, którą się zajmuj...(23.94 zł najniższa cena z 30 dni)
25.92 zł
39.90 zł(-35%) -
Ta książka objaśnia, na czym polega istota ścieżki technicznej — z zaznaczeniem, że umiejętność dostosowania aspiracji konkretnej osoby do potrzeb organizacji jest sztuką, szczególnie w wypadku inżynierów, którzy mają wnieść istotny wkład na wysokim poziomie. Dzięki lekturze zrozumiesz swoj...(44.94 zł najniższa cena z 30 dni)
48.69 zł
74.90 zł(-35%) -
Oto drugie wydanie książki, którą specjaliści CISO uznali za przełomową. Dowiesz się z niej, jak kwantyfikować niepewność i jak za pomocą prostych metod i narzędzi poprawić ocenę ryzyka w nowoczesnych organizacjach. Znalazły się tu nowe techniki modelowania, pomiaru i szacowania, a także mnóstwo ...(52.20 zł najniższa cena z 30 dni)
56.55 zł
87.00 zł(-35%) -
Komputery firmy Apple to swojego rodzaju legenda - dla niektórych wybór oczywisty i właściwie jedyny, dla innych zwykła moda nakręcająca popularność, dla części tajemnica. Czy warto ją poznać i przesiąść się z komputera pracującego pod Windowsem lub Linuksem na Macintosha z macOS? Warto, warto, p...(53.40 zł najniższa cena z 30 dni)
57.84 zł
89.00 zł(-35%) -
Dzięki tej świetnie napisanej, miejscami przezabawnej książce dowiesz się, na czym naprawdę polega testowanie granic bezpieczeństwa fizycznego. To fascynująca relacja o sposobach wynajdywania niedoskonałości zabezpieczeń, stosowania socjotechnik i wykorzystywania słabych stron ludzkiej natury. Wy...(35.40 zł najniższa cena z 30 dni)
38.35 zł
59.00 zł(-35%) -
Współpraca z ChatGPT wymaga pewnego przygotowania. Niewątpliwą zaletą tej technologii jest to, że można się z nią porozumieć za pomocą języka naturalnego ― takiego, jakim komunikujemy się ze sobą na co dzień. Rzecz w tym, by nauczyć się w odpowiedni sposób zadawać pytania i wydawać poleceni...(29.94 zł najniższa cena z 30 dni)
32.43 zł
49.90 zł(-35%)
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka drukowana
Oceny i opinie klientów: Linux. Programowanie systemowe. Wydanie II Robert Love (7) Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.
(1)
(5)
(1)
(0)
(0)
(0)
Oceny i opinie poprzedniego wydania
więcej opinii