Outils pour utilisateurs

Outils du site


issue88:labo_linux_2

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
issue88:labo_linux_2 [2015/01/29 12:47] andre_domenechissue88:labo_linux_2 [2015/01/29 14:27] (Version actuelle) andre_domenech
Ligne 53: Ligne 53:
 2. Gérer la mémoire 2. Gérer la mémoire
  
-Une fois encore, dans un environnement multi-traitements, chaque traitement, d'une certaine manière, demandera l'usage d'une certaine quantité de mémoire vive (RAM = ramdom access memory). Si nous laissons les traitements  gérer la mémoire eux-mêmes, nous pouvons nous attendre à une compétition soutenue entre eux : qui va avoir accès à la dernière page de mémoire disponible ? Aussi, nous avons besoin d'un système de gestion centralisé de la mémoire, auquel chaque traitement individuel s'adresse pour accéder à la mémoire vive. C'est aussi une fonction du noyau, qui vérifie en outre que chaque traitement n'accède qu'à la mémoire qui lui a été attribuée. S'il accéde à une page de mémoire attribuée à un autre traitement, quelque chose ne va pas de façon évidente et le noyau devra immédiatement terminer le traitement fautif.+Une fois encore, dans un environnement multi-traitements, chaque traitement, d'une certaine manière, demandera l'usage d'une certaine quantité de mémoire vive (RAM = ramdom access memory). Si nous laissons les traitements  gérer la mémoire eux-mêmes, nous pouvons nous attendre à une compétition soutenue entre eux : qui va avoir accès à la dernière page de mémoire disponible ? Aussi, nous avons besoin d'un système de gestion centralisé de la mémoire, auquel chaque traitement individuel s'adresse pour accéder à la mémoire vive. C'est aussi une fonction du noyau, qui vérifie en outre que chaque traitement n'accède qu'à la mémoire qui lui a été attribuée. S'il accède à une page de mémoire attribuée à un autre traitement, quelque chose ne va pas de façon évidente et le noyau devra immédiatement terminer le traitement fautif.
  
 **3. Managing access to Input/Output devices. **3. Managing access to Input/Output devices.
Ligne 67: Ligne 67:
 D'une façon assez voisine qu'avec le CPU et la mémoire, les dispositifs matériels doivent être partagés entre plusieurs traitements. Par exemple, prenons le cas d'un port USB auquel une imprimante a été connectée. Quel traitement va gérer cela ? C'est le noyau qui doit reconnaître quel type de pilote est nécessaire pour ce modèle d'imprimante, qui doit l'activer et qui doit lui garantir un accès exclusif au port USB tant que l'imprimante reste connectée. D'une façon assez voisine qu'avec le CPU et la mémoire, les dispositifs matériels doivent être partagés entre plusieurs traitements. Par exemple, prenons le cas d'un port USB auquel une imprimante a été connectée. Quel traitement va gérer cela ? C'est le noyau qui doit reconnaître quel type de pilote est nécessaire pour ce modèle d'imprimante, qui doit l'activer et qui doit lui garantir un accès exclusif au port USB tant que l'imprimante reste connectée.
  
-Tout ceci peut devenir relativement compliqué puisque, au fur et à mesure, les ordinateurs modernes incorporent de nouveaux types de matériel. Ainsi, affirmer que le noyau d'un système d'exploitation est la partie du logiciel d'ordinateur la plus grosse et la plus compliquée que l'utilisateur moyen pourra rencontrer, est tout à fait logique.+Tout ceci peut devenir relativement compliqué puisque, au fur et à mesure, les ordinateurs modernes incorporent de nouveaux types de matériels. Ainsi, affirmer que le noyau d'un système d'exploitation est la partie du logiciel d'ordinateur la plus grosse et la plus compliquée que l'utilisateur moyen pourra rencontrer, est tout à fait logique.
  
