le C est il suffisant pour programmer un OS ?

le C est il suffisant pour programmer un OS ? - C - Programmation

Marsh Posté le 09-03-2007 à 17:18:11    

voilà tout est dans le titre,
je voudrai savoir si le Langage C est suffisant (à lui tout seul sans la moindre instruction d'un autre langage) pour programmer un système d'exploitation ?

 

merci

 

Message cité 1 fois
Message édité par CreaRetour le 09-03-2007 à 17:18:27
Reply

Marsh Posté le 09-03-2007 à 17:18:11   

Reply

Marsh Posté le 09-03-2007 à 17:21:51    

oui

Reply

Marsh Posté le 09-03-2007 à 17:26:25    

est est ce que c'est le plus adapter pour de la programmation système ?
est ce que le principe de programmation système change d'un langage à l'autre ?
où est ce qu'on peut apprendre ça ?
quel sont les connaissance requise pour ça ?

 


Message édité par CreaRetour le 09-03-2007 à 17:27:11
Reply

Marsh Posté le 09-03-2007 à 17:28:38    

Je crois que tu ne réalises pas ce que représente la programmation d'un OS.

Reply

Marsh Posté le 09-03-2007 à 17:33:34    

Elmoricq a écrit :

Je crois que tu ne réalises pas ce que représente la programmation d'un OS.


Oué je sais je veut simplement savoir...
Alors pouvais vous me répondre svp ?

 


Message édité par CreaRetour le 09-03-2007 à 17:42:13
Reply

Marsh Posté le 09-03-2007 à 17:48:04    

CreaRetour a écrit :

voilà tout est dans le titre,
je voudrai savoir si le Langage C est suffisant (à lui tout seul sans la moindre instruction d'un autre langage) pour programmer un système d'exploitation ?


Le C standard ? Non. Il faut connaitre l'assembleur, car certaines parties du code ne peuvent être écrites qu'en assembleur. D'autre part, il faut des extensions permettant de manipuler les adresses fixes. De plus, il faut un éditeur de lien qui permet de réaliser un 'boot sector' pour une disquette ou un CD..., qui sache placer du code ou des données à des offsets bien précis...

 

Enfin, la partie du langage C nécessaire au boot ne peut, par définition, pas utiliser ls parties de la bibliothèque qui font appel aux fonctions systèmes, ... puisqu'il n'y a pas encore de système ! Il peut cependant y avoir un 'micro-noyau' ne servant qu'au boot, qui disparait ensuite au profit du vrai système... Celui-ci peut implémenter une partie des fonctions systèmes nécessaires au C...

 

Ecrire un système, c'est un énorme boulot. Pourquoi cette question ?

  


Message cité 2 fois
Message édité par Emmanuel Delahaye le 09-03-2007 à 21:48:37

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 09-03-2007 à 17:52:02    

Emmanuel Delahaye a écrit :

Le C standard ? Non.


!!!
l'un dit oui (cf Harkonnen) , l'autre dit non (cf Emmanuel Delahaye), je ne comprend pas là,
pourquoi y a il un autre Langage C non standard ou quoi !  :??:  
 

Reply

Marsh Posté le 09-03-2007 à 17:56:19    

CreaRetour a écrit :

!!!
l'un dit oui (cf Harkonnen) , l'autre dit non (cf Emmanuel Delahaye), je ne comprend pas là,
pourquoi y a il un autre Langage C non standard ou quoi !  :??:


J'ai développé... Oui, il existe GNUC qui est un langage issu du C avec des extensions faites pour écrire un système. Ca a permet d'écrire GNU/Linux, par exemple.

Message cité 1 fois
Message édité par Emmanuel Delahaye le 09-03-2007 à 17:57:48

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 09-03-2007 à 18:00:10    

Emmanuel Delahaye a écrit :

J'ai développé... Oui, il existe GNUC qui est un langage issu du C avec des extensions faites pour écrire un système. Ca a permet d'écrire GNU/Linux, par exemple.


jamais entendu parler, donc GNU/Linux est programmer sous GNUC et pas en C contrérement à ce que la plupart disent...
Où est ce qu'on peut ce documenté sur GNUC ?
 

Reply

Marsh Posté le 09-03-2007 à 18:07:08    

Merci pour m'avoir un peut eclairer :)

Emmanuel Delahaye a écrit :

Ecrire un système, c'est un énorme boulot. Pourquoi cette question ?


On lisant ça http://mapage.noos.fr/emdel/dev_proj.htm (pas que ça), ça ma donner des idée futuriste, et ma motivé pour écrire un système, (pas tout de suite lol et pas tout seul)...
je sais que c'est un énorme boulot, mais j'ai mis ça dans ma tête et même si ça me prendrai toute ma vie pour le faire :)

 

Message cité 1 fois
Message édité par CreaRetour le 09-03-2007 à 18:08:00
Reply

Marsh Posté le 09-03-2007 à 18:07:08   

Reply

Marsh Posté le 09-03-2007 à 18:30:53    

CreaRetour a écrit :

jamais entendu parler, donc GNU/Linux est programmer sous GNUC et pas en C contrérement à ce que la plupart disent...


Bah, faut pas croire ce que disent les non-informaticiens...

Citation :

Où est ce qu'on peut ce documenté sur GNUC ?


http://www.gnu.org/software/gcc/


Message édité par Emmanuel Delahaye le 09-03-2007 à 18:33:51

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 09-03-2007 à 18:32:05    


Tu as de saines lectures, c'est bien !
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 09-03-2007 à 19:26:20    

CreaRetour a écrit :


l'un dit oui (cf Harkonnen) , l'autre dit non (cf Emmanuel Delahaye), je ne comprend pas là,


 
Parce que Harko il a le cerveau mou depuis qu'il cottoie des juristes. [:klem3i1]
(j'pense il a simplement zappé l'assembleur tellement c'est naturel de l'inclure, quel que soit le langage, quand il s'agit de développer un OS)

Reply

Marsh Posté le 09-03-2007 à 20:37:34    

Elmoricq a écrit :

Parce que Harko il a le cerveau mou depuis qu'il cottoie des juristes. [:klem3i1]


ouiiiiiiiii [:violette]
 

Elmoricq a écrit :


(j'pense il a simplement zappé l'assembleur tellement c'est naturel de l'inclure, quel que soit le langage, quand il s'agit de développer un OS)


voila ! pas d'OS sans assembleur, meme inliné dans le code C :o

Reply

Marsh Posté le 09-03-2007 à 21:49:43    

Harkonnen a écrit :

pas d'OS sans assembleur, meme inliné dans le code C :o


Avec la merveilleuse syntaxe AT&T...


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 09-03-2007 à 21:52:52    

Emmanuel Delahaye a écrit :

Avec la merveilleuse syntaxe AT&T...


putain, clair... rien que de lire ça, je prends 3 points de tension ! cette syntaxe a été pondue par le malin qui était en train de pousser sur ses chiottes [:pingouino]

Reply

Marsh Posté le 09-03-2007 à 22:13:53    

Si tu veux regarder à quoi ressemble un OS codé en C+Assembleur, faut aller sur www.kernel.org (sur le FTP, y a toutes les versions depuis la 0.01 jusqu'à la 2.6.20.2)
 
Sinon, GNUC c'est pas un langage. C'est juste des trucs en plus par rapport au C standard, y a pas vraiment de quoi fouetter un chat.

Reply

Marsh Posté le 09-03-2007 à 22:24:19    

Dumbledore a écrit :

Sinon, GNUC c'est pas un langage. C'est juste des trucs en plus par rapport au C standard, y a pas vraiment de quoi fouetter un chat.

C'est un langage et c'est un sur-ensemble du C standard.  


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 09-03-2007 à 23:09:52    

Emmanuel Delahaye a écrit :

C'est un langage et c'est un sur-ensemble du C standard.


GNUC n'est pas un sur-ensemble de C. Le contre exemple qui me vient à l'esprit: la différence de sémantique à propos d'extern inline, inline, entre C99 et GNUC (je ne parle pas de 4.3 non encore releasé)

Reply

Marsh Posté le 09-03-2007 à 23:26:59    

++fab a écrit :

GNUC n'est pas un sur-ensemble de C.


Exact. J'aurais du préciser 'du C90'.

 


Message édité par Emmanuel Delahaye le 09-03-2007 à 23:27:13

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 09-03-2007 à 23:35:37    

( Les topics C, c'est un peu "tout les chemins mènent à Rome", on peut les commencer comme on veut on peut être surs que les derniers messages du topic vont contenir le mot "sur-ensemble" :D )


Message édité par 0x90 le 09-03-2007 à 23:35:53

---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 10-03-2007 à 11:36:11    

Emmanuel Delahaye a écrit :

Avec la merveilleuse syntaxe AT&T...


Je ne connais pas la syntaxe de l'assembleur AT&T mais il parais que malheureusement, par défaut, gcc sortent de l'assembleur AT&T ... mais on peut aussi utiliser la syntaxe INTEL sous gcc ...
 
Sinon, vous voulais dire quoi exactement par sur-ensemble du C ?
 

Message cité 1 fois
Message édité par CreaRetour le 10-03-2007 à 11:37:37
Reply

Marsh Posté le 10-03-2007 à 12:08:34    

CreaRetour a écrit :

Je ne connais pas la syntaxe de l'assembleur AT&T mais il parais que malheureusement, par défaut, gcc sortent de l'assembleur AT&T


Il n'y a pas "d'assembleur AT&T", mais il y a une "syntaxe AT&T" pour écrire en assembleur inline avec gcc. Nuance... L'assembleur, sur PC, c'est de l'Intel x86, pas le choix !

Citation :

... mais on peut aussi utiliser la syntaxe INTEL sous gcc ...


Tu veux dire, par exemple,  la syntaxe MASM ? Pas à ma connaissance, mais si tu sais comment faire, ça m'intéresse, et je ne dois pas être le seul.

Citation :

Sinon, vous voulais dire quoi exactement par sur-ensemble du C ?


Qu'il (GNUC) englobe tout le C90. On étudie plus la glorieuse théorie des ensembles des années 70 dans les écoles ?
J'ai fait ça en 4ème...
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 10-03-2007 à 12:55:11    

Primo: http://sourceware.org/binutils/doc [...] 002dSyntax
Secundo: AT&T > Intel, mais c'est vrai que les % à tout va c'est chiant.
Tertio: Si on a disposition un assembleur capable d'émettre un fichier objet, un linker fonctionnel et un moyen quelconque depuis le langage originel - quel qu'il fusse - d'appeler un machin externe, on a le minimum syndical.
 
En 1973, il n'y avait ni GNUC ou C90 et pourtant...

Reply

Marsh Posté le 10-03-2007 à 12:55:52    

Emmanuel Delahaye a écrit :

Citation :

... mais on peut aussi utiliser la syntaxe INTEL sous gcc ...


Tu veux dire, par exemple,  la syntaxe MASM ? Pas à ma connaissance, mais si tu sais comment faire, ça m'intéresse, et je ne dois pas être le seul


en fin, je ne sais pas, j'ai lu sertain topic c'est tout:  
http://www.cppfrance.com/codes/ASM [...] 38813.aspx
http://www.traduc.org/~isa/index.p [...] t-vs-intel

Citation :

Where can I find a converter from AT&T assembly to Intel style


voire là : http://www.delorie.com/djgpp/v2faq/faq17_2.html
 

Reply

Marsh Posté le 02-05-2007 à 17:41:12    

Quelle sont selon vous, les pré-requis (tout ce qu'il faut connaître et savoir) pour un groupe de personne qui veulent apprendre à programmer un Système d'exploitation ?
 

Reply

Marsh Posté le 02-05-2007 à 17:49:50    

Une patience qui ferait perdre pied au moine bouddhiste le plus aguerri, un entêtement qui ferait passer l'âne le plus buté pour une girouette, et le double de la capacité de travail d'un chinois bossant dans une usine de textile.


Message édité par Elmoricq le 02-05-2007 à 17:51:38
Reply

Marsh Posté le 02-05-2007 à 17:54:20    

CreaRetour a écrit :

Quelle sont selon vous, les pré-requis (tout ce qu'il faut connaître et savoir) pour un groupe de personne qui veulent apprendre à programmer un Système d'exploitation ?


C'est quoi cette manie de vouloir écrire un SE ? Il en existe de très bons, pourquoi vouloir réinventer la roue ?
Les vrais problèmes se situent au niveau des applications, qui sont le plus souvent mal définies, mal conçues, mal écrites et mal testées...

 

Là, il y a du boulot...

 

Sinon, pour faire un SE, il faut de l'expérience en programmation organisée et et bien connaitre les interfaces hard/soft (pour la partie driver).

 

D'autre part, il faut être un expert en processus, commutation de tâches etc. Une très bonne connaissance de la cible (assembleur) peut aider pour écrire un scheduler performant (on ne programme le programme pas pareil pour un 80386, pour un Duo Core, ou un Athlon 64...

 

Ensuite, il faut savoir gérer la mémoire (RAM, disque...), les protocoles réseaux courants ...

Message cité 1 fois
Message édité par Emmanuel Delahaye le 02-05-2007 à 19:07:39

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 02-05-2007 à 17:54:59    

Citation :

Une patience qui ferait perdre pied au moine bouddhiste le plus aguerri, un entêtement qui ferait passer l'âne le plus buté pour une girouette, et le double de la capacité de travail d'un chinois bossant dans une usine de textile.


Mais lol, je ne parle pas question enthousiasme,
Mais question Connaissance technique quoi... :)
 
 
Merci pour ces quelque précisions Emmanuel Delahaye.

Message cité 1 fois
Message édité par CreaRetour le 02-05-2007 à 17:59:26
Reply

Marsh Posté le 02-05-2007 à 17:57:54    

CreaRetour a écrit :

Mais lol, je ne parle pas question Enthusiasm,


 
Enthousiasme. Ca rime avec miasmes.

Reply

Marsh Posté le 02-05-2007 à 19:09:58    

MIASM32 ?


---------------
Hobby eien /人◕ ‿‿ ◕人\
Reply

Marsh Posté le 02-05-2007 à 19:44:30    


Joli !
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 02-05-2007 à 20:02:34    

Emmanuel Delahaye a écrit :

Une très bonne connaissance de la cible (assembleur).


Assembleur 16 bit ?
32 ?

Reply

Marsh Posté le 02-05-2007 à 20:04:40    

32 bits bon dieu ! 32 BITS §§§ :fou:

Reply

Marsh Posté le 02-05-2007 à 20:11:20    

Harkonnen a écrit :

32 bits bon dieu ! 32 BITS §§§ :fou:


L'Assembleur 16 bit est si useless que ça ?!
C'est dépassé pour les applications 32 bit, mais tout PC boote en 16 bit (mode réel), donc je ne croie pas que c'est si inutile que ça, Harkonnen...

Message cité 1 fois
Message édité par _Reggae_ le 02-05-2007 à 20:27:11
Reply

Marsh Posté le 02-05-2007 à 20:37:22    

Ah, bah tu vas être franchement limité pour l'addressage mémoire et autre joyeuseté ayant besoin de grands nombre :D

Reply

Marsh Posté le 02-05-2007 à 20:38:52    

_Reggae_ a écrit :

L'Assembleur 16 bit est si useless que ça ?!
C'est dépassé pour les applications 32 bit, mais tout PC boote en 16 bit (mode réel)


Ouais, mais generalement il y reste pas longtemps :D
 
Et pour repondre a ED, la manie de vouloir ecrire des SE c'est surtout l'envie de savoir ce qui se passe "reellement" dans ton PC lorsque tu appelles une API depuis le mode utilisateur. Je pense qu'une fois qu'on a compris comment ca marche, on realise que les SE actuels ne sont pas si mals fichus que ca ... et sont meme a des annees lumieres a ce qu'une bande de potes "motives" pourrait aboutir.

Reply

Marsh Posté le 02-05-2007 à 20:41:19    

_Reggae_ a écrit :

Assembleur 16 bit ?
32 ?


Ca dépend de la cible. Pour du x86, les deux bien sûr (le boot se fait en 16-bit).


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 02-05-2007 à 20:45:02    

Ace17 a écrit :

Ouais, mais generalement il y reste pas longtemps :D
 
Et pour repondre a ED, la manie de vouloir ecrire des SE c'est surtout l'envie de savoir ce qui se passe "reellement" dans ton PC lorsque tu appelles une API depuis le mode utilisateur. Je pense qu'une fois qu'on a compris comment ca marche, on realise que les SE actuels ne sont pas si mals fichus que ca ... et sont meme a des annees lumieres a ce qu'une bande de potes "motives" pourrait aboutir.


 
oh serieux ? [:le poney de mr pink]


---------------
Hobby eien /人◕ ‿‿ ◕人\
Reply

Marsh Posté le 02-05-2007 à 20:55:31    

Tamahome a écrit :

oh serieux ? [:le poney de mr pink]


En fait, ma derniere phrase etait plus ou moins a l'attention de CreaRetour.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed