15 votes

Le système d'exploitation Macintosh de 1997 n'était-il vraiment pas multitâche ?

Dans un avis paru dans un magazine informatique local en février 1997, on annonce que "BeOS" est sur le point d'être lancé pour les Macs (ou l'a déjà été). Il est affirmé que ce système peut "exécuter plusieurs programmes à la fois, ce que l'on appelle le 'multi-tâches'" et que c'est quelque chose que "Apple n'a jamais été capable de faire".

Est-ce vraiment vrai ? Les Macs de 1997 ne pouvaient-ils vraiment exécuter qu'un seul programme à la fois ? Ou s'agit-il d'un malentendu ? Je me souviens très bien avoir exécuté plusieurs programmes à la fois sous Windows 3.1 sur mon IBM PC 486, et pourtant le "multitâche" était présenté comme une fonctionnalité de Windows 95.

1 votes

Oui, c'était une énorme faiblesse de la plate-forme Mac, et c'est un endroit où Microsoft avait dépassé Apple avec Windows 95. Pendant ce temps ils étaient aussi la spirale de la faillite et manquait de capitaux ou de franchise, vision pour une réécriture totale de MacOS. Vous pouvez voir où l'acquisition de NeXT allait changer cela (apportant Steve Jobs et NeXTstep) qui est devenu OS X. Maintenant Microsoft était dépassé !

0 votes

Ce projet était en cours d'élaboration, mais une décision politique a été prise de suivre une autre voie. N'oubliez pas que l'iPhone original ne pouvait exécuter qu'une seule application à la fois. Les applications multiples et l'arrière-plan sont apparus plus tard, lorsque le matériel est devenu beaucoup plus puissant.

0 votes

Il y a une différence significative entre "exécuter un processus à la fois" et "exécuter une application à la fois". iOS est basé sur MacOS, il a toujours eu la capacité d'exécuter des processus en arrière-plan. Ce qui est venu plus tard, c'est la possibilité pour les applications de continuer à fonctionner (de manière contrôlée) sans être l'application visible.

29voto

nohillside Points 82672

Il existe plusieurs façons de mettre en œuvre le multitâche :

  • coopérative où les processus cèdent volontairement le contrôle périodiquement ou lorsqu'ils sont inactifs ou logiquement bloqués. Ce type de multitâche est appelé coopératif car tous les programmes doivent coopérer pour que le schéma d'ordonnancement fonctionne.
  • préemptif où le système d'exploitation (ou son composant ordonnanceur) passe activement d'un processus à l'autre.

Les versions de MacOS antérieures à OSX ne supportaient que le multitâche en coopération. Donc oui, il était possible d'exécuter plusieurs applications à la fois, mais elles devaient se "comporter" et céder le contrôle aux autres. De plus, comme Gnasher729 y Mark mentionné dans les commentaires, le multitâche coopératif entre des applications complètes était possible avec Commutateur et à partir de 1987 avec MultiFinder Avant cela, le multitâche coopératif était limité aux "accessoires de bureau", un type d'application légère qui se greffait sur l'application en cours d'exécution.

5 votes

Pour un peu d'histoire, le multitâche coopératif entre applications complètes est apparu en 1987 avec le programme MultiFinder Avant cela, le multitâche coopératif était limité aux "accessoires de bureau", un type d'application légère qui se greffait sur l'application en cours d'exécution.

3 votes

Pour plus d'histoire, avant MultiFinder il y avait "Switcher", une application qui vous permettait de sélectionner quatre applications et de passer de l'une à l'autre. Même principe que multifinder.

1 votes

Il est _OS X_ pas OSX .

13voto

jaume Points 13186

Les Macs de 1997 pouvaient-ils vraiment n'exécuter qu'un seul programme à la fois ? Je me souviens très bien avoir exécuté plusieurs programmes à la fois sous Windows 3.1.

Eh bien, oui et non.

A vraiment exécuter plusieurs programmes à la fois, vous devez exécution parallèle ce qui nécessite un processeur multi-core ou plus d'un processeur. En 1997, les processeurs pris en charge par Mac OS (et Windows 3.1) étaient mono-cœur, et ne pouvaient donc exécuter qu'un seul programme à la fois. Donc non.

Mais Mac OS et Windows 3.1 utilisaient tous deux une astuce appelée multitâche pour partager le temps processeur entre les programmes d'une manière qui donne à l'utilisateur l'illusion qu'ils fonctionnent simultanément. Donc oui.

Malheureusement, il s'agissait d'un type primitif de multitâche, appelé le multitâche coopératif Les programmes devaient attendre que le programme en cours d'exécution abandonne volontairement le contrôle du processeur, de la même manière qu'il faut attendre que quelqu'un quitte un restaurant bondé pour obtenir une table.

De plus, avec le multitâche coopératif, si le programme en cours d'exécution se plante, le système d'exploitation se plante généralement aussi, car il n'a aucun moyen de reprendre le contrôle du processeur.

BeOS (et Windows 95) ont changé cela : ils sont passés à multitâche préemptif Dans ce cas, le système d'exploitation exécute un planificateur et partage les ressources du processeur entre les programmes, en leur accordant un certain temps d'exécution. Lorsque le temps est écoulé, un autre programme obtient une tranche de temps à exécuter. C'est similaire à une variante du jeu d'échecs qui limite le temps d'exécution. par coup : vous n'avez que peu de temps pour agir.

Tous les systèmes d'exploitation modernes pour serveurs et ordinateurs de bureau utilisent le multitâche préemptif. Apple a introduit le multitâche préemptif en 1997/1998 avec Rhapsody (le système d'exploitation de nouvelle génération qui allait évoluer vers Mac OS X), et l'a mis à la disposition de sa clientèle principale en 2001 avec Mac OS X 10.0 (Cheetah).

9 votes

Re "Pour vraiment exécuter plusieurs programmes à la fois, vous avez besoin d'un processeur multi-core". Non, vous pouvez le faire avec un processeur à un seul cœur.

1 votes

Aujourd'hui, nous considérons les processeurs multicœurs comme allant de soi. En 1997, il était plus probable que la carte mère (carte logique) ait deux processeurs individuels ou qu'il y ait un rack où des unités avec des processeurs individuels pouvaient exister.

9 votes

Le multitâche préemptif était utilisé par Unix et les ordinateurs centraux bien avant BeOS et Windows.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X