-D'autre part, avoir un noyau qui fonctionne parfaitement bien est une nécessité pour tout dispositif informatique. Sinon, les conflits entre les différents programmes travaillant en parallèle ne pourraient être résolus, le matériel cesserait d'être disponible pour les programmes, il ne serait plus possible d'accéder aux disques durs eux-mêmes, …+D'autre part, avoir un noyau qui fonctionne parfaitement bien est une nécessité pour tout dispositif informatique. Sinon, les conflits entre les différents programmes travaillant en parallèle ne pourraient être résolus, le matériel cesserait d'être disponible pour les programmes, il ne serait plus possible d'accéder aux disques durs eux-mêmes...
  
 **Going back to the “onion” diagram, each successive layer can request the services of layers situated inwards of themselves. System libraries and programs are respectively formed of libraries that contain much-used routines on one hand, and simple programs that any operating system would need on the other. An example of the first is the glibc library, that most if not all programs in a GNU/Linux will require. This contains many often-used routines such as writing a character string on screen, accessing a file, or writing to a network port. An example of a system program could be the mkfs.ext4 utility to format an ext4 partition. These libraries and programs will at some point need to access physical system resources, be it memory or a hardware device. At that point they will request this service from the inner kernel layer, using what is called a “system call”. ** **Going back to the “onion” diagram, each successive layer can request the services of layers situated inwards of themselves. System libraries and programs are respectively formed of libraries that contain much-used routines on one hand, and simple programs that any operating system would need on the other. An example of the first is the glibc library, that most if not all programs in a GNU/Linux will require. This contains many often-used routines such as writing a character string on screen, accessing a file, or writing to a network port. An example of a system program could be the mkfs.ext4 utility to format an ext4 partition. These libraries and programs will at some point need to access physical system resources, be it memory or a hardware device. At that point they will request this service from the inner kernel layer, using what is called a “system call”. **
  
-Pour revenir au diagramme de l'« oignon », chaque couche successive peut demander les services des couches située plus à l'intérieur. Les bibliothèques du système et les programmes sont respectivement formés de bibliothèques qui contiennent des routines très utilisées d'une part, et de simples programmes nécessaires à tout système d'exploitation d'autre part. Pour illustrer le premier cas, la bibliothèque glibc [Ndt : « lib » pour « librarie », autrement dit bibliothèque] est requise dans chacun (ou presque) des systèmes GNU/Linux. Elle contient beaucoup de routines très utilisées telles qu'écrire une chaîne de caractères sur un écran, accéder à un fichier, ou écrire sur un port réseau. L'utilitaire mkfs.ext4, qui formate une partition en ext4, est lui un exemple de programme système. Ces bibliothèques et ces programmes auront besoin à un moment donné d'accéder aux ressources physiques du système, que ce soit de la mémoire ou un dispositif matériel. ce moment-là, ils vont solliciter ce service auprès de la couche intérieure du noyau, utilisant ce qui est nommé un « appel système ».+Pour revenir au diagramme de l'« oignon », chaque couche successive peut demander les services des couches situées plus à l'intérieur. Les bibliothèques du système et les programmes sont respectivement formés de bibliothèques qui contiennent des routines très utilisées d'une part, et de simples programmes nécessaires à tout système d'exploitation d'autre part. Pour illustrer le premier cas, la bibliothèque glibc [Ndt : « lib » pour « librarie », autrement dit bibliothèque] est requise dans chacun (ou presque) des systèmes GNU/Linux. Elle contient beaucoup de routines très utilisées telles qu'écrire une chaîne de caractères sur un écran, accéder à un fichier, ou écrire sur un port réseau. L'utilitaire mkfs.ext4, qui formate une partition en ext4, estluiun exemple de programme système. Ces bibliothèques et ces programmes auront besoin à un moment donné d'accéder aux ressources physiques du système, que ce soit de la mémoire ou un dispositif matériel. À ce moment-là, ils vont solliciter ce service auprès de la couche intérieure du noyau, utilisant ce qui est nommé un « appel système ».
  
 **This request may or may not succeed, depending on whether the requested resource is at that time available to the kernel. Certain security policies may also be in place, restricting access to resources depending on the type of program on the identity of the user on behalf of whom it is executing. In any case, the program making the request cannot directly access the resource without checking whether the kernel has granted access, although some programs have been seen to do so. The ‘not taking access for granted’ is one of the differences between well-written  and that less well-implemented software.  **This request may or may not succeed, depending on whether the requested resource is at that time available to the kernel. Certain security policies may also be in place, restricting access to resources depending on the type of program on the identity of the user on behalf of whom it is executing. In any case, the program making the request cannot directly access the resource without checking whether the kernel has granted access, although some programs have been seen to do so. The ‘not taking access for granted’ is one of the differences between well-written  and that less well-implemented software. 
Ligne 85: Ligne 85:
 Beaucoup de bibliothèques et de programmes système seront nécessaires sur tous les ordinateurs utilisant une version donnée du système d’exploitation. Beaucoup de bibliothèques et de programmes système seront nécessaires sur tous les ordinateurs utilisant une version donnée du système d’exploitation.
  
