View Full Version : che differenza c'è tra multitasking e time-sharing ?
mauroonline
16-12-2004, 18:54
come da post.
Thx ;)
Ikitt_Claw
16-12-2004, 18:58
Originariamente inviato da mauroonline
come da post.
Direi che il timesharing e` un modo possibile per realizzare il multitasking.
mauroonline
16-12-2004, 19:30
Originariamente inviato da Ikitt_Claw
Direi che il timesharing e` un modo possibile per realizzare il multitasking.
e gli altri quali sono ? thx ;)
Ikitt_Claw
16-12-2004, 19:37
Originariamente inviato da mauroonline
e gli altri quali sono ? thx ;)
Beh, sicuramente l'avere a disposizione piu` (co)processori operanti in reale parallelismo.
Probabilmente in letteratura sono documentati altri modi ma non mi viene in mente nulla adesso.
nemmeno a me ne vengono in mente altri al momento
in ogni caso quando sei su un sistema con un solo processore parlare di time sharing è come parlare di multi tasking
come mai il dubbio ti viene proprio con linux?
SilverXXX
16-12-2004, 20:37
l'altro non mi ricordo come si chiama, ma mi pare che fossero i programmi a prendersi il tempo di processore.
mauroonline
16-12-2004, 23:04
Originariamente inviato da recoil
nemmeno a me ne vengono in mente altri al momento
in ogni caso quando sei su un sistema con un solo processore parlare di time sharing è come parlare di multi tasking
come mai il dubbio ti viene proprio con linux?
xkè essendo una proprietà risaputa di linux mi interessava capire la differenza tra queste due definizioni.
Credo che effettivamente il time sharing sia un modo di applicare il multitasking, proprio come ha detto Ikitt_Claw
Già questa risposta mi basta. thx a tutti ;)
Multitasking dalla parola stessa riguarda il semplice
"fare più task" intendendo contemporaneamente.
Tralasciando il discorso multiprocessore, questo si ottiene a livello di sistema operativo tramite uno scheduler, che effettua di fatto il cosìddetto time slicing, cioè quantizza il tempo e ne dedica un tot ad ogni processo.
Dal time slicing non si esce, perché di fatto per consentire ad un'unità di calcolo di fare più cose si può solo fargli fare un pò di ciascuna cosa alla volta.
Quello con cui vi confondevate forse erano le politiche con cui queste slice più o meno lunghe vengono attribuite ai programmi. Qui le due politiche principali che ricordi sono quelle di cooperative multitasking (ovvero ogni programma si prende il tempo che gli serve e poi restituisce il controllo allo scheduler) e il preemptive multitasking (come il kernel linux), dove lo scheduler decide quanto è lunga una slice e a chi darla, finita la quale il processo deve restituire il controllo.
Nel caso linux il sistema è molto efficiente ma piuttosto complesso, dato che lo scheduler si basa su una serie di fattori come "tempo inattivo", priorità del programma, utente che lo sta eseguendo, ec... per dare un punteggio di priorità a tutti i programmi ad ogni slice e poi scegliere il processo con priorità maggiore per eseguirlo.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.