50 votes

Avant les systèmes d'exploitation, quel concept était utilisé pour les faire fonctionner ?

Les systèmes d'exploitation sont étroitement liés à l'architecture des ordinateurs. Un système d'exploitation prend en charge toutes les entrées et sorties d'un système informatique. Il gère les utilisateurs, les processus, la mémoire, l'impression, les télécommunications, les réseaux, etc. Il envoie des données à un disque, à l'imprimante, à l'écran et à d'autres périphériques connectés à l'ordinateur.

Avant l'introduction du système d'exploitation,

Qu'est-ce qui a été utilisé dans les systèmes informatiques pour les faire fonctionner ?

Quel concept a été utilisé pour le système d'exploitation dans l'évolution de l'ordinateur ?

42voto

RedGrittyBrick Points 78148

Les premiers ordinateurs † a exécuté un programme à la fois.

Les programmes étaient directement chargés à partir (par exemple) d'une bande de papier perforée.

Tu programmerais les premiers ordinateurs † en mettant en place un grand nombre d'interrupteurs marche-arrêt.

Colosse :

Atlas :

Manchester :


† J'utilise le mot "ordinateur" pour désigner le type d'appareil qui existe aujourd'hui par milliards. Parmi ce grand nombre d'ordinateurs, tous, à l'exception d'un nombre infime, sont des ordinateurs électroniques numériques programmables avec des programmes stockés. Je suis sûr que la question initiale ne porte pas sur la manière dont les personnes ayant le titre d'"informaticien" passent leur journée de travail. Entre ces deux types d'ordinateurs, il y a une progression de dispositifs intéressants qui ne sont pas abordés dans cette réponse.

14voto

DavidPostill Points 140654

Source : Histoire des systèmes d'exploitation

Les systèmes d'exploitation ont évolué à travers un certain nombre de phases ou de générations distinctes qui correspondent à peu près aux décennies.

Les années 1940 - Premières générations