-En poursuivant la découverte du diagramme vers l’extérieur, nous trouvons les programmes utilisateur. Ils peuvent varier d’une installation à l’autre, en fonction de l’utilisation spécifique du système. Ils auront aussi besoin des services des couches plus intérieures, à la fois du noyau et aussi des « libraries » (bibliothèque) système. Par exemple, un navigateur internet devra demander de la mémoire libre au noyau quand il démarre, pour stocker les pages internet auxquelles il accède. Mais si l’utilisateur doit accéder à une page Web par l’intermédiaire d’un protocole sécurisé HTTPS, le navigateur demandera aussi les services de la librarie openssl et de ses routines pour établir un canal sécurisé avec le serveur – pour encoder et décoder les données.+En poursuivant la découverte du diagramme vers l’extérieur, nous trouvons les programmes utilisateur. Ils peuvent varier d’une installation à l’autre, en fonction de l’utilisation spécifique du système. Ils auront aussi besoin des services des couches plus intérieures, à la fois du noyau et aussi des « libraries » (bibliothèques) système. Par exemple, un navigateur internet devra demander de la mémoire libre au noyau quand il démarre, pour stocker les pages internet auxquelles il accède. Mais si l’utilisateur doit accéder à une page Web par l’intermédiaire d’un protocole sécurisé HTTPS, le navigateur demandera aussi les services de la librarie openssl et de ses routines pour établir un canal sécurisé avec le serveur – pour encoder et décoder les données.
  
 **This explains many of the package dependencies that arise when installing new software: the maintainers of the web browser will have introduced a dependency on the openssl package, to make sure that the openssl is installed and with an appropriate version number when the browser fires up a HTTPS connection. **This explains many of the package dependencies that arise when installing new software: the maintainers of the web browser will have introduced a dependency on the openssl package, to make sure that the openssl is installed and with an appropriate version number when the browser fires up a HTTPS connection.
Ligne 91: Ligne 91:
 Some readers may have noticed that purists - such as myself - tend to refer to our operating system as the “GNU/Linux” system, instead of the more abbreviated “Linux”. This is the terminology used by the Free Software Foundation and the Debian Project, among others. It recognizes the fact that in our operating system the kernel is developed by one project, started by Linus Torvalds and hosted at www.kernel.org. This kernel is in fact the only part of the system that can be called “Linux”.** Some readers may have noticed that purists - such as myself - tend to refer to our operating system as the “GNU/Linux” system, instead of the more abbreviated “Linux”. This is the terminology used by the Free Software Foundation and the Debian Project, among others. It recognizes the fact that in our operating system the kernel is developed by one project, started by Linus Torvalds and hosted at www.kernel.org. This kernel is in fact the only part of the system that can be called “Linux”.**
  
-Ceci explique les nombreuses dépendances qui apparaissent quand un nouveau logiciel est installé : les développeurs du navigateur internet auront introduit une dépendance vers le paquet openssl, pour être surs que openssl est installé, avec le bon numéro de version, quand le navigateur internet établira une connexion HTTPS.+Ceci explique les nombreuses dépendances qui apparaissent quand un nouveau logiciel est installé : les développeurs du navigateur internet auront introduit une dépendance vers le paquet openssl, pour être sûrs que openssl est installé, avec le bon numéro de version, quand le navigateur internet établira une connexion HTTPS.
  
-Certains lecteurs auront peut-être remarqué que les puristes – dont je suis – ont tendance à faire référence au système d’exploitation comme le système « GNU/Linux » au lieu de l’abréviation « Linux ». C’est la terminologie utilisée par la Free Software Foundation [Fondation pour le Logiciel Libre] et le projet Debian, parmi d’autres. Cela reconnait le fait que, dans le système d’exploitation, le noyau est développé par un seul projet, initié par Linus Torvalds lui-même, et hébergé à www.kernel.org. Ce noyau est en fait la seule partie du système qui peut être appelée « Linux ».+Certains lecteurs auront peut-être remarqué que les puristes – dont je suis – ont tendance à faire référence au système d’exploitation comme le système « GNU/Linux » au lieu de l’abréviation « Linux ». C’est la terminologie utilisée par la Free Software Foundation [Fondation pour le Logiciel Libre] et le projet Debian, parmi d’autres. Cela reconnaît le fait que, dans le système d’exploitation, le noyau est développé par un seul projet, initié par Linus Torvalds lui-même, et hébergé à www.kernel.org. Ce noyau est en fait la seule partie du système qui peut être appelée « Linux ».
  
 **On the other hand, some of the most important bits of the operating system software have been developed in conjunction with the GNU Project at www.gnu.org, which is now sponsored by the Free Software Foundation (FSF). This includes the C language compiler, gcc. The GNU Project also has its own kernel, the GNU Hurd, which is quite different from the Linux kernel, and in some respects perhaps more advanced. So, by combining different kernels and keeping the rest of the operating system software, we can obtain our well-known GNU/Linux, but also GNU/FreeBSD with the FreeBSD kernel or GNU/Hurd that combines the GNU system software with the also GNU Hurd kernel.  **On the other hand, some of the most important bits of the operating system software have been developed in conjunction with the GNU Project at www.gnu.org, which is now sponsored by the Free Software Foundation (FSF). This includes the C language compiler, gcc. The GNU Project also has its own kernel, the GNU Hurd, which is quite different from the Linux kernel, and in some respects perhaps more advanced. So, by combining different kernels and keeping the rest of the operating system software, we can obtain our well-known GNU/Linux, but also GNU/FreeBSD with the FreeBSD kernel or GNU/Hurd that combines the GNU system software with the also GNU Hurd kernel. 
