avec votre expérience, seule la lecture du code source du noyau aiderait.)
Eimantas
3
RTFS est toujours préférable, mais parfois, un peu de lecture simplifie la compréhension de la source.
Stephen Jazdzewski
Quelqu'un qui a des privilèges d'édition devrait vraiment éditer ce titre.
jjclarkson
1
Je suis actuellement en train de suivre les conseils de Matt Might dans son article intitulé Ce que tout commandant en informatique devrait savoir . Il a recommandé les environnements de programmation Unix de Kernighan et Pike, les hacks de serveur Linux, les manuels d’administration système UNIX et Linux de Nemeth, Synder, Hein et Whaley, le développement de noyau Linux par Love et la programmation réseau Unix de Stevens, Fenner et Rudoff.
Anthony
1
@Anthony, ce sont d’excellentes ressources mais plus orientées utilisateur / ligne de commande. En outre, en particulier, Linux évolue très rapidement en ce moment, vous devez vous tenir au courant. Les ressources intéressantes sont LWN et kernelnewbies .
vonbrand
Réponses:
36
Voici quelques suggestions sur la façon de comprendre "l'esprit" d'Unix, en plus des recommandations de qualité formulées dans les précédents articles:
"Unix Programming Environment" de Kernighan et Pike: un livre ancien, mais qui montre l’essence même de l’environnement Unix. Cela vous aidera également à devenir un utilisateur de shell efficace.
"Unix pour l'impatient" est une ressource utile pour apprendre à naviguer dans l'environnement Unix. Un de mes favoris.
Si vous voulez devenir un utilisateur expérimenté, rien de mieux que les "Unix Power Tools" de O'Reilly, qui regroupent les astuces et astuces collectives de professionnels Unix.
Un autre livre que je n'ai pas vu mentionné est une lumière amusante et une lecture pédagogique: "Systèmes d'exploitation, conception et implémentation", le livre d'Andy Tanenbaum qui comprenait le code source d'un système d'exploitation Unix complet en 12 000 lignes de code.
+1 pour le livre Lions. Le xv6 de MIT est une version moderne de Lions v6 qui fonctionne sur des ordinateurs x86 et utilise la norme ANSI C. Le code source et le manuel associé peuvent être téléchargés.
Daniel Näslund
8
Livres / sites / manuels que j'utilise fréquemment:
Le noyau Linux : Ce livre est publié en ligne dans le cadre de TLDP (The Linux Documentation Project). Il ne s'agit pas d'un manuel interne, il fournit des informations utiles et des documents d'introduction sur les principes et les mécanismes du noyau.
Comprendre le noyau Linux: IMHO, c’est le meilleur livre pour les débutants qui ont une connaissance du design et du concept des systèmes d’exploitation. Il est accepté comme étant à jour et couvre la version 2.6 du noyau. Il existe une version HTML du livre sur le Web, mais je pense que c'est probablement Warez.
Lorsque vous étudiez les composants internes du noyau Linux, vous devez généralement apprendre le fonctionnement du matériel et ce qu’il fournit de manière abstraite. Intel a d'excellents manuels pour cela.
Si vous avez besoin d’étudier la conception et le concept des systèmes d’exploitation, je vous suggère de lire l’ouvrage suivant:
Concepts des systèmes d’exploitation .
Le noyau Linux en quelques mots concerne la manière de construire et d'installer le noyau, pas vraiment les composants internes de Linux / Unix. Pour ne pas dire que ce n'est pas un bon livre, mais je suis un peu partial. Oh, ces deux livres sont gratuits en ligne si vous voulez les consulter ici.
Greg KH
5
Linux Systems Programming ou tout autre livre de Robert Love (ce sont tous des livres O'Reilly):
Je suis d'accord avec tous les autres et je dois dire que l'APUE de Stevens (j'ai la deuxième édition) est un classique. J'aimerais également ajouter que The Art of UNIX Programming d' Eric Raymond figure tout en haut de la liste avec Stevens sur ma liste.
Eh bien, pour BSD Unices, il y a la conception et la mise en œuvre du système d'exploitation 4.4BSD, dont certaines parties sont apparemment disponibles gratuitement à l' adresse http://www.freebsd.org/doc/en/books/design-44bsd/
Les pilotes de périphériques Linux sont une autre bonne ressource. Cela vous donnerait un autre moyen d'entrer dans le fonctionnement interne. De la préface:
Il s’agit, à première vue, d’un livre sur l’écriture de pilotes de périphérique pour le système Linux. C'est un objectif louable, bien sûr; le flux de nouveaux produits matériels ne devrait pas ralentir de si tôt et quelqu'un devra faire en sorte que tous ces nouveaux gadgets fonctionnent avec Linux. Mais ce livre explique également comment fonctionne le noyau Linux et comment adapter son fonctionnement à vos besoins et à vos intérêts. Linux est un système ouvert. Nous espérons qu'avec ce livre, il sera plus ouvert et accessible à une plus grande communauté de développeurs.
Pour avoir une idée du pourquoi et de ce que le noyau est censé supporter, jetez un œil à The Art of Unix Programming d’Eric Raymond. Cela prend des choses à un niveau assez élevé, philosophique, mais cela irait bien avec les détails de base des autres livres.
Je me suis beaucoup référé au premier (si j'avais une meilleure mémoire et plus de temps, j'en saurais beaucoup plus que maintenant; mais c'est une autre histoire). Je suis en train de lire le second.
Réponses:
Voici quelques suggestions sur la façon de comprendre "l'esprit" d'Unix, en plus des recommandations de qualité formulées dans les précédents articles:
"Unix Programming Environment" de Kernighan et Pike: un livre ancien, mais qui montre l’essence même de l’environnement Unix. Cela vous aidera également à devenir un utilisateur de shell efficace.
"Unix pour l'impatient" est une ressource utile pour apprendre à naviguer dans l'environnement Unix. Un de mes favoris.
Si vous voulez devenir un utilisateur expérimenté, rien de mieux que les "Unix Power Tools" de O'Reilly, qui regroupent les astuces et astuces collectives de professionnels Unix.
Un autre livre que je n'ai pas vu mentionné est une lumière amusante et une lecture pédagogique: "Systèmes d'exploitation, conception et implémentation", le livre d'Andy Tanenbaum qui comprenait le code source d'un système d'exploitation Unix complet en 12 000 lignes de code.
la source
Vous voulez absolument lire la programmation avancée dans l'environnement Unix de Stevens . Ne laissez pas le titre Advanced vous effrayer, il est très lisible.
la source
la source
Livres / sites / manuels que j'utilise fréquemment:
Le noyau Linux : Ce livre est publié en ligne dans le cadre de TLDP (The Linux Documentation Project). Il ne s'agit pas d'un manuel interne, il fournit des informations utiles et des documents d'introduction sur les principes et les mécanismes du noyau.
Comprendre le noyau Linux: IMHO, c’est le meilleur livre pour les débutants qui ont une connaissance du design et du concept des systèmes d’exploitation. Il est accepté comme étant à jour et couvre la version 2.6 du noyau. Il existe une version HTML du livre sur le Web, mais je pense que c'est probablement Warez.
Quelques livres sur la gestion de la mémoire virtuelle
Lorsque vous étudiez les composants internes du noyau Linux, vous devez généralement apprendre le fonctionnement du matériel et ce qu’il fournit de manière abstraite. Intel a d'excellents manuels pour cela.
Manuel du développeur de logiciels pour architectures Intel 64 et IA-32 : Informations détaillées et à jour.
Manuel de référence du programmeur Intel 80386 : Je sais que c'est un peu vieux, mais j'ai appris beaucoup de choses grâce à ce manuel.
Si vous avez besoin d’étudier la conception et le concept des systèmes d’exploitation, je vous suggère de lire l’ouvrage suivant: Concepts des systèmes d’exploitation .
la source
Le noyau Linux O'REILLY en bref
et les pilotes de périphériques O'REILLY Linux
la source
Linux Systems Programming ou tout autre livre de Robert Love (ce sont tous des livres O'Reilly):
http://oreilly.com/catalog/9780596009588
la source
Je suis d'accord avec tous les autres et je dois dire que l'APUE de Stevens (j'ai la deuxième édition) est un classique. J'aimerais également ajouter que The Art of UNIX Programming d' Eric Raymond figure tout en haut de la liste avec Stevens sur ma liste.
la source
Eh bien, pour BSD Unices, il y a la conception et la mise en œuvre du système d'exploitation 4.4BSD, dont certaines parties sont apparemment disponibles gratuitement à l' adresse http://www.freebsd.org/doc/en/books/design-44bsd/
la source
Les pilotes de périphériques Linux sont une autre bonne ressource. Cela vous donnerait un autre moyen d'entrer dans le fonctionnement interne. De la préface:
la source
Pour avoir une idée du pourquoi et de ce que le noyau est censé supporter, jetez un œil à The Art of Unix Programming d’Eric Raymond. Cela prend des choses à un niveau assez élevé, philosophique, mais cela irait bien avec les détails de base des autres livres.
la source
Puis-je suggérer les deux livres suivants (en plus des autres):
Je me suis beaucoup référé au premier (si j'avais une meilleure mémoire et plus de temps, j'en saurais beaucoup plus que maintenant; mais c'est une autre histoire). Je suis en train de lire le second.
la source