Le 07-10-2004, Dominique Vaufreydaz
a écrit :
> Qu'entends-tu par legerete des processus ???
Tel que je vois la chose, les threads n'existant pas sous unix et ses
variantes (jusqu'à l'apparition récente des pthreads) et fork() étant
*la* méthode pour créer des serveurs, cette technique a été très vite
optimisée. Un fork() sous unix est donc "léger" dans le sens où d'une
part la création de forks() est rapide et dans le sens où
l'ordonnanceur est efficace car optimisé dès le début pour un grand
nombre de processus.
Sous Windows au contraire l'existence des threads a probablement fait
que c'est cette méthode qui a été privilégiée (peut-être au détriment
des processus). La création de processus est plus lente et c'est pour
cela qu'utiliser des threads est *la* méthode de choix pour effectuer
des traitements en parallèle sous Windows. Et l'ordonnanceur est
efficace car optimisé dès le début pour un grand nombre de threads.
Pour faire des essais il n'y a qu'à écrire un serveur basique, 1
fork() par connexion sous unix et 1 *processus* par connexion sous
windows, et regarder le résultat.
Le 07-10-2004, Dominique Vaufreydaz
<Dominique-Doms.Vaufreydaz@imag.fr> a écrit :
> Qu'entends-tu par legerete des processus ???
Tel que je vois la chose, les threads n'existant pas sous unix et ses
variantes (jusqu'à l'apparition récente des pthreads) et fork() étant
*la* méthode pour créer des serveurs, cette technique a été très vite
optimisée. Un fork() sous unix est donc "léger" dans le sens où d'une
part la création de forks() est rapide et dans le sens où
l'ordonnanceur est efficace car optimisé dès le début pour un grand
nombre de processus.
Sous Windows au contraire l'existence des threads a probablement fait
que c'est cette méthode qui a été privilégiée (peut-être au détriment
des processus). La création de processus est plus lente et c'est pour
cela qu'utiliser des threads est *la* méthode de choix pour effectuer
des traitements en parallèle sous Windows. Et l'ordonnanceur est
efficace car optimisé dès le début pour un grand nombre de threads.
Pour faire des essais il n'y a qu'à écrire un serveur basique, 1
fork() par connexion sous unix et 1 *processus* par connexion sous
windows, et regarder le résultat.
Le 07-10-2004, Dominique Vaufreydaz
a écrit :
> Qu'entends-tu par legerete des processus ???
Tel que je vois la chose, les threads n'existant pas sous unix et ses
variantes (jusqu'à l'apparition récente des pthreads) et fork() étant
*la* méthode pour créer des serveurs, cette technique a été très vite
optimisée. Un fork() sous unix est donc "léger" dans le sens où d'une
part la création de forks() est rapide et dans le sens où
l'ordonnanceur est efficace car optimisé dès le début pour un grand
nombre de processus.
Sous Windows au contraire l'existence des threads a probablement fait
que c'est cette méthode qui a été privilégiée (peut-être au détriment
des processus). La création de processus est plus lente et c'est pour
cela qu'utiliser des threads est *la* méthode de choix pour effectuer
des traitements en parallèle sous Windows. Et l'ordonnanceur est
efficace car optimisé dès le début pour un grand nombre de threads.
Pour faire des essais il n'y a qu'à écrire un serveur basique, 1
fork() par connexion sous unix et 1 *processus* par connexion sous
windows, et regarder le résultat.
Cyrille Szymanski wrote in message
Ensuite, sans même parler des magouilles d'optimisation,
l'ordonnanceur a plus de boulot à faire pour passer d'un thread à un
autre thread du même processus que d'un processus à l'autre:
- Dans le 1er cas, il "suffit" de mettre à jour l'ensemble des
registres de travail du processeur et le pointeur d'instructions (EIP
sur un x86).
- Dans le 2ème cas, il faut en plus remettre à jour toutes les tables
de mapping entre addresses logiques et addresses physiques (le
registre CR3 sur les X86), mais surtout, comme on change d'espace
d'adressage virtuel, il y a beaucoup plus de chances d'avoir un grand
nombre de fautes de pages par la suite, avec nécessité de swapper de
la mémoire sur disque.
C'est surtout que l'ordonnanceur ne *connait pas* la notion de
processus. L'ordonnanceur est une des fonctionnalités du noyau
(kernel), alors que la notion d'espace d'adressage virtuel, de
protection mémoire et de processus est implémentée dans l'executive,
au dessus du kernel.
Cyrille Szymanski <cns2@cns.invalid> wrote in message
Ensuite, sans même parler des magouilles d'optimisation,
l'ordonnanceur a plus de boulot à faire pour passer d'un thread à un
autre thread du même processus que d'un processus à l'autre:
- Dans le 1er cas, il "suffit" de mettre à jour l'ensemble des
registres de travail du processeur et le pointeur d'instructions (EIP
sur un x86).
- Dans le 2ème cas, il faut en plus remettre à jour toutes les tables
de mapping entre addresses logiques et addresses physiques (le
registre CR3 sur les X86), mais surtout, comme on change d'espace
d'adressage virtuel, il y a beaucoup plus de chances d'avoir un grand
nombre de fautes de pages par la suite, avec nécessité de swapper de
la mémoire sur disque.
C'est surtout que l'ordonnanceur ne *connait pas* la notion de
processus. L'ordonnanceur est une des fonctionnalités du noyau
(kernel), alors que la notion d'espace d'adressage virtuel, de
protection mémoire et de processus est implémentée dans l'executive,
au dessus du kernel.
Cyrille Szymanski wrote in message
Ensuite, sans même parler des magouilles d'optimisation,
l'ordonnanceur a plus de boulot à faire pour passer d'un thread à un
autre thread du même processus que d'un processus à l'autre:
- Dans le 1er cas, il "suffit" de mettre à jour l'ensemble des
registres de travail du processeur et le pointeur d'instructions (EIP
sur un x86).
- Dans le 2ème cas, il faut en plus remettre à jour toutes les tables
de mapping entre addresses logiques et addresses physiques (le
registre CR3 sur les X86), mais surtout, comme on change d'espace
d'adressage virtuel, il y a beaucoup plus de chances d'avoir un grand
nombre de fautes de pages par la suite, avec nécessité de swapper de
la mémoire sur disque.
C'est surtout que l'ordonnanceur ne *connait pas* la notion de
processus. L'ordonnanceur est une des fonctionnalités du noyau
(kernel), alors que la notion d'espace d'adressage virtuel, de
protection mémoire et de processus est implémentée dans l'executive,
au dessus du kernel.
Tu parles d'optimisation et d'efficacité, autant d'éléments qui sont
spécifiques à chaque implémentation d'Unix, donc il est difficile de
parler "dans l'absolu".
Et d'autre part il y a une quantité d'unix différents et ce qui est
vrai pour l'un ne l'est pas forcément pour un autre - pour ne citer
qu'un exemple, les ordonnanceurs n'ont rien à voir entre eux,
Ensuite, sans même parler des magouilles d'optimisation,
l'ordonnanceur a plus de boulot à faire pour passer d'un thread à un
autre thread du même processus que d'un processus à l'autre:
Pour faire des essais il n'y a qu'à écrire un serveur basique, 1
fork() par connexion sous unix et 1 *processus* par connexion sous
windows, et regarder le résultat.
Regarder quel résultat? Mesurer les temps d'execution? Il y a
tellement d'autres paramètres qui rendent en compte que ca ne veut
pas dire grand chose comme comparaison (à part que telle solution
est plus efficace au global que telle autre dans telles conditions).
Tu parles d'optimisation et d'efficacité, autant d'éléments qui sont
spécifiques à chaque implémentation d'Unix, donc il est difficile de
parler "dans l'absolu".
Et d'autre part il y a une quantité d'unix différents et ce qui est
vrai pour l'un ne l'est pas forcément pour un autre - pour ne citer
qu'un exemple, les ordonnanceurs n'ont rien à voir entre eux,
Ensuite, sans même parler des magouilles d'optimisation,
l'ordonnanceur a plus de boulot à faire pour passer d'un thread à un
autre thread du même processus que d'un processus à l'autre:
Pour faire des essais il n'y a qu'à écrire un serveur basique, 1
fork() par connexion sous unix et 1 *processus* par connexion sous
windows, et regarder le résultat.
Regarder quel résultat? Mesurer les temps d'execution? Il y a
tellement d'autres paramètres qui rendent en compte que ca ne veut
pas dire grand chose comme comparaison (à part que telle solution
est plus efficace au global que telle autre dans telles conditions).
Tu parles d'optimisation et d'efficacité, autant d'éléments qui sont
spécifiques à chaque implémentation d'Unix, donc il est difficile de
parler "dans l'absolu".
Et d'autre part il y a une quantité d'unix différents et ce qui est
vrai pour l'un ne l'est pas forcément pour un autre - pour ne citer
qu'un exemple, les ordonnanceurs n'ont rien à voir entre eux,
Ensuite, sans même parler des magouilles d'optimisation,
l'ordonnanceur a plus de boulot à faire pour passer d'un thread à un
autre thread du même processus que d'un processus à l'autre:
Pour faire des essais il n'y a qu'à écrire un serveur basique, 1
fork() par connexion sous unix et 1 *processus* par connexion sous
windows, et regarder le résultat.
Regarder quel résultat? Mesurer les temps d'execution? Il y a
tellement d'autres paramètres qui rendent en compte que ca ne veut
pas dire grand chose comme comparaison (à part que telle solution
est plus efficace au global que telle autre dans telles conditions).
Unix et cie sont bien plus vieux que Windows.
Tiens donc ! Que je sache, je peux utiliser plusieurs applications en même
temps, c'est donc bien multi-tâches. Et puis, tant que tu n'as qu'un
processeur...
Unix et cie sont bien plus vieux que Windows.
Tiens donc ! Que je sache, je peux utiliser plusieurs applications en même
temps, c'est donc bien multi-tâches. Et puis, tant que tu n'as qu'un
processeur...
Unix et cie sont bien plus vieux que Windows.
Tiens donc ! Que je sache, je peux utiliser plusieurs applications en même
temps, c'est donc bien multi-tâches. Et puis, tant que tu n'as qu'un
processeur...
"AMcD®" a écritUnix et cie sont bien plus vieux que Windows.
Bien sûr ! Vous souvenez-vous de Multics ? Ce fut le premier à
manipuler le MMU et la mémoire protégée. Unix a été écrit par de
pauvres gens qui n'avaient pas les moyens d'acheter un dispendieux
Multics. Je crois que vous seriez plus à même que moi d'en raconter
l'histoire.
Ce que je voulais dire c'est que Windows doit rester le plus
compatible possible dans ses diverses versions et traîne quelques
boulets. Ce n'est pas une critique du tout.
Tiens donc ! Que je sache, je peux utiliser plusieurs applications
en même temps, c'est donc bien multi-tâches. Et puis, tant que tu
n'as qu'un processeur...
Oui. Il faudrait aussi s'entendre sur le vocabulaire.
Depuis W9x a su faire ainsi que NT (qui a hérité du savoir faire
d'équipes provenant de l'excellent VMS si j'ai bonne mémoire ?).
Je
vous laisse la parole pour expliquer clairement (je flatte, je flatte
...) qu'une tâche n'est pas un problème de multi-processeurs.
Windows et Linux s'occupent d'ordinateur personnel, avec un seul
utilisateur donc.
Un OS comme UNIX se doit de permettre à plusieurs utilisateurs
simultanés de lancer des programmes qui peuvent eux-mêmes se dérouler
en plusieurs tâches.
Ca vous rappelle des souvenirs ?
"AMcD®" <arnold.mcdonald@free.fr> a écrit
Unix et cie sont bien plus vieux que Windows.
Bien sûr ! Vous souvenez-vous de Multics ? Ce fut le premier à
manipuler le MMU et la mémoire protégée. Unix a été écrit par de
pauvres gens qui n'avaient pas les moyens d'acheter un dispendieux
Multics. Je crois que vous seriez plus à même que moi d'en raconter
l'histoire.
Ce que je voulais dire c'est que Windows doit rester le plus
compatible possible dans ses diverses versions et traîne quelques
boulets. Ce n'est pas une critique du tout.
Tiens donc ! Que je sache, je peux utiliser plusieurs applications
en même temps, c'est donc bien multi-tâches. Et puis, tant que tu
n'as qu'un processeur...
Oui. Il faudrait aussi s'entendre sur le vocabulaire.
Depuis W9x a su faire ainsi que NT (qui a hérité du savoir faire
d'équipes provenant de l'excellent VMS si j'ai bonne mémoire ?).
Je
vous laisse la parole pour expliquer clairement (je flatte, je flatte
...) qu'une tâche n'est pas un problème de multi-processeurs.
Windows et Linux s'occupent d'ordinateur personnel, avec un seul
utilisateur donc.
Un OS comme UNIX se doit de permettre à plusieurs utilisateurs
simultanés de lancer des programmes qui peuvent eux-mêmes se dérouler
en plusieurs tâches.
Ca vous rappelle des souvenirs ?
"AMcD®" a écritUnix et cie sont bien plus vieux que Windows.
Bien sûr ! Vous souvenez-vous de Multics ? Ce fut le premier à
manipuler le MMU et la mémoire protégée. Unix a été écrit par de
pauvres gens qui n'avaient pas les moyens d'acheter un dispendieux
Multics. Je crois que vous seriez plus à même que moi d'en raconter
l'histoire.
Ce que je voulais dire c'est que Windows doit rester le plus
compatible possible dans ses diverses versions et traîne quelques
boulets. Ce n'est pas une critique du tout.
Tiens donc ! Que je sache, je peux utiliser plusieurs applications
en même temps, c'est donc bien multi-tâches. Et puis, tant que tu
n'as qu'un processeur...
Oui. Il faudrait aussi s'entendre sur le vocabulaire.
Depuis W9x a su faire ainsi que NT (qui a hérité du savoir faire
d'équipes provenant de l'excellent VMS si j'ai bonne mémoire ?).
Je
vous laisse la parole pour expliquer clairement (je flatte, je flatte
...) qu'une tâche n'est pas un problème de multi-processeurs.
Windows et Linux s'occupent d'ordinateur personnel, avec un seul
utilisateur donc.
Un OS comme UNIX se doit de permettre à plusieurs utilisateurs
simultanés de lancer des programmes qui peuvent eux-mêmes se dérouler
en plusieurs tâches.
Ca vous rappelle des souvenirs ?
Yalbrieux wrote:"AMcD®" a écritUnix et cie sont bien plus vieux que Windows.Bien sûr ! Vous souvenez-vous de Multics ? Ce fut le premier à
manipuler le MMU et la mémoire protégée. Unix a été écrit par de
pauvres gens qui n'avaient pas les moyens d'acheter un dispendieux
Multics. Je crois que vous seriez plus à même que moi d'en raconter
l'histoire.
Je ne pense pas que cela ait un quelconque rapport avec l'argent. C'est
surtout parce que MULTICS était trop lourd, ramait un max et que le projet
traînait en longueur qu'en 1969 BELL lâcha MULTICS pour GECOS7, après 4 ans
de developpement (ou 5 pour ceux qui basent le début de MULTICS en 1964). Il
te faut savoir que Thompson faisait partie du projet MULTICS. Or, comme dit
la légende, il voulait faire fonctionner un de ses anciens jeux sur les
nouvelles machines sur lesquelles il bossait en 1969, un DEC PDP-7, et
réécrivit donc un OS basé sur son ancien MULTICS. Au début, un truc très
petit, léger et même mon-utilisateur :-). Il choisit le mot UNIX pour faire
un calembour sur MULTICS. MULTICS signifiat MULTiplexed Information and
Computing Service, son nouveau système était conçu par "modules" effectuant
UNE seule "tâche" (dans le sens de service système) à la fois, d'où le terme
UNICS, changé plus tard en UNIX. Comme tu peux le voir, il se souciait bien
peu de savoir à l'époque de qui aller ou non l'utiliser, ou de question
financière, vu qu'il n'y pensait même pas ! Tu sais, l'informatique en 1969
était loin de se douter qu'on jouerait a QUAKEIII en réseau en 16M couleurs
30 ans plus tard...
Bref, UNIX est une version simplifiée et modulaire du tas de boue MULTICS,
un calembour et a été démarré pour des besoins persos. Rien à voir avec
l'argent...
Note au passage, que les Linuxiens, gens qui aiment réécrire l'histoire, qui
ont tout vu et connaissent tout, disent que UNIX est un jeu de mot sur
"eunuch" (eunuque), puisque UNIX est une version "castrée" de MULTICS en
quelque sorte. Du grand n'importe quoi, mais bon, si je devais digresser sur
le n'importe quoi chez les Linuxiens, on reviendrait aux trolls de 200
message dignes de ma grande époque ici :-).Ce que je voulais dire c'est que Windows doit rester le plus
compatible possible dans ses diverses versions et traîne quelques
boulets. Ce n'est pas une critique du tout.
Moi si, je critique. C'est comme les processeurs et le mode V86, toujours
implémenté et parfaitement inutile. Mais bon...Tiens donc ! Que je sache, je peux utiliser plusieurs applications
en même temps, c'est donc bien multi-tâches. Et puis, tant que tu
n'as qu'un processeur...Oui. Il faudrait aussi s'entendre sur le vocabulaire.
Exactement.Depuis W9x a su faire ainsi que NT (qui a hérité du savoir faire
d'équipes provenant de l'excellent VMS si j'ai bonne mémoire ?).
D'où la légende que si NT était fiable c'est parce que il est issu de VMS.
Du grand n'importe quoi là aussi. Évidemment que des concepts éprouvés de
VMS ont été utilisés, pourquoi se passer de choses qui fonctionnent ? Au
passage, ce ne sont pas "des" équipes, mais quelques membres, dont le
monumental Dave Cutler, qui rejoignit Kro en 1988 pour devenir chef du
developpement de NT avec je ne sais plus qui (désolé, trou de mémoire).Je
vous laisse la parole pour expliquer clairement (je flatte, je flatte
...) qu'une tâche n'est pas un problème de multi-processeurs.
Windows et Linux s'occupent d'ordinateur personnel, avec un seul
utilisateur donc.
Oui, enfin, tu peux aussi avoir un serveur sous NT ou Linux hein :-). Quand
tu délivres des milleirs de requêtes par minute à 10 clients, moi, j'appelle
ça du multi-utilisateur...Un OS comme UNIX se doit de permettre à plusieurs utilisateurs
simultanés de lancer des programmes qui peuvent eux-mêmes se dérouler
en plusieurs tâches.
???Ca vous rappelle des souvenirs ?
Tu sais, je n'étais même pas né quand Thompson codait MULTICS hein...
Yalbrieux wrote:
"AMcD®" <arnold.mcdonald@free.fr> a écrit
Unix et cie sont bien plus vieux que Windows.
Bien sûr ! Vous souvenez-vous de Multics ? Ce fut le premier à
manipuler le MMU et la mémoire protégée. Unix a été écrit par de
pauvres gens qui n'avaient pas les moyens d'acheter un dispendieux
Multics. Je crois que vous seriez plus à même que moi d'en raconter
l'histoire.
Je ne pense pas que cela ait un quelconque rapport avec l'argent. C'est
surtout parce que MULTICS était trop lourd, ramait un max et que le projet
traînait en longueur qu'en 1969 BELL lâcha MULTICS pour GECOS7, après 4 ans
de developpement (ou 5 pour ceux qui basent le début de MULTICS en 1964). Il
te faut savoir que Thompson faisait partie du projet MULTICS. Or, comme dit
la légende, il voulait faire fonctionner un de ses anciens jeux sur les
nouvelles machines sur lesquelles il bossait en 1969, un DEC PDP-7, et
réécrivit donc un OS basé sur son ancien MULTICS. Au début, un truc très
petit, léger et même mon-utilisateur :-). Il choisit le mot UNIX pour faire
un calembour sur MULTICS. MULTICS signifiat MULTiplexed Information and
Computing Service, son nouveau système était conçu par "modules" effectuant
UNE seule "tâche" (dans le sens de service système) à la fois, d'où le terme
UNICS, changé plus tard en UNIX. Comme tu peux le voir, il se souciait bien
peu de savoir à l'époque de qui aller ou non l'utiliser, ou de question
financière, vu qu'il n'y pensait même pas ! Tu sais, l'informatique en 1969
était loin de se douter qu'on jouerait a QUAKEIII en réseau en 16M couleurs
30 ans plus tard...
Bref, UNIX est une version simplifiée et modulaire du tas de boue MULTICS,
un calembour et a été démarré pour des besoins persos. Rien à voir avec
l'argent...
Note au passage, que les Linuxiens, gens qui aiment réécrire l'histoire, qui
ont tout vu et connaissent tout, disent que UNIX est un jeu de mot sur
"eunuch" (eunuque), puisque UNIX est une version "castrée" de MULTICS en
quelque sorte. Du grand n'importe quoi, mais bon, si je devais digresser sur
le n'importe quoi chez les Linuxiens, on reviendrait aux trolls de 200
message dignes de ma grande époque ici :-).
Ce que je voulais dire c'est que Windows doit rester le plus
compatible possible dans ses diverses versions et traîne quelques
boulets. Ce n'est pas une critique du tout.
Moi si, je critique. C'est comme les processeurs et le mode V86, toujours
implémenté et parfaitement inutile. Mais bon...
Tiens donc ! Que je sache, je peux utiliser plusieurs applications
en même temps, c'est donc bien multi-tâches. Et puis, tant que tu
n'as qu'un processeur...
Oui. Il faudrait aussi s'entendre sur le vocabulaire.
Exactement.
Depuis W9x a su faire ainsi que NT (qui a hérité du savoir faire
d'équipes provenant de l'excellent VMS si j'ai bonne mémoire ?).
D'où la légende que si NT était fiable c'est parce que il est issu de VMS.
Du grand n'importe quoi là aussi. Évidemment que des concepts éprouvés de
VMS ont été utilisés, pourquoi se passer de choses qui fonctionnent ? Au
passage, ce ne sont pas "des" équipes, mais quelques membres, dont le
monumental Dave Cutler, qui rejoignit Kro en 1988 pour devenir chef du
developpement de NT avec je ne sais plus qui (désolé, trou de mémoire).
Je
vous laisse la parole pour expliquer clairement (je flatte, je flatte
...) qu'une tâche n'est pas un problème de multi-processeurs.
Windows et Linux s'occupent d'ordinateur personnel, avec un seul
utilisateur donc.
Oui, enfin, tu peux aussi avoir un serveur sous NT ou Linux hein :-). Quand
tu délivres des milleirs de requêtes par minute à 10 clients, moi, j'appelle
ça du multi-utilisateur...
Un OS comme UNIX se doit de permettre à plusieurs utilisateurs
simultanés de lancer des programmes qui peuvent eux-mêmes se dérouler
en plusieurs tâches.
???
Ca vous rappelle des souvenirs ?
Tu sais, je n'étais même pas né quand Thompson codait MULTICS hein...
Yalbrieux wrote:"AMcD®" a écritUnix et cie sont bien plus vieux que Windows.Bien sûr ! Vous souvenez-vous de Multics ? Ce fut le premier à
manipuler le MMU et la mémoire protégée. Unix a été écrit par de
pauvres gens qui n'avaient pas les moyens d'acheter un dispendieux
Multics. Je crois que vous seriez plus à même que moi d'en raconter
l'histoire.
Je ne pense pas que cela ait un quelconque rapport avec l'argent. C'est
surtout parce que MULTICS était trop lourd, ramait un max et que le projet
traînait en longueur qu'en 1969 BELL lâcha MULTICS pour GECOS7, après 4 ans
de developpement (ou 5 pour ceux qui basent le début de MULTICS en 1964). Il
te faut savoir que Thompson faisait partie du projet MULTICS. Or, comme dit
la légende, il voulait faire fonctionner un de ses anciens jeux sur les
nouvelles machines sur lesquelles il bossait en 1969, un DEC PDP-7, et
réécrivit donc un OS basé sur son ancien MULTICS. Au début, un truc très
petit, léger et même mon-utilisateur :-). Il choisit le mot UNIX pour faire
un calembour sur MULTICS. MULTICS signifiat MULTiplexed Information and
Computing Service, son nouveau système était conçu par "modules" effectuant
UNE seule "tâche" (dans le sens de service système) à la fois, d'où le terme
UNICS, changé plus tard en UNIX. Comme tu peux le voir, il se souciait bien
peu de savoir à l'époque de qui aller ou non l'utiliser, ou de question
financière, vu qu'il n'y pensait même pas ! Tu sais, l'informatique en 1969
était loin de se douter qu'on jouerait a QUAKEIII en réseau en 16M couleurs
30 ans plus tard...
Bref, UNIX est une version simplifiée et modulaire du tas de boue MULTICS,
un calembour et a été démarré pour des besoins persos. Rien à voir avec
l'argent...
Note au passage, que les Linuxiens, gens qui aiment réécrire l'histoire, qui
ont tout vu et connaissent tout, disent que UNIX est un jeu de mot sur
"eunuch" (eunuque), puisque UNIX est une version "castrée" de MULTICS en
quelque sorte. Du grand n'importe quoi, mais bon, si je devais digresser sur
le n'importe quoi chez les Linuxiens, on reviendrait aux trolls de 200
message dignes de ma grande époque ici :-).Ce que je voulais dire c'est que Windows doit rester le plus
compatible possible dans ses diverses versions et traîne quelques
boulets. Ce n'est pas une critique du tout.
Moi si, je critique. C'est comme les processeurs et le mode V86, toujours
implémenté et parfaitement inutile. Mais bon...Tiens donc ! Que je sache, je peux utiliser plusieurs applications
en même temps, c'est donc bien multi-tâches. Et puis, tant que tu
n'as qu'un processeur...Oui. Il faudrait aussi s'entendre sur le vocabulaire.
Exactement.Depuis W9x a su faire ainsi que NT (qui a hérité du savoir faire
d'équipes provenant de l'excellent VMS si j'ai bonne mémoire ?).
D'où la légende que si NT était fiable c'est parce que il est issu de VMS.
Du grand n'importe quoi là aussi. Évidemment que des concepts éprouvés de
VMS ont été utilisés, pourquoi se passer de choses qui fonctionnent ? Au
passage, ce ne sont pas "des" équipes, mais quelques membres, dont le
monumental Dave Cutler, qui rejoignit Kro en 1988 pour devenir chef du
developpement de NT avec je ne sais plus qui (désolé, trou de mémoire).Je
vous laisse la parole pour expliquer clairement (je flatte, je flatte
...) qu'une tâche n'est pas un problème de multi-processeurs.
Windows et Linux s'occupent d'ordinateur personnel, avec un seul
utilisateur donc.
Oui, enfin, tu peux aussi avoir un serveur sous NT ou Linux hein :-). Quand
tu délivres des milleirs de requêtes par minute à 10 clients, moi, j'appelle
ça du multi-utilisateur...Un OS comme UNIX se doit de permettre à plusieurs utilisateurs
simultanés de lancer des programmes qui peuvent eux-mêmes se dérouler
en plusieurs tâches.
???Ca vous rappelle des souvenirs ?
Tu sais, je n'étais même pas né quand Thompson codait MULTICS hein...
L'abandon de Multics (chu *inconsolable*)
est peut être dû à une question pépettes (flower?).
Il ramait car les utilisateurs de Lisp (notamment) consommaient
un max de ressources.
L'abandon de Multics (chu *inconsolable*)
est peut être dû à une question pépettes (flower?).
Il ramait car les utilisateurs de Lisp (notamment) consommaient
un max de ressources.
L'abandon de Multics (chu *inconsolable*)
est peut être dû à une question pépettes (flower?).
Il ramait car les utilisateurs de Lisp (notamment) consommaient
un max de ressources.
> Quelqu'un pourrait-il me dire la pertinence de la présence des
EnterCriticalSection pour ce bout de code, dans la mesure où je ne crois
pas
que l'on exploite des données communes à tous les threads mais un id du
thread concerné que l'on imprime à l'écran.
> Quelqu'un pourrait-il me dire la pertinence de la présence des
EnterCriticalSection pour ce bout de code, dans la mesure où je ne crois
pas
que l'on exploite des données communes à tous les threads mais un id du
thread concerné que l'on imprime à l'écran.
> Quelqu'un pourrait-il me dire la pertinence de la présence des
EnterCriticalSection pour ce bout de code, dans la mesure où je ne crois
pas
que l'on exploite des données communes à tous les threads mais un id du
thread concerné que l'on imprime à l'écran.
> Pas de fork sous windows.
> Pas de fork sous windows.
> Pas de fork sous windows.
Pas de fork sous windows.
N'est-ce pas plutôt pas de fork sous Win32 ? Il me semble que le
kernel NT supporte le fork et que c'est utilisé par le sous système
POSIX et Interix (ce qui le distingue de Cygwin qui l'émule en user
mode).
Pas de fork sous windows.
N'est-ce pas plutôt pas de fork sous Win32 ? Il me semble que le
kernel NT supporte le fork et que c'est utilisé par le sous système
POSIX et Interix (ce qui le distingue de Cygwin qui l'émule en user
mode).
Pas de fork sous windows.
N'est-ce pas plutôt pas de fork sous Win32 ? Il me semble que le
kernel NT supporte le fork et que c'est utilisé par le sous système
POSIX et Interix (ce qui le distingue de Cygwin qui l'émule en user
mode).