Ligne 99: Ligne 99:
  
 D’un autre côté, une partie des éléments les plus importants du système d’exploitation ont été développés en collaboration avec le projet GNU (www.gnu.org), qui est sponsorisé maintenant par la Free Software Foundation (FSF). Cela comprend le compilateur de langage C, gcc. Le projet GNU a aussi son propre noyau, le GNU Hurd, qui est très différent du noyau Linux et, sur certains aspects, plus avancé. Aussi, en combinant les différents noyaux et en conservant le reste du logiciel du système d’exploitation, nous pouvons obtenir notre bien connu GNU/Linux, mais aussi le noyau GNU/FreeBSD avec le noyau FreeBSD ou le GNU/Hurd qui combine le logiciel système GNU avec le noyau Hurd, lui aussi GNU. D’un autre côté, une partie des éléments les plus importants du système d’exploitation ont été développés en collaboration avec le projet GNU (www.gnu.org), qui est sponsorisé maintenant par la Free Software Foundation (FSF). Cela comprend le compilateur de langage C, gcc. Le projet GNU a aussi son propre noyau, le GNU Hurd, qui est très différent du noyau Linux et, sur certains aspects, plus avancé. Aussi, en combinant les différents noyaux et en conservant le reste du logiciel du système d’exploitation, nous pouvons obtenir notre bien connu GNU/Linux, mais aussi le noyau GNU/FreeBSD avec le noyau FreeBSD ou le GNU/Hurd qui combine le logiciel système GNU avec le noyau Hurd, lui aussi GNU.
-Ce qui n'aide pas à simplifier la situation est que, depuis pas mal de temps, le noyau Linux est publié sous la même licence GNU General Public License (GPL) [Licence publique générale - Wikipedia] que le logiciel du projet GNU. Alors contentons-nous de nous rappeler que le noyau et le logiciel conjoint de GNU/Linux sont publiés par des équipes différentes et restons-en là. Cela va sans dire que beaucoup de programmes utilisateur ont été développés dans des projets ultérieurs, sans rattachement au projet Linux ni au GNU. Leurs logiciels peuvent être publiés sous licence GPL ou d’autres licences telles que la licence Apache, la licence BSD, ou d’autres – même des licences commerciales.+ 
 +Ce qui n'aide pas à simplifier la situation est que, depuis pas mal de temps, le noyau Linux est publié sous la même licence GNU General Public License (GPL) [Licence publique générale - Wikipedia] que le logiciel du projet GNU. Alors contentons-nous de nous rappeler que le noyau et le logiciel conjoint de GNU/Linux sont publiés par des équipes différentes et restons-en là. Il va sans dire que beaucoup de programmes utilisateur ont été développés dans des projets ultérieurs, sans rattachement au projet Linux ni au GNU. Leurs logiciels peuvent être publiés sous licence GPL ou d’autres licences telles que la licence Apache, la licence BSD, ou d’autres – même des licences commerciales.
  
  
Ligne 120: Ligne 121:
 GNU/Linux distributions contain kernels that are compiled for a certain model of processor. Nowadays, most 32-bit kernels are compiled using the “i686” instruction set of the Pentium Pro CPU model. ** GNU/Linux distributions contain kernels that are compiled for a certain model of processor. Nowadays, most 32-bit kernels are compiled using the “i686” instruction set of the Pentium Pro CPU model. **
  
