| [ Mardi 24 novembre 2009 ] |
par Guillaume Louel |
Google ChromeOS : un système d'exploitation gratuit pour PC
Google ChromeOS
Ce n'était plus vraiment un secret, Google vient s'attaquer aujourd'hui au marché des systèmes d'exploitation. Un deuxième essai après Android, leur système d'exploitation réservé aux téléphones portables. Aujourd'hui Google s'attaque cependant aux PC, et plus particulièrement dans un premier temps, aux netbooks. Certains y verront une pique à leur grand ami Microsoft mais dans la pratique, Google ne nous présente pas vraiment un OS qui rentrerait en compétition avec Windows, mais plutôt une vision du Web du futur et des périphériques qui pourront y accéder.
ChromeOS, c'est avant tout… Chrome, le navigateur Web de Google.D'ailleurs si l'on veut être très terre à terre, ChromeOS est avant tout une nouvelle variété de Linux. Sauf que pour une fois, on ne pourra pas utiliser l'excuse du côté compliqué de la ligne de commande et autres clichés associés. Pas d'invite de commande, de menu compliqué ou d'applications aux noms inconnus. D'ailleurs, au sens strict, on ne trouve qu'une seule application dans ChromeOS.Le navigateur, c'est l'OS
Lorsque Google avait lancé Chrome, son navigateur Web, certaines des nouveautés introduites donnaient déjà quelques indices. Par exemple la gestion des onglets. Chaque onglet ouvert est isolé dans son propre processus, là ou historiquement les navigateurs utilisaient des threads. La différence? C'est avant tout une question de gestion de la mémoire. 
Lancé ici sous Windows, Chrome dispose (quand on fait un clic droit sur sa barre de programme) d'un "gestionnaire de tâches" qui indique la consommation de chaque onglet et de chaque plugin. Le navigateur (l'interface) utilise son propre processus.Un programme, que l'on peut appeler processus, peut avoir besoin de se dédoubler pour effectuer plusieurs tâches en simultanée. Dans un navigateur Web, cela peut par exemple servir à vous laisser ouvrir un nouvel onglet pendant qu'une page est entrain de charger. Pour cela, un programme peut se subdiviser en ce que l'on appelle des threads. Plusieurs "sous programmes" vont alors cohabiter dans un même espace. Ils utilisent le même "code" et le même espace mémoire. Chaque thread peut être gérée par un cœur différent (ce qui donne l'intérêt des processeurs multiples cœurs aujourd'hui) et chaque sous programme peut écrire là ou il veut en mémoire. Y compris là où il ne devrait pas. Ceux qui utilisent Firefox et Flash s'en sont aperçus, il arrive, parfois (trop souvent ?), que tout le programme plante d'un coup quand l'on ouvre un nouvel onglet.
Les quatre "morceaux" de Chrome sont vus par Windows comme quatre programmes (processus) indépendants, tandis que Firefox est vu comme un seul programme.L'autre possibilité est d'utiliser de multiples processus pour effectuer plusieurs tâches en simultanée. C'est cependant beaucoup plus "couteux" sur de nombreux points. Déjà sur la mémoire, cela revient en pratique à avoir le même programme dupliqué plusieurs fois, cela prends plus de place. Ensuite sur la rapidité : s'ils doivent communiquer entre eux, il faut utiliser des mécanismes lent et compliqués, cela ne peut donc pas s'appliquer dans toutes les situations. L'avantage est bien entendu la stabilité et la sécurité. Stabilité car si l'un des processus "plante", les autres ne seront jamais affectés. Sécurité car tous les processus sont considérés comme des programmes a part entière, qui sont isolés les uns les autres par le système d'exploitation. C'est cette dernière voie qu'avait choisi Google pour son navigateur Chrome. Cela prend encore plus de sens quand l'on lance ChromeOS pour la première fois.