Signaler

Questions concernant les OS [Résolu]

Posez votre question Help!svp. 115Messages postés mardi 15 décembre 2015Date d'inscription 12 avril 2017 Dernière intervention - Dernière réponse le 6 avril 2017 à 16:34 par Help!svp.
Bonjour,

Déjà je tiens à préciser que je fais de la programmation et que j'ai une certaine connaissance en informatique en général, mais je suis très loin du niveau que je souhaiterais atteindre, et notamment concernant les questions que je vais aborder ici, au sujet des systèmes d'exploitation et en particulier des noyaux Linux et Android... questions que je me suis posées, pour la plupart, en m'intéressant aux noyaux, systèmes d'exploitation et à linux .

Première question, celle qui me tient le plus à cœur et qui peut surement paraître évidente , mais j'ai cherché sur le net et sur les forums et je n'ai rien trouvé de vraiment précis :

Pourquoi contrairement à Windows et Linux ( toutes distributions ) , Android ne peut s'exécuter sur n'importe quel système à partir du moment ou le processeur est compatible avec l'architecture et à besoin d'avoir une ROM personnalisée pour chaque téléphone sur lequel il s'exécute ? Je pense que ça doit surement venir de tout ce qui est nécessaire au boot et qui est hors de l'OS ; exemple , sur un système Android il y a plein de partitions inaccessibles pour l'utilisateur installées sur le même disque que l'OS , alors que sur Windows , si je me souviens bien il ne s'en trouve au maximum deux ou trois . De plus , sur Android le bootloader , le fastboot et le recovery sont sur le même disque que l'os alors que le BIOS ( qui , je pense , même si je n'en ai pas vraiment de certitude , est leurs équivalent sur PC ) est sur la carte mère , même si tout cela n'est que suppositions car , si je le savais je ne poserais pas de questions .

Seconde question , pour rebondir sur ma première question :

Je sais que presque tout -relativement - est possible en informatique , mais serait-il possible donc , ou existe-t-il déjà , un OS mobile capable de fonctionner sur n'importe quel mobile avec un SoC contenant un CPU adapté ( architectures des CPU en ARM/ARM 64 , ou même x86 , je sais que Intel , par exemple , en font , apparemment aussi des x64 mobiles ) , voir même sur n'importe quel système tant que le processeur est compatible ?

Troisième question , simplement :

Comment se crée un noyau de système d'exploitation ? Avez vous des liens , tutos ou livres à me recommander pour en créer un , ou simplement me documenter ?

Quatrième et dernière question , très facultative et moins en rapport mais tout de même un peu avec la troisième :

Comment a-t-on crée le premier os du premier ordinateur ? Etant donné la facultativité de cette question , et en plus le fait que je n'ai pas fait énormément de recherches sur celle ci - je profitais juste de l'occasion pour la poser ici - ne vous embêtez pas pour y répondre , je ferais plus de recherches ou la reposerais dans une autre catégorie .

Voilà, mes questions sont finies et je m'excuse de la longueur de celles-ci, je vous remercie fortement par avance pour vos réponses, à tout de suite .
Afficher la suite 
Utile
+0
plus moins
Bonjour,

Je t'invite à essayer de rédiger tes questions de manières plus concises afin d'augmenter tes chances de trouver des gens qui y répondent :-) Je résume chacune d'elle.

1) Qu'est ce qui empêche d'installer android sur un PC ?

A priori si le système d'exploitation est compatible avec le matériel, rien ne l'empêche de s'exécuter. Dans le cas d'android il existe des versions adaptées pour PC :
http://www.frandroid.com/android/335450_remix-os-pour-pc-pour-installer-android-sur-un-pc-est-disponible-au-telechargement

Cela inclue sûrement des ajouts et suppressions au niveau du noyau et de ses modules je pense notamment à la gestion de la souris et du clavier. Et a contrario sans doute des suppressions (par exemple le clavier virtuel perd de son intérêt).