-Au fil des années, des dérivés successifs du i386 (les i486, Pentium, Pentium Pro, Pentium II et III, Pentium IV, et enfin Atom) ont incorporés de plus en plus de fonctionnalités. Cependant ces processeurs d’« architecture Intel 32 bits » ou famille IA32 perpétuaient la compatibilité ascendante de leur jeu d’instructions. Ce qui veut dire, par exemple, que le i486, par comparaison au i386, ajoutait une fonctionnalité nouvelle ce qui ajoutait de nouvelles d’instructions. Cependant il comprenait parfaitement toutes les instructions du i386 ; ainsi un programme compilé pour le i386 utilisait juste le jeu i386 et tournait sur les deux processeurs, juste un tout petit peu plus rapidement sur le i486. +Au fil des années, des dérivés successifs du i386 (les i486, Pentium, Pentium Pro, Pentium II et III, Pentium IV, et enfin Atom) ont incorporé de plus en plus de fonctionnalités. Cependant ces processeurs d’« architecture Intel 32 bits » ou famille IA32 perpétuaient la compatibilité ascendante de leur jeu d’instructions. Ce qui veut dire, par exemple, que le i486, par comparaison au i386, ajoutait une fonctionnalité nouvelle ce qui ajoutait de nouvelles instructions. Cependant il comprenait parfaitement toutes les instructions du i386 ; ainsi un programme compilé pour le i386 utilisait juste le jeu i386 et tournait sur les deux processeurs, juste un tout petit peu plus rapidement sur le i486. 
-La compatibilité ascendante a été aussi maintenue par AMD quand il a développé l’architecture 64-bit qui est maintenant utilisée dans les ordinateurs individuels 64-bit. Ces processeurs comprennent la propre ligne des processeurs AMD mais aussi la gamme Intel Core Duo, Core i3, i5 et i7. Ils peuvent fonctionner sur 32 bits, comme un processeur 32-bit – ce qui explique pourquoi, par exemple, Windows XP 32-bit pouvait être utilisé encore récemment sur les machines modernes. Cependant, pour profiter de l’avantage du jeu d’instructions sur 64 bits, nous avons besoin de compiler expressément les programmes et le noyau pour cette architecture. Ils seront alors capables d’exécuter des calculs avec des opérandes de 64 bits de long et utiliser des adresses mémoires plus étendues dans un espace mémoire plus vaste. + 
 +La compatibilité ascendante a été aussi maintenue par AMD quand il a développé l’architecture 64-bit qui est maintenant utilisée dans les ordinateurs individuels 64-bit. Ces processeurs comprennent la propre ligne des processeurs AMDmais aussi la gamme Intel Core Duo, Core i3, i5 et i7. Ils peuvent fonctionner sur 32 bits, comme un processeur 32-bit – ce qui explique pourquoi, par exemple, Windows XP 32-bit pouvait être utilisé encore récemment sur les machines modernes. Cependant, pour profiter de l’avantage du jeu d’instructions sur 64 bits, nous avons besoin de compiler expressément les programmes et le noyau pour cette architecture. Ils seront alors capables d’exécuter des calculs avec des opérandes de 64 bits de long et utiliser des adresses mémoires plus étendues dans un espace mémoire plus vaste. 
  
 Les distributions Gnu/Linux contiennent des noyaux qui sont compilés pour un certain modèle de processeur. De nos jours, la plupart des noyaux 32-bits sont compilés avec le jeu d’instructions « i686 » du modèle de CPU Pentium Pro. Les distributions Gnu/Linux contiennent des noyaux qui sont compilés pour un certain modèle de processeur. De nos jours, la plupart des noyaux 32-bits sont compilés avec le jeu d’instructions « i686 » du modèle de CPU Pentium Pro.
Ligne 140: Ligne 142:
 http://archive.ubuntu.com/ubuntu/pool/main/l/linux/md-modules-3.13.0-31-generic-di_3.13.0-31.55_amd64.udeb pour le jeu d’instructions du amd64 (connu aussi comme x86-64). http://archive.ubuntu.com/ubuntu/pool/main/l/linux/md-modules-3.13.0-31-generic-di_3.13.0-31.55_amd64.udeb pour le jeu d’instructions du amd64 (connu aussi comme x86-64).
  
