Zalecane lektury, aby lepiej zrozumieć elementy wewnętrzne Unix / Linux [zamknięte]


54

Przez ostatnie cztery lata pracowałem w środowiskach * nix jako programista aplikacji (głównie w C).

Proszę zasugerować kilka książek / blogów itp. W celu poprawy mojej wiedzy na temat * nix wewnętrznych.


1
z twoim doświadczeniem pomogłoby tylko czytanie źródła jądra.)
Eimantas

3
RTFS jest zawsze najlepszy, ale czasem lite czytanie sprawia, że ​​źródło jest nieco łatwiejsze do zrozumienia.
Stephen Jazdzewski,

Ktoś, kto ma uprawnienia do edycji, naprawdę powinien edytować ten tytuł.
jjclarkson

1
Obecnie postępuję zgodnie z radą Matta Mighta w jego artykule, co powinien wiedzieć każdy informatyk . Polecił środowisko programowania Unix Kernighana i Pike'a, Linux Server Hacks, UNIX i Linux System Administration Handbook autorstwa Nemeth, Synder, Hein i Whaley, Linux Kernel Development by Love oraz Unix Network Programming autorstwa Stevensa, Fennera i Rudoffa.
Anthony

1
@Anthony, są to doskonałe zasoby, ale bardziej zorientowane na obszar użytkownika / linię poleceń. Ponadto, szczególnie Linux zmienia się teraz bardzo szybko, musisz być na bieżąco. Ładne zasoby to LWN i kernelnewbies .
vonbrand,

Odpowiedzi:


36

Oto kilka sugestii, jak zrozumieć „ducha” Uniksa, oprócz świetnych zaleceń, które zostały zrobione w poprzednich postach:

  • „The Unix Programming Environment” Kernighana i Pike'a: stara książka, ale pokazuje istotę środowiska Unixa. Pomoże ci również stać się efektywnym użytkownikiem powłoki.

  • „Unix dla niecierpliwych” jest przydatnym zasobem do nauki nawigacji w środowisku Unix. Jeden z moich ulubionych.

Jeśli chcesz zostać zaawansowanym użytkownikiem, nie ma nic lepszego niż „Unix Power Tools” O'Reilly'ego, na który składają się zbiorowe porady i wskazówki od specjalistów Unix.

Inną książką, o której nie wspomniałem, która jest zabawnym światłem i lekturą edukacyjną, jest „Systemy operacyjne, projektowanie i implementacja”, książka Andy'ego Tanenbauma, która zawierała kod źródłowy kompletnego systemu operacyjnego Unix w 12 000 liniach kodu.


9
dlaczego książka z 864 stronami nazywa się „niecierpliwym”?
amfibia

12
@amphibient Rozumiem, że nie widziałeś wydania „dla pacjenta”.
Christopher Poile

3
To nie jest „wewnętrzne” ....
user997112


14

2
+1 za książkę Lwy. Xv6 MIT to nowoczesna wersja Lions v6, która działa na maszynach x86 i wykorzystuje ANSI C. Można pobrać zarówno kod źródłowy, jak i powiązany podręcznik.
Daniel Näslund

8

Książki / witryny / podręczniki, których często używam:

  • Jądro Linux : Ta książka jest opublikowana online jako część TLDP (The Linux Documentation Project). Nie jest aktualny i nie jest wewnętrznym podręcznikiem, ale dostarcza użytecznych informacji i materiałów wprowadzających na temat zasad i mechanizmów jądra.

  • Zrozumienie jądra Linux: IMHO, jest to najlepsza książka dla początkujących, która ma doświadczenie w projektowaniu i koncepcji systemów operacyjnych. Jest akceptowany jako aktualny, obejmuje wersję 2.6 jądra. Książka ma wersję HTML książki, ale myślę, że najprawdopodobniej jest to warez.

  • Niektóre książki na temat zarządzania pamięcią wirtualną

Studiując wewnętrzne elementy jądra Linuksa, zwykle musisz nauczyć się, jak działa sprzęt i co zapewnia w abstrakcyjny sposób. Intel ma do tego świetne instrukcje.

Jeśli chcesz przestudiować projekt i koncepcję systemu operacyjnego , sugeruję następującą książkę: Koncepcje systemu operacyjnego .


1
Jest jeszcze jedna książka o wirtualnym menedżerze pamięci dla systemu Linux. Zawiera objaśnienia do kodu źródłowego. URL: ptgmedia.pearsoncmg.com/images/0131453483/downloads/… (Legalne do pobrania)
dirtybit

+1. książka o „menedżerze pamięci wirtualnej”? wydaje się bardzo interesujące. dzięki :-).
Hemant,





2

Linux Device Drivers to kolejny dobry zasób. To dałoby ci inny sposób na wejście w wewnętrzne funkcjonowanie. Ze wstępu:

Na pierwszy rzut oka jest to książka o pisaniu sterowników urządzeń dla systemu Linux. To oczywiście godny cel; przepływ nowych produktów sprzętowych prawdopodobnie nie zwolni w najbliższym czasie, a ktoś będzie musiał sprawić, by wszystkie te nowe gadżety działały w systemie Linux. Ale ta książka jest również o tym, jak działa jądro Linux i jak dostosować jego działanie do twoich potrzeb lub zainteresowań. Linux jest systemem otwartym; dzięki tej książce mamy nadzieję, że będzie ona bardziej otwarta i dostępna dla większej społeczności programistów.


1

Aby dowiedzieć się, dlaczego i co ma obsługiwać jądro, zobacz The Art of Unix Programming autorstwa Erica Raymonda. Zajmuje wszystko na dość wysokim, filozoficznym poziomie, ale pasowałoby do drobiazgowych szczegółów innych książek.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.