2008-10-31 10 views

Répondre

43

Nous avons utilisé Andrew Tannenbaum Modern Operating Systems à l'université, j'ai assisté. Je le recommande fortement pour ses explications claires des compromis inhérents à la plupart des décisions de conception que vous rencontrerez. Ce livre est un peu plus "juste et équilibré" que le livre Minix.

alt text http://ecx.images-amazon.com/images/I/51DptFJH9NL._SL500_AA240_.jpg

Je recommande aussi ce livre parce que, en dépit de son net-famous flame war with Linus Torvalds, quelques-uns de ses préjugés viennent à travers dans le livre. En outre, il est un écrivain assez décent, et le livre est réellement divertissant.

+3

Je suis en train de lire ce livre (deuxième édition) de la couverture à la couverture au moment où nous parlons et tandis que c'est un livre énorme, il est incroyablement détaillé. Ceci et Concepts du système d'exploitation par Silberschatz et Galvin sont les deux meilleurs livres pour acquérir des connaissances sur les systèmes d'exploitation. –

14

Operating Systems Implementation Prentice Software

alt text http://ecx.images-amazon.com/images/I/3125C47MR4L._SL500_AA180_.jpg

Ce livre est écrit par Tanenbaum, le gars principal derrière Minix, qui est ce que Linux était basée sur. Il fournit de bons aperçus pour les concepts de base de l'OS tels que la gestion de la mémoire, les systèmes de fichiers, les processus, etc. Les concepts de ce livre sont intimement liés aux exemples de Minix OS, ce qui est une bonne chose.

Je pense que vous devriez commencer par quelque chose comme ça.

+7

Je veux juste souligner que Linux n'a pas été vraiment « basé sur » Minix , il était destiné à le remplacer. Linux a un noyau monolithique, tandis que Minix est basé sur un micro-noyau. –

9

Os dev site est riche en informations si vous voulez commencer à coder votre propre système d'exploitation aussi,

9

Operating System Concepts est le livre que nous avons utilisé à l'Université. C'est assez moche MAIS les informations à l'intérieur sont bien expliquées (à partir de la gestion de la mémoire de base, à la façon dont l'OS décide ce qu'il faut exécuter ou comment éviter les interblocages). Assez large.

alt text http://ecx.images-amazon.com/images/I/51TJXR8CV3L._SL500_BO2,204,203,200_AA219_PIsitb-sticker-dp-arrow,TopRight,-24,-23_SH20_OU01_.jpg

+2

Laid? Mais la couverture est _beautiful_! J'aime ce livre parce qu'il a l'air si joli sur ma bibliothèque. Cependant, je ne peux pas vraiment me souvenir de ce que c'est à l'intérieur. – mipadi

+0

Oui, c'est un classique. Il est généralement appelé le livre des dinosaures. Je l'ai sur le canapé avec mon droit maintenant en fait. C'est un bon livre, c'est introductif cependant. Habituellement, c'est un texte de premier cycle. – BobbyShaftoe

+0

Je l'ai toujours entendu parler de The Dino Book et je conviens qu'il s'agit d'un manuel de premier cycle. –

3

Je recommande vivement de jeter un oeil à la MIT Operating Systems class. Il y a beaucoup de références utiles, et un tas d'exercices de laboratoire avec lesquels vous pouvez jouer (y compris des scripts de notation automatisés, donc vous n'avez pas besoin d'être un étudiant du MIT pour les faire).

1

Si je me souviens bien, le Powerup to Bash Prompt HOWTO contenait beaucoup d'informations qui semblait serait utile pour cela. C'est ce que faisaient les anciennes versions de Linux From Scratch HOWTO, mais dans les versions récentes qui ont été supprimées.

Vous trouverez aussi beaucoup de bonnes informations en Understanding the Linux Kernel.

0

Je recommanderais d'examiner les systèmes d'exploitation embarqués et de construire un système d'exploitation intégré. Il va traiter les concepts de base sans la surcharge d'un processeur de bureau moderne.

J'ai écrit un système d'exploitation embarqué multitâche au printemps dernier en tant que projet final, c'est plus facile que vous ne le pensez.

2

Développement de votre propre système d'exploitation 32 bits par Richard A. Burgess. Je suis allé dans les détails sur les chargeurs de démarrage, la mise en place de ces registres de gestion de la mémoire et des processus, etc. Ce fut une excellente lecture en 1996 quand je pensais écrire un OS simple à partir de zéro, mais peut être daté maintenant, traitant uniquement des premières générations de processeurs Pentium.

+0

Jusqu'où avez-vous eu à écrire un OS à partir de zéro? – Jeroen

1

Vous devriez regarder dans MINIX 3. C'est un système d'exploitation qui a été écrit, je crois, moins de 10 000 lignes. Vous pouvez avoir une très bonne idée de la façon dont fonctionne un OS à l'aide d'un des livres de Tanenbaum et comprendre comment fonctionne MINIX 3. Vous pouvez aller directement à Linux, mais je pense que c'est une tâche utile et vous aide vraiment à voir comment cela ne prend vraiment pas autant de lignes pour construire un système d'exploitation fonctionnel.

http://www.minix3.org/

+0

Il suffit de mettre là-bas ... mais je pense que MINIX 1 était <10 000. MINIX 3 est significativement plus complexe, je ne sais pas combien de lignes c'est. –

4

Jetez un oeil à HelenOS, qui est de zéro micronoyau base OS qui vise à être un système d'exploitation entièrement moderne. Disclamer, je suis un contributeur, je travaille sur son shell à partir de zéro. Helen12 a été porté sur ia32/64, SPARC, ARM et plus, son très bien conçu et facile à lire.

C'est encore à ses balbutiements, mais montre un design possible qui tire vraiment parti de la conception de micro-noyau et résout de nombreux problèmes dans la mise en œuvre d'un micro-noyau (tel que IPC).

Il comprend également des scripts qui configurent automatiquement une chaîne d'outils appropriée pour la compilation croisée. Il est très facile à construire et fonctionne très bien dans la plupart des simulateurs (c'est-à-dire QEMU) ou en métal nu. Je voudrais également étudier L4, Minix3 et le GNU HURD (basé sur Mach), ce dernier étant une illustration des pièges de conception en essayant de tirer parti d'un micro-noyau.

Si vous voulez suivre la route monolithique, étudiez simplement Linux.

0

Outre les livres, il existe de nombreux sites qui apprennent OS Development
BrokenThorn Entertainment est sur de ce site qui apprennent OS dev de la base

Questions connexes