-Cela signifie choses :+Cela signifie deux choses :
 • un noyau i686 ne fonctionnera pas du tout, ou fera planter la machine, sur des modèles anciens, parce qu’un i386, i486 ou Pentium ne comprendra pas certaines instructions utilisées ; • un noyau i686 ne fonctionnera pas du tout, ou fera planter la machine, sur des modèles anciens, parce qu’un i386, i486 ou Pentium ne comprendra pas certaines instructions utilisées ;
 • un noyau i686 fonctionnera sur les modèles récents, mais il ne sera pas optimisé car certaines instructions récentes disponibles sur un processeur Atom (commercialisé en 2008) ne seront pas utilisées par le noyau. • un noyau i686 fonctionnera sur les modèles récents, mais il ne sera pas optimisé car certaines instructions récentes disponibles sur un processeur Atom (commercialisé en 2008) ne seront pas utilisées par le noyau.
Ligne 150: Ligne 152:
 Even if we exclude users of really old hardware, a certain class of laptop that is still current in terms of usability suffers from the lack of PAE. Laptops built on Intel’s Pentium M (“M” for “Mobile”) processors present several advantages on later Pentium IV, M or Core CPUs. This processor class is based on the Pentium III, which is known to be internally less complex that later Pentium IVs. In practice, they compute faster when run at the same clock speed, and so are more energy efficient and manage laptop battery life better. ** Even if we exclude users of really old hardware, a certain class of laptop that is still current in terms of usability suffers from the lack of PAE. Laptops built on Intel’s Pentium M (“M” for “Mobile”) processors present several advantages on later Pentium IV, M or Core CPUs. This processor class is based on the Pentium III, which is known to be internally less complex that later Pentium IVs. In practice, they compute faster when run at the same clock speed, and so are more energy efficient and manage laptop battery life better. **
  
-Proposé à l’origine dans la génération Pentium Pro des processeurs Intel, PAE devint un standard dans beaucoup de PC Pentium-III et dans tous les Pentium-IV et dans la série Core. Ceci devrait concerner de très nombreux ordinateurs personnels qui ont été vendus au cours des dix dernières années. Aussi, la plupart des gens n’ont pas besoin de se demander si leur distribution favorite (Ubuntu) active PAE par défaut dans son noyau depuis la version 12.10 et ainsi rend obligatoire l’activation du PAE sur le processeur. Ubuntu 14.04 ne fonctionnera plus sur des processeurs où il est absent, alors que d’autres distributions (plus anciennes) pourraient tourner.+Proposé à l’origine dans la génération Pentium Pro des processeurs Intel, PAE devint un standard dans beaucoup de PC Pentium-IIIdans tous les Pentium-IV et dans la série Core. Ceci devrait concerner de très nombreux ordinateurs personnels qui ont été vendus au cours des dix dernières années. Aussi, la plupart des gens n’ont pas besoin de se demander si leur distribution favorite (Ubuntu) active PAE par défaut dans son noyau depuis la version 12.10 et ainsi rend obligatoire l’activation du PAE sur le processeur. Ubuntu 14.04 ne fonctionnera plus sur des processeurs où il est absent, alors que d’autres distributions (plus anciennes) pourraient tourner.
  
-Même si nous excluons les utilisateurs de très vieux matériels, une certaine partie des portables qui sont encore d’usage courant souffre de cette absence du PAE. Les portables construits sur les processeurs Intel Pentium M (« M » pour « Mobile ») présentent plusieurs avantages sur des processeurs plus récents Pentium IV, M ou série Core. Cette classe de processeurs est basée sur le Pentium III, qui est connue pour son architecture interne moins complexe que celle du Pentium IV plus récent. En pratique, elle calcule plus vite pour une même vitesse d’horloge, est aussi plus économe en énergie et présente une meilleure gestion de la batterie du portable.+Même si nous excluons les utilisateurs de très vieux matériels, une certaine partie des portables qui sont encore d’usage courant souffre de cette absence du PAE. Les portables construits sur les processeurs Intel Pentium M (« M » pour « Mobile ») présentent plusieurs avantages sur des processeurs plus récents Pentium IV, M ou série Core. Cette classe de processeurs est basée sur le Pentium III, qui est connue pour son architecture interne moins complexe que celle du Pentium IV plus récent. En pratique, elle calcule plus vite pour une même vitesse d’horloge, elle est aussi plus économe en énergie et présente une meilleure gestion de la batterie du portable.
  
 **So it makes sense for owners of computers, such as the original eeePC or some of the first 17” laptops, to try and keep them going - especially since, with a lightweight distribution such as Lubuntu or Xubuntu, they are still well up to most normal web browsing or office tasks.  **So it makes sense for owners of computers, such as the original eeePC or some of the first 17” laptops, to try and keep them going - especially since, with a lightweight distribution such as Lubuntu or Xubuntu, they are still well up to most normal web browsing or office tasks. 