L'histoire des partitions cachées n'a rien n'a voir. C'est un peu comme quand windows masque par défaut le contenu de program files. Le systèmes est configuré par défaut pour ne pas tout afficher afin d'éviter à un utilisateur néophyte de faire des bêtises, mais ce n'est pas une limitation du système, plutôt une limitation imposée par le système à l'utilisateur. Et d'ailleurs rien n'empêche de faire disparaître ces deux limitations dans ces deux exemples.

À noter qu'il existe aussi des outils de virtualisations permettant de lancer un OS mobile dans une fenêtre sur un PC par exemple avec genymotion :
http://www.phonandroid.com/tutoriel-installer-android-pc.html

2) Existe-t'il un OS mobile capable de fonctionner sur n'importe quel mobile

Alors tout dépend de ce que tu entends. En gros est ce qu'on parle du même OS si on considère sa version 32 bits ou 64 bits ? Est-ce qu'on considère que c'est le même OS si on fait des ajouts suppressions dans le noyau ? En plus il faut garder à l'esprit que le mobile (ou la tablette) est préinstallé avec un OS et a priori on ne t'encourage guère à en changer !

Mais je dirais qu'ubuntu serait une réponse possible. Il commence à y avoir des téléphones sous ubuntu. Reste à voir dans quel mesure le noyau sera prendre en charge correctement le téléphone ou la tablette cible.
https://www.ubuntu.com/mobile

Pour rappel, l'interface unity a été développé par canonical en vue d'offrir une interface viable aussi bien sur PC que sur mobile.
https://doc.ubuntu-fr.org/unity

3) Comment construire un noyau

Tout sur la compilation, et en particulier celle des noyaux :
https://www.mistra.fr/tutoriel-linux-compiler.html

4) Comment a-t-on crée le premier os du premier ordinateur ?

Eh bien en fait au début était la puce informatique et l'assembleur. C'était complexe, laborieux, et le langage offrait des primitives tellement simples qu'il était difficile d'écrire un programme complexe. Mais on peut déjà faire des choses bien en assembleurs, par exemple sur des calculatrices graphiques, certains se sont amusés à programmer mario.

À partir du moment ou ton appareil démarre et que tu offres une invite de commande, on peut déjà parler d'OS. Après sont apparus des applications et langages de plus en plus évolués (éditeur texte, un compiltateur pour le langage C), et ainsi de suite. Je pense que l'une des étapes clés à été d'écrire le premier compilateur en C, qui pour le coup a dû être écrit en assembleur (et là bon courage). Une fois la première libc faite, il est devenu possible d'écrire directement en C, amorçant le processus de l'œuf et de la poule.

Tu peux installer une gentoo à partir d'un stage 1 pour te faire une idée plus concrète. Les premières étapes consiste justement à compiler une libc, un noyau, etc... C'est très long, pas évident, mais très instructif et vues tes questions, tu me parais être le bon public. Personnellement ça m'a beaucoup appris (même si aujourd'hui j'ai un usage plus pratique de linux, et depuis j'ai changé pour debian).

Bonne chance
Donnez votre avis
Utile
+0
plus moins
Bonjour , déjà merci de votre réponse rapide , d'autant que mes questions étaient longues et , je l'avoue , pas rédigées dans une optique de simplicité .
Vous avez plutôt bien répondu à l'ensemble de mes questions et je vous en remercie encore, mais, ma question première était, dans une version plus concise : " Pourquoi, disons LineageOS, pour ne citer que lui, est contraint d'être décliné en une multitude de ROMs différentes adaptées pour chaque systèmes mobiles ? Autrement : Pourquoi on ne pourrait pas en télécharger une seule, avec juste un choix à faire au niveau des architectures, et elle fonctionnerait sur chaque téléphones , comme le fait Windows ou Linux ? " . Au revoir et merci de vos conseils et explications, sinon vos autres réponses me comblent .
Donnez votre avis
Utile
+0
plus moins
Salut

