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: Server, Client, Intranet, CPU, Sintesi del corso di Elementi di Informatica

Sintesi di elementi di informatica e programmazione (suite e websuite di office automation, codifica non numerica, hardware, virtualizzazione, paradigmi applicativi, reti, modello ISO/OSI, modello TCP/IP

Tipologia: Sintesi del corso

2020/2021

Caricato il 02/03/2021

jennifer-racioppa
jennifer-racioppa 🇮🇹

3.8

(5)

18 documenti

1 / 32

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
ELEMENTI DI INFORMATICA E
PROGRAMMAZIONE
GLOSSARIO 1:
Software: elemento con cui il computer riesce a risolvere il particolare problema
per cui un determinato programma è stato progettato.
Applicazioni desktop: applicazioni installate all’interno del disco fisso del PC.
Web-applicazioni: applicazioni che non risiedono fisicamente sulle macchine
dove vengono utilizzate, ma su server remoti. La loro interfaccia (front-end) è
costituita da un semplice browser (Chrome, internet explorer, ecc), quindi esse
sono utilizzabili online, sfruttando le capacità grafiche ed applicative dei browser.
Front-end/Interfaccia: componente di un software che gestisce la
comunicazione con l’utente, quindi si tratta della modalità con cui un programma
comunica.
Salvataggio: tutte le informazioni prodotte vengono salvate su una periferica di
massa (es. Hard disk) per poter essere recuperate successivamente.
Formato di salvataggio: modalità utilizzata da un’applicazione per registrare
dati all’interno del suo file, ovvero per salvarli. Per leggere il contenuto di un
determinato file, il programma deve conoscere il formato.
Nativo: formato di salvataggio predefinito di un’applicazione.
Portabile: formato che risulta leggibile da molti programmi.
Importazione: funzione che consente ad una applicazione di leggere un formato
non suo (non nativo).
Estensione: sequenza di caratteri situata dopo l’ultimo punto all’interno del nome
di un file. Esso è il metodo utilizzato da Windows per identificare il formato di un
file.
Open Source: applicazione il cui codice sorgente è disponibile gratuitamente a
chiunque.
Codice sorgente (di un programma): sequenza di istruzioni, scritte con
linguaggio di programmazione, che definisce come operano le funzioni disponibili
in un software. Si tratta della codifica di un algoritmo in un linguaggio di
programmazione. Il nome “sorgente” è dovuto al fatto che il codice rappresenta il
punto di partenza di tutto il processo di esecuzione del programma.
Chi possiede il codice sorgente di un programma è in grado di modificarne i
comportamenti.
XML: metalinguaggio (ovvero un linguaggio utilizzato per creare nuovi linguaggi)
usato per descrivere documenti strutturati. É utilizzato, inoltre, come mezzo per
trasferire dei dati tra diversi archivi.
Algoritmo: sequenza di istruzioni, umanamente comprensibili, che consentono la
risoluzione di un problema. Di solito, viene rappresentato graficamente attraverso
diagrammi di flusso.
Server: componente hardware o software che eroga un servizio.
Client: componente hardware o software che usufruisce dei servizi offerti da un
server.
Intranet: impiego dei medesimi servizi disponibili in Internet ma circoscritti
all’interno di una rete locale (es. servizio di posta locale disponibile solo all’interno
dell’azienda).
Disco cloud: disco remoto che risulta accessibile online tramite una connessione
Internet.
Cloud storage: servizio che mette a disposizione spazio online in internet per
archiviare documenti (es. disco cloud).
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20

Anteprima parziale del testo

Scarica Introduzione all'informatica: Server, Client, Intranet, CPU e più Sintesi del corso in PDF di Elementi di Informatica solo su Docsity!

ELEMENTI DI INFORMATICA E

PROGRAMMAZIONE

GLOSSARIO 1:

Software : elemento con cui il computer riesce a risolvere il particolare problema per cui un determinato programma è stato progettato. Applicazioni desktop : applicazioni installate all’interno del disco fisso del PC. Web-applicazioni : applicazioni che non risiedono fisicamente sulle macchine dove vengono utilizzate, ma su server remoti. La loro interfaccia (front-end) è costituita da un semplice browser (Chrome, internet explorer, ecc), quindi esse sono utilizzabili online, sfruttando le capacità grafiche ed applicative dei browser. Front-end/Interfaccia : componente di un software che gestisce la comunicazione con l’utente, quindi si tratta della modalità con cui un programma comunica. Salvataggio : tutte le informazioni prodotte vengono salvate su una periferica di massa (es. Hard disk) per poter essere recuperate successivamente. Formato di salvataggio : modalità utilizzata da un’applicazione per registrare dati all’interno del suo file, ovvero per salvarli. Per leggere il contenuto di un determinato file, il programma deve conoscere il formato. Nativo : formato di salvataggio predefinito di un’applicazione. Portabile : formato che risulta leggibile da molti programmi. Importazione : funzione che consente ad una applicazione di leggere un formato non suo (non nativo). Estensione : sequenza di caratteri situata dopo l’ultimo punto all’interno del nome di un file. Esso è il metodo utilizzato da Windows per identificare il formato di un file. Open Source : applicazione il cui codice sorgente è disponibile gratuitamente a chiunque. Codice sorgente (di un programma): sequenza di istruzioni, scritte con linguaggio di programmazione, che definisce come operano le funzioni disponibili in un software. Si tratta della codifica di un algoritmo in un linguaggio di programmazione. Il nome “sorgente” è dovuto al fatto che il codice rappresenta il punto di partenza di tutto il processo di esecuzione del programma. Chi possiede il codice sorgente di un programma è in grado di modificarne i comportamenti. XML : metalinguaggio (ovvero un linguaggio utilizzato per creare nuovi linguaggi) usato per descrivere documenti strutturati. É utilizzato, inoltre, come mezzo per trasferire dei dati tra diversi archivi. Algoritmo : sequenza di istruzioni, umanamente comprensibili, che consentono la risoluzione di un problema. Di solito, viene rappresentato graficamente attraverso diagrammi di flusso. Server : componente hardware o software che eroga un servizio. Client : componente hardware o software che usufruisce dei servizi offerti da un server. Intranet : impiego dei medesimi servizi disponibili in Internet ma circoscritti all’interno di una rete locale (es. servizio di posta locale disponibile solo all’interno dell’azienda). Disco cloud : disco remoto che risulta accessibile online tramite una connessione Internet. Cloud storage : servizio che mette a disposizione spazio online in internet per archiviare documenti (es. disco cloud).

Cloud computing : paradigma di erogazione che consente di utilizzare online risorse informatiche sia hardware che software, il cui impiego è offerto come servizio. File hosting : servizio che permette di archiviare i propri file su un server (locale o remoto). File sharing : servizio che permette di condividere con altri utenti i file registrati su un server. Backup : copia di sicurezza dei propri documenti, così da poterli recuperare in caso di perdita o rottura del sistema. SUITE DI OFFICE AUTOMATION: Suite di Office Automation : insieme di applicazioni che consentono la creazione di contenuti come documenti di testo, presentazioni, archivi, schemi di calcolo, etc. Queste applicazioni offrono, in genere, queste funzionalità: videoscrittura, foglio di calcolo, presentazioni, grafica, gestione archivi e comunicazione. Ogni applicazione di una suite gestisce oggetti differenti, a cui a loro volta vengono assegnate proprietà specifiche:  Videoscrittura: 1) pagine: margini, dimensioni del foglio, orientamento, numero di colonne

  1. paragrafi: allineamenti, spaziature e rientri Un paragrafo è una sequenza di caratteri terminata dall’invio. L’invio è codificato in modo differente in base al sistema (Windows: ascii 13 + ascii 10 = CRLF) (Mac: ascii 10 = LF). La fine del paragrafo viene simboleggiata dal “piede di mosca”.
  2. carattere: dimensione, stile, colore  Database: 1) tabelle: contenitori per dati omogenei
  3. campi: proprietà che caratterizzano gli elementi di una stessa tabella
  4. record: elementi di una stessa tabella
  5. relazioni: collegamenti logici che mettono in evidenza i legami esistenti tra i record presenti nelle diverse tabelle di un archivio  Foglio di calcolo: 1) fogli: griglie composte da contenitori detti celle
  6. celle: ogni cella è identificata da una sigla che specifica la sua riga e la sua colonna. All’interno delle celle vengono inserite le formule e i dati utilizzati per i calcoli.
  7. cartelle: insieme di fogli presenti all’interno di uno stesso file  Presentazioni: 1) diapositiva (slide): tra una slide e l’altra vengono scelti gli effetti di transizione

