11.07.2015 Views

Amministrare GNU/Linux - Cia

Amministrare GNU/Linux - Cia

Amministrare GNU/Linux - Cia

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

216 CAPITOLO 5. AMMINISTRAZIONE STRAORDINARIA DEL SISTEMAavvio lanciare un certo servizio (ad esempio un server di rete dovrà essere lanciato sempre dopoche questa è stata attivata).Si noti come la presenza dei servizi presenti in un determinato runlevel possa dipendere dacome si è arrivati ad esso; nel passaggio da un runlevel ad un altro infatti i servizi avviati dalprimo vengono fermati dal secondo solo in presenza di uno corrispondente script iniziante perK, altrimenti resteranno attivi, anche se non sono previsti fra quelli che verrebbero avviati se siandasse direttamente in quel runlevel.Come accennato attivare o disattivare un servizio su un certo runlevel è semplicementequestione di creare un link simbolico con l’opportuna sigla iniziale, sono comunque disponibiliinnumerevoli programmi in grado di automatizzare il compito, come update-rc.d per Debiano chkconfig per RedHat, per l’uso i quali rimandiamo alle rispettive pagine di manuale.5.4 La gestione di interfacce e perifericheTratteremo in questa sezione i programmi e le funzionalità disponibili per la configurazione diuna serie di interfacce hardware di cui i moderni computer sono dotati (escludendo le interfaccedi rete che saranno trattate a parte in sez. 7.3) per le quali, al di là dell’accesso ai dispositivifinali secondo l’interfaccia classica per cui in un sistema unix-like tutto è un file, sono necessariulteriori modalità di accesso e controllo per le funzionalità che non sono comprese in questaastrazione.5.4.1 Gestione delle interfacce di espansioneUna delle caratteristiche essenziali dell’architettura hardware dei computer moderni è quella didisporre di opportune interfacce di espansione in cui inserire delle schede dedicate che permettonol’uso di nuove periferiche; si ha così la possibilità di ampliare le capacità di un computerutilizzando degli appositi dispositivi in grado effettuare i più svariati compiti.Una interfaccia di espansione in sostanza non fornisce direttamente delle funzionalità finali,che sono specifiche del singolo dispositivo che si pone su di essa, quanto una interfaccia hardwarecomune che consente una comunicazione fra la CPU e la memoria e tutti i dispositivi che sonoposti su detta espansione. In questo modo il sistema operativo può inviare comandi e scambiaredati con le singole periferiche, in modo da poterne utilizzare le capacità specifiche.In <strong>Linux</strong> il supporto per queste interfacce è ovviamente fornito direttamente dal kernel,che predispone tutta l’infrastruttura software con cui è possibile leggere i dati relativi a detteinterfacce, e poi dialogare con i singoli dispositivi su di esse presenti. Questi ultimi, seguendo ilcriterio fondamentale dell’archietettura di un sistema unix-like per cui tutto è un file, potrannopoi essere acceduti attraverso l’interfaccia generica illustrata in sez. 1.2.1.Le due interfacce di espansione tradizionalmente più utilizzate nel mondo dei computer basatisulla architettura classica dei cosiddetti PC (in sostanza la piattaforma basata su Intel ocompatibili) sono la ormai superata ISA (Industry Standard Architecture) e la più recente edampiamente utilizzata PCI (Peripheral Component Interconnect). Entrambe queste interfaccedefiniscono uno standard sia hardware (consistente in piedinatura, dimensioni, specifiche dei segnalielettrici ecc.) che software (i comandi che la CPU deve dare per comunicare con l’interfacciaed i dispositivi presenti sulla stessa).La struttura di base di queste interfacce è quella di definire uno speciale canale di comunicazione(il cosiddetto bus) sul quale far passare sia i dati che i comandi che vanno dal sistemacentrale (CPU e memoria) ai dispositivi inseriti nell’interfaccia stessa (le periferiche appunto), eviceversa. Le interfacce forniscono inoltre un opportuno meccanismo che permetta di comunicarein maniera indipendente (identificando opportunamente i flussi di dati sul bus) con ciascunadelle periferiche presenti sull’interfaccia.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!