Les premiers ordinateurs numériques électroniques n'avaient pas de système d'exploitation. Les machines de l'époque étaient si primitives que les programmes étaient souvent étaient souvent entrés un bit à la fois sur des rangées d'interrupteurs mécaniques (cartes cartes) . Les langages de programmation étaient inconnus (pas même les d'assemblage). Les systèmes d'exploitation n'existaient pas.

Les années 1950 - La deuxième génération

Au début des années 1950, la routine s'est quelque peu améliorée grâce à l'utilisation de la technologie l'introduction des cartes perforées. Les Recherche General Motors Les laboratoires de recherche de General Motors ont mis en œuvre les premiers systèmes d'exploitation au début des années 1950. pour leur IBM 701 . Le système des années 50 fonctionnait généralement sur la base d'un seul travail à la fois. à la fois. On les appelait systèmes de traitement par lots à flux unique parce que le les programmes et les données étaient soumis par groupes ou par lots.

Source : http://en.wikipedia.org/wiki/History_of_operating_systems

Les premiers ordinateurs étaient des ordinateurs centraux dépourvus de tout système d'exploitation.

Chaque utilisateur avait l'usage exclusif de la machine pendant une période de temps déterminée et arrivait à l'ordinateur avec un programme et des données, souvent en sur des cartes de papier perforées et des bandes magnétiques ou de papier. Le programme était Le programme était chargé dans la machine et celle-ci était mise en marche jusqu'à ce que le programme soit terminé. jusqu'à ce que le programme s'achève ou s'arrête.

Les programmes peuvent généralement être débogués par l'intermédiaire d'une carte de contrôle. et des voyants lumineux. On dit qu'Alan Turing était un maître de cette méthode. sur la première machine Manchester Mark 1, et qu'il était déjà en train de déjà la conception primitive d'un système d'exploitation à partir du principes de la machine universelle de Turing.

10voto

majkrzak Points 111

Si l'on remonte au début des systèmes informatiques, il n'y avait pas de systèmes informatiques uniques, mais des ordinateurs centraux.

enter image description here

Ces ordinateurs centraux fonctionnaient sur des cartes perforées qui contenaient votre programme (et souvent vos données). Les utilisateurs se voyaient attribuer du temps sur ces systèmes, apportaient leurs cartes et les introduisaient dans les machines pour qu'elles les traitent. La machine exécutait le programme jusqu'à ce qu'il soit terminé, puis l'utilisateur suivant arrivait avec sa bande et ses cartes.

En gros, c'est ainsi que cela a fonctionné.

6voto

krowe Points 5343

1890-1950 - Fonctionnement inhérent au système Les tout premiers ordinateurs intégraient l'équivalent de ce que fait aujourd'hui un système d'exploitation. Vous (l'opérateur) faisiez également partie du système d'exploitation. Vous actionniez les commutateurs de registre (ou utilisiez une carte perforée) et échangiez physiquement les fils du bus (pensez au poste de téléphoniste d'antan) et la mémoire était reliée (par des fils physiques) directement aux ampoules électriques (le moniteur de l'époque) et aux imprimantes (le stockage à long terme) de telle sorte que la sortie du programme s'allumait et s'imprimait directement sur le périphérique au moment où elle était placée dans le tampon de la mémoire de sortie. Aucun pilote n'était nécessaire pour ces appareils car (en raison de la façon dont les fils physiques étaient acheminés) ils "fonctionnaient tout simplement" (il n'existait pas non plus de moniteur à l'époque). En fait, il allait falloir attendre quelques décennies avant qu'un affichage numérique soit inventé pour que vous puissiez voir les nombres que vous aviez déjà entrés dans le registre et la sortie sous forme de nombres décimaux ; les imprimantes ont régné sur toute cette époque jusqu'aux moniteurs ). Ils étaient câblés exactement comme ils devaient l'être pour fonctionner correctement. Rien de tout cela n'a vraiment changé avec le passage du mécanique (années 1890) à l'électrique, de l'analogique (années 1910) au numérique (années 1930). Cette architecture "Plug N Play" a été remplacée par le système d'interruption à cette époque et n'a refait surface qu'à la fin des années 90 ; bien sûr, à ce moment-là, il y avait beaucoup moins de branchements. Avec les interruptions, les périphériques étaient autorisés à prendre le temps de l'unité centrale, ce qui permettait des architectures qui n'étaient pas directement liées au matériel, mais il a fallu plusieurs générations pour que ce soit vraiment le processus rationalisé que nous voyons dans l'architecture x86 (et plus récente) ; les premiers systèmes se heurtaient souvent à d'horribles conditions de course, à la compatibilité du matériel, à l'utilisation de la technologie de l'information et à l'utilisation de l'informatique. \delay et d'autres comportements bizarres en ce qui concerne les interruptions. Comme chaque machine utilisait des architectures radicalement différentes (et expérimentales) à cette époque, presque tous les dispositifs étaient fabriqués sur mesure pour la machine sur laquelle ils travaillaient.

1950-1973 - Fonctionnement au sein d'un système Cette époque a vu l'avènement de la plupart des fonctionnalités auxquelles nous pensons lorsque nous parlons d'un véritable système d'exploitation. Le débogage, les langages de programmation, les utilisateurs multiples, les tâches multiples, les terminaux, les lecteurs de disques, la mise en réseau, la normalisation des composants, etc. ont tous été introduits à cette époque. Cette époque a vu un pas de géant vers la standardisation de la plupart de ces éléments, ce qui signifie que nous avions des appareils plus standardisés, mais que chaque système d'exploitation était conçu à la main pour chaque machine, ce qui signifiait que les fonctionnalités du système d'exploitation étaient sévèrement limitées par ce que les ingénieurs qui concevaient ce système particulier décidaient qu'ils avaient besoin. À cette époque, il existait une zone grise importante dans la définition d'un système d'exploitation, car les différentes architectures géraient les choses de manière très différente et une machine à usage plus général aura besoin de beaucoup plus de systèmes d'exploitation qu'une machine qui comprend du matériel pour effectuer les mêmes tâches. Le fait est que le matériel sera toujours plus rapide que le logiciel et que pratiquement tout ce qui est fait en logiciel peut théoriquement être fait en matériel (il s'agit d'une question de coût). \flexibility\size\time\etc ce qui nous empêche encore aujourd'hui de réaliser des versions matérielles presque pures de tous les produits). Un système d'exploitation a été conçu pour un ordinateur ou un type d'ordinateur particulier ; il ne fonctionnerait pas ailleurs. Chaque nouvelle conception d'ordinateur nécessitait que tous les logiciels de bas niveau du système d'exploitation soient réécrits à partir de zéro pour fonctionner avec un modèle de machine particulier. Vers la fin de cette période, un nouveau système d'exploitation est apparu, qui allait bientôt changer ce paradigme : UNIX, écrit aux laboratoires Bell par Ken Thompson et Dennis Ritchie.