dal prodotto microsoft è la loro funzionalità che permette di collegare in sequenza i box testuali consentendo al testo in eccesso di fluire automaticamente verso i box successivi. I suoi files hanno estensione .pub. Si avvia dal menù con il comando mspub.  Pianificazione: PROJECT , applicazione che si adopera per la gestione e il controllo delle attività necessarie alla realizzazione di un progetto (sforzo limitato nel tempo, con una data di inizio e una di fine, diretto a creare nuovi risultati, il quale quindi si differenzia dai processi operativi aziendali permanenti). Questo programma offre strumenti per ottimizzare le risorse e per non trascendere i vincoli del progetto (costi, tempi, qualità dei risultati, etc). La versione standard di Project è destinata a piccoli team o singoli collaboratori. La versione server permette la gestione di progetti più complessi, dove la forza lavoro può risultare distribuita anche a livello globale. La versione servente consente la creazione di un sito web dove si possono consultare i riepiloghi, i documenti, le attività e i calendari relativi al progetto.

I-WORK :

iWork è la suite di produttività personale creata da Apple nel 2005. Essa include:  PAGES : applicazione con funzionalità di videoscrittura e desktop publishing  KEYNOTE : il software per le presentazioni  NUMBERS : il foglio di calcolo

OPEN OFFICE :

