Per avere 2 processi, puoi essere in uno di questi casi:
-2 programmi separati (2 file) che lanci uno dopo l'altro;
-1 solo programma dove crei un secondo processo con la fork, quindi presumo che S1 è il padre e S2 è il figlio, oppure lanci 2 fork (così però alla fine hai 3 processi), dove il padre diciamo che sta li buono e guarda i due figli, di cui uno è S1 e l'altro è S2
per avere 2 thread:
-il programma mentre è in esecuzione utilizza la syscall per creare un thread, così ora il programma ha due fili di esecuzione, di cui uno è S1 e l'altro è S2; oppure crei 2 thread, che saranno le due stazioni, però così alla fine ne hai 3 di thread contando il primo con cui è nato il processo.
in che situazione sei?
Se non sei in nessuna di queste situazioni, o mi spieghi meglio o mi posti il codice