28 votes

Si je devais construire un nouveau système d'exploitation, quel genre de fonctionnalités aurait-il?

Je suis jongle avec l'idée de la création d'un tout nouveau système d'exploitation et que vous souhaitez entendre ce que tout le monde sur ce forums se est sur que? D'abord est-il trop tard sont les grands garçons tellement ancrées dans nos vies que nous ne serons jamais en mesure de changer (wow - ce une pensée terrible...). Mais si ce n'est pas le cas, que doit faire le système d'exploitation pour vous? Quelles sont les fonctionnalités les plus importantes? Tous les composants des installations séparées (en d'autres termes, si la base de l'OS n'ai pas vraiment de fonctionnalités pour les utilisateurs et qui est ajouté par la création de "plugins" un peu comme un bon outil flexible?)

Pourquoi je veux faire ça... je suis plus curieux de savoir s'il existe une demande et je me demande, depuis les Systèmes d'exploitation que nous utilisons aujourd'hui (Linux, Windows, Mac OS X (Gratuit BSD)) ont été effectivement écrit plus de 20 ans (et je suis généreux, je veux dire du dual et quad cores n'existait pas encore, les bus ont été beaucoup plus lents, le matériel est beaucoup plus chère, etc,...), J'étais juste curieux avec la nouvelle technologie si nous voulons faire les choses différemment?

Je suis impatient de lire vos commentaires.

22voto

slicedlime Points 1260

Pour répondre à la première question: Il n'est jamais trop tard. Surtout quand il s'agit de créneaux du marché et des trucs comme ça.

Deuxième, avant de vous engager sur la voie de la création d'un nouveau système d'exploitation, vous devez comprendre le type d'entreprise qu'il est: c'est un projet d'envergure.

Est-il juste un type normal programmeur "gratter la démangeaison" type de projet? Si oui, puis par tous les moyens aller de l'avant, vous pouvez apprendre beaucoup de choses. Mais si vous le faites pour le produit qui en résulte, alors vous ne devriez pas commencer en bas de ce chemin jusqu'à ce que vous avez regardé tous les Systèmes d'exploitation en cours de développement (il y en a beaucoup plus qu'on pourrait le penser au premier abord) et de comprendre ce que vous aimeriez changer en eux.

Très probablement l'effort serait mieux dépensé pour améliorer/modifier une existante système open source. Même pour votre propre expérimentation, il peut être plus facile d'obtenir les résultats que vous voulez si vous commencez avec quelque chose de déjà en cours de développement.

19voto

user15749 Points 201

Tout d'abord, une petite histoire. En 1992, lors de la première Win32 ( ce qui allait devenir le MS Professional Developers Conference ) de conférence, j'ai eu l'occasion de s'asseoir avec plus de certains déjeuner avec un M. Dave Cutler ( Architecte en Chef de ce que la plupart des gens se savent maintenant que Windows NT,Windows 2000, XP, etc. ).

J'ai été à la fois travailler sur le groupe Multimédia chez IBM Boca Raton sur ce que certains d'entre vous vous en souvenez, OS/2. Ayant travaillé sur OS/2, pour plusieurs années, et en reconnaissant "l'écriture sur le mur" de où les Systèmes d'exploitation étaient en vais, je lui ai demandé, "Dave, est Windows NT va nous emmener dans le prochain siècle ou il y en a d'autres idées sur votre esprit ?". Sa réponse m'a été comme suit:

"M...., Windows NT est le dernier système d'exploitation quiconque pourra jamais se développer à partir de zéro !". Puis il a regardé vers moi, prit une gorgée de sa bière, et dit, "Puis de nouveau, vous pourriez vous réveiller à côté du samedi après une très bonne soirée avec votre fille, et avoir une toute nouvelle approche pour un système d'exploitation, qui va le dire à la honte."

Mettre cette conversation dans son contexte, et compte tenu du fait que je suis de retour au collège de poursuivre mon Master ( en se spécialisant dans la conception des Systèmes d'Exploitation ), je dirais qu'il y a des TONNES de place pour de nouveaux systèmes d'exploitation. Le truc, c'est de mettre les choses en perspective. Quels sont vos objectifs pour ce système d'exploitation ? Ce problème de l'espace est-il de tenter de service ?

Mettre tout cela en perspective vous donnera une indication de savoir si vous êtes vraiment à la définition de vos sites sur un objectif réalisable.

Cela étant dit, je seconde plus tôt intervenants remarque à propos de la recherche dans des choses comme "Singularité" ( la mise au point d'un discours que j'ai fait au printemps dernier dans une de mes classes .... ), ou si vous avez vraiment envie de "croquer" un OS dans sa petite enfance....regardez "ReactOS".

Puis de nouveau, WebOSes, comme gOS, et d'autres, sont probablement là où nous nous dirigeons au cours de la prochaine décennie. Ou encore, quelqu'un de particulièrement intelligent pourrait se réveiller après une particulièrement féconde soirée avec leur femme ou un ami, et pour avoir la "grande idée" dans les systèmes d'exploitation.

12voto

Daren Thomas Points 26812

Pourquoi construire le système d'exploitation directement sur une machine physique? Vous aurez juste être autour de déblayage en langage d'assemblage ;). Bien sûr, c'est amusant, mais pourquoi ne pas s'attaquer à un OS pour une VM?

Dire un système d'exploitation qui s'exécute sur le Java/.NET/Parrot (nommez-les) machine virtuelle, qui peut être facilement transmise partout sur le net et peut exécuter un tas de logiciels.

Que serait-il?

  • D'une certaine façon de stocker des données (traditionnel FS ne sera pas coupé)
  • Un modèle pour les processus / threads (ou tout simplement de détourner les choses fournie par la machine virtuelle?)
  • Des outils pour interagir avec ces processus, etc.

Alors, construire une Plate-forme simple qui peut être exécuté sur un largement utilisé de la machine virtuelle. Mettre dans quelques frais de fonctionnement, pour un créneau spécifique du marché (cloud computing?). Allez!

5voto

Roel Points 9657

Pour plus d'informations sur le noyau micro- ou monolithique, consultez la «discussion» de Linus avec Andrew Tanenbaum.

4voto

basszero Points 14539

Je suggère fortement de regarder une première version sur linux (0.01) pour au moins vous mouiller les pieds. Vous allez vous occuper de l'assemblage et des trucs de bas niveau très obscurs pour même commencer (en particulier passer en mode protégé, multitâche, etc.). Et oui, c'est probablement vrai que les "grands garçons" ont déjà le marché acculé. Je ne vous dis pas de ne pas le faire, mais peut-être que faire un peu de travail sur le noyau linux serait un meilleur tremplin.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X