Apache OpenOffice è una suite per ufficio di tipo OpenSource che offre un buon livello di compatibilità con i formati di file di Microsoft Office, ma impiega come formati predefiniti quelli definiti dallo standard internazionale OpenDocument basato su XML. OpenOffice.org è utilizzabile liberamente, gratuitamente e legalmente in ogni contesto sia pubblico, privato, professionale o aziendale. Essa include:  WRITER : l’applicazione di videoscrittura. I suoi file hanno estensione .odt. Si avvia dal menù esegui con il comando swriter.  CALC : l’app per fogli di calcolo. I suoi file hanno estensione .ods. Si avvia dal menù esegui con il comando scalc.  IMPRESS : la componente per le presentazioni. I suoi file hanno estensione .odp. Si avvia dal menù esegui con il comando simpress.  BASE : il programma per database (gestione archivi). I suoi file hanno estensione .odb. Si avvia dal menù esegui con il comando sbase.  DRAW : il software che consente la creazione di disegni in modalità vettoriale inseribili in qualsiasi documento prodotto con questa Suite. I suoi file hanno estensione .odg. Si avvia dal menù esegui con il comando sdraw. (In Microsoft Office questa funzionalità è fornita dalla componente “Forme”)  MATH : l’app che consente la creazione di formule matematiche inseribili in qualsiasi documento prodotto con questa Suite. I suoi file hanno estensione .odf. Si avvia dal menù esegui con il comando smath.

(In Microsoft Office questa funzionalità è fornita dalla componente “Equation”)

LIBRE OFFICE :

LibreOffice è una suite per ufficio creata partendo dal codice sorgente di OpenOffice. È liberamente scaricabile e modificabile a proprio piacere, disponibile in ambiente Windows, Macintosh e Linux. I componenti di LibreOffice sono gli stessi di OpenOffice.org, da cui è derivato.

STAR OFFICE :

Star Office può essere considerata la versione a pagamento di OpenOffice. WEBSUITE DI OFFICE AUTOMATION: Attualmente internet fornisce dei servizi online, molto efficienti e gratuiti, che rientrano nelle suite di Office Automation. Solitamente queste Web-App necessitano dell’ultima versione del client http (cioè il browser).

GOOGLE DOCS E GOOGLE DRIVE :

Google Docs è la suite offerta da Google come parte del servizio Google Drive. I file creati con questa suite vengono salvati sul disco cloud Google Drive. Le applicazioni disponibili sono compatibili con i formati di Microsoft Office:  GOOGLE DOCUMENTI : elaboratore testi (word processor).  GOOGLE FOGLI : foglio elettronico (spreadsheet).  GOOGLE PRESENTAZIONI : programma di presentazione (presentation).  GOOGLE MODULI : app che consente la creazione di sondaggi, quiz e la raccolta di dati online.  GOOGLE DISEGNI : programma di disegno vettoriale per creare flow chart e diagrammi.  GMAIL : web client di posta (gratuito) con un ampio spazio di archiviazione per messaggi inviati e ricevuti. Le singole componenti della suite sono disponibili come: applicazioni web, applicazioni di Chrome (anche offline), applicazioni per dispositivi (portatili per Android e iOS). L’indirizzo di Google Docs è: https://docs.google.com. GOOGLE DRIVE è un servizio di memorizzazione e sincronizzazione online introdotto da Google nel 2012, che comprende il file hosting, il file sharing e la modifica collaborativa dei documenti mediante le app della suite Google Docs. Questo servizio è disponibile sia online che tramite un’applicazione desktop (installata sul computer) che sincronizza automaticamente la cartella locale sul pc con quella condivisa nel cloud.

OFFICE (ONLINE) :

Office (versione online) è la web suite di office automation offerta dalla Microsoft, che consente la creazione e la modifica di files utilizzando versioni ridotte delle seguenti app di Microsoft Office: Word , Excel , PowerPoint , Outlook , OneNote. Queste applicazioni “girano” all’interno di un browser.

CODIFICA NON NUMERICA

Molte applicazioni informatiche elaborano testi composti da caratteri e simboli. I calcolatori codificano questi caratteri tramite sequenze binarie. Per scambiare dati di tipo testuale occorre utilizzare una codifica standard. ASCII : (American Standard Code for Information Interchange) codice standard più diffuso per la codifica dei caratteri. Utilizza 1 byte quindi codifica al max 256 simboli differenti: caratteri alfabetici (min e maiusc), numeri (cifre), caratteri speciali (segni di punteggiatura, etc). I caratteri di controllo corrispondono alle codifiche da 0 a 31. I restanti simboli si dicono stampabili. STRINGHE : sequenze di caratteri. Avvento di internet e globalizzazione  introduzione NUOVE CODIFICHE ALTERNATIVE : per rappresentare i simboli di alfabeti diversi. UNICODE : sistema di codifica più utilizzato per la rappresentazione dei testi. Assegna un numero univoco per ogni simbolo indipendentemente dalla lingua, dalla piattaforma utilizzata e dal programma utilizzato. Utilizza 21 bit quindi codifica circa un milione di simboli differenti.

CODIFICA DEI COLORI

Esistono varie codifiche per rappresentare i colori. Solitamente si utilizzano come riferimento le gradazioni dei colori primari.

