Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

fonction fork() sous windows...

49 réponses
Avatar
Nicolas ROBERT
Bonjour,


J'aimerais utiliser la fonction fork() dans le cadre de l'optimisation d'un
serveur TCP en C/C++.
J'ai trouvé plusieurs exemples sur internet, utilisant cette fonction en
incluant les header suivants:
unistd.h et sys/types.h

Je développe sous VC++ 6, et mon environnenment ne contient pas unistd.h
d'une part, et la fonction n'est pas déclarée dans sys/types.h d'autre part.
Quelqu'un aurait-il déjà fait fonctionner cette fonction dasn un
environnement similaire ? Si oui, j'aimerais beaucoup avoir des infos sur le
fonctionnement, et éventuellement pouvoir récupérer le fichier unistd.h.

J'ai l'impression que cette fonction est plus usitée dans un environnement
unix, mais je n'ai rien vu qui contre-indiquait son utilisation sous
windows...

Cdt
Nicolas ROBERT

9 réponses

1 2 3 4 5
Avatar
Jack
Le 18/10/2004 15:35, :

Jack wrote:

Tiens donc ! Incomplètes sans doute. Fausses, où ça ? Je suis toute
ouïes...






1-Disponibilité,




Détaille, please.


2-Pepettes Honeywell voulait vendre




Ça mon gars, j'en sais rien ! J'étais pas né en 1965 tu sais. Je n'ai pas
bossé chez Honeywell non plus. Si t'as une source fiable à ce sujet, je veux
bien la lire.


Si vous aviez l'amabilité de répondre aux quelques questions
transmises et ne pas supprimer vos avis éclairés, ce serait
constructif.




Désolé, j'ai un peu zappé. Tu sais, si je devais répondre à toutes les
questions qu'on me pose ici, par mail, etc. je passerai ma vie sur le Net...


Quel serait l'OS, qui, trouvant grâce à vos yeux, serait un océan de
limpidité (je suis un peu comme St Thomas).




Aucun. Mais tout dépend ce que tu sous-entend par le terme "limpidité".


Vous croyez à la phylanthropie?




Oui. Je cherche d'ailleurs un généreux mécène pour mon cas personnel.


Quels étaient les fournisseurs qui proposait Lisp en environnement
Multi-utilisateurs?




En quelle année ? LISP date du tout début des années 1960


1958
. À l'époque il y > avait les IBM70xx
Zont pas persisté chez IBM >197X donc trop tard pour comparer.


, les PDP
Trop tôt et je ne suis pas sûr que sur PDP-11 (bonne bécane) il y ait eu
une implémentation.

, etc. Visiblement l'interprétation du LISP ne
s'est pas faite sans heurts :-) :

http://www-formal.stanford.edu/jmc/history/lisp/node5.html#SECTION00050000000000000000

Veux-tu me signifier que MULTICS est le premier à l'implémenter en
multi-users ? Tu sais, pour moi, c'est pas franchement quelque chose de
génial


Ce n'est pas mon avis


