L’ar­chi­tet­tu­ra master-slave è un sistema usato in in­for­ma­ti­ca per la gestione degli accessi su risorse condivise. Il master controlla e decide quando gli slave possono uti­liz­za­re le risorse. Il sistema è uti­liz­za­to ad esempio nella ge­ne­ra­zio­ne di picoreti tramite Bluetooth.

Che cosa si intende con master-slave?

L’ar­chi­tet­tu­ra master-slave descrive un sistema di controllo e di­stri­bu­zio­ne delle risorse nel campo dell’in­for­ma­ti­ca. Il sistema è im­por­tan­te nei casi in cui più di­spo­si­ti­vi, processi o ap­pli­ca­zio­ni sono assegnati alle stesse risorse. Questo caso si verifica, ad esempio, nella tra­smis­sio­ne di dati tramite bus dati. Il master-slave gestisce le richieste in modo che la co­mu­ni­ca­zio­ne avvenga senza disturbi e al­te­ra­zio­ne dei segnali da parte di altri utenti e che tutti i processi siano ese­gui­bi­li cor­ret­ta­men­te.

N.B.

Il termine “Master-Slave”, per via del ri­fe­ri­men­to allo schia­vi­smo (slave = schiavo) è di­scu­ti­bi­le; pertanto si uti­liz­za­no sempre più spesso termini al­ter­na­ti­vi, come “primario e se­con­da­rio” o “primario e replica”.

Casi ap­pli­ca­ti­vi del master-slave

Ad esempio, l’ar­chi­tet­tu­ra master-slave viene uti­liz­za­ta nei seguenti casi ap­pli­ca­ti­vi:

  • Re­go­la­zio­ne e coor­di­na­zio­ne di sistemi bus per lo scambio di in­for­ma­zio­ni: il master coordina e controlla gli slave e assicura che il bus dati riceva ed elabori cor­ret­ta­men­te le in­for­ma­zio­ni.
  • Or­ga­niz­za­zio­ne di risorse nell’ambito di una rete di computer: le risorse a di­spo­si­zio­ne su una rete vengono rese di­spo­ni­bi­li dal master in base a una logica definita, ga­ran­ten­do così che tutti gli utenti possano svolgere i propri compiti.
  • Creazione di una picorete di terminali tramite Bluetooth: il sistema master-slave è uti­liz­za­to per la creazione di picoreti. Le picoreti sono una [Personal Area Network], ossia un de­ter­mi­na­to tipo di rete personale nella quale i terminali si con­net­to­no tramite Bluetooth.
  • Controllo degli accessi su un sistema host: un computer host fornisce le risorse all’interno di una rete di computer. Il master gestisce gli accessi degli utenti.

Come funziona l’ar­chi­tet­tu­ra master-slave?

Nell’ar­chi­tet­tu­ra master-slave, a decidere è sempre il master: ogni co­mu­ni­ca­zio­ne funziona solo dal master verso lo slave. La co­mu­ni­ca­zio­ne dallo slave verso il master non è prevista. Le risorse, quindi, vengono sempre gestite in modo uni­di­re­zio­na­le.

Il master assegna allo slave i permessi di cui necessita, ad esempio permessi di accesso o co­mu­ni­ca­zio­ne. Lo slave agisce solo su richiesta del master, mentre il master opera li­be­ra­men­te e senza dover ricevere richieste.

Quali sono le ca­rat­te­ri­sti­che del master-slave?

La prin­ci­pa­le ca­rat­te­ri­sti­ca dell’ar­chi­tet­tu­ra master-slave è che il controllo è in mano al master, che va inteso come istanza di controllo. Tutti gli slave integrati sono sempre passivi e in attesa del permesso da parte del master per poter uti­liz­za­re le risorse de­si­de­ra­te. Il master è dotato di maggiori fun­zio­na­li­tà per via della sua funzione di controllo. Inoltre, è in grado di gestire un gran numero di slave. L’in­di­riz­za­men­to degli slave da parte del master funziona tramite un indirizzo o un cavo fisico. Su de­ter­mi­na­ti sistemi è possibile definire il master di stazioni con le stesse au­to­riz­za­zio­ni in fase di ini­zia­liz­za­zio­ne di un sistema.

Quali sono i vantaggi e gli svantaggi dell’ar­chi­tet­tu­ra master-slave?

Il master-slave è un concetto di controllo e re­go­la­zio­ne di risorse condivise. Un vantaggio de­ter­mi­nan­te è il fatto che il master controlla tutte le con­di­zio­ni di accesso. Il master è al centro dei sistemi e ne facilita no­te­vol­men­te la pro­get­ta­zio­ne. Inoltre, il suo utilizzo impedisce lo scambio di in­for­ma­zio­ni non au­to­riz­za­to. Uno svan­tag­gio di questa ar­chi­tet­tu­ra è la co­mu­ni­ca­zio­ne uni­di­re­zio­na­le: gli slave non sono in grado di co­mu­ni­ca­re di­ret­ta­men­te con il master. L’in­ter­ro­ga­zio­ne degli slave da parte del master per mezzo del co­sid­det­to polling (un’in­ter­ro­ga­zio­ne che rileva lo stato dell’hardware o del software) non è quindi un metodo ef­fi­cien­te.

Quali sono le al­ter­na­ti­ve all’ar­chi­tet­tu­ra master-slave?

L’ar­chi­tet­tu­ra master-slave non è l’unico modello per il controllo delle risorse. Un’al­ter­na­ti­va ben nota è il modello client-server. Questo modello utilizza server che for­ni­sco­no servizi uti­liz­za­ti dai client a seconda del fab­bi­so­gno e co­sti­tui­sce il modello di ar­chi­tet­tu­ra più uti­liz­za­to su internet. L’invio di e-mail tramite SMTP, IMAP o POP, l’invio di richieste http a un server web o il tra­sfe­ri­men­to di dati a un server tramite File Transfer Protocol, in breve FTP, sono esempi di im­ple­men­ta­zio­ne del modello client-server.

Un’ulteriore ar­chi­tet­tu­ra ap­pli­ca­bi­le in questo contesto è il modello peer-to-peer. In questo caso, un programma peer funge con­tem­po­ra­nea­men­te da server e da client. A dif­fe­ren­za del principio master-slave, i peer hanno tutti gli stessi diritti e svolgono sia funzioni server che funzioni client. L’ar­chi­tet­tu­ra peer-to-peer è uti­liz­za­ta so­prat­tut­to nei servizi di file sharing o di grid computing.

Vai al menu prin­ci­pa­le