Il modello HSB si ottiene da una trasformazione non lineare che cambia lo spazio dei colori RGB (da cubo a cilindro/cono). Il solido piramidale ottenuto è caratterizzato da 2 coordinate lineari (B e S) e una angolare H. Derivando dal metodo RGB, HSB è un modello di tipo additivo devide-dependent. La tonalità specifica il colore puro (singola lunghezza d’onda) tra quelli presenti nello spettro della luce visibile dall’occhio umano. È descritta da un numero tra 0 e 360 gradi (0/360=rosso). La saturazione rappresenta la quantità di colore. I valori vanno da 0 (assenza di colore) a 1 (colore pieno). Una tinta molto satura ha un colore vivace. Invece, quando si azzera la saturazione, si ottiene una tonalità di grigio. La desaturazione di una foto digitale è una tecnica con cui si può rappresentare un’immagine a colori in una in bianco e nero. La brillanza esprime la quantità totale di luce emessa da una sorgente luminosa o da una superficie riflettente. Il modello HSB è utilizzato da software come Photoshop o Illustrator per visualizzare il colore sul pannello “selettore colore” (in termini di tinta, sfumatura e tono). CODIFICA LAB : sigla di Luminance e A e B che sono le componenti cromatiche. La componente A si estende dal verde al rosso, mentre la B da blu a giallo. Copre l’intero spettro visibile all’occhio umano. Rappresenta la totalità dei colori di RGB e CYMK. Software come Photoshop utilizzano LAB per passare da un modello all’altro. GAMUT di un modello di colore: insieme di tutti i colori descrivibili da quel particolare modello. Il gamut del modello LAB rappresenta tutte le cromacità percepibili dall’occhio umano (manca la luminanza).

CODIFICA DELLE IMMAGINI FISSE

IMMAGINE : insieme continuo di informazioni (luce, colore) in due dimensioni. Dato che in un calcolatore il numero di bit è predeterminato, le dimensioni della memoria sono limitate e il numero di operazioni elementari è finito, è necessario ricorrere ad un processo di discretizzazione delle immagini che consiste nel suddividere l’immagine in un reticolo di punti detti PIXEL. Ogni singolo pixel è rappresentato con la codifica del suo colore. RISOLUZIONE : numero dei punti della griglia di scomposizione. RISOLUZIONE DELL’IMMAGINE : numero di pixel presenti, espressi in termini di larghezzaaltezza (WH). PROFONDITÀ : numero di bit utilizzato per rappresentare il colore di un singolo pixel (es. immagine RGB pura ha una profondità di colore pari a 24 bit). DENSITÀ : viene espressa in dpi ovvero in numero di punti per pollice lineare. BITMAP / RASTER : immagine composta da una griglia di pixel. : numero di bit (profondità). Le immagini bitmap non possono essere ingrandite a piacere poiché, ad un certo punto, iniziano a distinguersi i singoli pixel. Una risoluzione più alta richiede maggior spazio di memoria. Ad ogni pixel si associa un colore mediante un numero k di bit (2k^ possibili sfumature). Se si utilizzano 2 bit, si possono gestire fino a 4 colori. Se si assegna un solo bit si ottengono immagini monocromatiche. Le diverse codifiche del colore influenzano la quantità di informazioni e quindi la dimensione del file. La quantità di bit richiesti per memorizzare un’immagine dipende sia dalla risoluzione che dalla profondità (WHk).

PALETTE : tabella numerica che funge da tavolozza contenente solo i colori realmente presenti all’interno dell’immagine. Tecnica efficace per ridurre l’occupazione di memoria. Ogni pixel può essere codificato con il numero che identifica la posizione del colore RGB all’interno della palette. Ogni immagine così organizzata deve essere necessariamente accompagnata dalla corrispondente palette. Una rappresentazione di questo tipo si dice RGB INDICIZZATA. Per memorizzare questo tipo di immagine servono una quantità di bit definita dalla formula: WHk

  • 242k. (2k^ rappresenta il numero di colori distinti presenti mentre 242k^ la dimensione della palette RGB).

FORMATI GRAFICI RASTER

