Background Intelligent Transfer System
Da Wikipedia, l'enciclopedia libera.
Il BITS (Background Intelligent Transfer System) è un componente dei sistemi operativi Windows 2000, XP e Vista, che permette di scaricare dalla rete in modo intelligente risorse utilizzate per aggiornare il sistema operativo. Una peculiarità di questo componente è che è stato pensato per essere utilizzato anche da altre applicazioni, tramite l’invocazione di alcune API.
[modifica] I trasferimenti
Il BITS utilizza la banda non utilizzata per trasferire dati. Normalmente il BITS trasferisce dati in background, lavorando soltanto quando le condizioni di funzionamento della rete lo permettano senza interferire con altri processi interessati all’uso della risorsa. Il BITS monitora costantemente il traffico di rete in modo da rilevare la presenza di slot allocabili per il trasferimento degli aggiornamenti e assicurarsi che le applicazioni in foreground ottengano tutta la banda necessaria per il loro funzionamento. Il componente è in grado di interrompere download in corso e riprenderli in un secondo momento senza ricominciare da zero. Essendo un servizio è in grado di operare anche quando la macchina non è loggata e sospende il suo funzionamento solo quando la macchina si sta chiudendo o la connessione di rete è andata perduta. Appena la macchina viene riavviata riprende il suo lavoro da dove aveva terminato.
[modifica] I jobs
Una risorsa da scaricare con BITS è chiamata file e un insieme di files è racchiuso in un Job. Il job rappresenta quindi la sessione di scaricamento, mentre il file è un URI e allo stesso tempo un percorso fisico su disco, nel momento in cui il job è terminato. Ogni Job può essere controllato tramite le API con cui è possibile avviare, fermare, mettere in pausa, riprendere e interrogarne lo stato. Prima di avviare un job è possibile impostarne una priorità, normale, alta o bassa. I job con priorità alta lavorano in foreground, quindi condividono la banda con le altre applicazioni in esecuzione.
[modifica] Lo scheduling
Per poter eseguire piu download contemporanei, BITS programma ciascun job attraverso un insieme finito di allocazioni temporali detti slot o time slice: ogni risorsa da scaricare viene suddivisa in un insieme di slot e ogni slot viene scaricato eseguendo un recupero del precedente download. Uno scheduling eseguito con il Round-Robin assicura che tutti i job con la stessa priorità vengano scaricati e previene che job di grandi dimensioni blocchino il trasferimento di quelli di dimensione più piccola. I job di più alta priorità vengono allocati attraverso dei "time slice" più ampi. Appena viene creato un nuovo job, tramite le API del BITS, il job è automaticamente messo nello stato paused ed è necessario eseguire un resume per inserirlo nella code dei job. BITS include anche un meccanismo per trattare gli errori. Gli errori possono essere fatal o transient ed entrambi muovono il job nello stato opportuno. L’errore transient è un errore temporaneo che può essere risolto con ulteriori tentativi a distanza di tempo. Gli errori fatal rilasciano invece un opportuno evento che riporta ulteriori informazioni per permette una adeguata trattazione.
![]() |
|||||||
---|---|---|---|---|---|---|---|
Progetto Informatica | Portale Informatica | BarCode | |||||
Categorie principali
|