home contactus
okladka

Dołącz do grona twórców popularności Linuksa

Fenomen Linuksa polega na tym, że jest on dziełem programistów z całego świata. Każdy może dopisać do niego nową funkcję lub udoskonalić istniejące. Jeśli Linux nie obsługuje urządzenia zainstalowanego w Twoim komputerze -- możesz zaimplementować jego obsługę, pisząc własny moduł jądra.

Programowanie jądra systemu Linux nie wymaga żadnych niezwykłych zdolności. Choć jest ono rozległym projektem informatycznym, w żaden sposób nie różni się od innych projektów tego typu. Oczywiście, samodzielne napisanie choćby kawałka kodu jądra wymaga nauki, ale napisany dotychczas kod nie jest w żaden sposób wyjątkowy ani niezrozumiały. Podstawowym materiałem pomocniczym, niezwykle przydatnym przy opanowywaniu tajników programowania jądra, jest istniejący już kod źródłowy, dostępny dla wszystkich. Jednakże samo poznawanie kodu nie wystarczy -- należy również zdobyć wiedzę dotyczącą zasad funkcjonowania systemu operacyjnego i pełnionych przez niego funkcji.

Książka "Linux Kernel. Przewodnik programisty" została napisana po to, aby pomóc programistom w poznaniu zasad tworzenia kodu modułów jądra. Szczegółowo omawia podsystemy i funkcje jądra Linuksa, ich projekt i implementację. Autor książki porusza również zagadnienia związane z projektowaniem systemów operacyjnych.

Książka opiera się na wersji 2.6 jądra systemu Linux i zawiera informacje dotyczące następujących tematów:

Stwórz poprawne funkcje jądra Linuksa i zaimplementuj je w odpowiedni sposób.


O Autorze (13)
Przedmowa (15)
Wstęp (17)
Słowo od Autora (19)
Rozdział 1. Jądro systemu Linux - wprowadzenie (23)
Rozdział 2. Zarządzanie procesami (39)
Rozdział 3. Szeregowanie zadań (57)
Rozdział 4. Wywołania systemowe (81)
Rozdział 5. Przerwania i procedury obsługi przerwań (95)
Rozdział 6. Dolne połówki i czynności odroczone (115)
Rozdział 7. Wprowadzenie do synchronizacji jądra (145)
Rozdział 8. Metody synchronizacji jądra (157)
Rozdział 9. Liczniki i zarządzanie czasem (183)
Rozdział 10. Zarządzanie pamięcią (209)
Rozdział 11. Wirtualny system plików (235)
Rozdział 12. Blokowe urządzenia wejścia-wyjścia (261)
Rozdział 13. Przestrzeń adresowa procesu (277)
Rozdział 14. Pamięć podręczna stron i opóźniony zapis stron w tle (295)
Rozdział 15. Diagnostyka (305)
Rozdział 16. Przenośność (323)
Rozdział 17. Łaty, haking i społeczność (339)
Dodatek A Korzystanie z list (351)
Dodatek B Interfejs procesora (359)
Dodatek C Generator liczb losowych jądra (365)
Dodatek D Złożoność obliczeniowa (371)
Dodatek E Bibliografia i lektury dodatkowe (375)
Skorowidz (381)