FORMATI RASTER : formati standard disponibili con cui le immagini possono essere salvate. JPEG (.jpg): standard utilizzato per immagini fotografiche. Utilizza una compressione di tipo lossy , per cui elimina alcuni pixel per diminuire la dimensione e poi li ricostruisce in fase di decompressione. I pixel eliminati sono quelli meno percettibili all’occhio umano (quando 2 pixel variano minimamente nel colore, JPEG ne conserva solo uno). Il metodo di compressione è parametrizzabile, cioè la quantità di pixel da eliminare può essere indicata dall’utente. Questo formato è adatto per comprimere immagini destinate ad esseri umani e non a computer. GIF : formato adatto sui disegni “al tratto” sia in bianco e nero che a colori. Supporta al massimo 256 colori, quindi non è adatto a immagini fotografiche o che presentano numerose sfumature. GIF è migliore per disegni al tratto, logo e fumetti. Questo formato supporta la trasparenza, l’interlacciamento (tecnica di visualizzazione che costruisce l’immagine componendola progressivamente in righe e colonne alterne in modo da presentare immediatamente un’anteprima poco definita ma interpretabile che via via diventa sempre più chiara) e l’animazione. Utilizza una compressione LZW , di tipo lossless ovvero che non deteriora l’immagine. Le società Unisys, IBM e Compuserve condividono i diritti di GIF. BITMAP (.bmp): è il più vecchio tra i formati grafici. Supporta il formato di compressione RLE (uno dei primi) e una profondità di 1, 4, 8, 24 bit. BITMAP sostituisce una sequenza di elementi consecutivi identici (quindi una zona di colore uniforme) con una sola istanza di quell’elemento preceduta da un carattere speciale (che consente di distinguere un elemento normale da uno compresso) seguito dalla lunghezza della sequenza. RLE sostituisce le sequenze composte da almeno 3 caratteri consecutivi identici. Questo metodo funziona bene solo con immagini con pochi colori distribuiti in modo uniforme. È poco utilizzato a causa del basso livello di compressione ottenibile. TIFF : questo metodo ha una profondità di colore di 8 o 16 bit per ognuno dei tre colori primari. L’immagine che ne risulta ha una profondità totale di 24 o 48 bit, con una resa finale senza pari ma con un’elevata dimensione del file. Grazie al risultato ottimale, questo formato è utilizzato ampiamente nell’ambito fotografico professionale. Utilizza l’algoritmo di compressione LZW. Un file TIFF può contenere immagini divise su più pagine (videate). PNG (.png): Portable Network Graphic è l’erede Open Source dei file GIF. Supporta colori con profondità fino a 48 bit (True Color) con uno spettro che copre tutti i colori visibili all’occhio umano. Comprime le immagini senza perdita di informazioni, producendo file di dimensioni inferiori al GIF. Non è in grado di raggiungere, però, l’efficienza del formato JPEG. Il formato PNG supporta la trasparenza, l’interlacciamento ma non l’animazione. Inoltre, questo metodo offre la possibilità di eseguire ricerche sulle immagini.

RAPPRESENTAZIONE DI IMMAGINI IN MOVIMENTO : sequenza di un numero abbastanza elevato di fotogrammi per far si che l’occhio umano percepisca la sequenza come un movimento continuo. MODALITÀ DI MEMORIZZAZIONE : metodo con cui si codifica solo le differenze tra un fotogramma e l’altro. VETTORE MOVIMENTO : utilizzato per informare esattamente il decoder su dove posizionare i dati rispetto all’immagine precedente o successiva. Questo vettore è nullo nelle immagini statiche. MPEG : Motion Picture Expert Group. Si tratta di una compressione con perdita permanente di qualità sia video che audio. Il primo livello applica ad ogni frame la classica compressione JPEG. Al secondo livello si rimuove la ridondanza tra i fotogrammi posti in sequenza.

CODIFICA DEL SUONO

SUONO : alterazione della pressione dell’aria che dall’orecchio umano viene trasformata in un particolare stimolo al cervello. Le grandezze fisiche che rendono un suono diverso dall’altro sono: durata, intensità e variazione nel tempo della pressione. PRESSIONE : l’onda di pressione può essere raffigurata sul piano cartesiano rappresentando il tempo sull’asse delle ascisse e la pressione sull’asse delle ordinate. Per rappresentare in forma digitale un’onda sonora occorre campionare il segnale e quantizzare i risultati. MP3 : tecnica di compressione dell’audio (12:1). Filtra un brano musicale digitale ed elimina tutte le informazioni non necessarie riducendone lo spazio. La codifica MP3 si basa su tre fattori: percezione uditiva, mascheramento (sovrapposizione di suoni deboli con suoni alti) e Joint Stereo (al di sotto di una certa frequenza, l’orecchio umano non percepisce la posizione spaziale e quindi questi suoni vengono registrati con un unico canale). ENCODER MP3 : programma che analizza un file audio digitale non compresso e lo trasforma in MP3. I dati ottenuti vengono compressi secondo la codifica di Huffmann che assegna codifiche più brevi ai segni più frequenti, così da incidere meno nella memorizzazione di dati. RANGE FREQUENZE : l’orecchio umano, nonostante sia in grado di riconoscere una banda più ampia di suoni (da 20 Hz a 20000 Hz), risulta più sensibile alle frequenze tra i 700 e i 6000 Hz (dove risiedono le informazioni utili).

HARDWARE

ARCHITTETURA DI VON NEUMANN

Modello su cui si basano la maggior parte dei moderni computer. È costituito da quattro elementi funzionali:

  1. UNITÀ CENTRALE DI ELABORAZIONE (CPU) : processore che ha il compito di acquisire, interpretare e eseguire (in sequenza) le istruzioni di un programma che a sua volta elabora i dati in ingresso. La CPU legge e scrive sulla memoria centrale sia per acquisire le istruzioni che per registrare i risultati. I principali produttori di CPU sono Intel e AMD. REGISTRI DELLA CPU : piccole celle di memoria utilizzate dal microprocessore per svolgere le mansioni. Possono essere: ACCUMULATORI,

