Newsgroup: it.comp.lang.c++
Titolo: Sto impazzendo: fork per windows (parallelismo server)

Sto veramente impazzendo. Ho sempre lavorato su sistemi Unix, ma adesso
volevo fare un programmino Client/Server in Visual C++, ma non riesco a
trovare l'equivalente della fork per il sistema Win.
Come si crea un server parallelo in Windows?
Vi prego aiutatemi!
In fede,
Michele Antolini

 Come si crea un server parallelo in Windows?
per come la vedo io, non si fa.
sono disponibili i thread,
e al posto della comuniczione tramite pipe
potresti avvantaggiarti della condivisione della memoria
con l'accesso regolato da semafori.
se hai lavorato in ambienti unix,
questi non dovrebbero essere problemi:
i problemi potrebbero sorgere solo
con la non esperienza del maneggio delle api
di windows. ma esistono buoni libri,
ed ogni compilatore per windows (almeno
i 2 che io ho visto, borlan e microsoft)
si porta appresso l'SDK.

trovare l'equivalente della fork per il sistema Win.
Conosco poco Unix, ma suppongo che usi fork in congiunzione con exec.
Sotto Windows puoi usare CreateProcess per creare un processo
parallelo.
--
Ippopapero Acquatico,
...mica uno qualunque...

 ha scritto nel
messaggio news:3af93629...@news.libero.it...


 Michele Antolini
L'unico modo e' usare la ::CreateProcess(....)
Ti puo essere utile il seguente:  "Wipro UWIN 2.0"
 
http://www.wipro.com/uwin
queste le caratteristiche (considera che e' POSIX 1 e 2 compliant) io uso
una classe del genere:
UWIN Features
UWIN consists of more than 300 Unix tools, shells and utilities for Windows.
UWIN also includes a runtime Unix Emulation Library for developing and
executing Unix applications on Windows NT.
Over 300 commands and utilities
Shells - KornShell, C Shell (tcsh)
Scripting tools- awk, perl, sed
Native version for DEC Alpha NT platform (available separately from Wipro
UWIN Website)
Full shell job control
POSIX.1, POSIX.2 and ANSI C interfaces
BSD sockets implemented using Winsock
System V IPC (message queues, semaphores)
Shared memory, memory mapped files
Color curses support
X11R6.4 Windowing System display server
Full tty semantics mapped to console windows
Pseudo terminal support
File link support, true case-sensitive file names
Full integration with Windows NT security model, administration, file
systems, networking and printers
Telnetd, rlogind, ftpd and rshd services (multiuser login support)
Berkeley r-utilities (servers and clients)
cron, syslogd and other daemon/service support
Internet clients - ftp, telnet
Integrated tape device support (SCSI Tape/DAT) (for Windows NT only)
Development tools - make, rcs, yacc, lex, cc, c89, nm, ar, strip, gcc, g++
and g77 compilers
Better pseudoterminal support
Mount points with case sensitive mounts
More socket and socket ioctl() calls
rcp for remote file copy
UWIN Application Development Support
UWIN also includes Unix application development support for Windows NT. You
will need Microsoft Visual C++ 4.0/5.0/6.0 compiler to develop applications
on UWIN. You can use cc compiler to develop applications on UWIN. Other
build tools include make/gmake (GNU Make tool), nmake (AT&T nmake tool),
etc.

 ha scritto nel messaggio
news:9ddvfv$g4j$1...@newstoo.ericsson.se...


 processi, in quanto l'attesa di dati provoca la messa in attesa del sistema.
Questa tecnica e' piuttosto vecchiotta, da tempo esistono due meccanismi
che ti possono aiutare: i thread, che sono un modo per far eseguire in
parallelo parti diverse di uno stesso programma senza il peso di creare
un nuovo processo e di attivare un meccanismo di comunicazione tra i
due, e l' I/O non bloccante, ovvero la possibilita' di verificare
l'effettiva esistenza di dati da leggere senza dover aspettare che
arrivino. Per i dettagli dovresti chiedere su it.comp.programmare.win32
Ciao,
Nicola

 finestra ma processi diversi.
A meno che pid sia -1 ...               8^)
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it
The instructions said to use Windows 98 or better - so I installed FreeBSD.