Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Introduzione all'Informatica: Codice Binario e Architettura degli Elaboratori - Prof. Raul, Slide di Fondamenti di informatica

I concetti fondamentali della gestione dell'informazione e dell'architettura degli elaboratori. Partendo dalla rappresentazione binaria dei dati, spiega come le informazioni vengono codificate e gestite all'interno dei dispositivi elettronici. Approfondisce il codice ascii e l'importanza del codice binario per la memorizzazione dei dati. Esplora l'architettura degli elaboratori, con particolare attenzione al modello di von neumann, descrivendo le componenti principali come memoria, processore (cpu) e unità di input/output. Infine, analizza il funzionamento della memoria ram, il ruolo dei registri mar e mdr, e le operazioni di store e fetch. Una panoramica chiara e concisa dei principi di base dell'informatica, utile per chi si avvicina per la prima volta a queste tematiche.

Tipologia: Slide

2023/2024

Caricato il 22/08/2025

mariangela-cariglia
mariangela-cariglia 🇮🇹

4.6

(11)

12 documenti

1 / 92

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
PARTE A - LEZIONE 1
INTRODUZIONE: LA GESTIONE DELL’INFORMAZIONE
INFORMAZIONE
Qualsiasi “informazione” immagazzinata o recuperata per mezzo di un dispositivo (e.g.,
desktop computer, laptop, smartphone) deve essere rappresentata attraverso un
“linguaggio” che può essere capito da quest’ultimo. Questo “linguaggio” è il Codice Binario.
Definizione di Codice Binario: è un sistema di codifica che usa le cifre binarie 0 e 1 al fine
di rappresentare lettere, cifre, o altri caratteri all’interno di un computer o di un qualsiasi
altro dispositivo elettronico (e.g., smartphones, tablets).
In particolare: un BIT ( BI nary digi T ) è l’unità di informazione attraverso la quale un
dispositivo gestisce tutti i tipi di informazione al suo interno. Un singolo BIT può avere solo
due stati: 0 and 1.
Nota: con un singolo BIT solo DUE “elementi” possono essere espressi, ad esempio:
1 = “A”
0 = “B”.
Esempi di “informazione”:
Documento di Testo (e.g., DOCX file);
Disegno (e.g., DXF, DWG files);
Foglio di Calcolo (e.g., XLSX file);
Immagine (e.g., BMP, TIFF files);
Video (e.g., AVI, MP4 files);
Audio (e.g., MP3, WAV, files);
E altro ancora.
LA QUANTITÀ NECESSARIA DI BIT
Quanti bits sono necessari per rappresentare una “comune” quantità di informazione. Ad
esempio, quando si adopera il programma Microsoft Word si stanno maneggiando (più o
meno) i seguenti “elementi”:
52 caratteri di lettere maiuscole e minuscole dell’alfabeto;
10 cifre (0, 1, 2,..., 9);
Diversi caratteri di punteggiatura (, . ; : ! “ ? ‘ ^ \ ...);
Diversi caratteri matematici (+, -, x, ±, {, [, >,...);
Diversi caratteri nazionali (à, è, ì, ò, ù, ç, ñ, ö,...);
Diversi caratteri grafici particolari (©, #, §, @, €,...);
In totale: circa 220 caratteri.
Nota: Con un BIT, si possono rappresentare DUE “caratteri” (detti anche: elementi), ad
esempio:
0 = A;
1 = !.
In realtà, qui si richiede di rappresentare oltre 200 caratteri. Per questo motivo sono
necessari più BITS.
INTRODUZIONE LA RAPPRESENTAZIONE DELL’INFORMAZIONE: CODICE BINARIO
LA QUANTITÀ NECESSARIA DI BIT
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c

Anteprima parziale del testo

Scarica Introduzione all'Informatica: Codice Binario e Architettura degli Elaboratori - Prof. Raul e più Slide in PDF di Fondamenti di informatica solo su Docsity!

PARTE A - LEZIONE 1

INTRODUZIONE: LA GESTIONE DELL’INFORMAZIONE

INFORMAZIONE

Qualsiasi “informazione” immagazzinata o recuperata per mezzo di un dispositivo (e.g., desktop computer, laptop, smartphone) deve essere rappresentata attraverso un “linguaggio” che può essere capito da quest’ultimo. Questo “linguaggio” è il Codice Binario. Definizione di Codice Binario: è un sistema di codifica che usa le cifre binarie 0 e 1 al fine di rappresentare lettere, cifre, o altri caratteri all’interno di un computer o di un qualsiasi altro dispositivo elettronico (e.g., smartphones, tablets). In particolare: un BIT ( BI nary digi T ) è l’unità di informazione attraverso la quale un dispositivo gestisce tutti i tipi di informazione al suo interno. Un singolo BIT può avere solo due stati: 0 and 1. Nota: con un singolo BIT solo DUE “elementi” possono essere espressi, ad esempio: ● 1 = “A” ● 0 = “B”. Esempi di “informazione”: ● Documento di Testo (e.g., DOCX file); ● Disegno (e.g., DXF, DWG files); ● Foglio di Calcolo (e.g., XLSX file); ● Immagine (e.g., BMP, TIFF files); ● Video (e.g., AVI, MP4 files); ● Audio (e.g., MP3, WAV, files); ● E altro ancora. LA QUANTITÀ NECESSARIA DI BIT Quanti bits sono necessari per rappresentare una “comune” quantità di informazione. Ad esempio, quando si adopera il programma Microsoft Word si stanno maneggiando (più o meno) i seguenti “elementi”: ● 52 caratteri di lettere maiuscole e minuscole dell’alfabeto; ● 10 cifre (0, 1, 2,..., 9); ● Diversi caratteri di punteggiatura (,. ; :! “? ‘ ^ \ ...); ● Diversi caratteri matematici (+, -, x, ±, {, [, >,...); ● Diversi caratteri nazionali (à, è, ì, ò, ù, ç, ñ, ö,...); ● Diversi caratteri grafici particolari (©, #, §, @, €,...); ● In totale: circa 220 caratteri. Nota: Con un BIT, si possono rappresentare DUE “caratteri” (detti anche: elementi), ad esempio: ● 0 = A; ● 1 = !. In realtà, qui si richiede di rappresentare oltre 200 caratteri. Per questo motivo sono necessari più BITS. INTRODUZIONE LA RAPPRESENTAZIONE DELL’INFORMAZIONE: CODICE BINARIO LA QUANTITÀ NECESSARIA DI BIT

In generale: Attraverso l’uso dello stato (i.e., 0 o 1 ) di ogni BIT combinato con lo stato di altri BITS un ampio numero di elementi può essere rappresentato. In particolare, con N BITS, 2 alla N differenti elementi possono essere rappresentati. Tornando all’esempio precedente: ● 2 alla 7 (128 “elementi” possono essere rappresentati, meno di quelli necessari: 220 ); ● 2 al ottava (256 “elementi” possono essere rappresentati; sufficienti per i necessari: 220 ) PERCHÉ SI ESIGE L’USO DEL CODICE BINARIO Per queste motivazioni, si rende necessario passare da una rappresentazione analogica del segnale ad una rappresentazione digitale del segnale : Il segnale digitale è più conveniente di quello analogico per le seguenti motivazioni principali: ● Il riconoscimento di soli due stati (1 o 0) è più robusto (rispetto al rumore) e efficiente; ● La polarizzazione binaria di un componente elettronico (con o senza corrente elettrica) è più semplice da maneggiare ed interpretare. GLI ATTUALI DISPOSITIVI LAVORANO SULLA BASE DEL CODICE ASCII ASCII: A merican S tandard C ode for I nformation I nterchange:

processore, etc…) all’interno di un dispositivo al fine di specificare le relazioni tra questi. SISTEMI OPERATIVI (UNA PANORAMICA) Una Definizione (informale): Il sistema operativo è il programma più importante che viene eseguito su un computer. Ogni computer deve avere un sistema operativo per eseguire altri programmi e altre applicazioni. I sistemi operativi eseguono le operazioni portanti e di base, come, ad esempio il riconoscimento di input da tastiera, l'invio di output sullo schermo del display, tenere traccia di file e directory sul disco, il controllo di dispositivi periferici, e così via. IL MODELLO DI VON NEUMANN LE COMPONENTI PRINCIPALI Le Componenti Principali:Memoria (Memory): la memoria principale di un dispositivo contiene i dati e le istruzioni (e.g., programma Word) che sono in esecuzione. Più specificatamente, la memoria contiene quella parte di programma, e i dati ad essa correlati, che sono in esecuzione su un dispositivo in un dato momento; ● Processore (Central Processing Unit - CPU): ○ Processing Unit: è la parte del processore che si occupa dell’effettiva esecuzione di un programma (i.e., programma = sequenza di istruzioni) e dei dati ad esso correlati. Essa effettua tutte le operazioni, incluse quelle logiche e quelle aritmetiche; ○ Control Unit: è la parte del processore che si occupa della supervisione di tutte le attività di elaborazione (i.e., processing). ● Input/Output: si occupa di tutte le interazioni con il mondo esterno MEMORIA Anche chiamata RAM (Random Access Memory), ● Consiste di molte celle di memoria (storage units) di dimensione fissata. Ogni cella ha un indirizzo ad essa associato: 0000, 0001, 0010, … ● Tutti gli accessi alla memoria devo essere specificati attraverso un indirizzo specifico. La cella rappresenta la minima «unità» di memoria (Operazioni: fetch/store). ● Il tempo impiegato per fare un’operazione di fetch/store all’interno di una cella è lo stesso per tutte le celle. Quando un dispositivo è attivo: ● Parti di differenti programmi (e.g., background); ● E relativi dati (i.e., differenti a seconda dei programmi); Sono immagazzinati «dinamicamente» nella memoria (RAM). Le operazioni che possono essere eseguite all’interno della memoria sono di due tipi: ● STORE (Immagazzinare parti di Programmi e Dati); ● FETCH (Recuperare parti di Programmi e Dati). Queste operazioni sono possibili grazie al meccanismo di indirizzamento della memoria, chiamato anche: ● Memory Addresses/Memory Addressing. FUNZIONAMENTO DELLA MEMORIA

Domanda: come fa il PROCESSORE (CPU) a immagazzinare ( store ) e recuperare ( fetch ) le stringhe di bit ( parti di programma e dati utente, d’ora in poi semplicemente dato ) dalla memoria RAM?: ● MAR - Memory Address Register: è un registro (un piccolo contenitore) della Central Processing Unit (CPU) contenente l'indirizzo della locazione di memoria RAM in cui si andrà a leggere o scrivere un dato; ● MDR - Memory Data Register: è un registro a cui l’ Unità Aritmetica e Logica (ALU) ha accesso diretto e che contiene momentaneamente i dati da/per la CPU. ● L'MDR, insieme al MAR, interfaccia quindi la CPU con la RAM. Il funzionamento della MEMORIA si basa sui seguenti due passi (Running Example): Operazione LOAD: per leggere una locazione (A):

  1. Scrivere l’indirizzo (di A) all’interno del MAR;
  2. Mandare un segnale di «lettura» alla memoria;
  3. Leggere il dato (contenuto di A) dall’MDR. Operazione STORE: per scrivere un valore (X) nella locazione (A):
  4. Scrivere il dato (X) nell’MDR;
  5. Scrivere l’indirizzo (A) nel MAR;
  6. Mandare un segnale di “scrittura” alla memoria. In breve: ● L’ MAR si occupa degli INDIRIZZI; ● L’ MDR si occupa dei DATI. PROCESSING UNIT La Processing Unit ( Unità di Elaborazione ) è un’unità funzionale composta da due sotto-moduli principali: ● ALU : è la Arithmetic and Logic Unit (Unità Aritmetico e Logica). Tale sotto-modulo effettua tutte le operazioni (Aritmetiche e Logiche) richieste dal dispositivo. Supporta anche le operazioni di Movimento; ● TEMP : è una memoria velocissima/costosissima utilizzata per le operazioni interne dell’ALU (i.e., Cache Memory della CPU). La Processing Unit contiene le operazioni di base che permettono al dispositivo di lavorare propriamente. Nel nostro caso, LC-2, all’interno contiene diverse istruzioni, tra le quali: ● LD, LDI, LDR, ST, STI, STR, LEA. TEMP: ● Piccola, veloce e costosissima memoria; ● Operandi e Risultati dell’ALU. Grandezza delle parole elaborate: ● Il numero di bits normalmente elaborati dalla ALU è un'istruzione. CONTROL UNIT La Control Unit (Unità di Controllo) è un’unità di gestione. Essa è composta da due sotto-moduli, ossia PC e IT: ● PC: è il Program Counter (Contatore di Programma) e contiene l’indirizzo della prossima istruzione che necessita di essere eseguita; ● IR: è l’Instruction Register (Registro delle Istruzioni) e contiene le istruzioni che possiede il PROCESSORE. Lo scopo della Control Unit (Unità di Controllo) è: ● La gestione dell’intero processo di elaborazione. Ossia: ○ Legge ciascuna istruzione dalla memoria: ■ L’indirizzo dell’istruzione è all’interno del modulo PC;

Scheda Madre – Componente fisico rappresentato dal BUS nel modello di Von Neumann La motherboard è la scheda a circuito stampato principale e contiene i bus, o percorsi elettrici, situati in un computer. Questi bus permettono ai dati di viaggiare fra i vari componenti di un computer. La Figura mostra alcune tipologie di motherboard. La motherboard è anche conosciuta come scheda di sistema, backplane, o scheda principale. Scheda Madre – scopo La motherboard ospita: ● l'unità centrale di elaborazione (CPU), ● la RAM, ● gli slot di espansione, ● il sistema di riscaldamento/ventilazione, ● il circuito integrato del BIOS (firmware) spiegato nella prossima slide, ● il chipset (in insieme di chip per molteplici scopi) ● i cavi che collegano i componenti della motherboard Inoltre i socket (alloggiamenti di varia tipologia), i connettori interni ed esterni sono disposti anch'essi sulla motherboard Scheda Madre – connettori esterni USB2 → Colore nero/bianco USB3 → Colore blu Queste ultime sono esponenzialmente più veloci delle prime in termini di trasferimento dati Scheda madre Approfondimento FIRMWARE ● Il firmware è un programma integrato direttamente in un componente elettronico nel senso più vasto del termine (e.g., integrati, schede elettroniche, periferiche, etc..). ● Lo scopo del programma è quello di «avviare» il componente stesso e consentirgli di interagire con altri componenti tramite l'implementazione di protocolli di comunicazione o interfacce di programmazione. IL MODELLO DI VON NEUMANN LE COMPONENTI PRINCIPALI INPUT E OUTPUT ● Questa parte dell’architettura evidenzia solamente che qualsiasi dispositivo necessità di altri «dispositivi» differenti per poter prelevare e immagazzinare dati. ● Alcuni dispositivi sono sia di input che di output, ad esempio: hard-disk, network. ● Il programma che controlla l’accesso ad una «dispositivo» come una periferica (hard-disk) è chiamato: driver. ● Ogni unità ha nelle proprie capacità di interfacciamento un insieme di registri come il MAR e l’MDR, ad esempio: ○ LC-2 supporta keyboard (input) e console (output); ○ keyboard: data register (KBDR) e status register (KBSR); ○ console: data register (CRTDR) e status register (CRTSR). RICHIAMO SULLE PERIFERICHE E CURIOSITÀ DISCO RIGIDO

A. Traccia: "Anelli" presenti su ogni piatto identificati a partire dal numero 0. B. Settore: "Spicchi" suddivisi in cluster, a loro volta suddivisi in singoli blocchi aventi varie dimensioni (e.g., 256, 512, 1024 byte). C. Traccia di un Settore. "Porzione" di traccia all’interno di un settore. D. Cluster: "Insieme" di tracce di settore contigui. ● L’unità può essere costituita da uno o più dischi. Entrambe le superfici di ogni disco sono rivestite di materiale magnetico sul quale vengono memorizzate le informazioni (i.e. i BIT ). ● Le operazioni di letture e scrittura sono realizzate da testine, poste su bracci e movimentate da un attuatore. ● La velocità di rotazione (rotation rate) indica quanto velocemente ruotano i piatti sotto la testina. I valori tipici per la maggior parte degli hard disk in circolazione sono fra 4.000 RPM (revolutions per minute, giri al minuto ) e 5.400 RPM. I dischi ad alte performance offrono 7.200 RPM, oppure 10.000 RPM. ● Le informazioni memorizzate sul disco sono codificate sotto forma di stati di memorizzazione di zone del materiale magnetico disposto sulla superficie del disco. e operazioni di lettura/scrittura sono realizzate dalle testine tramite le seguenti fasi:

**1. Posizionamento della testina sulla traccia di interesse;

  1. Attesa del passaggio del settore di interesse;
  2. Lettura o scrittura del dato.** ● Gli SSD durano di più: gli hard-disk contengono diverse parti mobili, passibili di urti e danneggiamenti. Le memorie SSD invece non hanno parti meccaniche e questo le rende resistenti agli urti. ● Gli SSD sono più veloci: le memorie SSD hanno un accesso più rapido ai dati e sono per questo fino a 100 volte più veloci di un hard-disk. Con le SSD si può godere

SCHEDA VIDEO

In informatica ed elettronica una scheda video è un componente hardware del computer, sotto forma di scheda elettronica, che ha lo scopo di generare un segnale elettrico in output che possa essere poi inviato in input a video (display) ovvero essere tradotto da quest'ultimo in segnale ottico visivo e mostrato all'utente. A seconda del tipo di computer questo dispositivo può essere più o meno potente. Questi ultimi tipi di scheda provvedono anche ad elaborare e modificare l'immagine nella propria memoria interna. SCHEDA VIDEO - CARATTERISTICHE Una tipica scheda video contiene un integrato grafico (o più di uno) che gestisce una certa quantità di RAM dedicata a memorizzare i dati grafici da visualizzare e che risiede fisicamente sulla scheda stessa.Il funzionamento di una scheda video è, in linea di massima, molto semplice: ogni locazione di RAM grafica contiene il colore di un pixel dello schermo, o di un carattere se la scheda sta visualizzando solo testo; il chip grafico si limita a leggere in sequenza le locazioni necessarie e a pilotare un convertitore digitale-analogico che genera il segnale video che sarà visualizzato dal monitor. Dalla quantità di RAM grafica equipaggiata nella scheda e dalla velocità (frequenza) massima del suo convertitore digitale-analogico dipendono la risoluzione massima raggiungibile e il numero di colori contemporaneamente visibili. L'intero lavoro di calcolo deve essere svolto, pixel per pixel, dalla CPU principale del computer, che viene spesso completamente assorbita da questo compito: una scheda grafica non tridimensionale si limita in pratica a visualizzare una serie di immagini bidimensionali che le vengono inviate dal sistema.

SCHEDA VIDEO - CONNESSIONI

PARTE A - LEZIONE 3

IL SOFTWARE: L’ESEMPIO DEL SISTEMA OPERATIVO

Cosa fa funzionare il nostro computer oltre all’hardware? Il SOFTWARE Il SOFTWARE può essere suddiviso in due tipologie: ● SOFTWARE DI SISTEMA (SISTEMA OPERATIVO) ha il compito di far funzionare il computer e tutti i suoi componenti. ● SOFTWARE APPLICATIVO (PROGRAMMA) permette di realizzare le elaborazioni dei dati inseriti dall’utente. SISTEMI OPERATIVI INTRODUZIONE LA PILA (SEMPLICE) ● Utente ● Applicazioni ● Sistema Operativo ● Firmware ● Hardware SISTEMA OPERATIVO ● Il sistema operativo è il software di base che sovrintende al funzionamento dell’intero computer, all’esecuzione dei programmi, all’interazione con gli utenti. ● È lo strato software che si colloca tra l’hardware della macchina e il software applicativo utilizzato dall’utente e fornisce un’astrazione dell’hardware ai programmi software. ● Il sistema operativo si occupa della: ○ gestione delle componenti hardware; ○ esecuzione dei programmi; ○ interazione con le periferiche; ○ interazione con gli utenti. ● E’ il sistema operativo a definire la modalità operativa del computer;

GESTIONE DEI PROCESSI (SCHEDULER)

● Ciascun processo durante il suo “ciclo di vita” può trovarsi in uno dei seguenti stati: ○ init: stato iniziale di caricamento del processo in memoria: viene lanciato in esecuzione il programma, viene creato il processo e allocata la memoria necessaria. ○ ready: il processo è pronto per essere eseguito dalla CPU. ○ running: il processo è in esecuzione da parte della CPU. ○ waiting: il processo è sospeso in attesa di un evento (ad esempio: la risposta da un device). ○ swapped: il processo, in attesa di eventi, è stato portato nella memoria virtuale in attesa di essere recuperato nella memoria primaria per essere eseguito. ○ zombie: il processo ha concluso la sua esecuzione, ma è ancora presente nella memoria (possiede un PID) in attesa che il processo padre lo liberi definitivamente. ○ terminated: il processo è in corso di terminazione, il sistema operativo lo sta de-allocando dalla memoria. GESTIONE DEL FILE SYSTEM ● Il file system è un’astrazione del modello con cui il sistema operativo gestisce i dati sulla memoria secondaria; il modello è indipendente dal tipo e dal numero di dispositivi di memoria secondaria. ● L’elemento di base è il file , una sequenza di byte memorizzata sulla memoria secondaria, che termina con il simbolo EOF ( end of file ). ● Il filesystem fornisce anche un modello astratto con cui i file sono organizzati sulla memoria secondaria (tipicamente una struttura ad albero di directory e sotto-directory ).

● Il concetto di directory (“cartella”) è anch’esso un’astrazione: anche una directory è un file; l’inclusione di un file in una directory è realizzata mediante puntatori “padre-figlio”. ● La denominazione dei file , il set di caratteri con cui possono essere denominati, i metacaratteri con cui si indica la collocazione di un file nel modello del file system, sono alcuni degli aspetti definiti per ogni specifico modello di file system: ○ “C:\DOCUMENTI\TESI.TEX” è un tipico path assoluto che identifica univocamente un file dislocato sul disco “C” sul sistema operativo MS-DOS o Microsoft Windows. NOTA: non è case sensitive e viene specificato l’identificativo dell’unità fisica su cui è presente il file ● “~liverani/src/minimumSpanningTree.c” è il path di un file su un file system di un sistema operativo di tipo UNIX. NOTA: è case sensitive , si utilizza la convenzione “ ~username ” per identificare la home directory di un utente, il path è indipendente dalla collocazione fisica del file su uno specifico device Programmi Programma: specifica univoca di una serie di operazioni che l’elaboratore deve svolgere. ● E' costituito da una sequenza ordinata di istruzioni macchina. ● Scritto in codice macchina ● Esempi di programmi: MS - Word, MS -Excel, Firefox, Adobe Photoshop… ● Sono programmi distinti che permettono l'esecuzione di compiti specifici, che possono essere molto diversi ● Ne esistono moltissimi: si calcola che esistano circa 100.000 programmi abilitati ("compatibili") dal sistema operativo più diffuso, cioè MS Windows Programmi applicativi oggi più comunemente utilizzati appartengono alle seguenti categorie: ● programmi di video-scrittura (es. Microsoft Word, OpenOffice - Calc, …). ● browser, usati per “navigare il Web” e spedire posta elettronica (es. MS Internet Explorer, Edge, Chrome, Opera, Firefox, Safari, …). ● fogli elettronici, usati per manipolare e analizzare numeri, dati, grafici, … (es. Microsoft Excel). ● programmi per la gestione di banche di dati (database),utilizzati per conservare ed elaborare dati strutturati. ● programmi per creare applicazioni multimediali/grafiche, manipolare foto, fare presentazioni con audio/video, ecc. ● videogiochi. ● emulatori (di altro hardware, di altro sistema operativo). ● gestione aziendale, specifici per piccole e grandi imprese Importante: ad ogni programma applicativo corrisponde di solito un formato specifico dei documenti che riesce a trattare. Software commerciali Software commerciale/proprietario, esempio: – www.microsoft.com Il software proprietario è quello che non è libero o è semilibero. Il suo utilizzo, la ridistribuzione o modifica sono proibiti o richiedono un permesso o sono sottoposti a tali vincoli che in pratica non si possono fare liberamente. Il software commerciale è software sviluppato da un'azienda allo scopo di guadagnare dal suo uso.

○ Excel => fogli di calcolo, solitamente .xls e .xlsx ○ Etc… ● OpenOffice (freeware) ○ Writer => come Word ma gestisce formati come .odt ○ Impress => come PowerPoint ma gestisce formati come .odp ○ Calc => come Excel ma gestisce formati come .ods ○ Etc… Programmi più comuni (3) Adobe Reader Utilizzato per gestire i file in formato .pdf, è un software che consente di visualizzare file tipicamente di sola lettura e quindi non editabili. Ciò nonostante, è possibile compilare e firmare documenti, oppure aggiungere commenti e salvare delle copie del file di origine con le aggiunte effettuate. La versione professionale (Adobe Acrobat) consente anche la modifica dei file. È possibile, inoltre, impostare una password in apertura o modifica del documento. Programmi più comuni (4) Winzip, 7-Zip, Winrar Questi sono solo alcuni dei programmi esistenti per gestire archivi compressi. I file compressi sono contenitori, solitamente con formato .zip, che contengono qualsiasi cosa al loro interno. Per poter comprimere o decomprimere il contenuto è necessario utilizzare dei programmi come questi. Il rapporto di compressione può variare a seconda del software e delle impostazioni scelte dall’utente. Estensioni (formati) dei file più comuni ● .txt per file di testo; ● .MP3, .ogg o .WAV per file di tracce sonore (audio); ● .jpg, .png, .bmp, .gif o .psd, per alcuni formati di immagini digitali statiche; ● .avi, .mpeg, .wmv, .mp4, .3gp, .flv per file di immagini digitali in movimento (video). ● .exe, .com, .bat e .cmd per programmi e script eseguibili in Windows; ● .htm, .html, .shtml, .shtm, .stm, per pagine web statiche; ● .asp, .aspx, .php o .dtw per pagine web dinamiche o script; ● .doc .docx per file generati dal programma di videoscrittura Microsoft Word; ● .odt per file generati dal programma di videoscrittura LibreOffice Writer; ● .ods per file generati dal programma di foglio di calcolo LibreOffice Calc; ● .odp per file generati dal programma di presentazioni LibreOffice Impress; ● .odb per file generati dal programma di database LibreOffice Base; ● .xls e .xlsx per file contenenti fogli di calcolo generati con Microsoft Excel; ● .xml per file scritti in linguaggio eXtensible Markup Language; ● .pdf per documenti di tipo PDF; ● .xps per file scritti in XML Paper Specification; ● .zip o .rar per file compressi; ● .dwg, dxf per programmi di disegno CAD; PARTE A - LEZIONE 4 INTRODUZIONE ALLE RETI DI ELABORATORI Introduzione alle Reti ● Once upon a time...tutti i calcolatori erano isolati l'uno dall'altro e potevano essere utilizzati solo da chi aveva accesso ad essi. ● Attualmente:

○ Mobile device (Smartphones, Tablet, Laptop, etc.) ○ Streaming services (Netflix, Amazon videos, etc.) ○ Social networks (Facebook, Twitter, Instagram, etc.) ○ .... ● Siamo passati dal mainframe a sistemi di computer autonomi interconnessi Si possono indicare almeno tre punti di forza di una rete di calcolatori rispetto al mainframe tradizionale: ● fault tolerance (resistenza ai guasti): il guasto di una macchina non blocca tutta la rete, ed è possibile sostituire il computer guasto facilmente; ● economicità: hardware e software per computer costano meno di quelli per i mainframe; ● gradualità della crescita e flessibilità (scalabilità): l'aggiunta di nuove potenzialità a una rete già esistente e la sua espansione sono semplici e poco costose. Cos'è una rete di calcolatori? ● Una rete di computer è un insieme di dispositivi hardware e software collegati l'uno con l'altro da appositi canali di comunicazione, che permette il passaggio da un utente all'altro di risorse , informazioni e dati in grado di essere pubblicati e condivisi. Modello Client-Server La maggior parte di queste applicazioni si basano su un modello client–server ● Il modello client–server è una struttura applicativa distribuita nella quale genericamente un computer client o terminale si connette ad un server per la fruizione di un certo servizio. ● Un server gestisce la maggior parte dei processi e memorizza tutti i dati. Un client richiede dati o elaborazioni. ● Il server manda i risultati dell’elaborazione al client. Analogia Client-Server Servizio di un ristorante: ● I clienti ( client ) fanno una serie di richieste (antipasti, bevanda, portata principale e dessert). ● Queste richieste sono tutte tipicamente fatte ad una persona, il cameriere ( server ). ● I servizi possono essere forniti da altre persone nel ristorante, tra cui il barista e una varietà di chef

○ Bus ○ Ring ○ Mesh ○ Stella ○ Tree Topologia a Bus ● Ogni computer è collegato con un singolo cavo Dettagli e Vantaggi:

  1. I costi sono ottimizzati.
  2. È usato in reti di piccole dimensioni.
  3. Il suo funzionamento è facile fa intuire.
  4. È facile espandere questa rete, basta estendere il cavo fino ai nuovi nodi.
  5. Funziona con trasmissione broadcast. (messagi unicast, multicast, etc..) Disvantages:
  6. Se il cavo si spezza la rete diventa inutilizzabile.
  7. Le prestazioni della rete peggiorano se il numero di nodi che trasmettono messaggi aumenta.
  8. Il cavo ha delle limitazioni di lunghezza.
  9. Può essere estremamente lenta in alcuni casi. Topologia a Ring ● All'interno di questa rete solo un calcolatore alla volta può trasmettere, quello in possesso di un particolare messaggio, detto token (gettone). ● Il destinatario successivamente confermerà l'avvenuta ricezione. ● Il calcolatore che ha inviato il frame "lascerà" il token una volta che avrà ricevuto il suo frame trasmesso (passerà da calcolatore a calcolatore). ● Ogni calcolatore, ogni volta che riceve il token, può trasmettere al massimo un solo frame. Gli svantaggi di questa rete dipendono molto dalla variante di rete ad anello impiegata ● Vantaggi:
  10. La trasmissione della rete non è influenzata dal traffico elevato o dall'aggiunta di più nodi, poiché solo i nodi con token possono trasmettere dati.
  11. Economico da installare ed espandere fisicamente. ● Svantaggi:
  12. L'aggiunta o l'eliminazione dei computer disturba l'attività di rete.
  13. Il guasto di un computer disturba l'intera rete.
  14. Le macchine potrebbero aspettare molto, prima di ricevere il token.

Topologia a Stella Gli elaboratori che compongono una rete a stella sono connessi tra loro grazie ad un nodo piazzato nel mezzo, nodo che si occupa di trasmettere i dati inviati dal computer mittente a tutti gli altri. Vantaggi: ● I problemi sui nodi esterni non influenzano la rete ● Un errore su un cavo non danneggia l’intera rete ● Aggiungere un nodo è facile Svantaggi: ● Chiaramente più ampia è la rete più cavi saranno necessari ● In caso di malfunzionamento di un cavo l’unico computer a restare isolato sarà quello connesso al cavo stesso; ● In caso di malfunzionamento del nodo centrale, invece, l’intera trasmissione di rete cesserà di funzionare. Topologia a mesh (maglia) ● Una rete a maglia è un particolare tipo di rete ad anello in cui i nodi sono collegati tra loro più di una volta, così da creare canali di comunicazioni alternativi in caso che la rete sia congestionata, che la linea non funzioni bene o che uno dei nodi abbia malfunzionamenti. ● La maglia ha n(n-1)/2 canali fisici per n dispositive ● Una rete a maglia può essere definita completa se tutti i nodi sono connessi tramite percorsi alternativi in maniera diretta a tutti gli altri o parziale se vengono implementati soltanto alcuni percorsi alternativi tra i nodi. ● Vantaggi:

  1. Ogni connessione può gestire il trasporto di dati autonomamente.
  2. È robusta a varie tipologie di problema sulla rete
  3. È facile individuare l’errore.
  4. Garantisce più sicurezza e privacy. ● Svantaggi:
  5. Configurare e installare la rete risulta più difficile.
  6. Ci sono maggiori costi di cablaggio
  7. C’è un accumulo di cablaggio vicino ad ogni nodo. Topologia ad albero