ovvero che rappresentano la memoria a breve termine, sono composti da un numero fisso di bit (32 o 64), contengono gli operandi e salvano il risultato di un’istruzione. SPECIALI, ovvero che registrano operazioni specifiche:

  1. PC (registro contatore di istruzioni) contiene l’indirizzo della prossima istruzione da eseguire;
  2. IR (registro delle istruzioni) contiene una copia dell’istruzione da eseguire;
  3. PSW (parola di stato) contiene informazioni circa gli eventi che possono verificarsi a seguito dell’esecuzione di un’istruzione;
  4. MAR (memory address registrer) contiene l’indirizzo della cella di memoria dove andare a leggere o scrivere un dato;
  5. MDR contiene il dato letto o da scrivere. ALU : (unità aritmetica logica) componente che svolge le operazioni aritmetiche e logiche sui registri accumulatori. CU : componente che coordina il funzionamento delle varie unità della CPU nell’esecuzione dei programmi, ovvero decodifica le istruzioni in base al loro codice operativo e manda opportuni comandi (segnali di controllo) alla ALU, ai registri, al bus, etc. CLOCK : generatori di impulsi elettrici che fornisce una scadenza temporale che permette di coordinare tutte le attività elementari del processore. Ad ogni impulso, la CPU esegue una singola operazione. In base alla sua complessità, un’istruzione può richiedere più cicli di clock. PERIODO : intervallo di tempo T tra 2 impulsi di clock consecutivi che è prestabilito e costante. Deve essere impostato in modo da permettere anche al circuito più lento di completate correttamente le proprie operazioni. È misurato in nanosecondi (ns). FREQUENZA : inverso del periodo (1/T), rappresenta il numero di cicli di clock al secondo. È misurata in Hertz. La velocità di elaborazione di un microprocessore è strettamente collegata alla frequenza. LINGUAGGIO MACCHINA : (ISA – Instruction Set Architecture) linguaggio che appartiene ad uno specifico modello di CPU, infatti solo la CPU corretta può comprendere ed eseguire il set di istruzioni della macchina. Alcune CPU, prodotte da aziende differenti e quindi con struttura fisica diversa, a volte possono risultare compatibili tra loro, ovvero sono in grado di comprendere il medesimo linguaggio. Le ISTRUZIONI eseguite dalla CPU possono essere di 3 tipi:
  • Istruzioni Aritmetico Logiche : algebriche (es. somma, sottrazione, etc), logiche (usano operatori logici come and, or, not, etc), di confronto (es. maggiore, minore, uguale, etc);
  • Istruzioni di controllo del flusso : di salto incondizionato (jump), cioè che salta ad una determinata istruzione, o di salto condizionato (branch), che salta ad una determinata istruzione solo se si verifica una specifica condizione;
  • Istruzioni di trasferimento : scambio di dati tra la CPU e la memoria e trasferimento dati dalla CPU alle periferiche e viceversa. FORMATO DELLE ISTRUZIONI : descrizione che definisce in un’istruzione macchina la dimensione in bit del codice operativo, il numero degli operandi e la loro tipologia. Per convenzione le posizioni dei bit vengono identificate assegnando lo zero al bit meno significativo (quello più a destra). Le istruzioni sono caratterizzate da: CODICE OPERATIVO : identifica il tipo di istruzione, è sempre presente e occupa i primi 6 bit.

CACHE HIT : dato subito disponibile in cache, senza dover ricorrere alla memoria centrale. ARCHITETTURA HARVARD : modello architetturale utilizzato all’interno della CPU, che permette a quest’ultima di accedere in modo indipendente a dati e istruzioni (dato che sono caricati su due memorie diverse e che quindi utilizzano due bus distinti). Grazie a questa architettura, si possono eseguire questi due compiti contemporaneamente.

  1. MEMORIA CENTRALE : memoria nella quale vengono caricati sia i dati (informazioni elaborate da un programma) che le istruzioni da eseguire. Ha dimensioni limitate ed è volatile (cioè le informazioni vengono perse allo spegnimento del computer). Può essere letta o scritta direttamente dal microprocessore. È composta da un insieme di celle (elemento binario capace di assumere solo due stati) poste in sequenza. UNITÀ DI INFORMAZIONE FONDAMENTALE : bit. UNITÀ MINIME DI INFORMAZIONE INDIRIZZABILE (WORD): gruppi di celle adiacenti. La dimensione di parole è fissa e dipende dall’architettura del calcolatore. INDIRIZZO : numero che identifica un’unità minima indirizzabile. AMPIEZZA INDIRIZZO : (numero di bit) determina la dimensione della memoria che può essere gestita. VALORE : sequenza di bit contenuta all’interno della cella/parola. CAPACITÀ : quantità di informazione che una memoria è in grado di contenere. TEMPO DI ACCESSO : tempo necessario per leggere o scrivere un dato.
  2. BUS DI SISTEMA : collega tra loro le varie unità funzionali. È sempre sotto la supervisione della CPU, la quale indica l’interconnessione da attivare e l’operazione da svolgere. La velocità di un’interconnessione dipende dalla velocità del bus e da quella dei dispositivi ad esso connessi. Il bus di sistema è suddiviso, in base al tipo di informazione trasportata, in tre parti:
    • BUS DATI : utilizzato per trasferire dati e istruzioni
    • BUS INDIRIZZI : trasporta gli indirizzi delle celle di memoria coinvolte
    • BUS DI CONTROLLO : transitano i segnali di controllo che consentono di attivare le unità coinvolte e di definire la direzione dello scambio (scrittura o lettura). LETTURA : una delle due operazioni possibili in memoria. L’indirizzo della parola da leggere viene messo sul bus indirizzi. Il comando di lettura viene inviato sul bus di controllo. Dopo un certo tempo, la memoria rende disponibile sul bus dati il contenuto della parola richiesta. SCRITTURA : l’altra operazione possibile in memoria. L’indirizzo della parola da scrivere viene messo sul bus indirizzi. Il dato da scrivere in memoria viene posto sul bus dati. Il comando di scrittura viene inviato sul bus di controllo. Dopo un certo lasso di tempo, l’operazione è completata e il dato è memorizzato all’indirizzo memoria desiderato. Le informazioni all’interno di un elaboratore sono gestite mediante segnali elettrici a 2 valori di tensione identificati con i simboli 0 (vlow) o 1 (Vhigh). L’unità fondamentale di memorizzazione è il bit, grandezza che può assumere solo 2 valori. Le unità di misura principali sono: 8 bit = byte Kb = Kilobyte  210 byte Mb = Megabyte Gb = Gigabyte

