Introduzione all'informatica e alle reti
Di cosa parla
- Introduzione all'Informatica e alle Reti
- Componenti del Computer: Hardware (struttura fisica), Software (programmi), Firmware (software cablato in chip).
- Memorizzazione dei Dati:
- Bit: 0 e 1 per codificare informazioni, operazioni booleane (AND, OR, XOR, NOT).
- Memoria Principale: Celle (8 bit = byte) con indirizzi numerici. Operazioni di lettura/scrittura. RAM e DRAM.
- Capacità di Memoria: Misurata in Kilo (1024), Mega, Giga, Tera byte.
- Memoria di Massa: Sistemi magnetici (hard-disk con tracce, cilindri, settori, zone bit recording) e ottici (CD, DVD). Unità flash (non volatile) e schede SD.
- Rappresentazione delle Informazioni: Testo (ASCII, Unicode, UTF-8), Valori numerici (binario), Immagini (pixel, bitmap, RGB, luminanza/colore, vettoriale), Suoni (campionamento, MIDI).
- Compressione dei Dati:
- Categorie: Con perdita (lossy) e senza perdita (lossless).
- Tecniche: Run-length, dipendente dalla frequenza (Huffman), relativa/differenziale, basata su dizionario (LZW).
- Specifiche: GIF e JPEG per immagini; MPEG e MP3 (mascheramento temporale/frequenza) per audio/video.
- Elaborazione dei Dati
- Architettura dei Computer: CPU (Unità Aritmetico/Logica, Controllo, Registri). Bus per comunicazione CPU-memoria.
- Linguaggio Macchina: Istruzioni CPU. Filosofie RISC (set minimo, efficiente) e CISC (istruzioni complesse).
- Tipi di Istruzioni: Trasferimento dati (LOAD, STORE), Aritmetico/Logiche (AND, NOT, XOR, OR), Controllo (Jump).
- Esecuzione Programmi (Ciclo Macchina): Reperimento, Decodifica, Esecuzione. Registri Contatore di Programmi e Istruzioni.
- Comunicazione con altri Dispositivi: Controller (USB, FireWire), Memory-mapped I/O, DMA (collo di bottiglia di Von Neumann). Handshaking. Comunicazione parallela/seriale. Larghezza di banda.
- Sistemi Operativi
- Evoluzione: Da elaborazione di batch (job, code FIFO) a interattiva, in tempo reale, time-sharing (multitasking).
- Architettura: Software applicativo e di sistema (Sistema Operativo, Utilità).
- Componenti: Interfaccia utente (GUI, Window Manager), Kernel (File Manager, Driver di Periferica, Memory Manager, Scheduler, Dispatcher).
- Avvio (Bootstrap): Caricamento SO da memoria di massa a RAM, gestito da boot-loader in ROM.
- Coordinamento Attività (Processi): Un processo è l'esecuzione dinamica di un programma. Scheduler e Dispatcher gestiscono i processi (timeslice, commutazione di processo, interrupt).
- Gestione Competizione e Stallo: Assegnazione risorse. Lo stallo (deadlock) si verifica con risorse non condivisibili, richieste parziali, risorse non recuperabili.
- Sicurezza:
- Attacchi Esterni: Login, superutente/amministratore, software di monitoraggio/sniffing.
- Attacchi Interni: Livelli di privilegio della CPU (istruzioni privilegiate/non privilegiate).
- Networking e Internet
- Elementi Fondamentali: Reti (PAN, LAN, MAN, WAN), aperte/chiuse. Topologie (Bus, Stella). Protocolli (CSMA/CD, CSMA/CA).
- Unione di Reti: Ripetitori, Ponti, Commutatori, Router (per Internet). Indirizzi IP, Nomi di Dominio (DNS), Gateway.
- Comunicazione tra Processi: Modelli Client/Server e Peripatetico.
- Architettura Internet: ISP (Internet Service Providers) di primo, secondo, terzo livello (d'accesso). Host, Access Point, Hot Spot.
- Applicazioni Internet: E-mail (SMTP, POP3, IMAP), VoIP (Soft phone, adattatori), Streaming Multimediale (N-unicast, Multicast, On-demand, Anycast).
- World Wide Web: Ipertesto, Browser, Web Server, HTTP. Linguaggi HTML, XML. Attività lato client (JavaScript, Applet, Flash) e lato server (CGI, Servlet). URL.
- Protocolli Internet (Famiglia TCP/IP): Gerarchia a 4 livelli: Applicazione, Trasporto (gestisce segmenti/pacchetti, numeri di porta; TCP con controllo flusso/congestione, UDP), Rete (inoltra pacchetti, tabella di routing), Collegamento.
- Sicurezza
- Tipologia di Attacchi: Malware (Virus, Worm, Cavallo di Troia, Spyware), Phishing, DoS (Denial of Service), Spam.
- Protezione e Rimedi: Firewall, Filtri anti-spam, Server proxy, Software antivirus.
- Crittografia: HTTPS, SSL. Crittografia a chiave pubblica (chiave pubblica per cifrare, chiave privata per decifrare). Firma digitale. Autorità di Certificazione. Algoritmo RSA per cifratura/decifratura.