Background Intelligent Transfer Service

Nel mondo di oggi, Background Intelligent Transfer Service è un argomento di grande rilevanza e interesse per un vasto pubblico. Nel tempo, Background Intelligent Transfer Service ha catturato l'attenzione di persone di ogni età e professione, diventando un argomento di conversazione ricorrente nella società. Che sia per il suo impatto sulla vita quotidiana, per la sua rilevanza storica o per la sua influenza nel campo professionale, Background Intelligent Transfer Service è riuscito a superare le barriere e catturare l'interesse di un vasto pubblico. In questo articolo esploreremo ulteriormente l’impatto e l’importanza di Background Intelligent Transfer Service, analizzando le sue diverse sfaccettature e la sua rilevanza nel contesto attuale.

Background Intelligent Transfer Service
software
Generesoftware che opera in background (non in lista)
SviluppatoreMicrosoft
Data prima versioneOttobre 2001
Ultima versione10.3 (7 dicembre 2019)
Sistema operativoMicrosoft Windows

Il BITS (Background Intelligent Transfer System) è un componente dei sistemi operativi della famiglia Windows NT (Windows 2000, Windows XP, Windows 7, etc) pensato per il download dalla rete degli aggiornamenti del sistema operativo. Il componente è stato, tuttavia, reso disponibile sotto forma di API per essere l'utilizzo anche di applicazioni di terze parti.

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 il traffico di rete in modo da rilevare la presenza di slot allocabili per il trasferimento degli aggiornamenti con l'obiettivo di non interferire con le applicazioni in foreground. Il servizio è in grado di sospendere il download e di operare anche quando la macchina non è loggata.

I jobs

Una risorsa da scaricare con BITS è chiamata file e un insieme di file è racchiuso in un "job". 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.

Lo scheduling

Per poter eseguire più 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 in round-Robin assicura che tutti i job con la stessa priorità vengano scaricati e punta a far sì che il sistema si "equo", evitando 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, l'errore fatal dà in output un evento d'errore.

Note

  1. ^ (EN) Background Intelligent Transfer Service, su docs.microsoft.com. URL consultato il 19 maggio 2020.
  2. ^ (EN) About BITS, su docs.microsoft.com. URL consultato il 19 maggio 2020.