laopatrick
Messages postés12Date d'inscriptiondimanche 14 décembre 2008StatutMembreDernière intervention18 avril 2009
-
11 avril 2009 à 20:16
papepi
Messages postés3Date d'inscriptionmercredi 26 juillet 2006StatutMembreDernière intervention28 février 2010
-
28 févr. 2010 à 14:33
salut à tous,
Commment conçoit-on un systeme d'exploitation graphique ?
cs_ghuysmans99
Messages postés3982Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 12 avril 2009 à 00:54
<ol>
<li>Connaitre à fond l'architecture : le mode réel / protégé, la mémoire, le DD, le CD, le mode VGA, ... (ICI)
</li>
<li>Connaitre vraiment à fond l'assembleur et le C (bouquins)</li>
<li>Un bon debugger</li>
<li>Avoir beaucoup de temps</li>
<li>Beaucoup de persévérance</li>
<li>
(Un camion d'aspirines)
</li>
</ol>
En fait, lors de la création des couches basses de l'OS, le développeur doit avoir un contrôle très précis sur le code machine qu'il génère. Le langage source offre plus ou moins de contrôle sur ce que l'on peut faire. L'assembleur est en fait le seul indispensable, car il permet d'accéder à certaines instructions processeur spéciales.
Mais l'assembleur, c'est quand même assez pénible ! Peu d'applications sont écrites entièrement en assembleur. D'autant qu'elles sont généralement en macro assembleur, qui est déjà de plus haut niveau (En gros, des instructions non assembleur sont traduites en assembleur avant le passage en code machine).
C'est là qu'intervient le C. Le C est plus facile à écrire et à lire que l'assembleur, mais son processus de compilation reste très simple. Donc on peut "facilement" faire un compilo C pour un nouveau processeur par exemple. On peut aussi deviner assez facilement les instructions machines qui vont être générées, sans surprises.
Le C++ est beaucoup plus difficile à compiler (C'est peut être le plus compliqué !) et le code généré est beaucoup moins prévisible (Enchaînements de constructeurs, redéfinitions d'opérateurs...). Et il est moins performant.
Donc pourquoi faire compliqué et lent quand on peut faire simple et rapide ?
(Surtout que dans le cas d'un OS, c'est jamais simple et rapide...)
Vous n’avez pas trouvé la réponse que vous recherchez ?