Ligne 162: Ligne 164:
 On comprend mieux pourquoi certains propriétaires de PC, comme les eeePC originaux ou certains des premiers portables 17", essaient de les garder en état de marche – en particulier parce que, avec des distributions légères comme Lubuntu ou Xubuntu, ils sont toujours bien taillés pour la navigation internet ou les tâches bureautiques. On comprend mieux pourquoi certains propriétaires de PC, comme les eeePC originaux ou certains des premiers portables 17", essaient de les garder en état de marche – en particulier parce que, avec des distributions légères comme Lubuntu ou Xubuntu, ils sont toujours bien taillés pour la navigation internet ou les tâches bureautiques.
  
-Plusieurs solutions peuvent être trouvées sur le Web, notamment celles decrites dans « Enabling PAE » [Activer PAE] (https://help.ubuntu.com/community/EnablingPAE) ou « Lubuntu-fake-PAE » [fausse PAE dans Lubuntu] (https://help.ubuntu.com[/community/Lubuntu-fake-PAE) sur le serveur de la documentation de la communauté. Cependant, on résout simplement le problème une fois pour toutes en compilant le noyau avec PAE désactivé.+Plusieurs solutions peuvent être trouvées sur le Web, notamment celles décrites dans « Enabling PAE » [Activer PAE] (https://help.ubuntu.com/community/EnablingPAE) ou « Lubuntu-fake-PAE » [fausse PAE dans Lubuntu] (https://help.ubuntu.com[/community/Lubuntu-fake-PAE) sur le serveur de la documentation de la communauté. Cependant, on résout simplement le problème une fois pour toutes en compilant le noyau avec PAE désactivé.
  
-On pourrait dire la même chose des processeurs plus anciens. Le projet Debian supportait le noyau i386 jusqu’à récemment, alors que la nouvelle référence est le jeu d’instructions i486 (voir http://www.debian.org/releases/sarge/i386/release-notes/ch-upgrading.en.html). C’est compréhensible que les développeurs concentrent leurs efforts sur les nouvelles architectures qui sont utilisées en plus grand nombre actuellement, même si cela signifie que le support des modèles plus anciens va disparaître lentement mais sûrement. Aussi, dans ce cas, l’usage de distributions récentes sur de vieux ordinateurs impliquera une compilation plus fréquente de votre propre noyau.+On pourrait dire la même chose des processeurs plus anciens. Le projet Debian supportait le noyau i386 jusqu’à récemment, alors que la nouvelle référence est le jeu d’instructions i486 (voir http://www.debian.org/releases/sarge/i386/release-notes/ch-upgrading.en.html). Il est compréhensible que les développeurs concentrent leurs efforts sur les nouvelles architectures qui sont utilisées en plus grand nombre actuellement, même si cela signifie que le support des modèles plus anciens va disparaître lentement mais sûrement. Aussi, dans ce cas, l’usage de distributions récentes sur de vieux ordinateurs impliquera une compilation plus fréquente de votre propre noyau.
  
 **As for more recent machines, there are also arguments in favor of compiling your own kernel. The standard i686 kernel will work quite well on modern hardware, but will not be able to use the more recent architecture developments. This is the point of view of the Gentoo distribution, that allows the user to compile each and every software package installed (http://wiki.gentoo.org/wiki/FAQ), leading to a globally more efficient and leaner installation.  **As for more recent machines, there are also arguments in favor of compiling your own kernel. The standard i686 kernel will work quite well on modern hardware, but will not be able to use the more recent architecture developments. This is the point of view of the Gentoo distribution, that allows the user to compile each and every software package installed (http://wiki.gentoo.org/wiki/FAQ), leading to a globally more efficient and leaner installation. 
Ligne 174: Ligne 176:
 Quant aux machines récentes, il y a aussi des arguments en faveur de la compilation de votre propre noyau. Le noyau standard i686 fonctionnera très bien sur du matériel récent, mais ne sera pas capable d’utiliser les développements récents de l’architecture. C’est le point de vue de la distribution Gentoo, qui permet à l’utilisateur de compiler chaque paquet logiciel installé (http://wiki.gentoo.org/wiki/FAQ), aboutissant à une installation plus efficace et plus légère. Quant aux machines récentes, il y a aussi des arguments en faveur de la compilation de votre propre noyau. Le noyau standard i686 fonctionnera très bien sur du matériel récent, mais ne sera pas capable d’utiliser les développements récents de l’architecture. C’est le point de vue de la distribution Gentoo, qui permet à l’utilisateur de compiler chaque paquet logiciel installé (http://wiki.gentoo.org/wiki/FAQ), aboutissant à une installation plus efficace et plus légère.
  
-Même si nous n’avons pas besoin d’un nouveau noyau complet, dans certains cas, quand l’utilisateur veut utiliser un matériel assez nouveau, il devient nécessaire de compiler au moins le pilote concerné. Les contrôleurs graphiques et les dispositifs de communication sans fil sont parmi les candidats potentiels. Le nouveau pilote est un partie modulaire du noyau qui se branche au noyau existant pour lui donner les capacités de gérer le matériel.+Même si nous n’avons pas besoin d’un nouveau noyau complet, dans certains cas, quand l’utilisateur veut utiliser un matériel assez nouveau, il devient nécessaire de compiler au moins le pilote concerné. Les contrôleurs graphiques et les dispositifs de communication sans fil sont parmi les candidats potentiels. Le nouveau pilote est une partie modulaire du noyau qui se branche au noyau existant pour lui donner les capacités de gérer le matériel.
  
 Et au final, peut-être la meilleure raison de compiler un noyau est simplement parce qu’on peut le faire. Peu d’utilisateurs des systèmes d’exploitation dominants peuvent dire qu’ils ont compilé une partie importante de leur système, mais nous, on peut le dire. Pendant toute la série, nous allons aussi apprendre beaucoup sur le fonctionnement réel de notre ordinateur et de ses logiciels. Et au final, peut-être la meilleure raison de compiler un noyau est simplement parce qu’on peut le faire. Peu d’utilisateurs des systèmes d’exploitation dominants peuvent dire qu’ils ont compilé une partie importante de leur système, mais nous, on peut le dire. Pendant toute la série, nous allons aussi apprendre beaucoup sur le fonctionnement réel de notre ordinateur et de ses logiciels.
Ligne 189: Ligne 191:
 LE MATERIEL NECESSAIRE LE MATERIEL NECESSAIRE
  
-Dans les tout prochains épisodes, nous allons parcourir les étapes pour d’abord obtenir le code source et ensuite compiler et installer un noyau. J’utiliserai une nouvelle installation de Ubuntu 14.04 sur un portable Core i5 pour réaliser des opérations à titre d'exemples. Le lecteur est encouragé à commencer en faisant de même. Cependant, les mises en garde habituelles s’imposent : l’installation d’un nouveau noyau est une opération majeure pour votre système. Bien que les choses se passent bien en général, il y a toujours un risque de casser quelque chose et de devoir réinstaller complétement le système. Donc, c’est un processus que vous ne devez en aucun cas faire sur une machine de production.+Dans les tout prochains épisodes, nous allons parcourir les étapes pour obtenir d’abord le code source et ensuite compiler et installer un noyau. J’utiliserai une nouvelle installation de Ubuntu 14.04 sur un portable Core i5 pour réaliser des opérations à titre d'exemples. Le lecteur est encouragé à commencer en faisant de même. Cependant, les mises en garde habituelles s’imposent : l’installation d’un nouveau noyau est une opération majeure pour votre système. Bien que les choses se passent bien en général, il y a toujours un risque de casser quelque chose et de devoir réinstaller complètement le système. Donc, c’est un processus que vous ne devez en aucun cas faire sur une machine de production.
  
 D’autre part, la compilation du noyau va consommer une grosse puissance CPU. Bien que ce soit toujours possible sur un système faible consommation (genre petit portable), vous y gagnerez en utilisant le CPU d’un gros portable ou d’un PC de bureau. Un Intel Core Duo, Core i3 ou équivalent est probablement le processeur le plus lent recommandable pour cette activité. Vous devez aussi savoir que le code source lui-même et les fichiers du noyau occuperont jusqu’à 20 Go d’espace disque (principalement dans le répertoire /usr) ; préparez-vous en conséquence. D’autre part, la compilation du noyau va consommer une grosse puissance CPU. Bien que ce soit toujours possible sur un système faible consommation (genre petit portable), vous y gagnerez en utilisant le CPU d’un gros portable ou d’un PC de bureau. Un Intel Core Duo, Core i3 ou équivalent est probablement le processeur le plus lent recommandable pour cette activité. Vous devez aussi savoir que le code source lui-même et les fichiers du noyau occuperont jusqu’à 20 Go d’espace disque (principalement dans le répertoire /usr) ; préparez-vous en conséquence.
issue88/labo_linux_2.1422532075.txt.gz · Dernière modification : 2015/01/29 12:47 de andre_domenech