Tb = Terabyte Pb = Petabyte Eb = Exabyte Zb = Zettabyte Yb = Yottabyte

MEMORIE DI MASSA

MEMORIA DI MASSA : memoria utilizzata da un elaboratore per immagazzinare i programmi. Le caratteristiche di queste memorie sono: non volatilità (non vengono persi perché memorizzati in forma magnetica o ottica, non elettronica), grande capacità, bassi costi (costo per bit inferiore), minore velocità di accesso. Inoltre, i dati contenuti su una memoria secondaria devono comunque transitare nella memoria centrale prima di essere utilizzati dal processore. La memoria di massa rappresenta la biblioteca del calcolatore e contiene tutti i programmi e i dati disponibili mentre la memoria centrale è utilizzata per i programmi in esecuzione e i loro dati. Le memorie di massa utilizzano tecnologie magnetiche, ottiche ed elettroniche. DISCO MAGNETICO : composto da uno o più piatti di alluminio rotanti ricoperti di materiale magnetico. Su ogni piatto è presente una testina che permette la lettura o la scrittura dei dati (memorizzati sottoforma di stati di polarizzazione positiva o negativa). Ciascun piatto è composto da due facce, ciascuna delle quali è divisa in cerchi concentrici (tracce) dove è memorizzata l’informazione. Ogni faccia è suddivisa in settori. Un cilindro è l’insieme delle tracce poste alla stessa distanza dal centro. L’insieme dei settori posizionati allo stesso modo su ogni piatto si dice blocco. Questa struttura permette di identificare ciascun settore di traccia mediante una combinazione (coordinata CHS). Una volta acceso l’Hard disk, i dischi iniziano a girare ad una velocità di rotazione costante. Il tempo di accesso è la somma dei seguenti valori: SEEK TIME : tempo di posizionamento della testina sulla traccia. LATENCY TIME : tempo di attesa prima che il settore passi sotto la testina. TRANSFER TIME : tempo necessario per completare l’operazione di lettura e scrittura. DISCO OTTICO : i dati sono organizzati su un unico percorso a spirale dal centro alla periferia. L’informazione su questi dischi viene registrata rendendo opache o lucide (pit e land che corrispondo a 0 o 1) zone microscopiche di una pellicola in alluminio. La scrittura avviene tramite un raggio laser ad alta intensità. Per leggere, invece, un altro laser individua come bit a 0 le aree senza riflessione e a 1 quelle riflettenti (es. CD-ROM, DVD). SUPPORTI A TECNOLOGIA FLASH : PEN DRIVE : capacità di memorizzazione limitata. MEMORIE FLASH : utilizzate per macchine fotografiche digitali, riproduttori MP3. Sono memorie elettroniche riscrivibili non volatili. DISCHI A STATO SOLIDO (SSD) : memoria di massa basata su chip di memoria flash. Garantiscono prestazioni elevate.

PERIFERICHE (INPUT/OUTPUT)

Tramite le interfacce l’unità centrale di un sistema di elaborazione comunica con le sue periferiche. PERIFERICHE : dispositivi che permettono lo scambio di informazioni tra elaboratore e mondo esterno o la memorizzazione di grandi quantità di dati. Possono essere:

