Jadro Linuksa Przewodnik programisty.pdf
(
556 KB
)
Pobierz
Tytuł oryginału: Linux Kernel Development (3rd Edition)
Tłumaczenie: Przemysław Szeremiota
ISBN: 978-83-246-4273-1
Authorized translation from the English edition, entitled: LINUX KERNEL DEVELOPMENT, Third
Edition; ISBN 0672329468; by Robert Love; published by Pearson Education, Inc, publishing as Addison
Wesley.
Copyright © 2010 by Pearson Education, Inc.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from Pearson Education, Inc.
Polish language edition published by HELION S.A., Copyright © 2014.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były
kompletne i rzetelne. Nie bierze jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za
związane z tym ewentualne naruszenie praw patentowych lub autorskich. Wydawnictwo HELION nie
ponosi również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji
zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail: helion@helion.pl
WWW: http://helion.pl (księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/jadlin
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
•
Kup książkę
•
Poleć książkę
•
Oceń książkę
•
Księgarnia internetowa
•
Lubię to! » Nasza społeczność
Spis treści
Przedmowa ........................................................................17
Wst p ...............................................................................19
Rozdzia 1. J dro systemu Linux — wprowadzenie ................................25
Historia Uniksa .............................................................................25
Wprowadzenie do systemu Linux ....................................................27
Przegl d systemów operacyjnych ....................................................29
J dro Linuksa a j dro klasycznego systemu uniksowego ..................31
Oznaczenia wersji j dra Linuksa .....................................................34
Spo eczno programistów j dra Linuksa ........................................35
Zanim zaczniemy ...........................................................................36
Rozdzia 2. Linux — zaczynamy ............................................................37
Kod ród owy j dra ........................................................................37
Git ..........................................................................................37
Instalowanie róde j dra z archiwum .........................................38
Aplikowanie at ........................................................................39
Struktura katalogów kodu ród owego j dra .....................................39
Kompilowanie j dra .......................................................................40
Konfigurowanie j dra ................................................................41
Minimalizacja szumu podczas kompilacji ...................................43
Kompilacja na wielu frontach ....................................................43
Instalowanie nowego j dra .......................................................44
Odmienno j dra .........................................................................45
Brak implementacji i nag ówków biblioteki standardowej C ..........45
GNU C ....................................................................................47
Brak mechanizmu ochrony pami ci ............................................49
Niemo no ( atwego) korzystania
z operacji zmiennoprzecinkowych ............................................50
Ograniczony co do rozmiaru (i sta y) stos ...................................50
Synchronizacja i wspó bie no .................................................50
Znaczenie przeno no ci ...........................................................51
Podsumowanie .............................................................................51
Kup książkę
Poleć książkę
6
J dro Linuksa. Przewodnik programisty
Rozdzia 3. Zarz dzanie procesami .......................................................53
Proces .........................................................................................53
Deskryptor procesu i struktura zadania ...........................................55
Przydzia deskryptora procesu ...................................................55
Przechowywanie deskryptora procesu ........................................57
Stan procesu ...........................................................................58
Manipulowanie bie cym stanem procesu .................................59
Kontekst procesu ....................................................................60
Drzewo procesów .....................................................................60
Tworzenie procesu ........................................................................62
Kopiowanie przy zapisie ............................................................62
Rozwidlanie procesu ................................................................63
Wywo anie vfork() .....................................................................64
W tki w systemie Linux .................................................................65
Tworzenie w tków ....................................................................66
W tki j dra ..............................................................................67
Zako czenie procesu .....................................................................68
Usuwanie deskryptora procesu .................................................70
Problem zada osieroconych .....................................................71
Podsumowanie .............................................................................73
Rozdzia 4. Szeregowanie zada ...........................................................75
Wielozadaniowo .........................................................................75
Planista zada w Linuksie ..............................................................77
Strategia post powania .................................................................77
Procesy ograniczone wej ciem-wyj ciem
a procesy ograniczone procesorem .........................................78
Priorytet procesu .....................................................................79
Kwant czasu procesora ............................................................80
Strategia szeregowania w dzia aniu ...........................................81
Algorytm szeregowania zada w Linuksie ........................................82
Klasy szeregowania ..................................................................82
Szeregowanie procesów w systemach klasy Unix ........................82
Sprawiedliwe szeregowanie zada .............................................85
Implementacja szeregowania zada w Linuksie ...............................87
Zliczanie czasu wykonania ........................................................87
Wybór procesu .........................................................................89
Punkt wej cia do planisty CFS ...................................................94
Zawieszanie i wybudzanie procesów ..........................................95
Wyw aszczanie i prze czanie kontekstu ..........................................99
Wyw aszczanie procesu u ytkownika ........................................100
Wyw aszczenie j dra ..............................................................101
Szeregowanie czasu rzeczywistego ...............................................102
Kup książkę
Poleć książkę
Spis tre ci
Wywo ania systemowe zwi zane z szeregowaniem .........................103
Wywo ania wp ywaj ce na strategi szeregowania
i warto ci priorytetów ...........................................................104
Wywo ania systemowe steruj ce kojarzeniem procesów
z procesorami .....................................................................105
Odst pienie procesora ...........................................................105
Podsumowanie ...........................................................................106
7
Rozdzia 5. Wywo ania systemowe .....................................................107
Komunikacja z j drem systemu ....................................................107
API, POSIX i biblioteka C ..............................................................108
Wywo ania systemowe .................................................................109
Numery wywo a systemowych ................................................111
Wydajno wywo ania systemowego ........................................111
Procedura obs ugi wywo a systemowych .....................................111
Oznaczanie w a ciwego wywo ania systemowego ......................112
Przekazywanie argumentów ....................................................113
Implementacja wywo ania systemowego ........................................113
Implementowanie wywo a systemowych .................................114
Weryfikacja argumentów .........................................................114
Kontekst wywo ania systemowego ................................................118
Wi zanie wywo ania systemowego ...........................................119
Inicjowanie wywo ania systemowego
z przestrzeni u ytkownika .....................................................120
Sze powodów,
aby nie implementowa wywo a systemowych ......................121
Podsumowanie ...........................................................................122
Rozdzia 6. Struktury danych j dra .....................................................123
Listy ...........................................................................................123
Listy jedno- i dwukierunkowe ...................................................124
Listy cykliczne .......................................................................124
Implementacja list w j drze Linuksa ........................................126
Operacje na listach ................................................................128
Przegl danie list ....................................................................131
Inne operacje na listach .........................................................134
Kolejki ........................................................................................135
kfifo ......................................................................................135
Tworzenie kolejki ...................................................................136
Zakolejkowanie ......................................................................137
Wyci ganie danych .................................................................137
Okre lanie rozmiaru kolejki .....................................................137
Zerowanie i usuwanie kolejki ..................................................138
Przyk ad u ycia kolejki kfifo .....................................................138
Kup książkę
Poleć książkę
Plik z chomika:
PDFator
Inne pliki z tego folderu:
ABC Linux Wydanie II.pdf
(1122 KB)
ABC Linux.pdf
(1176 KB)
Ansible w praktyce Automatyzacja konfiguracji i proste instalowanie systemow Wydanie II.pdf
(777 KB)
100 sposobow na Linux.pdf
(655 KB)
Aurox cwiczenia.pdf
(572 KB)
Inne foldery tego chomika:
3ds max
Access
Acrobat
After Effects
Agile - Programowanie
Zgłoś jeśli
naruszono regulamin