Ciao a tutti, stavo parlando con Dario nella discussione toni DTMF, e si è nominato di striscio, i processi
,therad e via dicendo.
Una cosa non ho mai capito fin da quando li ho studiati (o Dio studiati, non li so padroneggiare bene):
Con un processo che in C otteniamo con fork(), ho la possibilità di svolgere (detto un po' così casereccio) 2 operazioni o
più contemporaneamente.
In un programma "tradizionale", abbiamo il main, che può richiamare una funzione, la svolge, ritorna e poi passa alla successiva, fino terminare. Oppure una funzione che chiama un'altra funzione ecc...ma è comunque sequenziale.
Fai funzione 1,poi 2, poi 3, e poi di norma si torna al main, che terminando con return 0, se non erro , restituisce il controllo al sistema operativo.
Nei processi, invece abbiamo la "contemporaneità" la funzione f2, non ha bisogno che f1 termini, vanno insieme.
Ora la mia domanda è questa: nei pic per esempio so che ci sono moduli hardware che vanno davvero indipendentemente,
se non ricordo male nella serie 16F i timer sono hardware. Puoi fare un loop infinito e far partire il timer e il timer non sarà mai congelato in un loop infinito, fa quello che deve fare, poi, sei tu a testare quello che ti serve con interrupt, polling, quello che è.
Se dico castrate perdonatemi, sono passati un po' di annetti.
Ma torniamo al C su un pc. Se io ho 2,3,4 processi, ma il processore è uno solo, come nel mio caso un pc un po' datato,
la "contemporaneità" non è un' illusione?
So che esistono vari tipi di algoritmi di scheduling, gestiti dal sistema operativo che danno priorità a questo o quel processo in base a...in base a??? Non lo so!!
Ma non rimane pur sempre un'illusione ? Faccio un poco del processo 1, poi stacco faccio metà del 2, poi torno a 1.
Se hai un pc con più core allora si possono smazzare i compiti, ma con uno solo ?
Potrei provare a fare un test: 2 funzioni un po' gravose (calcoli un po' pesanti) una dopo l'altra e le stesse funzioni farle
dopo una fork e misurare i tempi.
Non so, purtroppo come sapete non ci lavoro con queste cose, e l'hobby ha molti limiti.
Grazie in anticipo per chi avesse voglia e interesse a schiarirmi le idee.
Come sempre la sintesi non è nelle mie corde