Hardware/Software e Comunicazione Dati
Report 5000 ufficiale: architettura elaboratore, gerarchia memoria, sistemi operativi, ISO/OSI e TCP/IP, LAN/Wi-Fi, software e cloud + 25 numeri chiave + 15 trabocchetti.
1 Architettura dell'elaboratore
Modello di Von Neumann (1945)
Architettura a programma memorizzato basata su 5 unità funzionali:
- CPU (Central Processing Unit): Unità di Controllo (CU) + ALU
- Memoria centrale (RAM)
- Bus di sistema (data, address, control)
- Unità I/O
- Memoria di massa
Caratteristica fondamentale: dati e istruzioni condividono la stessa memoria → ciclo fetch-decode-execute sequenziale.
Architettura Harvard
Memorie separate per dati e istruzioni → maggior parallelismo, usata in microcontrollori (Arduino, ARM Cortex-M) e DSP.
CPU moderna
- Registri: PC (Program Counter), IR (Instruction Register), MAR/MDR, registri general purpose
- Pipeline: sovrapposizione delle fasi del ciclo (5-15 stadi tipici): IF → ID → EX → MEM → WB
- Cache multi-livello (L1, L2, L3) — riduce latenza accessi memoria
- Multi-core: più core indipendenti su singolo chip
- Hyper-threading: 2 thread logici per core fisico
Set di istruzioni
- CISC (Complex Instruction Set Computing): x86, x86_64 — istruzioni complesse, codifica variabile
- RISC (Reduced Instruction Set Computing): ARM, RISC-V, MIPS — istruzioni semplici, codifica fissa, pipeline efficiente
2 Gerarchia di memoria
Piramide della memoria
| Livello | Tipo | Dimensione | Latenza | Costo/bit |
|---|---|---|---|---|
| Registri CPU | SRAM | KB | <1 ns | Massimo |
| Cache L1 | SRAM | 32-64 KB | 1-3 ns | Molto alto |
| Cache L2 | SRAM | 256 KB - 1 MB | 3-10 ns | Alto |
| Cache L3 | SRAM | 4-64 MB | 10-30 ns | Medio-alto |
| RAM | DRAM | GB (4-128) | 50-100 ns | Medio |
| SSD NVMe | Flash | TB | 10-100 μs | Basso |
| HDD | Magnetico | TB-PB | 5-15 ms | Minimo |
Principio di località
- Località temporale: dato acceduto recentemente verrà riacceduto presto
- Località spaziale: dato vicino a uno acceduto verrà acceduto presto
→ giustifica l'esistenza delle cache.
Memoria virtuale
Tecnica che permette l'esecuzione di processi più grandi della RAM fisica usando la paginazione (pagine 4 KB tipiche). Componenti: TLB (Translation Lookaside Buffer), page table, page fault gestito dal SO con swap su disco.
3 Sistemi operativi
Funzioni principali
- Gestione processi (scheduling CPU, IPC, sincronizzazione)
- Gestione memoria (allocazione, paginazione, swap)
- File system (gerarchia, permessi, journaling)
- Gestione I/O (driver, buffering, spooling)
- Sicurezza (autenticazione, autorizzazione, audit)
Modalità di esecuzione
- Kernel mode (ring 0): accesso completo hardware, esecuzione istruzioni privilegiate
- User mode (ring 3): accesso limitato, syscall per richieste al kernel
Algoritmi di scheduling CPU
| Algoritmo | Caratteristica | Pro/Contro |
|---|---|---|
| FCFS (First Come First Served) | FIFO non preemptive | Semplice / Convoy effect |
| SJF (Shortest Job First) | Minor burst time | Ottimo wait medio / Starvation |
| Round Robin | Quanto fisso preemptive | Equità / Overhead context switch |
| Priority | Per priorità | Flessibile / Starvation (mitigato con aging) |
| MLFQ (Multi-Level Feedback Queue) | Code multiple, feedback | Adattivo / Complesso |
Sistemi operativi diffusi
- Linux (kernel monolitico modulare, GPL)
- Windows NT (kernel ibrido)
- macOS (kernel XNU = Mach + BSD)
- Android (Linux + Java VM)
- iOS (Darwin = XNU + Cocoa Touch)
4 Reti e comunicazione dati
Modello ISO/OSI (7 livelli)
| Livello | Nome | Funzione | Esempio protocollo |
|---|---|---|---|
| 7 | Applicazione | Servizi utente | HTTP, SMTP, FTP, DNS |
| 6 | Presentazione | Encoding, compressione, cifratura | TLS, JPEG, MIME |
| 5 | Sessione | Gestione sessioni | NetBIOS, RPC |
| 4 | Trasporto | End-to-end, affidabilità | TCP, UDP |
| 3 | Rete | Routing, indirizzamento logico | IP, ICMP, OSPF |
| 2 | Data Link | Frame, controllo accesso mezzo | Ethernet, PPP, MAC |
| 1 | Fisico | Trasmissione bit | Cavi, fibra, segnali |
Modello TCP/IP (4 livelli)
- Applicazione (HTTP, FTP, DNS, SMTP, ...)
- Trasporto (TCP, UDP)
- Internet (IP, ICMP, ARP)
- Accesso alla rete (Ethernet, Wi-Fi)
TCP vs UDP
| Caratteristica | TCP | UDP |
|---|---|---|
| Connessione | Connection-oriented | Connectionless |
| Affidabilità | Garantita (ack, retx) | Best effort |
| Ordine | Garantito | Non garantito |
| Overhead | Alto (header 20 byte) | Basso (header 8 byte) |
| Uso tipico | Web, email, file transfer | Streaming, DNS, VoIP, gaming |
Indirizzamento IP
- IPv4: 32 bit, ~4,3 miliardi indirizzi (esauriti 2011), notazione decimale puntata (es. 192.168.1.1)
- IPv6: 128 bit, ~3,4×10³⁸ indirizzi, notazione esadecimale (es. 2001:db8::1)
- CIDR (Classless Inter-Domain Routing): notazione /n (es. 192.168.0.0/24)
- NAT (Network Address Translation): traduzione IP privato ↔ pubblico
- Indirizzi privati IPv4: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16
Porte standard
| Servizio | Porta |
|---|---|
| HTTP | 80 |
| HTTPS | 443 |
| FTP | 20/21 |
| SSH | 22 |
| SMTP | 25 / 587 (submission) |
| DNS | 53 |
| POP3 / IMAP | 110 / 143 |
| RDP | 3389 |
DNS (Domain Name System)
Sistema gerarchico distribuito che traduce nomi dominio in indirizzi IP. Organizzato in: root server (13) → TLD (.com, .it) → autoritativi → resolver locali. Record principali: A (IPv4), AAAA (IPv6), CNAME, MX, TXT, NS.
5 Reti locali e wireless
Topologie LAN
- A bus (storica)
- A stella (switch centrale — standard moderno)
- Ad anello (Token Ring, FDDI)
- A maglia (mesh — ridondanza)
Ethernet (IEEE 802.3)
- Velocità attuali: 1 Gbps, 10 Gbps, 25/40/100 Gbps
- Cavi: UTP cat 5e/6/6a/7, fibra ottica
- Lunghezza max segmento UTP: 100 m
- MAC address: 48 bit, univoco per scheda di rete (formato XX:XX:XX:XX:XX:XX)
Wi-Fi (IEEE 802.11)
| Standard | Anno | Frequenza | Velocità max |
|---|---|---|---|
| 802.11a/g | 1999/2003 | 5 GHz / 2.4 GHz | 54 Mbps |
| 802.11n (Wi-Fi 4) | 2009 | 2.4/5 GHz | 600 Mbps |
| 802.11ac (Wi-Fi 5) | 2013 | 5 GHz | 6,9 Gbps |
| 802.11ax (Wi-Fi 6) | 2019 | 2.4/5/6 GHz | 9,6 Gbps |
| 802.11be (Wi-Fi 7) | 2024 | 2.4/5/6 GHz | 46 Gbps |
Sicurezza Wi-Fi
- WEP (deprecato, vulnerabile)
- WPA/WPA2 (TKIP/AES)
- WPA3 (standard 2018, SAE handshake)
Apparati di rete
- Hub (livello 1) — broadcast, obsoleto
- Switch (livello 2) — forwarding intelligente per MAC
- Router (livello 3) — instradamento tra reti
- Firewall (livello 3-7) — filtro pacchetti / stateful / application
- Access Point Wi-Fi
- Load balancer (livello 4-7)
6 Software: tipologie e licenze
Classificazione software
- Sistema operativo (Windows, Linux, macOS)
- Software di base (driver, utility, compilatori)
- Software applicativo (Office, browser, ERP)
- Firmware (BIOS/UEFI, microcodice)
- Middleware (DBMS, application server)
Licenze software
| Tipo | Caratteristica | Esempio |
|---|---|---|
| Proprietaria | Codice chiuso, restrizioni d'uso | Microsoft Office |
| Freeware | Gratuito, codice chiuso | Adobe Reader |
| Shareware | Trial → pagamento | WinRAR |
| Open Source (OSI) | Codice aperto, modificabile | Linux, Apache |
| Free Software (FSF) | 4 libertà essenziali (GPL) | GNU/Linux |
| Permissiva (MIT, Apache, BSD) | Open source con poche restrizioni | React (MIT) |
| Copyleft (GPL, AGPL) | Derivati devono restare aperti | Linux kernel |
Cloud computing — modelli di servizio
- IaaS (Infrastructure as a Service): AWS EC2, Azure VM
- PaaS (Platform as a Service): Heroku, Google App Engine
- SaaS (Software as a Service): Microsoft 365, Salesforce
- FaaS / Serverless: AWS Lambda, Azure Functions
Virtualizzazione vs containerizzazione
- Virtualizzazione (VMware, KVM, Hyper-V): hypervisor ospita VM con SO completo
- Container (Docker, Podman): condividono kernel host, leggeri e portabili
- Orchestrazione: Kubernetes standard de facto
7 25 numeri chiave
| # | Dato | Valore |
|---|---|---|
| 1 | Anno modello Von Neumann | 1945 |
| 2 | Livelli ISO/OSI | 7 |
| 3 | Livelli TCP/IP | 4 |
| 4 | Bit indirizzo IPv4 | 32 |
| 5 | Bit indirizzo IPv6 | 128 |
| 6 | Bit MAC address | 48 |
| 7 | Anno esaurimento IPv4 | 2011 |
| 8 | Porta HTTP | 80 |
| 9 | Porta HTTPS | 443 |
| 10 | Porta SSH | 22 |
| 11 | Porta DNS | 53 |
| 12 | Porta SMTP | 25 |
| 13 | Lunghezza max UTP | 100 m |
| 14 | Header TCP | 20 byte |
| 15 | Header UDP | 8 byte |
| 16 | Standard Wi-Fi 6 | 802.11ax (2019) |
| 17 | Standard Wi-Fi 7 | 802.11be (2024) |
| 18 | Pagina memoria virtuale tipica | 4 KB |
| 19 | Numero root server DNS | 13 |
| 20 | Range privato classe A | 10.0.0.0/8 |
| 21 | Range privato classe B | 172.16.0.0/12 |
| 22 | Range privato classe C | 192.168.0.0/16 |
| 23 | Cache L1 dimensione tipica | 32-64 KB |
| 24 | RAM tipica desktop 2026 | 16-32 GB |
| 25 | Standard sicurezza Wi-Fi attuale | WPA3 (2018) |
8 15 trabocchetti d'esame
| # | Trabocchetto | Risposta corretta |
|---|---|---|
| 1 | "OSI ha 4 livelli, TCP/IP ne ha 7" | FALSO — OSI 7 livelli, TCP/IP 4 livelli |
| 2 | "TCP è connectionless" | FALSO — TCP è connection-oriented (UDP è connectionless) |
| 3 | "IP è livello 4 OSI" | FALSO — IP è livello 3 (Rete); livello 4 è Trasporto (TCP/UDP) |
| 4 | "MAC address ha 32 bit" | FALSO — 48 bit (6 ottetti esadecimali) |
| 5 | "RISC ha istruzioni complesse" | FALSO — RISC = Reduced → istruzioni semplici, regolari |
| 6 | "Architettura Harvard ha memoria unica" | FALSO — Harvard ha memorie separate dati/istruzioni; Von Neumann ha memoria unica |
| 7 | "WPA2 è lo standard più sicuro" | FALSO — WPA3 (2018) è lo standard attuale |
| 8 | "DNS lavora su porta 80" | FALSO — DNS porta 53 |
| 9 | "Container hanno SO completo come VM" | FALSO — container condividono il kernel host, sono leggeri |
| 10 | "Cache L1 è più grande di L3" | FALSO — L1 è la più piccola e veloce; L3 più grande e lenta |
| 11 | "User mode permette istruzioni privilegiate" | FALSO — solo kernel mode (ring 0) |
| 12 | "Round Robin causa starvation" | FALSO — RR garantisce equità (no starvation, ma overhead) |
| 13 | "IPv6 ha 32 bit come IPv4" | FALSO — IPv6 ha 128 bit |
| 14 | "Hub funziona a livello 2 OSI" | FALSO — Hub livello 1; switch livello 2 |
| 15 | "Località spaziale = dato acceduto presto sarà riacceduto" | FALSO — quella è temporale; spaziale = dati vicini saranno acceduti |