{"id":3581,"date":"2026-07-07T14:52:10","date_gmt":"2026-07-07T12:52:10","guid":{"rendered":"https:\/\/rootmail.it\/courses\/lpic-1-exam-101-010-160-corso-completo-in-italiano\/lessons\/101-1-determinare-e-configurare-le-impostazioni-dellhardware\/"},"modified":"2026-07-20T21:54:48","modified_gmt":"2026-07-20T19:54:48","slug":"101-1-determinare-e-configurare-le-impostazioni-dellhardware","status":"publish","type":"lesson","link":"https:\/\/rootmail.it\/en\/courses\/lpic-1-exam-1-101-500-corso-completo-in-italiano\/lessons\/101-1-determinare-e-configurare-le-impostazioni-dellhardware\/","title":{"rendered":"101.1 Determinare e configurare le impostazioni dell&#8217;hardware"},"content":{"rendered":"<h2>101.1 Determinare e configurare le impostazioni dell&#8217;hardware<\/h2>\n<p>L&#8217;hardware rappresenta il livello fisico di ogni sistema Linux. Prima che il sistema operativo possa utilizzare una periferica, \u00e8 necessario che questa venga correttamente rilevata, inizializzata e gestita dal kernel. Per un amministratore di sistema \u00e8 fondamentale conoscere i principali componenti hardware, comprenderne il funzionamento e saper utilizzare gli strumenti messi a disposizione da Linux per identificarli e diagnosticarli. Una corretta conoscenza dell&#8217;hardware consente infatti di risolvere numerosi problemi di configurazione, compatibilit\u00e0 e prestazioni. In questa lezione analizzerai le principali periferiche di un sistema Linux, i dispositivi di archiviazione, le risorse hardware, gli strumenti di identificazione e il ruolo di componenti fondamentali come Sysfs, Udev e i moduli del kernel.<\/p>\n<blockquote><p><strong>\ud83d\udca1 Exam Tip<\/strong> L&#8217;hardware rappresenta uno degli argomenti fondamentali dell&#8217;esame LPIC-1 Exam 101. \u00c8 importante conoscere il ruolo di BIOS e UEFI, distinguere le principali tipologie di dispositivi di archiviazione e saper utilizzare strumenti come <code>lspci<\/code>, <code>lsusb<\/code>, <code>lsmod<\/code> e <code>modprobe<\/code>.<\/p><\/blockquote>\n<hr \/>\n<h2>\ud83c\udfaf Obiettivi della lezione<\/h2>\n<p>Al termine di questa lezione sarai in grado di:<\/p>\n<ul>\n<li>riconoscere le principali periferiche integrate e i dispositivi hardware di un sistema Linux;<\/li>\n<li>comprendere il ruolo del firmware BIOS e UEFI durante l&#8217;inizializzazione dell&#8217;hardware;<\/li>\n<li>distinguere le principali tipologie di dispositivi di archiviazione e le relative caratteristiche;<\/li>\n<li>comprendere il funzionamento delle risorse hardware come IRQ, DMA e porte di Input\/Output;<\/li>\n<li>utilizzare i principali strumenti Linux per identificare e diagnosticare l&#8217;hardware;<\/li>\n<li>comprendere il ruolo di Sysfs, Udev e D-Bus nella gestione dei dispositivi;<\/li>\n<li>visualizzare e gestire i moduli del kernel.<\/li>\n<\/ul>\n<hr \/>\n<h2>Argomenti trattati<\/h2>\n<ul>\n<li>Periferiche integrate.<\/li>\n<li>Dispositivi di archiviazione di massa.<\/li>\n<li>Risorse hardware.<\/li>\n<li>Strumenti e utility.<\/li>\n<li>Sysfs, Udev e D-Bus.<\/li>\n<li>Gestione dei moduli del kernel.<\/li>\n<\/ul>\n<hr \/>\n<h2>101.1.1 &#8211; Periferiche integrate<\/h2>\n<p>Le <strong>periferiche<\/strong> sono dispositivi hardware che permettono al computer di comunicare con l&#8217;ambiente esterno oppure di svolgere specifiche funzioni. Tastiere, mouse, monitor, stampanti e dispositivi USB sono esempi di periferiche esterne che possono essere collegati o scollegati dal sistema in qualsiasi momento. Le <strong>periferiche integrate<\/strong>, invece, sono componenti hardware installati direttamente sulla <strong>scheda madre (motherboard)<\/strong>. Essendo parte integrante del computer, non richiedono normalmente l&#8217;installazione di schede aggiuntive e vengono rilevate automaticamente durante l&#8217;avvio del sistema. Tra le periferiche integrate pi\u00f9 comuni troviamo:<\/p>\n<ul>\n<li>Controller SATA e NVMe per la gestione dei dispositivi di archiviazione.<\/li>\n<li>Controller USB.<\/li>\n<li>Scheda audio integrata.<\/li>\n<li>Scheda di rete Ethernet.<\/li>\n<li>Controller Wi-Fi e Bluetooth (nei sistemi che ne sono dotati).<\/li>\n<li>Controller seriali e altre interfacce di comunicazione.<\/li>\n<\/ul>\n<blockquote><p><strong>\ud83d\udca1 Exam Tip<\/strong> Per l&#8217;esame LPIC-1 \u00e8 importante comprendere la differenza tra una periferica integrata e una periferica esterna. Le periferiche integrate fanno parte della scheda madre, mentre quelle esterne vengono collegate successivamente tramite interfacce come USB, HDMI o Thunderbolt.<\/p><\/blockquote>\n<hr \/>\n<h3>BIOS e UEFI<\/h3>\n<p>Prima che il sistema operativo venga caricato, il firmware della scheda madre inizializza tutti i componenti hardware presenti nel sistema. Nei computer meno recenti questo compito era svolto dal <strong>BIOS (Basic Input\/Output System)<\/strong>, mentre nei sistemi moderni viene utilizzato <strong>UEFI (Unified Extensible Firmware Interface)<\/strong>, che offre funzionalit\u00e0 pi\u00f9 avanzate e una maggiore flessibilit\u00e0. I principali vantaggi di UEFI rispetto al BIOS tradizionale sono:<\/p>\n<ul>\n<li>Supporto ai dischi con tabella delle partizioni GPT.<\/li>\n<li>Supporto a dischi di capacit\u00e0 superiore a 2 TB.<\/li>\n<li>Interfaccia grafica e utilizzo del mouse.<\/li>\n<li>Supporto al Secure Boot.<\/li>\n<li>Tempi di avvio generalmente pi\u00f9 rapidi.<\/li>\n<\/ul>\n<hr \/>\n<h3>Abilitare o disabilitare le periferiche integrate<\/h3>\n<p>La maggior parte delle schede madri consente di attivare o disattivare le periferiche integrate direttamente dal firmware BIOS\/UEFI. Tra le impostazioni pi\u00f9 comuni \u00e8 possibile:<\/p>\n<ul>\n<li>abilitare o disabilitare la scheda audio integrata;<\/li>\n<li>attivare o disattivare la scheda di rete;<\/li>\n<li>abilitare Intel VT-x o AMD-V per la virtualizzazione;<\/li>\n<li>modificare la modalit\u00e0 del controller SATA (AHCI o RAID);<\/li>\n<li>abilitare o disabilitare il Secure Boot.<\/li>\n<\/ul>\n<p>Per accedere al BIOS o all&#8217;UEFI \u00e8 generalmente necessario premere un tasto specifico durante le prime fasi dell&#8217;avvio del computer. I tasti pi\u00f9 comuni sono:<\/p>\n<ul>\n<li><strong>DEL<\/strong><\/li>\n<li><strong>F2<\/strong><\/li>\n<li><strong>F10<\/strong><\/li>\n<li><strong>ESC<\/strong><\/li>\n<\/ul>\n<p>Il tasto corretto dipende dal produttore della scheda madre o del computer.<\/p>\n<h4>Esempio pratico<\/h4>\n<p>Durante l&#8217;accensione del computer compare spesso un messaggio simile al seguente:<\/p>\n<pre><code>Press DEL to enter Setup\r\n<\/code><\/pre>\n<p>Premendo il tasto <strong>DEL<\/strong> (oppure <strong>F2<\/strong>, a seconda del produttore) si accede al menu del BIOS\/UEFI, dal quale \u00e8 possibile modificare le impostazioni delle periferiche integrate.<\/p>\n<blockquote><p><strong>\u26a0\ufe0f Errore comune<\/strong> Molti utenti disabilitano accidentalmente il controller SATA, la scheda di rete o il controller USB dal BIOS\/UEFI e pensano che Linux non riconosca l&#8217;hardware. Prima di cercare un problema nel sistema operativo \u00e8 sempre consigliabile verificare che la periferica sia effettivamente abilitata nel firmware.<\/p><\/blockquote>\n<blockquote><p><strong>\u2699\ufe0f Best Practice<\/strong> In ambiente server \u00e8 consigliabile modificare le impostazioni del BIOS\/UEFI solo quando necessario e documentare sempre le modifiche effettuate. Una configurazione errata pu\u00f2 impedire l&#8217;avvio del sistema operativo o rendere non disponibili alcune periferiche hardware.<\/p><\/blockquote>\n<hr \/>\n<h3>Riepilogo<\/h3>\n<ul>\n<li>Le periferiche integrate sono componenti hardware presenti direttamente sulla scheda madre.<\/li>\n<li>BIOS e UEFI inizializzano l&#8217;hardware prima dell&#8217;avvio del sistema operativo.<\/li>\n<li>UEFI \u00e8 il firmware utilizzato dalla maggior parte dei sistemi moderni.<\/li>\n<li>Dal BIOS\/UEFI \u00e8 possibile abilitare o disabilitare numerose periferiche integrate.<\/li>\n<li>Prima di diagnosticare un problema hardware in Linux \u00e8 buona norma verificare la configurazione del firmware.<\/li>\n<\/ul>\n<h2>101.1.2 Dispositivi di archiviazione di massa<\/h2>\n<p>I <strong>dispositivi di archiviazione di massa (Mass Storage Devices)<\/strong> sono componenti hardware progettati per memorizzare grandi quantit\u00e0 di dati in modo permanente. Su questi dispositivi vengono conservati il sistema operativo, i programmi installati, i file degli utenti e tutte le informazioni necessarie al funzionamento del computer. Linux supporta numerose tipologie di dispositivi di archiviazione, dai tradizionali dischi magnetici agli SSD di ultima generazione, fino alle unit\u00e0 USB rimovibili.<\/p>\n<blockquote><p><strong>\ud83d\udca1 Exam Tip<\/strong> Per l&#8217;esame LPIC-1 \u00e8 importante conoscere le differenze tra le principali tipologie di dispositivi di archiviazione, i loro vantaggi e i relativi scenari di utilizzo.<\/p><\/blockquote>\n<hr \/>\n<h3>Hard Disk Drive (HDD)<\/h3>\n<p>L&#8217;<strong>Hard Disk Drive (HDD)<\/strong> utilizza uno o pi\u00f9 piatti magnetici rotanti sui quali vengono memorizzati i dati. Le informazioni vengono lette e scritte tramite una testina magnetica che si sposta sulla superficie del disco. Caratteristiche principali:<\/p>\n<ul>\n<li>Elevata capacit\u00e0 di archiviazione.<\/li>\n<li>Costo per gigabyte molto contenuto.<\/li>\n<li>Prestazioni inferiori rispetto agli SSD.<\/li>\n<li>Presenza di componenti meccanici soggetti a usura.<\/li>\n<\/ul>\n<p>Gli HDD sono ancora molto utilizzati per l&#8217;archiviazione di grandi quantit\u00e0 di dati, come backup, file multimediali e server NAS.<\/p>\n<hr \/>\n<h3>Solid State Drive (SSD)<\/h3>\n<p>Gli <strong>SSD (Solid State Drive)<\/strong> utilizzano memoria flash e non contengono parti meccaniche in movimento. Questo permette tempi di accesso ai dati molto ridotti e prestazioni nettamente superiori rispetto agli hard disk tradizionali. Vantaggi principali:<\/p>\n<ul>\n<li>Avvio del sistema operativo molto pi\u00f9 rapido.<\/li>\n<li>Maggiore velocit\u00e0 nella lettura e scrittura dei dati.<\/li>\n<li>Minore consumo energetico.<\/li>\n<li>Maggiore resistenza agli urti e alle vibrazioni.<\/li>\n<li>Assenza di rumore durante il funzionamento.<\/li>\n<\/ul>\n<p>Gli SSD rappresentano oggi la scelta consigliata per il disco principale di un sistema Linux desktop o server.<\/p>\n<hr \/>\n<h3>SSD NVMe<\/h3>\n<p>Una particolare categoria di SSD \u00e8 costituita dagli <strong>SSD NVMe (Non-Volatile Memory Express)<\/strong>. A differenza degli SSD SATA, gli SSD NVMe utilizzano direttamente il bus <strong>PCI Express (PCIe)<\/strong>, eliminando i limiti prestazionali dell&#8217;interfaccia SATA. Questo consente di ottenere:<\/p>\n<ul>\n<li>prestazioni molto elevate;<\/li>\n<li>latenza estremamente ridotta;<\/li>\n<li>maggiore numero di operazioni di input\/output al secondo (IOPS).<\/li>\n<\/ul>\n<table>\n<thead>\n<tr>\n<th>Tipo di unit\u00e0<\/th>\n<th>Interfaccia<\/th>\n<th>Velocit\u00e0 indicativa<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>HDD<\/td>\n<td>SATA<\/td>\n<td>100 &#8211; 200 MB\/s<\/td>\n<\/tr>\n<tr>\n<td>SSD SATA<\/td>\n<td>SATA III<\/td>\n<td>fino a 550 MB\/s<\/td>\n<\/tr>\n<tr>\n<td>SSD NVMe<\/td>\n<td>PCI Express<\/td>\n<td>oltre 7000 MB\/s (PCIe 4.0)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<blockquote><p><strong>\ud83d\udccc Da ricordare<\/strong> LPI distingue chiaramente tra SSD SATA e SSD NVMe. Gli SSD NVMe utilizzano il protocollo NVMe sul bus PCI Express e non il controller SATA.<\/p><\/blockquote>\n<hr \/>\n<h3>Unit\u00e0 USB Flash<\/h3>\n<p>Le <strong>USB Flash Drive<\/strong> sono dispositivi di archiviazione portatili basati su memoria flash. Vengono comunemente utilizzate per:<\/p>\n<ul>\n<li>trasferire file tra computer;<\/li>\n<li>installare distribuzioni Linux;<\/li>\n<li>creare supporti di ripristino;<\/li>\n<li>eseguire sistemi operativi Live.<\/li>\n<\/ul>\n<p>Linux riconosce automaticamente la maggior parte delle unit\u00e0 USB e ne consente il montaggio attraverso il kernel e il gestore dei dispositivi.<\/p>\n<hr \/>\n<h3>Confronto tra le principali tipologie di archiviazione<\/h3>\n<table>\n<thead>\n<tr>\n<th>Dispositivo<\/th>\n<th>Capacit\u00e0<\/th>\n<th>Prestazioni<\/th>\n<th>Parti meccaniche<\/th>\n<th>Utilizzo consigliato<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>HDD<\/td>\n<td>\u2605\u2605\u2605\u2605\u2605<\/td>\n<td>\u2605\u2605\u2606\u2606\u2606<\/td>\n<td>\u2714 S\u00ec<\/td>\n<td>Archiviazione e backup<\/td>\n<\/tr>\n<tr>\n<td>SSD SATA<\/td>\n<td>\u2605\u2605\u2605\u2605\u2606<\/td>\n<td>\u2605\u2605\u2605\u2605\u2606<\/td>\n<td>\u2718 No<\/td>\n<td>Sistema operativo e applicazioni<\/td>\n<\/tr>\n<tr>\n<td>SSD NVMe<\/td>\n<td>\u2605\u2605\u2605\u2605\u2606<\/td>\n<td>\u2605\u2605\u2605\u2605\u2605<\/td>\n<td>\u2718 No<\/td>\n<td>Workstation e server ad alte prestazioni<\/td>\n<\/tr>\n<tr>\n<td>USB Flash Drive<\/td>\n<td>\u2605\u2605\u2605\u2606\u2606<\/td>\n<td>\u2605\u2605\u2605\u2606\u2606<\/td>\n<td>\u2718 No<\/td>\n<td>Trasporto dati e sistemi Live<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<blockquote><p><strong>\u26a0\ufe0f Errore comune<\/strong> Molti utenti pensano che tutti gli SSD siano uguali. In realt\u00e0 un SSD SATA e un SSD NVMe utilizzano interfacce e protocolli differenti e possono offrire prestazioni molto diverse.<\/p><\/blockquote>\n<blockquote><p><strong>\u2699\ufe0f Best Practice<\/strong> Per ottenere le migliori prestazioni \u00e8 consigliabile installare il sistema operativo su un SSD (preferibilmente NVMe) e utilizzare eventuali HDD come unit\u00e0 dedicate all&#8217;archiviazione dei dati e dei backup.<\/p><\/blockquote>\n<hr \/>\n<h3>Riepilogo<\/h3>\n<ul>\n<li>Gli HDD utilizzano supporti magnetici e offrono grande capacit\u00e0 a basso costo.<\/li>\n<li>Gli SSD utilizzano memoria flash e garantiscono tempi di accesso molto pi\u00f9 rapidi.<\/li>\n<li>Gli SSD NVMe sfruttano il bus PCI Express e offrono prestazioni superiori agli SSD SATA.<\/li>\n<li>Le unit\u00e0 USB Flash sono ideali per il trasporto dei dati e per i supporti di installazione.<\/li>\n<li>La scelta del dispositivo di archiviazione dipende dal rapporto tra capacit\u00e0, prestazioni e costo.<\/li>\n<\/ul>\n<h2>101.1.3 Risorse hardware<\/h2>\n<p>Ogni dispositivo hardware installato in un computer necessita di specifiche <strong>risorse di sistema<\/strong> per poter comunicare correttamente con il processore e con il sistema operativo. Queste risorse consentono al kernel Linux di identificare i dispositivi, gestire lo scambio di dati e coordinare il funzionamento dell&#8217;intero sistema. Le principali risorse hardware sono:<\/p>\n<ul>\n<li><strong>IRQ (Interrupt Request)<\/strong><\/li>\n<li><strong>DMA (Direct Memory Access)<\/strong><\/li>\n<li><strong>Porte I\/O (Input\/Output)<\/strong><\/li>\n<\/ul>\n<blockquote><p><strong>\ud83d\udca1 Exam Tip<\/strong> Per l&#8217;esame LPIC-1 \u00e8 importante conoscere il significato di IRQ, DMA e porte I\/O, oltre a sapere dove reperire queste informazioni all&#8217;interno del filesystem <code>\/proc<\/code>.<\/p><\/blockquote>\n<hr \/>\n<h3>Interrupt Request (IRQ)<\/h3>\n<p>Un <strong>Interrupt Request (IRQ)<\/strong> \u00e8 un segnale inviato da un dispositivo hardware alla CPU per richiedere immediatamente la sua attenzione. Senza gli interrupt, il processore dovrebbe controllare continuamente lo stato di ogni periferica (tecnica chiamata <em>polling<\/em>), con un notevole spreco di risorse. Grazie agli IRQ, invece, \u00e8 il dispositivo stesso ad avvisare la CPU quando \u00e8 necessario elaborare un evento. Esempi di interrupt:<\/p>\n<ul>\n<li>pressione di un tasto sulla tastiera;<\/li>\n<li>movimento del mouse;<\/li>\n<li>ricezione di un pacchetto di rete;<\/li>\n<li>completamento della lettura di un disco.<\/li>\n<\/ul>\n<p>Per visualizzare gli interrupt gestiti dal kernel utilizzare:<\/p>\n<pre><code>cat \/proc\/interrupts<\/code><\/pre>\n<p>Esempio di output:<\/p>\n<pre><code>CPU0   CPU1\r\n0:     42      0    IO-APIC   timer\r\n1:      0      0    IO-APIC   keyboard\r\n16:  10234   8540   PCI-MSI   ahci\r\n24:   2356   2412   PCI-MSI   eth0\r\n<\/code><\/pre>\n<p>Ogni riga rappresenta un interrupt e indica quale dispositivo lo sta utilizzando.<\/p>\n<hr \/>\n<h3>Direct Memory Access (DMA)<\/h3>\n<p>Il <strong>Direct Memory Access (DMA)<\/strong> permette ai dispositivi hardware di trasferire dati direttamente nella memoria RAM senza coinvolgere continuamente il processore. Questo meccanismo migliora le prestazioni del sistema, riducendo il carico sulla CPU durante operazioni di trasferimento dati di grandi dimensioni. I controller DMA sono utilizzati principalmente da dispositivi come:<\/p>\n<ul>\n<li>controller dei dischi;<\/li>\n<li>schede audio;<\/li>\n<li>schede di rete;<\/li>\n<li>controller USB.<\/li>\n<\/ul>\n<p>Per visualizzare i canali DMA:<\/p>\n<pre><code>cat \/proc\/dma<\/code><\/pre>\n<p>Esempio:<\/p>\n<pre><code>4: cascade\r\n<\/code><\/pre>\n<p>Nei sistemi moderni le informazioni presenti in questo file possono essere limitate oppure non disponibili, poich\u00e9 molte periferiche utilizzano tecnologie pi\u00f9 avanzate rispetto ai tradizionali canali DMA.<\/p>\n<hr \/>\n<h3>Porte I\/O (Input\/Output)<\/h3>\n<p>Le <strong>porte I\/O<\/strong> rappresentano gli indirizzi utilizzati dal processore per comunicare con le periferiche hardware. Ogni dispositivo utilizza uno specifico intervallo di indirizzi per ricevere comandi o restituire informazioni al sistema operativo. Per visualizzare le porte I\/O utilizzare:<\/p>\n<pre><code>cat \/proc\/ioports<\/code><\/pre>\n<p>Esempio di output:<\/p>\n<pre><code>0000-001f : dma1\r\n0020-0021 : pic1\r\n0060-0060 : keyboard\r\n00a0-00a1 : pic2\r\n<\/code><\/pre>\n<p>Queste informazioni sono utilizzate principalmente per attivit\u00e0 di diagnostica e sviluppo dei driver.<\/p>\n<hr \/>\n<h3>Il filesystem virtuale \/proc<\/h3>\n<p>Linux espone numerose informazioni sul sistema attraverso il filesystem virtuale <strong>\/proc<\/strong>. A differenza di un normale filesystem, i file presenti in <code>\/proc<\/code> non sono realmente memorizzati sul disco: vengono generati dinamicamente dal kernel ogni volta che vengono consultati. Tra i file pi\u00f9 importanti troviamo:<\/p>\n<table>\n<thead>\n<tr>\n<th>File<\/th>\n<th>Contenuto<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>\/proc\/interrupts<\/code><\/td>\n<td>Interrupt hardware (IRQ)<\/td>\n<\/tr>\n<tr>\n<td><code>\/proc\/dma<\/code><\/td>\n<td>Canali DMA<\/td>\n<\/tr>\n<tr>\n<td><code>\/proc\/ioports<\/code><\/td>\n<td>Porte di Input\/Output<\/td>\n<\/tr>\n<tr>\n<td><code>\/proc\/cpuinfo<\/code><\/td>\n<td>Informazioni sul processore<\/td>\n<\/tr>\n<tr>\n<td><code>\/proc\/meminfo<\/code><\/td>\n<td>Informazioni sulla memoria RAM<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<blockquote><p><strong>\ud83d\udccc Da ricordare<\/strong> Il filesystem <code>\/proc<\/code> rappresenta una delle principali fonti di informazioni sul sistema Linux e viene frequentemente utilizzato dagli amministratori di sistema per attivit\u00e0 di diagnostica e monitoraggio.<\/p><\/blockquote>\n<blockquote><p><strong>\u26a0\ufe0f Errore comune<\/strong> Molti principianti pensano che i file presenti in <code>\/proc<\/code> siano file reali salvati sul disco. In realt\u00e0 vengono creati dinamicamente dal kernel e riflettono lo stato corrente del sistema.<\/p><\/blockquote>\n<blockquote><p><strong>\u2699\ufe0f Best Practice<\/strong> Prima di installare driver o investigare problemi hardware \u00e8 buona pratica consultare le informazioni disponibili in <code>\/proc<\/code>. Molti problemi possono essere individuati semplicemente verificando gli interrupt assegnati o il corretto riconoscimento delle periferiche.<\/p><\/blockquote>\n<hr \/>\n<h3>Riepilogo<\/h3>\n<ul>\n<li>Ogni periferica utilizza risorse hardware per comunicare con il sistema.<\/li>\n<li>Gli IRQ permettono ai dispositivi di notificare eventi alla CPU.<\/li>\n<li>Il DMA consente il trasferimento diretto dei dati verso la memoria.<\/li>\n<li>Le porte I\/O rappresentano i canali di comunicazione tra processore e periferiche.<\/li>\n<li>Il filesystem <code>\/proc<\/code> permette di consultare numerose informazioni sullo stato dell&#8217;hardware e del kernel.<\/li>\n<\/ul>\n<h2>101.1.4 Strumenti e utility<\/h2>\n<p>Linux mette a disposizione numerosi strumenti per identificare l&#8217;hardware installato, verificare il corretto riconoscimento delle periferiche e facilitare la risoluzione di eventuali problemi. La maggior parte di questi strumenti \u00e8 disponibile direttamente dalla riga di comando e permette di ottenere informazioni dettagliate senza dover installare software aggiuntivo.<\/p>\n<blockquote><p><strong>\ud83d\udca1 Exam Tip<\/strong> Per l&#8217;esame LPIC-1 \u00e8 importante conoscere quali informazioni forniscono i principali comandi di identificazione hardware e sapere quando utilizzarli.<\/p><\/blockquote>\n<hr \/>\n<h3>lsusb<\/h3>\n<p>Il comando <strong>lsusb<\/strong> elenca tutti i dispositivi collegati al bus USB e riconosciuti dal sistema operativo. Pu\u00f2 essere utilizzato per verificare che una periferica USB, come una chiavetta, una webcam o una stampante, sia stata correttamente rilevata dal kernel. Esecuzione del comando:<\/p>\n<pre><code>lsusb<\/code><\/pre>\n<p>Esempio di output:<\/p>\n<pre><code>Bus 001 Device 002: ID 8087:0026 Intel Corp.\r\nBus 001 Device 003: ID 046d:c534 Logitech USB Receiver\r\nBus 001 Device 004: ID 0781:5591 SanDisk Ultra USB 3.0\r\n<\/code><\/pre>\n<p>Ogni riga mostra:<\/p>\n<ul>\n<li>il numero del bus USB;<\/li>\n<li>il numero del dispositivo;<\/li>\n<li>il Vendor ID e il Product ID;<\/li>\n<li>il produttore e il modello della periferica.<\/li>\n<\/ul>\n<p>Per ottenere informazioni ancora pi\u00f9 dettagliate \u00e8 possibile utilizzare:<\/p>\n<pre><code>lsusb -v<\/code><\/pre>\n<p>L&#8217;opzione <code>-v<\/code> (<em>verbose<\/em>) visualizza informazioni approfondite sul dispositivo selezionato, comprese le interfacce, gli endpoint e le caratteristiche supportate.<\/p>\n<hr \/>\n<h3>lspci<\/h3>\n<p>Il comando <strong>lspci<\/strong> mostra tutti i dispositivi collegati al bus PCI e PCI Express. Tra questi rientrano:<\/p>\n<ul>\n<li>schede video;<\/li>\n<li>controller SATA e NVMe;<\/li>\n<li>controller USB;<\/li>\n<li>schede di rete;<\/li>\n<li>controller audio;<\/li>\n<li>controller RAID.<\/li>\n<\/ul>\n<p>Esecuzione del comando:<\/p>\n<pre><code>lspci<\/code><\/pre>\n<p>Esempio di output:<\/p>\n<pre><code>00:00.0 Host bridge\r\n00:02.0 VGA compatible controller\r\n00:14.0 USB controller\r\n00:17.0 SATA controller\r\n00:1f.6 Ethernet controller\r\n<\/code><\/pre>\n<p>Per ottenere maggiori informazioni \u00e8 possibile utilizzare:<\/p>\n<pre><code>lspci -v\r\nlspci -vv\r\nlspci -k\r\n<\/code><\/pre>\n<p>Dove:<\/p>\n<ul>\n<li><strong>-v<\/strong> mostra maggiori dettagli sul dispositivo;<\/li>\n<li><strong>-vv<\/strong> visualizza informazioni ancora pi\u00f9 approfondite;<\/li>\n<li><strong>-k<\/strong> indica quale driver del kernel \u00e8 associato a ciascun dispositivo.<\/li>\n<\/ul>\n<blockquote><p><strong>\ud83d\udccc Da ricordare<\/strong> <code>lspci -k<\/code> \u00e8 uno dei metodi pi\u00f9 semplici per verificare quale driver del kernel sta gestendo una periferica PCI.<\/p><\/blockquote>\n<hr \/>\n<h3>Il pacchetto usbutils<\/h3>\n<p>Il comando <code>lsusb<\/code> fa parte del pacchetto <strong>usbutils<\/strong>, normalmente installato nella maggior parte delle distribuzioni Linux. Il pacchetto contiene diversi strumenti utili per analizzare e diagnosticare i dispositivi USB. Tra questi troviamo:<\/p>\n<ul>\n<li>lsusb<\/li>\n<li>usb-devices<\/li>\n<li>usbreset (quando disponibile)<\/li>\n<\/ul>\n<p>Su Debian e Ubuntu \u00e8 possibile installare il pacchetto con:<\/p>\n<pre><code>sudo apt install usbutils<\/code><\/pre>\n<hr \/>\n<h3>Reimpostare un dispositivo USB<\/h3>\n<p>In alcuni casi un dispositivo USB pu\u00f2 smettere di funzionare correttamente senza essere fisicamente scollegato. Su alcuni sistemi \u00e8 possibile utilizzare l&#8217;utility <strong>usbreset<\/strong> per reimpostare il dispositivo senza riavviare il computer. Esempio:<\/p>\n<pre><code>sudo usbreset \/dev\/bus\/usb\/001\/004<\/code><\/pre>\n<p>Questa operazione forza la reinizializzazione del dispositivo USB da parte del kernel.<\/p>\n<blockquote><p><strong>\u26a0\ufe0f Errore comune<\/strong> Non tutte le distribuzioni installano automaticamente <code>usbreset<\/code>. Inoltre alcuni dispositivi potrebbero richiedere il loro scollegamento e ricollegamento fisico per essere nuovamente rilevati.<\/p><\/blockquote>\n<hr \/>\n<h3>Quando utilizzare questi strumenti<\/h3>\n<table>\n<thead>\n<tr>\n<th>Comando<\/th>\n<th>Utilizzo principale<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>lsusb<\/code><\/td>\n<td>Visualizza i dispositivi USB collegati.<\/td>\n<\/tr>\n<tr>\n<td><code>lspci<\/code><\/td>\n<td>Visualizza i dispositivi PCI e PCI Express.<\/td>\n<\/tr>\n<tr>\n<td><code>lspci -k<\/code><\/td>\n<td>Mostra il driver del kernel associato al dispositivo.<\/td>\n<\/tr>\n<tr>\n<td><code>lsusb -v<\/code><\/td>\n<td>Visualizza informazioni dettagliate sui dispositivi USB.<\/td>\n<\/tr>\n<tr>\n<td><code>usbreset<\/code><\/td>\n<td>Reinizializza un dispositivo USB.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<blockquote><p><strong>\u2699\ufe0f Best Practice<\/strong> Quando una periferica non viene riconosciuta, \u00e8 consigliabile seguire questo ordine di verifica:<\/p>\n<ol>\n<li>Controllare che il dispositivo sia abilitato nel BIOS\/UEFI.<\/li>\n<li>Verificare il riconoscimento tramite <code>lsusb<\/code> oppure <code>lspci<\/code>.<\/li>\n<li>Controllare quale driver \u00e8 stato caricato con <code>lspci -k<\/code>.<\/li>\n<li>Consultare i messaggi del kernel tramite <code>dmesg<\/code>.<\/li>\n<\/ol>\n<\/blockquote>\n<hr \/>\n<h3>Riepilogo<\/h3>\n<ul>\n<li><strong>lsusb<\/strong> visualizza tutti i dispositivi USB riconosciuti dal sistema.<\/li>\n<li><strong>lspci<\/strong> mostra i dispositivi PCI e PCI Express.<\/li>\n<li><strong>lspci -k<\/strong> permette di verificare il driver del kernel associato a ogni periferica.<\/li>\n<li><strong>usbutils<\/strong> raccoglie gli strumenti dedicati ai dispositivi USB.<\/li>\n<li>Questi comandi rappresentano gli strumenti fondamentali per la diagnostica hardware in Linux.<\/li>\n<\/ul>\n<h2>101.1.5 Sysfs, Udev e D-Bus<\/h2>\n<p>Linux mette a disposizione diversi componenti che consentono al kernel, ai dispositivi hardware e alle applicazioni di comunicare tra loro. Tra i pi\u00f9 importanti troviamo <strong>Sysfs<\/strong>, <strong>Udev<\/strong> e <strong>D-Bus<\/strong>, ognuno con un ruolo specifico nella gestione del sistema.<\/p>\n<blockquote><p><strong>\ud83d\udca1 Exam Tip<\/strong> Per l&#8217;esame LPIC-1 \u00e8 importante conoscere lo scopo di Sysfs, Udev e D-Bus e saper distinguere il ruolo di ciascun componente.<\/p><\/blockquote>\n<hr \/>\n<h3>Sysfs<\/h3>\n<p><strong>Sysfs<\/strong> \u00e8 un <strong>filesystem virtuale<\/strong> creato dal kernel Linux che espone informazioni dettagliate sui dispositivi hardware, sui driver e sugli altri oggetti gestiti dal kernel. A differenza di un filesystem tradizionale, i file presenti in Sysfs non sono realmente memorizzati sul disco, ma vengono generati dinamicamente dal kernel ogni volta che vengono consultati. Il filesystem Sysfs \u00e8 montato nella directory:<\/p>\n<pre><code>\/sys\/<\/code><\/pre>\n<p>All&#8217;interno di questa directory \u00e8 possibile esplorare numerose informazioni sul sistema, tra cui:<\/p>\n<ul>\n<li>dispositivi di archiviazione;<\/li>\n<li>bus PCI e USB;<\/li>\n<li>driver caricati;<\/li>\n<li>interfacce di rete;<\/li>\n<li>CPU e memoria.<\/li>\n<\/ul>\n<p>Per visualizzare i dispositivi di archiviazione rilevati dal kernel:<\/p>\n<pre><code>ls \/sys\/block\/<\/code><\/pre>\n<p>Esempio di output:<\/p>\n<pre><code>loop0\r\nloop1\r\nsda\r\nsdb\r\nnvme0n1\r\n<\/code><\/pre>\n<p>Ogni directory rappresenta un dispositivo gestito dal kernel e contiene ulteriori informazioni tecniche sul relativo hardware.<\/p>\n<blockquote><p><strong>\ud83d\udccc Da ricordare<\/strong> Sysfs rappresenta la principale interfaccia tra il kernel Linux e gli strumenti di gestione dell&#8217;hardware.<\/p><\/blockquote>\n<hr \/>\n<h3>Udev<\/h3>\n<p><strong>Udev<\/strong> \u00e8 il gestore dinamico dei dispositivi del kernel Linux. Il suo compito \u00e8 creare automaticamente i file dei dispositivi nella directory <code>\/dev<\/code> quando una periferica viene rilevata dal sistema e rimuoverli quando il dispositivo viene scollegato. Ad esempio, quando viene collegata una chiavetta USB, il kernel rileva il nuovo dispositivo e notifica l&#8217;evento a Udev, che provvede a creare il relativo file nella directory <code>\/dev<\/code>. Il processo avviene generalmente nel seguente ordine:<\/p>\n<ol>\n<li>Il kernel rileva il nuovo dispositivo.<\/li>\n<li>Viene generato un evento (<em>uevent<\/em>).<\/li>\n<li>Udev riceve l&#8217;evento.<\/li>\n<li>Viene creato il file del dispositivo nella directory <code>\/dev<\/code>.<\/li>\n<li>Il dispositivo diventa immediatamente disponibile per il sistema operativo.<\/li>\n<\/ol>\n<p>I file dei dispositivi sono disponibili nella directory:<\/p>\n<pre><code>\/dev\/<\/code><\/pre>\n<p>Le regole personalizzate di Udev sono normalmente memorizzate nella directory:<\/p>\n<pre><code>\/etc\/udev\/rules.d\/<\/code><\/pre>\n<p>Queste regole consentono, ad esempio, di assegnare nomi personalizzati ai dispositivi oppure di eseguire automaticamente alcune operazioni quando viene collegata una nuova periferica.<\/p>\n<blockquote><p><strong>\u2699\ufe0f Best Practice<\/strong> Nei server \u00e8 consigliabile utilizzare regole Udev personalizzate quando \u00e8 necessario assegnare nomi permanenti ai dispositivi USB o ad altre periferiche che possono cambiare identificativo dopo un riavvio.<\/p><\/blockquote>\n<hr \/>\n<h3>D-Bus<\/h3>\n<p><strong>D-Bus (Desktop Bus)<\/strong> \u00e8 un sistema di comunicazione tra processi (<em>Inter Process Communication &#8211; IPC<\/em>) che permette alle applicazioni Linux di scambiarsi messaggi e informazioni. Invece di comunicare direttamente tra loro, le applicazioni utilizzano D-Bus come intermediario, rendendo la comunicazione pi\u00f9 semplice e standardizzata. D-Bus \u00e8 utilizzato principalmente negli ambienti desktop come GNOME e KDE per:<\/p>\n<ul>\n<li>notifiche di sistema;<\/li>\n<li>gestione dell&#8217;alimentazione;<\/li>\n<li>montaggio automatico delle unit\u00e0 USB;<\/li>\n<li>gestione delle stampanti;<\/li>\n<li>controllo dei servizi di sistema;<\/li>\n<li>comunicazione tra applicazioni.<\/li>\n<\/ul>\n<p>Ad esempio, quando viene inserita una chiavetta USB, Udev rileva il dispositivo e D-Bus pu\u00f2 notificare automaticamente l&#8217;ambiente desktop, che mostra il messaggio &#8220;Nuovo dispositivo rilevato&#8221; e propone il montaggio dell&#8217;unit\u00e0.<\/p>\n<blockquote><p><strong>\ud83d\udca1 Curiosit\u00e0<\/strong> Sebbene D-Bus sia nato per gli ambienti desktop, oggi viene utilizzato anche da numerosi servizi di sistema e applicazioni server.<\/p><\/blockquote>\n<hr \/>\n<h3>Come collaborano Sysfs, Udev e D-Bus<\/h3>\n<p>Questi tre componenti lavorano insieme durante il rilevamento di una nuova periferica.<\/p>\n<table>\n<thead>\n<tr>\n<th>Componente<\/th>\n<th>Funzione<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Kernel<\/strong><\/td>\n<td>Rileva il nuovo dispositivo hardware.<\/td>\n<\/tr>\n<tr>\n<td><strong>Sysfs<\/strong><\/td>\n<td>Espone le informazioni sul dispositivo.<\/td>\n<\/tr>\n<tr>\n<td><strong>Udev<\/strong><\/td>\n<td>Crea automaticamente il file nella directory <code>\/dev<\/code>.<\/td>\n<\/tr>\n<tr>\n<td><strong>D-Bus<\/strong><\/td>\n<td>Notifica l&#8217;evento alle applicazioni e all&#8217;ambiente desktop.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>L&#8217;interazione tra questi componenti consente a Linux di riconoscere automaticamente nuove periferiche e renderle immediatamente disponibili all&#8217;utente.<\/p>\n<blockquote><p><strong>\u26a0\ufe0f Errore comune<\/strong> Molti utenti confondono Sysfs con Udev. In realt\u00e0 Sysfs espone le informazioni fornite dal kernel, mentre Udev gestisce la creazione dei file dei dispositivi all&#8217;interno della directory <code>\/dev<\/code>.<\/p><\/blockquote>\n<hr \/>\n<h3>Riepilogo<\/h3>\n<ul>\n<li><strong>Sysfs<\/strong> \u00e8 un filesystem virtuale che espone le informazioni sui dispositivi gestiti dal kernel.<\/li>\n<li><strong>Udev<\/strong> gestisce dinamicamente i dispositivi creando e rimuovendo i file presenti in <code>\/dev<\/code>.<\/li>\n<li><strong>D-Bus<\/strong> permette alle applicazioni e ai servizi di comunicare tra loro tramite uno scambio di messaggi.<\/li>\n<li>Questi tre componenti collaborano per garantire il corretto riconoscimento e la gestione dell&#8217;hardware in Linux.<\/li>\n<\/ul>\n<h2>101.1.6 Altri strumenti per la gestione dei moduli del kernel<\/h2>\n<p>Uno dei punti di forza di Linux \u00e8 la sua capacit\u00e0 di caricare e scaricare dinamicamente i <strong>moduli del kernel<\/strong>. Un modulo \u00e8 un componente software che estende le funzionalit\u00e0 del kernel senza richiedere la ricompilazione o il riavvio del sistema. I moduli vengono utilizzati principalmente per gestire dispositivi hardware, filesystem, protocolli di rete e numerose altre funzionalit\u00e0 del sistema operativo.<\/p>\n<blockquote><p><strong>\ud83d\udca1 Exam Tip<\/strong> Per l&#8217;esame LPIC-1 \u00e8 fondamentale conoscere la differenza tra <code>lsmod<\/code> e <code>modprobe<\/code> e sapere quando utilizzare ciascun comando.<\/p><\/blockquote>\n<hr \/>\n<h3>I moduli del kernel<\/h3>\n<p>Quando Linux rileva un nuovo dispositivo hardware, il kernel tenta di caricare automaticamente il modulo pi\u00f9 adatto per consentirne il corretto funzionamento. Ad esempio, collegando una nuova scheda di rete o una periferica USB, il sistema individua il driver appropriato e lo carica automaticamente, rendendo il dispositivo immediatamente disponibile. Nella maggior parte dei casi questo processo \u00e8 completamente automatico e non richiede alcun intervento da parte dell&#8217;amministratore.<\/p>\n<hr \/>\n<h3>Il comando lsmod<\/h3>\n<p>Il comando <strong>lsmod<\/strong> visualizza tutti i moduli del kernel attualmente caricati. Esecuzione del comando:<\/p>\n<pre><code>lsmod<\/code><\/pre>\n<p>Esempio di output:<\/p>\n<pre><code>Module                  Size   Used by\r\nkvm_intel             450560   0\r\nkvm                  1343488   1 kvm_intel\r\nsnd_hda_intel         118784   2\r\ni915                 4214784   15\r\n<\/code><\/pre>\n<p>Le colonne mostrano:<\/p>\n<ul>\n<li><strong>Module<\/strong> \u2192 nome del modulo.<\/li>\n<li><strong>Size<\/strong> \u2192 dimensione del modulo in memoria.<\/li>\n<li><strong>Used by<\/strong> \u2192 numero di moduli o processi che lo stanno utilizzando.<\/li>\n<\/ul>\n<p>Questo comando \u00e8 particolarmente utile durante la diagnostica hardware e la verifica del corretto caricamento dei driver.<\/p>\n<hr \/>\n<h3>Il comando modprobe<\/h3>\n<p>Il comando <strong>modprobe<\/strong> permette di caricare oppure rimuovere un modulo del kernel. Caricare un modulo:<\/p>\n<pre><code>sudo modprobe nome_modulo<\/code><\/pre>\n<p>Ad esempio:<\/p>\n<pre><code>sudo modprobe loop<\/code><\/pre>\n<p>Per rimuovere un modulo \u00e8 possibile utilizzare l&#8217;opzione <code>-r<\/code>:<\/p>\n<pre><code>sudo modprobe -r nome_modulo<\/code><\/pre>\n<p>Esempio:<\/p>\n<pre><code>sudo modprobe -r loop<\/code><\/pre>\n<p>Prima di rimuovere un modulo \u00e8 necessario assicurarsi che non sia in uso da altri componenti del sistema.<\/p>\n<hr \/>\n<h3>Perch\u00e9 utilizzare modprobe?<\/h3>\n<p>A differenza del comando <code>insmod<\/code>, <strong>modprobe<\/strong> \u00e8 in grado di gestire automaticamente le dipendenze tra i moduli. Se il modulo richiesto necessita di altri moduli per funzionare correttamente, questi vengono caricati automaticamente.<\/p>\n<table>\n<thead>\n<tr>\n<th>Comando<\/th>\n<th>Funzione<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>lsmod<\/code><\/td>\n<td>Visualizza i moduli del kernel caricati.<\/td>\n<\/tr>\n<tr>\n<td><code>modprobe<\/code><\/td>\n<td>Carica o rimuove un modulo gestendo automaticamente le dipendenze.<\/td>\n<\/tr>\n<tr>\n<td><code>insmod<\/code><\/td>\n<td>Carica un modulo senza gestire le dipendenze.<\/td>\n<\/tr>\n<tr>\n<td><code>rmmod<\/code><\/td>\n<td>Rimuove un modulo del kernel.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<blockquote><p><strong>\ud83d\udccc Da ricordare<\/strong> Nella maggior parte dei casi \u00e8 preferibile utilizzare <code>modprobe<\/code> anzich\u00e9 <code>insmod<\/code>, poich\u00e9 gestisce automaticamente il caricamento delle dipendenze richieste dal modulo.<\/p><\/blockquote>\n<hr \/>\n<h3>Dove sono memorizzati i moduli?<\/h3>\n<p>I moduli del kernel sono normalmente archiviati nella directory:<\/p>\n<pre><code>\/lib\/modules\/&lt;versione-del-kernel&gt;\/<\/code><\/pre>\n<p>Ad esempio:<\/p>\n<pre><code>\/lib\/modules\/6.8.0-64-generic\/<\/code><\/pre>\n<p>Questa directory contiene migliaia di moduli organizzati in sottocartelle in base alla loro funzione.<\/p>\n<hr \/>\n<h3>Quando utilizzare questi strumenti<\/h3>\n<p>Gli amministratori di sistema utilizzano frequentemente questi comandi per:<\/p>\n<ul>\n<li>verificare che un driver sia stato correttamente caricato;<\/li>\n<li>diagnosticare problemi hardware;<\/li>\n<li>abilitare il supporto a nuove periferiche;<\/li>\n<li>testare un modulo senza riavviare il sistema;<\/li>\n<li>risolvere conflitti tra driver.<\/li>\n<\/ul>\n<blockquote><p><strong>\u2699\ufe0f Best Practice<\/strong> Prima di installare driver proprietari o investigare un problema hardware, verifica sempre quali moduli sono gi\u00e0 caricati utilizzando <code>lsmod<\/code>. In molti casi il driver corretto \u00e8 gi\u00e0 presente nel kernel.<\/p><\/blockquote>\n<blockquote><p><strong>\u26a0\ufe0f Errore comune<\/strong> Molti utenti utilizzano <code>insmod<\/code> senza conoscere le dipendenze del modulo. Nella maggior parte delle situazioni \u00e8 preferibile utilizzare <code>modprobe<\/code>, che si occupa automaticamente del caricamento dei moduli necessari.<\/p><\/blockquote>\n<hr \/>\n<h3>Riepilogo<\/h3>\n<ul>\n<li>I moduli del kernel estendono le funzionalit\u00e0 di Linux senza richiedere la ricompilazione del kernel.<\/li>\n<li><code>lsmod<\/code> visualizza i moduli attualmente caricati.<\/li>\n<li><code>modprobe<\/code> consente di caricare o rimuovere un modulo gestendo automaticamente le dipendenze.<\/li>\n<li>I moduli sono memorizzati nella directory <code>\/lib\/modules\/<\/code>.<\/li>\n<li>La gestione dei moduli \u00e8 una delle principali attivit\u00e0 di amministrazione e diagnostica dei sistemi Linux.<\/li>\n<\/ul>\n<hr \/>\n<h2>\ud83d\udcda Riepilogo della lezione<\/h2>\n<p>In questa lezione hai acquisito le conoscenze fondamentali per comprendere come Linux riconosce e gestisce l&#8217;hardware del computer. Hai scoperto quali sono i principali componenti hardware, come vengono inizializzati durante l&#8217;avvio del sistema e quali strumenti utilizzare per identificarli e diagnosticarli. Hai inoltre approfondito il ruolo del kernel nella gestione dei dispositivi e dei driver, imparando a utilizzare alcuni dei principali comandi di diagnostica disponibili in qualsiasi distribuzione Linux.<\/p>\n<h3>Concetti principali<\/h3>\n<ul>\n<li>Hai imparato a distinguere le <strong>periferiche integrate<\/strong> da quelle esterne.<\/li>\n<li>Hai compreso il ruolo del <strong>BIOS<\/strong> e dell&#8217;<strong>UEFI<\/strong> durante l&#8217;inizializzazione dell&#8217;hardware.<\/li>\n<li>Hai conosciuto le principali tipologie di dispositivi di archiviazione: <strong>HDD<\/strong>, <strong>SSD SATA<\/strong>, <strong>SSD NVMe<\/strong> e <strong>unit\u00e0 USB Flash<\/strong>.<\/li>\n<li>Hai approfondito il significato delle risorse hardware <strong>IRQ<\/strong>, <strong>DMA<\/strong> e <strong>porte I\/O<\/strong>.<\/li>\n<li>Hai imparato a consultare il filesystem virtuale <code>\/proc<\/code> per ottenere informazioni sul sistema.<\/li>\n<li>Hai utilizzato i principali strumenti di identificazione hardware come <code>lspci<\/code>, <code>lsusb<\/code>, <code>lsblk<\/code> e <code>lscpu<\/code>.<\/li>\n<li>Hai compreso il ruolo di <strong>Sysfs<\/strong>, <strong>Udev<\/strong> e <strong>D-Bus<\/strong> nella gestione dinamica dei dispositivi.<\/li>\n<li>Hai imparato a visualizzare e gestire i moduli del kernel tramite <code>lsmod<\/code> e <code>modprobe<\/code>.<\/li>\n<\/ul>\n<blockquote><p><strong>\ud83c\udfaf Obiettivo raggiunto<\/strong> Al termine di questa lezione sei in grado di identificare l&#8217;hardware di un sistema Linux, comprenderne il funzionamento di base e utilizzare gli strumenti fondamentali per verificarne il corretto riconoscimento da parte del kernel.<\/p><\/blockquote>\n<h3>Comandi da ricordare<\/h3>\n<table>\n<thead>\n<tr>\n<th>Comando<\/th>\n<th>Descrizione<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>lspci<\/code><\/td>\n<td>Visualizza i dispositivi PCI e PCI Express.<\/td>\n<\/tr>\n<tr>\n<td><code>lsusb<\/code><\/td>\n<td>Visualizza i dispositivi USB collegati.<\/td>\n<\/tr>\n<tr>\n<td><code>lsblk<\/code><\/td>\n<td>Mostra i dispositivi di archiviazione.<\/td>\n<\/tr>\n<tr>\n<td><code>lscpu<\/code><\/td>\n<td>Visualizza le informazioni sul processore.<\/td>\n<\/tr>\n<tr>\n<td><code>lsmod<\/code><\/td>\n<td>Elenca i moduli del kernel caricati.<\/td>\n<\/tr>\n<tr>\n<td><code>modprobe<\/code><\/td>\n<td>Carica o rimuove un modulo del kernel.<\/td>\n<\/tr>\n<tr>\n<td><code>cat \/proc\/interrupts<\/code><\/td>\n<td>Mostra gli interrupt hardware.<\/td>\n<\/tr>\n<tr>\n<td><code>cat \/proc\/dma<\/code><\/td>\n<td>Visualizza i canali DMA.<\/td>\n<\/tr>\n<tr>\n<td><code>cat \/proc\/ioports<\/code><\/td>\n<td>Visualizza le porte di Input\/Output.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<blockquote><p><strong>\ud83d\udca1 Preparazione all&#8217;esame LPIC-1<\/strong> Prima di proseguire assicurati di conoscere il significato dei principali comandi e di saper distinguere il ruolo di BIOS, UEFI, Sysfs, Udev e D-Bus. Questi argomenti compaiono frequentemente nelle domande della certificazione LPIC-1 Exam 101.<\/p><\/blockquote>\n<hr \/>\n<h2>\u27a1\ufe0f Prossima lezione<\/h2>\n<p>Nella prossima lezione (<strong>101.2 Avviare il sistema<\/strong>) analizzerai il processo di avvio di Linux, partendo dal firmware BIOS\/UEFI fino al caricamento del bootloader, del kernel e del sistema di inizializzazione <strong>systemd<\/strong>. Comprendere il processo di boot \u00e8 fondamentale per diagnosticare problemi di avvio e amministrare correttamente un sistema Linux.<\/p>\n","protected":false},"comment_status":"open","ping_status":"closed","template":"","class_list":["post-3581","lesson","type-lesson","status-publish","has-post-thumbnail","hentry"],"uagb_featured_image_src":[],"uagb_author_info":{"display_name":"Rootmail Academy","author_link":"https:\/\/rootmail.it\/en\/author\/"},"uagb_comment_info":0,"uagb_excerpt":"101.1 Determinare e configurare le impostazioni dell&#8217;hardware L&#8217;hardware rappresenta il livello fisico di ogni sistema Linux. Prima che il sistema operativo possa utilizzare una periferica, \u00e8 necessario che questa venga correttamente rilevata, inizializzata e gestita dal kernel. Per un amministratore di sistema \u00e8 fondamentale conoscere i principali componenti hardware, comprenderne il funzionamento e saper utilizzare&hellip;","_links":{"self":[{"href":"https:\/\/rootmail.it\/en\/wp-json\/wp\/v2\/lesson\/3581","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rootmail.it\/en\/wp-json\/wp\/v2\/lesson"}],"about":[{"href":"https:\/\/rootmail.it\/en\/wp-json\/wp\/v2\/types\/lesson"}],"replies":[{"embeddable":true,"href":"https:\/\/rootmail.it\/en\/wp-json\/wp\/v2\/comments?post=3581"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rootmail.it\/en\/wp-json\/wp\/v2\/media\/3664"}],"wp:attachment":[{"href":"https:\/\/rootmail.it\/en\/wp-json\/wp\/v2\/media?parent=3581"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}