CASE : contenitore che accoglie la maggior parte dei componenti hardware di un computer. PROCESSORE CISC : tipologia di processori, in auge fino agli anni 80, caratterizzata da istruzioni macchina che svolgono operazioni complesse. Il codice CISC risulta quindi molto compatto e basta poca memoria a contenerlo. PROCESSORE RISC : processori composti da istruzioni macchina che eseguono operazioni estremamente semplici. Tutte le istruzioni hanno praticamente un tempo di esecuzione identico, solitamente breve che permette un aumento del clock e miglioramento della performance. Questa tipologia di processori è adatta ad essere programmata con linguaggi ad alto livello che poi, opportuni programmi ( COMPILATORI ), traducono in linguaggio macchina. GPU : processore grafico, tipologia particolare di coprocessore specializzata nel rendering di immagini grafiche (in gioco soprattutto nel 3D). ENIAC : primi computer della storia che, per essere programmate, richiedevano modifiche fisiche e non il caricamento di un programma in memoria centrale. Infatti nell’eniac un programma era rappresentato da una serie di cavi posizionati opportunamente.

VIRTUALIZZAZIONE

LINGUAGGIO MACCHINA : linguaggio del microprocessore. PROGRAMMA ESEGUIBILE : programma costituito da una sequenza di istruzioni macchina che vengono interpretate ed eseguite direttamente dal microprocessore. Si presenta come una sequenza di 0 e 1 (codifica binaria). Un programma è specifico per una CPU specifica. Per utilizzarlo su diverse piattaforme hardware (o processori differenti) è necessario svilupparne diverse versioni ( PORTING ) attraverso:

- LINGUAGGIO ASSEMBLY : modalità per una scrittura più agevole dei programmi grazie alla maggior leggibilità del codice. Attualmente utilizzato solo quando

bisogna creare applicazioni estremamente veloci o nella programmazione dei microcontrollori (PIC), dove il sistema operativo è inesistente o quasi. ASSEMBLATORE : programma che effettua la traduzione.

- LINGUAGGI AD ALTO LIVELLO : umanamente più comprensibili e compatti, hanno semplificato lo sviluppo delle applicazioni. Sono incomprensibili per il microprocessore per cui si utilizza il COMPILATORE , programma che traduca le istruzioni ad alto livello in linguaggio macchina (linguaggio a basso livello). - API DEL SISTEMA (DLL in windows): funzioni del sistema operativo che rendono disponibili alcuni servizi che possono essere utilizzati dalle applicazioni senza sia necessario svilupparne uno specifico codice. Inoltre le API (application programming interface) controllano gli accessi alle risorse hardware e regolamentano l’uso delle risorse imponendo delle direttive che garantiscono un elevato livello di sicurezza e la stabilità del sistema. La presenza delle API all’interno del codice eseguibile rende un’applicazione, sviluppata in un determinato sistema operativo, incompatibile con ambienti differenti anche quando l’hardware utilizzato è lo stesso. Nell’attuale panorama informatico, la portabilità di una applicazione è un elemento fondamentale per la sua diffusione e il suo successo. KEYLOGGER : dispositivo per registrare tutta l’attività di input dell’utente. VIRTUALIZZAZIONE : consiste nell’implementare per ogni piattaforma che si intende supportare un FRAMEWORK (o virtualizzatore): software che mette a disposizione un BITCODE : una sorta di codice macchina virtuale. Le applicazioni scritte con questo bitcode possono essere eseguite sul virtualizzatore e quindi essere usate su differenti sistemi operativi. Lo scopo della virtualizzazione è quello di limitare i costi necessari ad ottenere applicazioni portabili evitando di dover scrivere per ogni s.o. la versione nativa. Il bitcode può essere: - VIRTUALIZZAZIONE HARDWARE : riproduzione di un codice macchina reale, specifico di una CPU effettivamente esistente. Particolari software creano un pc virtuale (Virtual Machine) all’interno del pc fisico, il quale si comporta a tutti gli effetti come un pc su cui possiamo installare un sistema operativo diverso. Il software di virtualizzazione hardware presenta nel pannello di gestione l’elenco delle macchine virtuali disponibili. Dal punto di vista pratico questa virtualizzazione crea all’interno del pc delle finestre applicative nelle quali vengono eseguiti interi sistemi operativi. Le applicazioni non native vengono eseguite all’interno di una finestra dove è evidente che gira un altro sistema operativo ( OS GUEST ). In alcuni casi succede che OS HOST (ospitante) e OS GUEST si integrano fortemente fino a presentare le applicazioni scritte per altri sistemi come se fossero applicazioni native del computer fisico. PROGRAMMI DI V. HARDWARE: QEmu , Virtual Box , Microsoft Virtual Pc , Parallel Desktop e VMWare. HALT : messaggio che si riceve all’avvio della virtual machine se al suo interno non abbiamo installato nessun sistema operativo. VANTAGGI : utilizzare la Virtual Machine come sistema di test antivirus, diffusione di applicazioni. SVANTAGGI : richiede macchine potenti TERMINAL SERVER : la virtualizzazione hardware rappresenta il punto di partenza per questo paradigma applicativo. - VIRTUALIZZAZIONE SOFTWARE : linguaggio macchina inventato non riferibile ad alcuna architettura, quindi indipendente da qualsiasi sistema operativo. FRAMEWORK : strato software che consente la virtualizzazione software. PROGRAMMI DI V. SOFTWARE: Java e Flash. Sia la v. hardware che la v. software possono essere applicate anche in contesti WAN (come ad esempio per internet).