(avis perso hein). Tu fais quoi de beau en LISP, à part des projets
de fac ou de labos de recherches (hihihi, troll's coming) ?


Il est possible de faire (presque) tout ce qui est réalisable dans les
langages indispensables d'aujourd'hui.
Bah si tu connaissais...




[2] Dont les célèbres Ken Thompson et Dennis Ritchie.



Et je maintiens:
Des pompeurs!




Ricthie, sans doute. À la limite, tu peux dire qu'il s'est servi du B de
thompson pour créer son C, puisqu'il y a ajouté, par exemple les types de
données. Et que Thompson s'est servi du C pour réécrire Unix. Mais Thompson,
il a pompé quoi et sur qui ?




Excepté l'IHM et TCP/IP (apparus plus tard), quasi tous les produits mis
à disposition sur Unix ont été réalisés sur Multics auparavant.
Avatar
AMcD®
Jack wrote:
. À l'époque il y > avait les IBM70xx
Zont pas persisté chez IBM >197X donc trop tard pour comparer.


, les PDP
Trop tôt et je ne suis pas sûr que sur PDP-11 (bonne bécane) il y ait
eu une implémentation.



Que nous dis-tu là ? Si j'en juge divers documents, dont :

http://www.lisp.org/table/Lisp-History.html

Lisp a d'abord été implémenté sur un IBM 704, bien avant Multics hein...
Quand au fait que le PDP-11 soit une bonne machine, il y a 30 ans, sans
doute (comparé à aujourd'hui...). Pour ce qui est d'y avoir eu un Lisp
dessus, visiblement, oui :

http://www.village.org/pdp11/faq.pages/prglang.html

J'ai même trouvé une doc/tutoriel de 1975, mais j'ai pommé le lien :-(.

Veux-tu me signifier que MULTICS est le premier à l'implémenter en
multi-users ? Tu sais, pour moi, c'est pas franchement quelque chose
de génial





Ce n'est pas mon avis



Chacun le sien et je respecte le tien. Moi, j'ai galéré pendant mes études
avec ces langages à la con (oui, c'est mon avis), Lisp, Prolog et tuti
quanti. Avant d'écrire un driver ou un système d'exploitation avec ça, bon
courage. Oui, pour simuler des systèmes logiques, blabla, c'est bien. Des
trucs de Fac quoi.

Il est possible de faire (presque) tout ce qui est réalisable dans les
langages indispensables d'aujourd'hui.
Bah si tu connaissais...



Lisp, je n'en ai fait que quelques dizaines d'heures. Le seul truc qui m'a
interéssé là-dedans, c'est que c'était un truc tellement inutile et
absolument pas pratique, qu'au moins je savais qu'il n'y avait aucun intérêt
à m'accrocher et me passionner dessus et que je pouvais passer mon temps à
bosser autre chose :-). Franchement, vive le C, le C++, l'assembleur, voire
même le PHP ou le JAVA. Mais c'est mon avis. T'as déjà codé des gros trucs ?
Genre 150 k-lignes de code ou plus hein ? En Lisp, bon courage...

Excepté l'IHM et TCP/IP (apparus plus tard), quasi tous les produits
mis à disposition sur Unix ont été réalisés sur Multics auparavant.



Et alors, c'est quoi qui fait de Thompson un pompeur ? Multics, c'est
quasiment lui !

--
AMcD®

http://arnold.mcdonald.free.fr/
Avatar
Cyrille SZYMANSKI
On 2004-10-18, AMcD® wrote:
, les PDP Trop tôt et je ne suis pas sûr que sur PDP-11 (bonne bécane) il y
ait eu une implémentation.



Que nous dis-tu là ? Si j'en juge divers documents, dont :



il suffit... est-ce trop demander ?

Chacun le sien et je respecte le tien. Moi, j'ai galéré pendant mes études
avec ces langages à la con (oui, c'est mon avis), Lisp, Prolog et tuti
quanti. Avant d'écrire un driver ou un système d'exploitation avec ça, bon
courage.



Vous semblez oublier un peu rapidement que l'informatique n'est pas limitée au
développement de drivers et de sites Internet. De plus, qui a parlé de
développer un projet complet en Lisp ?

Lisp, je n'en ai fait que quelques dizaines d'heures. Le seul truc qui m'a
interéssé là-dedans, c'est que c'était un truc tellement inutile et
absolument pas pratique, qu'au moins je savais qu'il n'y avait aucun intérêt
à m'accrocher et me passionner dessus et que je pouvais passer mon temps à
bosser autre chose :-). Franchement, vive le C, le C++, l'assembleur, voire
même le PHP ou le JAVA. Mais c'est mon avis. T'as déjà codé des gros trucs ?
Genre 150 k-lignes de code ou plus hein ? En Lisp, bon courage...



Donc le Perl, le Python, le VB Script, le Batch etc. sont inutiles et ne
méritent pas d'exister car on ne peut pas développer de "gros trucs" avec. Oh
et puis tant qu'on y est les automates, le GRAFCET et les composants à logique
câblée aussi vu qu'ils ne fonctionnent pas avec des instructions assembleur.

Ah pardon c'était de l'auto-dérision. Au temps pour moi. Je viens de réaliser
que dans le contexte de fcomp ces messages sont totalement hors de propos.

Je serais ravi de continuer cette discussion, par mail :

--
Cyrille SZYMANSKI
Avatar
AMcD®
Cyrille SZYMANSKI wrote:

il suffit... est-ce trop demander ?



Quoi il suffit ?

Vous semblez oublier un peu rapidement que l'informatique n'est pas
limitée au développement de drivers et de sites Internet. De plus,
qui a parlé de développer un projet complet en Lisp ?



Mon interlocuteur me dit qu'il peut tout faire en Lisp. Je lui répond. Non,
on ne peut pas tout faire.

Donc le Perl, le Python, le VB Script, le Batch etc. sont inutiles et
ne méritent pas d'exister car on ne peut pas développer de "gros
trucs" avec. Oh et puis tant qu'on y est les automates, le GRAFCET et
les composants à logique câblée aussi vu qu'ils ne fonctionnent pas
avec des instructions assembleur.



Je n'ai jamais dit ça. C'est marrant ça, cette manie d'essayer d'essayer de
faire dire des choses, d'interpréter différemment les propos quand on est
pas d'accord avec quelqu'un. Mais puisque tu me poses une question, j'y
répond donc : oui, pour moi <- avis personnel donc, le Python, le Perl, le
Lisp, le Prolog, Scheme CAML et autres daubes (avis personnel toujours)
peuvent disparaître. Sans problème.

Je serais ravi de continuer cette discussion, par mail :



Pas moi. Il y a quelques années, quand tu me tutoyais (si, si rappelle-toi
bien de moi...), tu m'avais l'air bien plus sympatique, alors, je n'aurai
pas dit non. Là, ton ton "régenteur"/policier me gave (restons poli). T'as
qu'a me plonker.

--
AMcD®

http://arnold.mcdonald.free.fr/
Avatar
Jack
Le 18/10/2004 18:36, :
Jack wrote:

. À l'époque il y > avait les IBM70xx
Zont pas persisté chez IBM >197X donc trop tard pour comparer.


, les PDP
Trop tôt et je ne suis pas sûr que sur PDP-11 (bonne bécane) il y ait
eu une implémentation.




Que nous dis-tu là ? Si j'en juge divers documents, dont :

http://www.lisp.org/table/Lisp-History.html

Lisp a d'abord été implémenté sur un IBM 704,


Je n'ai pas écrit le contraire.

bien avant Multics hein...
Quand au fait que le PDP-11 soit une bonne machine, il y a 30 ans, sans
doute (comparé à aujourd'hui...).


Disponibilité, commercialisation!

Pour ce qui est d'y avoir eu un Lisp
dessus, visiblement, oui :

http://www.village.org/pdp11/faq.pages/prglang.html

J'ai même trouvé une doc/tutoriel de 1975, mais j'ai pommé le lien :-(.


Veux-tu me signifier que MULTICS est le premier à l'implémenter en
multi-users ? Tu sais, pour moi, c'est pas franchement quelque chose
de génial






Ce n'est pas mon avis




Chacun le sien et je respecte le tien. Moi, j'ai galéré pendant mes études
avec ces langages à la con (oui, c'est mon avis), Lisp, Prolog et tuti
quanti. Avant d'écrire un driver


Ce n'est pas fait pour ça.

ou un système d'exploitation avec ça, bon
courage. Oui, pour simuler des systèmes logiques, blabla, c'est bien. Des
trucs de Fac quoi.


Il existe des outils écrit en Lisp très puissants qui vous seraient
utiles pour développer.



Il est possible de faire (presque) tout ce qui est réalisable dans les
langages indispensables d'aujourd'hui.
Bah si tu connaissais...




Lisp, je n'en ai fait que quelques dizaines d'heures.


C'est surement pas assez.

Le seul truc qui m'a
interéssé là-dedans, c'est que c'était un truc tellement inutile et
absolument pas pratique, qu'au moins je savais qu'il n'y avait aucun intérêt
à m'accrocher et me passionner dessus et que je pouvais passer mon temps à
bosser autre chose :-).


C'est votre choix.

Franchement, vive le C, le C++, l'assembleur,
Le C c'est utile.
C++ (- clean) <> JAVA
Le client aurait encore besoin de programmer en assembleur! Quelle
architecture?
Assembleur => constructeur.


voire
même le PHP ou le JAVA.


Il faut comparer ce qui peut l'être. Leur pérennité est elle assurée?
Le libre c'est plus sûr.


Mais c'est mon avis. T'as déjà codé des gros trucs ?
Oui.

Genre 150 k-lignes de code ou plus hein ? En Lisp, bon courage...


Ce n'est pas le nombre de lignes qui fait la qualité!
En lisp c'est beaucoup moins.



Excepté l'IHM et TCP/IP (apparus plus tard), quasi tous les produits
mis à disposition sur Unix ont été réalisés sur Multics auparavant.




Et alors, c'est quoi qui fait de Thompson un pompeur ? Multics, c'est
quasiment lui !


Non! Une hirondelle fait le printemps?
Avatar
adebaene
"Aurélien REGAT-BARREL" wrote in message news:<4173b660$0$29501$...
> Donc, corrigez moi si je me trompe,
> l'avantage me semble être qu'elles soient moins gourmandes puisque,
> contrairement aux «Threads», elle ne nécéssite pas de passage en mode
> «noyau».

D'après ce que j'ai compris, il y a aussi l'avantage de maîtriser
l'ordonancement des fibres.

> Donc, je reprend la question, dans quels cas utilisez vous les «Fibers» et
> par extension, dans quels cas il ne faut surtout pas les employer ?

C'était un peu ma question : qui les a déjà utilisé et pour faire quoi ? En
fait j'ai pas bien pigé la différence avec le fait d'avoir des fonctions
qu'on appelle comme on veut. Car quelle est la différence entre switcher
d'une fiber à une autre et appeler une fonction à soi ?



Les fibers sont un système multi-tâche coopératif : c'est comme les
threads, sauf qu'il n' y a pas de scheduler qui interrompt la fiber en
cours d'execution au bout d'un quantum de temps. A la place, la fiber
doit elle même laisser la main aux autres fibers.

La différence avec un appel de fonction, c'est que quand tu appelles
une fonction, tu sais que tu continuera ton execution quand la
fonction sera terminée. Quand tu switches sur une aure fibre, tu n'as
aucune idée de quand tu reprendraq la main : ca dépend du bon vouloir
de la fibre qui va prendre le processeur.

Arnaud
Avatar
AMcD®
Jack wrote:

Disponibilité, commercialisation!



Perso, je n'ai vu de PDP-11 qu'en photo. Si j'en avais la possibilité,
j'aimerai bien en avoir un dans une collec privée que le manque de place
m'empêche de faire :-). Ça valit une somme sidérale à l'époque non ?

Ce n'est pas fait pour ça.



Il existe des outils écrit en Lisp très puissants qui vous seraient
utiles pour développer.



Je ne sais pas, je ne connais pas. Quel genre d'outils, des vérificateurs de
code ou des trucs dans le genre non ? Tu as des liens ?

Lisp, je n'en ai fait que quelques dizaines d'heures.





C'est surement pas assez.



Bien évidemment. Quoique, pour moi, c'était suffisant pour voir que ça ne
m'intéressait pas :-).

Le client aurait encore besoin de programmer en assembleur! Quelle
architecture?
Assembleur => constructeur.



Oui, programmer en assembleur c'est forcémment laisser tomber la
compatibilité, la portabilité, etc. Mais tu sais, beaucoup de gens sont
comme toi, l'informatique est vue d'un côté très haut et abstrait. Par
exemple les universitaires, les ingénieurs. Mais il y a encore quelques gens
comme moi (si, si, j'en connais une dizaine en France), dont la
programmation sur une machine consiste (sites Web mis à part) en ce qu'on
appelle la programmation système. À plusieurs niveaux. Drivers, protections
logicielles, outils de monitoring, "hack" au sens large, etc. Là, c'est
assembleur only. Le C/C++ et cie vont t'aider pour écrire des interfaces
graphiques, mais certaines parties, pour des raisons de taille parfois, pour
des raisons d'accès au ring0 d'autres fois, ne peuvent l'être qu'en
assembleur.

même le PHP ou le JAVA.





Il faut comparer ce qui peut l'être. Leur pérennité est elle assurée?



Le PHP, je ne sais pas, le Web change de langage "génial" tous les 6 mois
:-). Enfin bon, je ne m'inquiète pas trop pour le PHP. Ni pour JAVA
d'ailleurs.

Le libre c'est plus sûr.



Évitons les trolls... Pour moi, le libre c'est une hérésie commerciale et,
en aucun cas un gage de fiabilité, de perennité ou de sécurité. Qu'est ce
qui est sûr ? L'Open Source par exemple, une des composantes glorifiée du
Libre ? Ce n'est pas parce que le code est accessible que quelqu'un va s'y
pencher dessus et le corriger. Encore faut-il avoir le temps, les
compétences et les ressources necéssaires pour le faire. J'ai au moin un
condisciple ici qui, comme moi, a du se débrouiller souvent avec du code
Libre. C'est très souvent buggué jusqu'à l'os ! Tu me diras, au moins, t'as
le source pour le voir. Je te répondrai, autant me l'écrire moi-même. Ce
jugement te semble bien péremptoire ? Penche-toi sur du source de "stars"
logicielles du monde libre et reviens me voir quand t'auras galéré une
semaine pour porter le bouzin parce que c'est codé avec les pieds...

Genre 150 k-lignes de code ou plus hein ? En Lisp, bon courage...





Ce n'est pas le nombre de lignes qui fait la qualité!
En lisp c'est beaucoup moins.



Tout à fait d'accord. Ce que je voulais signifier, c'est que Lisp n'est pas
fait pour certains projets colossaux avec 3 équipes de 8 codeurs, des
centaines de fichiers source et tout le bazar. Je signale, au passage, que
j'ai initié cete digression car tu me disais qu'on pouvait tout faire en
Lisp...

Et alors, c'est quoi qui fait de Thompson un pompeur ? Multics, c'est
quasiment lui !





Non! Une hirondelle fait le printemps?



Il n'était pas seul bien évidemment. Mais, désolé, l'histoire, le Net, les
livres, tout ce qu'on peut trouver à ce sujet en fait le personnage
incontournable, sinon central, de MULTICS. Mais bon, vu que visiblement tu
ne détailleras pas, fin de la discussion ici pour moi...

Mon mail est valide hein, si tu veux poursuivre (raisonablement) par mail,
je t'y invite cordialement.

--
AMcD®

http://arnold.mcdonald.free.fr/
Avatar
Jack
Le 19/10/2004 14:27, :
Jack wrote:


Disponibilité, commercialisation!




Perso, je n'ai vu de PDP-11 qu'en photo. Si j'en avais la possibilité,
j'aimerai bien en avoir un dans une collec privée que le manque de place
m'empêche de faire :-). Ça valit une somme sidérale à l'époque non ?



Importation...droit d'acquérir




Ce n'est pas fait pour ça.




Il existe des outils écrit en Lisp très puissants qui vous seraient
utiles pour développer.




Je ne sais pas, je ne connais pas. Quel genre d'outils, des vérificateurs de
code ou des trucs dans le genre non ? Tu as des liens ?


Vous trouverez des outils sur le gnu.




Lisp, je n'en ai fait que quelques dizaines d'heures.






C'est surement pas assez.




Bien évidemment. Quoique, pour moi, c'était suffisant pour voir que ça ne
m'intéressait pas :-).


Le client aurait encore besoin de programmer en assembleur! Quelle
architecture?
Assembleur => constructeur.




Oui, programmer en assembleur c'est forcémment laisser tomber la
compatibilité, la portabilité, etc.


Ben voila.


Mais tu sais, beaucoup de gens sont
comme toi, l'informatique est vue d'un côté très haut et abstrait. Par
exemple les universitaires, les ingénieurs. Mais il y a encore quelques gens
comme moi (si, si, j'en connais une dizaine en France)


, dont la
programmation sur une machine consiste (sites Web mis à part) en ce qu'on
appelle la programmation système. À plusieurs niveaux. Drivers, protections
logicielles, outils de monitoring, "hack" au sens large, etc. Là, c'est
assembleur only.


Chacun ses affinités mais je ne doute pas que ce soit corsé.


Le C/C++ et cie vont t'aider pour écrire des interfaces
graphiques,


TK c'est mieux.


mais certaines parties, pour des raisons de taille parfois, pour
des raisons d'accès au ring0 d'autres fois, ne peuvent l'être qu'en
assembleur.


même le PHP ou le JAVA.






Il faut comparer ce qui peut l'être. Leur pérennité est elle assurée?




Le PHP, je ne sais pas, le Web change de langage "génial" tous les 6 mois
:-). Enfin bon, je ne m'inquiète pas trop pour le PHP. Ni pour JAVA
d'ailleurs.


Le libre c'est plus sûr.




Évitons les trolls... Pour moi, le libre c'est une hérésie commerciale et,
en aucun cas un gage de fiabilité, de perennité ou de sécurité. Qu'est ce
qui est sûr ? L'Open Source par exemple, une des composantes glorifiée du
Libre ? Ce n'est pas parce que le code est accessible que quelqu'un va s'y
pencher dessus et le corriger. Encore faut-il avoir le temps, les
compétences et les ressources necéssaires pour le faire. J'ai au moin un
condisciple ici qui, comme moi, a du se débrouiller souvent avec du code
Libre. C'est très souvent buggué jusqu'à l'os ! Tu me diras, au moins, t'as
le source pour le voir. Je te répondrai, autant me l'écrire moi-même. Ce
jugement te semble bien péremptoire ? Penche-toi sur du source de "stars"
logicielles du monde libre et reviens me voir quand t'auras galéré une
semaine pour porter le bouzin parce que c'est codé avec les pieds...


Il existe de exceptions et...L' exceptions confirme la règle.




Genre 150 k-lignes de code ou plus hein ? En Lisp, bon courage...






Ce n'est pas le nombre de lignes qui fait la qualité!
En lisp c'est beaucoup moins.




Tout à fait d'accord. Ce que je voulais signifier, c'est que Lisp n'est pas
fait pour certains projets colossaux avec 3 équipes de 8 codeurs, des
centaines de fichiers source et tout le bazar.


Il faut avoir des rameurs.


Je signale, au passage, que
j'ai initié cete digression car tu me disais qu'on pouvait tout faire


en
> Lisp...

Je ne crois pas avoir écrit cela.
"Il est possible de faire (presque) tout ce qui est réalisable dans les
langages indispensables d'aujourd'hui. "





Et alors, c'est quoi qui fait de Thompson un pompeur ? Multics, c'est
quasiment lui !






Non! Une hirondelle fait le printemps?




Il n'était pas seul bien évidemment. Mais, désolé, l'histoire, le Net, les
livres, tout ce qu'on peut trouver à ce sujet en fait le personnage
incontournable, sinon central, de MULTICS. Mais bon, vu que visiblement tu
ne détailleras pas, fin de la discussion ici pour moi...

Mon mail est valide hein, si tu veux poursuivre (raisonablement) par mail,
je t'y invite cordialement.



C'est suffisant comme cela.
Avatar
Alexandre
> Il me semble que Wind2K traîne plutôt un vieux passé d'OS non multitâches
et
non multiutilisateurs.



non ça c'est WindME, Win98 et Win95. Win2K est basé sur WinNT, lui-même
multitache/multiutilisateur dès le départ.

Voilà l'origine des threads. Alors parler de modernisme me semble osé :)


sisi. Unix est né nettement avant Windows et même nettement avant le DOS.
1 2 3 4 5