Lettura consigliata per comprendere meglio gli interni Unix / Linux [chiuso]


54

Ho lavorato su ambienti * nix negli ultimi quattro anni come sviluppatore di applicazioni (principalmente in C).

Per favore, suggerisci alcuni libri / blog, ecc. Per migliorare le mie conoscenze interne * nix.


1
con la tua esperienza sarebbe utile solo leggere il sorgente del kernel.)
Eimantas,

3
RTFS è sempre il migliore, ma a volte una lettura lite rende la fonte un po 'più facile da capire.
Stephen Jazdzewski,

Qualcuno che ha i privilegi di modifica dovrebbe davvero modificare quel titolo.
jjclarkson,

1
Attualmente sto seguendo il consiglio di Matt Might nel suo articolo, What Every Computer Science Major dovrebbe sapere . Ha raccomandato Unix Programming Environment di Kernighan e Pike, Linux Server Hacks, UNIX e Linux System Administration Handbook di Nemeth, Synder, Hein e Whaley, Linux Kernel Development di Love e Unix Network Programming di Stevens, Fenner e Rudoff.
Anthony,

1
@Anthony, quelle sono risorse eccellenti, ma più orientate alla userland / riga di comando. Inoltre, in particolare Linux sta cambiando molto velocemente in questo momento, dovresti tenerti aggiornato. Belle risorse sono LWN e kernelnewbies .
vonbrand

Risposte:


36

Ecco alcuni suggerimenti su come comprendere lo "spirito" di Unix, oltre alle ottime raccomandazioni che sono state fatte nei post precedenti:

  • "The Unix Programming Environment" di Kernighan e Pike: un vecchio libro, ma mostra l'essenza dell'ambiente Unix. Ti aiuterà anche a diventare un utente shell efficace.

  • "Unix for the Impatient" è una risorsa utile per imparare a navigare nell'ambiente Unix. Uno dei miei preferiti.

Se vuoi diventare un utente esperto, non c'è niente di meglio degli "Unix Power Tools" di O'Reilly che consistono in suggerimenti e trucchi collettivi da parte dei professionisti Unix.

Un altro libro che non ho visto menzionare che è una lettura divertente e di istruzione è "Sistemi operativi, progettazione e implementazione", il libro di Andy Tanenbaum che includeva il codice sorgente per un sistema operativo Unix completo in 12k righe di codice.


9
perché un libro di 864 pagine si chiama qualcosa "per gli impazienti"?
anfibio,

12
@amphibient Presumo che tu non abbia visto l'edizione "per il paziente".
Christopher Poile,

3
Questo non è "internals" ....
user997112,


14

2
+1 per il libro dei Lions. Xv6 del MIT è la versione moderna di Lions v6 che funziona su macchine x86 e utilizza ANSI C. È possibile scaricare sia il codice sorgente che il libro di testo associato.
Daniel Näslund,

8

Libri / siti / manuali che sto usando di frequente:

  • Il kernel Linux : questo libro è pubblicato online come parte di TLDP (The Linux Documentation Project). Non è aggiornato e non è un manuale interno, ma fornisce informazioni utili e materiali introduttivi su principi e meccanismi del kernel.

  • Comprensione del kernel Linux: IMHO, è il miglior libro per i principianti che ha un background sulla progettazione e sul concetto dei sistemi operativi. È accettato come aggiornato e copre la versione 2.6 del kernel. Esiste una versione HTML del libro sul web, ma penso che sia molto probabilmente warez.

  • Alcuni libri sulla gestione della memoria virtuale

Mentre studi gli interni del kernel Linux, di solito devi imparare come funziona l'hardware e quale hardware fornisce in modo astratto. Intel ha ottimi manuali per questo.

Se hai bisogno di studiare il design e il concetto dei sistemi operativi, ti suggerisco il seguente libro: Concetti relativi al sistema operativo .


1
C'è un altro libro sul gestore della memoria virtuale di Linux. Include spiegazioni del codice sorgente. URL: ptgmedia.pearsoncmg.com/images/0131453483/downloads/… (legale per il download)
dirtybit

+1. libro su "gestore di memoria virtuale" ?? sembra molto interessante. Grazie :-).
Hemant,





2

Linux Device Driver è un'altra buona risorsa. Ti darebbe un altro modo per entrare nei meccanismi interni. Dalla prefazione:

Questo è, in superficie, un libro sulla scrittura di driver di dispositivo per il sistema Linux. Questo è un obiettivo degno, ovviamente; è probabile che il flusso di nuovi prodotti hardware non rallenti presto e qualcuno dovrà far funzionare tutti quei nuovi gadget con Linux. Ma questo libro parla anche di come funziona il kernel Linux e di come adattare il suo funzionamento ai tuoi bisogni o interessi. Linux è un sistema aperto; con questo libro, speriamo, sia più aperto e accessibile a una più ampia comunità di sviluppatori.


1

Per avere un'idea del perché e di ciò che il kernel dovrebbe supportare, dai un'occhiata a The Art of Unix Programming di Eric Raymond. Prende le cose a un livello filosofico abbastanza alto, ma andrebbe bene con i dettagli nitidi di altri libri.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.