Pour l'histoire du noyau linux, tu peux aussi regarder du coter de linux from scratch :

http://www.fr.linuxfromscratch.org/
Help!svp. 115Messages postés mardi 15 décembre 2015Date d'inscription 12 avril 2017 Dernière intervention - 5 avril 2017 à 15:54
Bonjour , merci .
Répondre
Donnez votre avis
Utile
+0
plus moins
Pourquoi, disons LineageOS, pour ne citer que lui, est contraint d'être décliné en une multitude de ROMs différentes adaptées pour chaque systèmes mobiles ? Autrement : Pourquoi on ne pourrait pas en télécharger une seule, avec juste un choix à faire au niveau des architectures, et elle fonctionnerait sur chaque téléphones , comme le fait Windows ou Linux ?

Les considérations qui t'amène à faire plusieurs déclinaisons d'un système sont toujours les mêmes :
1) tu veux idéalement avoir un système minimal (on parle de système embarqués avec une capacité de stockage et de mémoire assez restreinte), donc tu ne veux que le strict nécessaire.
2) le matériel sous-jacent diffère (donc ce que tu mets dans le noyau, et/ou dans les modules va différer)
3) l'architecture matériel diffère (CPU, ...) ce qui fait que tu ne peux peut pas avoir un build qui va compatible avec tous les matériels tout en étant optimal pour chacun d'eux (ex: 32 bits vs 64 bits)

Du coup, si tu tiens compte de toutes ces considérations, fatalement tu vas être amené à faire plusieurs déclinaisons de ton système.

A partir du moment ou tu pars dans cette direction, tu vas demander à l'utilisateur de choisir "le bon". S'il doit choisir parmi plusieurs déclinaisons, autant lui en proposer une qui est optimisée quel que soit son matériel.

Pourquoi y a t'il moins de déclinaisons sous linux que sous lineageOS ?

Pour moi, c'est une histoire de compromis : jusqu'où tu pousses le nombre de déclinaisons ? Donc par exemple sur un PC tu vas avoir le débat 32bits/64 bits (voir (3)). Tu vas avoir quelques considérations liées à (2) pour des usages bien particuliers (noyaux real time, bigmem ou pae pour les architecture 32 bits) mais en gros les considérations (1) et (2) sont quelques peu omises.

Du coup, dans le cas de linux, quelqu'un qui veut avoir un noyau qui concilie ces trois considérations va typiquement :
- récupérer des sources de noyaux (paquets linux-sources-*)
- l'optimiser en fonction de ses besoins et de son matériel.

Cependant, cette tâche est assez fastidieuse, et pas à la portée de tout le monde. C'est pourquoi beaucoup de gens se contentent d'un noyau moins optimisé (celui fourni par les paquets linux-image-*), car tout simplement, les ressources matérielles (notamment l'espace de stockage) sont moins précieuses sur un PC que sur un mobile.
Donnez votre avis
Utile
+0
plus moins
Merci de votre réponse . Cela veut dire que si on avait un espace de stockage plus conséquent sur téléphone on pourrait n'avoir seulement deux déclinaisons , voire une en cas d'espace de stockage vraiment grand , au détriment de l'optimisation . Mais est ce que cela veut dire que si on optimisait sa distribution linux sur PC on pourrait avoir un meilleur comportement ?
Pierrecastor 29992Messages postés mercredi 5 novembre 2003Date d'inscription ModérateurStatut 12 avril 2017 Dernière intervention - 6 avril 2017 à 16:23
Mais est ce que cela veut dire que si on optimisait sa distribution linux sur PC on pourrait avoir un meilleur comportement ?

Tu gagnerais peut être quelques milliseconde niveau rapidité. Je pense que le jeu n'en vaut pas la chandelle. Par contre, niveau apprentissage, ça peut être très intéressant.
Répondre
Donnez votre avis
Utile
+0
plus moins
Ok merci , je vais mettre le sujet résolu , encore merci d'avoir répondu à toutes mes questions .
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !