Buonasera... Devo stabilire il numero massimo di processi (creati con la chiamata di sistema fork) possono essere eseguiti contemporaneamente sul mio pc.
Come posso capire questo valore? In base alla memoria RAM? Ma come??
Buonasera... Devo stabilire il numero massimo di processi (creati con la chiamata di sistema fork) possono essere eseguiti contemporaneamente sul mio pc.
Come posso capire questo valore? In base alla memoria RAM? Ma come??
Provando, quando il sistema inizia a non rispondere più a niente (o fork() restituisce -1) hai fatto troppi processi.
Seriamente: la domanda non ha molto senso, e dipende dal sistema operativo, dalle risorse disponibili (memoria fisica, memoria virtuale, dimensione tabella dei processi), dagli eventuali limiti impostati (vedi setrlimit su sistemi POSIX e similari su Windows), da cosa fa effettivamente il processo (in particolare, da quante pagine di memoria in copy-on-write va a toccare), ...
In generale, è una di quelle quantità per cui vale la regola "se devi chiedere qual è il massimo, probabilmente stai sbagliando qualcosa"
Amaro C++, il gusto pieno dell'undefined behavior.