1973 - Fonctionnement entre systèmes Un seul programme a changé tout cela, mais ce n'était pas UNIX. Il s'agit du compilateur C (qui a été fabriqué dans un garage par Ken Thompson et Dennis Ritchie après que Bell Labs l'ait supprimé). Jusqu'alors, chaque fois que vous écriviez du code, il s'agissait soit de code machine (code que la machine comprend directement mais qui n'est pas portable), soit d'un langage qui compilait votre code en code d'octets (code qui est interprété par un autre programme lorsqu'il s'exécute). L'énorme différence que le langage C a apportée aux systèmes d'exploitation est la possibilité de faire ce que l'on appelle de la compilation croisée en code machine. Cela signifie que le code peut être écrit une seule fois et compilé pour fonctionner sur de nombreux types de machines différentes, à condition qu'un compilateur ait été écrit pour cette machine. Les systèmes d'exploitation doivent être écrits en code machine parce que le code machine est littéralement le seul code que la machine connaisse.

Je dirais que ce n'est que lorsque Ken et Dennis ont compilé pour la première fois le noyau UNIX à l'aide d'un compilateur C qu'un véritable système d'exploitation au sens moderne du terme a vu le jour. Avant cela, un système d'exploitation était soit un objet physique, soit simplement un morceau d'espace mémoire préinitialisé conçu spécifiquement pour une machine particulière. L'ajout de nouveaux dispositifs au système nécessitait littéralement la réécriture du code du "noyau". Désormais, le système d'exploitation UNIX conçu pour une machine particulière pouvait être recompilé et exécuté sur d'autres machines sans TOUT réécrire (tant que cette machine était capable de compiler un compilateur C à partir d'un environnement de démarrage, le reste du système d'exploitation pouvait être écrit dans un code C de relativement haut niveau).

3voto

UltimateBrent Points 6167

Au début, les programmes étaient câblés dans l'ordinateur, qui lançait immédiatement le programme à partir d'un emplacement particulier au démarrage.

Ensuite, diverses formes de stockage hors ligne ont été inventées : cartes perforées, bandes, tambours et même disques. Beaucoup plus flexibles. Mais elles ne sont pas directement accessibles depuis l'unité centrale. Le programme doit être chargé dans la mémoire avant de pouvoir être exécuté. Vous devez donc écrire un programme pour charger votre programme. C'est ce qu'on appelle un chargeur ou amorçage (de l'expression "se tirer par les pieds").

Au fur et à mesure que le système se complique, il se peut qu'un chargeur simple charge un chargeur plus complexe. Cela a commencé avec les micro-ordinateurs : le chargeur de bande normal était lent, il faut donc charger un décompresseur et charger rapidement le reste de la bande. Ou encore les chargeurs rapides de disques qui servaient de systèmes de protection contre la copie en faisant des choses non standard avec le disque.

Ou le processus de démarrage du PC pré-UEFI : le processeur commence à s'exécuter dans le BIOS. Celui-ci charge le premier secteur du disque et s'y connecte. Il recherche une partition active et charge un chargeur d'amorçage à partir de là, qui charge le système d'exploitation. À l'origine, il s'agissait de COMMAND.COM pour MSDOS ; aujourd'hui, c'est généralement NTLDR.EXE pour Windows.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X