informatica_di_base_mcgraw_hill_5_edizione

INFORMATICA DI BASE
Capitolo 1_L’informatica oggi: una panoramica
Cos’è l’informatica? L’informatica è l’insieme dei processi e delle tecnologie
che rendono possibile la creazione, la raccolta, l’elaborazione,
l’immagazzinamento e la trasmissione dell’informazione con metodologie e
strumenti automatizzati e tecnologicamente avanzati. Le tecnologie
informatiche hanno 3 funzioni principali:
 Elaborare dati per ottenere informazioni significative; la fase di elaborazione è
però solo una parte del ciclo di elaborazione dell’informazione, il quale
comprende 5 fasi: ingresso dei dati (input), elaborazione; uscita dei dati
(output); memorizzazione; distribuzione e comunicazione;
 Memorizzare le informazioni elaborate per utilizzarle in combinazione con
altre, come dati di un nuovo processo di elaborazione;
 Organizzare e gestire le informazioni in una nuova forma in modo da renderle
più comprensibili, più accattivanti o più utili.


›
›
Le tecnologie informatiche sono caratterizzate da due livelli che si integrano e
si completano:
L’hardware: è la struttura fisica del dispositivo, costituita da componenti
elettronici che svolgono specifiche funzioni nel trattamento e nella
trasmissione dell’informazione. Per hardware si intende il computer, i suoi
componenti e tutti gli elementi che collegano tra loro i sistemi informativi;
Il software: è il livello logico del dispositivo, cioè l’insieme sequenziale delle
istruzioni precise e dettagliate che consentono all’hardware di svolgere i propri
compiti. Il mondo del software si divide in due grandi categorie:
I software di sistema: essi comprendono i linguaggi di programmazione, che
servono per creare tutti gli altri programmi, e i sistemi operativi, che sono i
programmi che fanno funzionare i vari componenti del computer, che vanno
eseguiti prima di qualsiasi altro programma permettono all’elaboratore di
interagire con l’utente, grazie all’interfaccia, che permettono di gestire le
risorse hardware del computer e di installare ed eseguire i programmi
applicativi che consentono all’elaboratore di svolgere le proprie funzioni; (Es:
Windows, Ios, Linux etc..)
I programmi applicativi: essi consentono di svolgere una molteplicità di
operazioni.
Obiettivo dell’hardware e del software è quello di elaborare e presentare dati, i
quali sono la materia prima del trattamento dell’informazione.






I software applicativi, possono essere di due tipologie: Con licenza
commerciale quindi a pagamento, ma è limitato in quanto tutti gli usi non
consentiti sono vietati. (Es. Microsoft Office). E i sistemi open source nessun
costo per la licenza, più modificabili, e gestibili.
I criteri di classificazione del software applicativo possono essere diversi, ad
esempio a seconda del tipo di licenza concessa dall'autore verso il fruitore,
oppure a seconda dell'uso a cui è destinato.
Nel primo caso si tratta di software libero o software proprietario, con tutte
le sfumature intermedie.
Desktop. Anche definito software di produttività personale o di office
automation. Rientrano in questa categoria: elaborazione di testi, fogli di
calcolo, presentazioni, grafica tecnica, grafica artistica, fotoritocco, musica,
agenda, PIM, ecc.
Games. Giochi, nel senso più ampio del termine.
Education. Applicazioni utili alle scuole di tutti i gradi, ad esempio per
l'autoapprendimento
Science. Applicazioni utili nei vari campi della scienza applicata, quali, ad
esempio Intelligenza Artificiale, Astronomia, Biologia, Chimica, ecc. È
corretto notare che oggi qualsiasi disciplina scientifica dispone di applicazioni
dedicate.
Software development. Sviluppo di applicazioni (ma anche di software di
base), ad es. IDE.
Business o Enterprise. Grandi categorie che comprendono le cosiddette
applicazioni
"aziendali",
suddivise
in
subcategorie
del
tipo:
Financial, CRM, ERP, OLAP,Project management, E-Commerce, ecc. Sotto
la categoria ERP possiamo trovare le classiche: contabilità, bilancio, controllo
di gestione, magazzino, fornitori, clienti, produzione, vendite, marketing,
personale, ecc. ossia tutti gli ambiti di gestione di una struttura operativa.
Rientrano in questa categoria le cosiddetteApplicazioni Web.
Il foglio elettronico: È un programma che permette di effettuare calcoli,
elaborare dati e tracciare efficaci rappresentazioni grafiche. Il principio su cui
si basa il foglio di calcolo è semplice: fornire una tabella, detta anche foglio di
lavoro, formata da celle in cui si possono inserire dati, numeri o formule. Le
celle, come detto in precedenza, sono la base fondamentale del foglio di
calcolo. Esse, per essere riconoscibili, sono costituite da una lettera e un
numero. Le colonne sono indicate dalle lettere, le righe dai numeri.
Un file system, in informatica, indica un meccanismo con il quale i file sono
posizionati e organizzati o su un dispositivo di archiviazione o su una memoria
di massa, come un disco rigido o un CD-ROM e, in casi eccezionali, anche
sulla RAM. Il software di gestione del file system è responsabile
dell'organizzazione di questi settori in file e di tenere traccia di quali settori
appartengono a quali file e quali settori invece non sono utilizzati. L'utente ha
normalmente la totale libertà di creare nuovi file, cancellare file esistenti
(liberando così i blocchi che questi occupavano), e modificare file esistenti
(cambiando così anche la loro dimensione e quindi il numero di blocchi
occupati).
In informatica il modello relazionale dei dati è un modello logico di
rappresentazione o strutturazione dei dati di un database implementato su
sistemi di gestione di basi di dati (DBMS), detti perciò sistemi di gestione di
basi di dati relazionali (RDBMS).
Si basa sulla teoria degli insiemi e sulla logica del primo ordine ed è strutturato
intorno al concetto matematico di relazione (detta anche tabella). Per il suo
trattamento ci si avvale di strumenti quali il calcolo relazionale e l'algebra
relazionale.
Le interrogazioni della base dei dati in SQL: ricostruiscono le informazioni,
selezionando dati coerenti, con i criteri di ricerca, stabiliti dall’utente.
Cos’è il computer? Il computer è un elaboratore elettronico digitale che funge
da centro nevralgico dei sistemi informativi moderni.
Il computer può essere
ELABORATORE: macchina in grado di eseguire elaborazioni su dati
ELETTRONICO: basato su circuiti elettronici
DIGITALE: con rappresentazione binaria di dati
PROGRAMMABILE: in grado di eseguire elaborazioni differenti cambiando
la sequenza di istruzioni
Capitolo 2_L’architettura del computer e la CPU
L’architettura è l’insieme delle componenti e delle scelte di integrazione e
progettazione
di
un
sistema
Il componente è ogni sottosistema in grado di svolgere una funzione autonoma,
integrato da interfaccia e protocollo. La prima è un modello fisico (hardware) o
logico (software); il secondo è una logica si accesso ad una interfaccia fisica o
logica.
Quali sono i tipi di elaboratori?
I supercomputer, che sono gli elaboratori più potenti, architetture dedicate,
potenti ma costosi. Ora sono in declino, sostituiti da cluster di pc di fascia alta.
mainframe (o server), in genere utilizzati nelle grandi aziende per svolgere
funzioni centralizzate. minicomputer (o server), meno potenti dei mainframe,
anch’essi utilizzati dalle grandi aziende e dai centri di calcolo delle piccole
organizzazioni pubbliche e private o da divisioni di grandi organizzazioni;
personal computer (PC), che ha un impiego individuale.
terminali network computer, terminali mobili




Che cos’è l’elaborazione digitale? L’elaborazione digitale consiste nel
rappresentare numeri, musica, documenti e qualsiasi tipo di informazioni in
cifre binarie, in modo che possano essere elaborati e utilizzati dalle moderne
tecnologie informatiche. I segnali possono essere di due tipi:
Analogici: trasmettono un ampio stretto di informazioni, sono paragonabili a
un’onda e consentono di percepire anche i punti intermedi;
Digitali: possono assumere solo due stati, acceso e spento e quindi hanno meno
interferenze e una maggiore risoluzione rispetto quelli analogici.
I computer e gli altri strumenti digitali rappresentano tutti i numeri con il
sistema binario, costituito da due sole cifre, 0 e 1, che possono essere
rappresentate, memorizzate e visualizzate in diversi modi, tuttavia, perché
abbiano un senso, è necessario stabilire un codice preciso. I computer quindi
necessitano di due elementi:
Un dispositivo che invii e riceva segnali: questa funzione è rivestita dai
transistor, componenti di silicio che possono avere solo due stati, acceso e
spento;
Un codice che dia loro significato, cioè il linguaggio digitale: i computer
eseguono un numero di procedure molto limitato, che comprende le operazioni
di adizione, sottrazione, classificazione e raffronto tra valori numerici diversi;
per eseguire tali procedure l’elaboratore converte le informazioni che gli
vengono fornite dal nostro linguaggio al linguaggio digitale, mediante il quale
memorizza, comunica ed elabora i dati, che vengono poi riconvertiti nel
linguaggio umano. L’unità minima del linguaggio digitale è il bit, che può
assumere solo due stati: acceso (corrispondente a 1) e spento (corrispondente a
0); l’unità fondamentale del linguaggio dei computer è però il byte, costituito
da 8 bit, e capace di rappresentare fino a 256 possibili combinazioni. I multipli
del byte sono: il kilobyte (pari a 1024 byte), il megabyte (pari a 1048576 byte),
il gigabyte (circa 1 miliardo di byte) e il terabyte (circa 1000 miliardi di byte).
Il numero binario assegnato ad un determinato carattere varia in base al codice
utilizzato; i sistemi di codifica più utilizzati in informatica sono: - L’ASCII, il
codice più diffuso tra i personal computer; - L’EBCDIC, il codice più usato nei
mainframe e nei server più potenti; - L’UNICODE, dotato di oltre 96000
caratteri e in grado di rappresentare le principali lingue scritte del mondo;
risolve il problema per cui l’ASCII e l’EBCDIC funzionano perfettamente per
l’inglese ma non per le altre lingue.



Cos’è la CPU? L’unità centrale di elaborazione, cioè la CPU (Central
Processing Unit), è il centro nevralgico del computer ed è costituita da un
microprocessore, ricavato da sottili lamine di silicio (chip), contenenti milioni
di piccolissimi interruttori acceso/spento, i transistor, collegati tra loro da
tracce estremamente sottili di alluminio.
Il
compito
della
CPU
è
quello
di eseguire le istruzioni di
un programma presente in memoria centrale o primaria (RAM) dopo averlo
prelevato dalla memoria secondaria o di massa, dalla ROM, o da altri
dispositivi. Durante l'esecuzione del programma la CPU legge o scrive dati in
memoria centrale. Il risultato dell'esecuzione dipende dal dato su cui si opera e
dallo stato interno in cui la CPU stessa si trova, e può mantenere la traccia delle
istruzioni eseguite e dei dati letti.
CISC è l'acronimo di Complex Instruction Set Computer: tipicamente un
processore di questo tipo implementa un numero relativamente scarso (una
decina) di registri di uso generale, ed ha una unità di controllo
microprogrammata.
L'acronimo RISC, dall'inglese Reduced Instruction Set Computing, indica una
filosofia di progettazione di architetture per microprocessori che predilige lo
sviluppo di un'architettura semplice e lineare. Questa semplicità di
progettazione permette di realizzare microprocessori in grado di eseguire il set
di istruzioni in tempi minori rispetto a una classica architettura CISC.
Tipicamente la CPU è l'Interprete del linguaggio macchina. Come tutti gli
interpreti, si basa sul seguente ciclo:
Acquisizione dell'istruzione (Instruction Fetch): il processore preleva
l'istruzione dalla memoria, presente nell'indirizzo (tipicamente logico)
specificato da un registro "specifico" ("specifico" opposto di "generico"),
il PC
Decodifica (Operand Assembly): una volta che la word è stata prelevata, viene
determinata quale operazione debba essere eseguita e come ottenere gli
operandi, in base ad una funzione il cui dominio è costituito dai codici
operativi (tipicamente i bit alti delle word) ed il codominio consiste nei brani
di microprogramma da eseguire
Esecuzione (Execute): viene eseguita la computazione desiderata. Nell'ultimo
passo dell'esecuzione viene incrementato ilPC: tipicamente di uno se
l'istruzione non era un salto condizionale, altrimenti l'incremento dipende
dall'istruzione e dall'esito di questa
Come si migliorano le prestazioni di un sistema? Per migliorare le prestazioni
di un sistema esistono essenzialmente 3 modi: - espandere la sua capacità dati;
- aumentare la sua velocità, misurata in MHz (o milioni di cicli al secondo); migliorare la sua efficienza.


›
›
La memoria (RAM e ROM): Per svolgere le sue funzioni un elaboratore deve
avere una memoria dove archiviare i programmi e i dati necessari. Si
distinguono:
La ROM (Read Only Memory, memoria di sola lettura): essa è statica e
inalterabile, ed è chiamata anche memoria non volatile. Il suo contenuto viene
predisposto dalla casa produttrice al momento della fabbricazione e non può
essere modificato dall’utente, pertanto lo spegnimento dell’elaboratore non
altera i dati in essa contenuti, che vengono richiamati automaticamente quando
il computer viene riacceso. Questi dati sono costituiti di norma dai programmi
e dalle istruzioni necessarie all’avvio (boot) della macchina (detti firmware);
La RAM (Random Access Memory, memoria ad accesso casuale): essa è detta
anche memoria centrale o memoria dell’utente e serve a memorizzare un vasto
numero di programmi e dati di ogni tipo. La RAM è una memoria volatile,
infatti quando il computer viene spento, i dati e i programmi in essa presenti
vengono cancellati; il termine random (casuale) indica la modalità di
reperimento e accesso ai dati in memoria. Esistono due principali tipologie di
RAM:
La DRAM (Dynamic RAM): essa è la tipologia di memoria centrale più
diffusa; è una memoria dinamica perché le celle di memoria mantengono i dati
solo per breve tempo e devono essere aggiornate centinaia di volte al secondo;
La SRAM (Static RAM): essa è molto più grande, veloce e costosa della
DRAM; è una memoria statica e non ha quindi bisogno di essere costantemente
aggiornata. Data la sua velocità viene soprattutto utilizzata in una speciale area
della memoria detta cache.
In quasi tutti i sistemi per aggiungere memoria si installano moduli di
memoria, ossia circuiti stampati che contengono chip di memoria e che a loro
volta sono inseriti in appositi slot della scheda madre. Esistono due tipi di
moduli: Il SIMM (Single In-line Memory Module); Il DIMM (Dual In-line
Memory Module), che hanno ormai completamente soppiantato i SIMM perché
possono essere usati singolarmente invece che in coppia.
Oltre alla RAM esistono ulteriori tipi di memoria:
 La memoria virtuale: i programmi e i file molto estesi possono eccedere la
memoria disponibile, perciò, per evitare tale inconveniente, i moderni sistemi
operativi memorizzano parte dei dati e dei programmi al momento non
utilizzati al di fuori della RAM. Soltanto le parti del programma o del file al
momento necessarie vengono memorizzate nella memoria del computer, il
resto è invece immagazzinato su un drive del disco fisso;
 La cache: è una speciale area di memoria ad alta velocità, localizzata tra la
CPU e la memoria centrale, che utilizza speciale chip di memoria (solitamente
si tratta di chip SRAM). Si distinguono due livelli di memoria cache:
› La cache di livello 1: fa fisicamente parte del chip del microprocessore e di
norma nei sistemi desktop è in grado di contenere fino a 256 kilobyte;
› La cache di livello 2: è costituita da chip di memoria installati in speciali
alloggiamenti della scheda madre e può contenere fino a 2 MB o più.
Cos’è il bus? Il bus è l’insieme dei collegamenti (in rame) presenti all’interno
dell’elaboratore (sulla scheda madre) che consentono la trasmissione delle
informazioni tra i vari componenti del sistema; è una linea di comunicazione
attraverso la quale passano tutte le informazioni, siano esse interne o esterne. Si
distingue:
 Il bus di sistema: è semplicemente un gruppo di collegamenti che uniscono la
CPU agli altri dispositivi del computer. Il bus di sistema comprende le linee di
indirizzi, che trasmettono l’indirizzo dei dati in memoria, e linee di dati, che
invece trasmettono i bit dei dati stessi;
 I bus locali: permettono di collegare le periferiche assieme alla CPU e alla
memoria non al bus di sistema ma a una linea di trasmissione dati più ampia. In
questo modo i dati possono essere trasmessi molto più velocemente dalla
memoria al microprocessore e da questo allo schermo o ad altri dispositivi.
Cos’è il plug and play? Il Plug and Play è una tecnologia di alcuni sistemi
operativi che permette di riconoscere e di configurare automaticamente i nuovi
dispositivi hardware caricando o scaricando i driver delle periferiche che
l’utente vuole collegare o scollegare. La tecnologia Plug and Play richiede tre
componenti: un sistema operativo; un BIOS, cioè una porzione della ROM che
ha il compito di controllare lo stato di tutto l’hardware presente; dei dispositivi
da installare.
Quando un PC è un sistema multimediale? Un PC si definisce un sistema
multimediale se possiede almeno una scheda audio, un’unità per leggere ed
eventualmente scrivere CD-ROM e DVD, ed un acceleratore grafico.
Le porte: Sul retro dell’elaboratore sono localizzate le porte, degli
alloggiamenti in cui vengono inseriti i cavi delle periferiche. Esse possono
essere:
 Seriali: servono a collegare i modem e alcuni vecchi mouse e sono in grado di
inviare soltanto un bit per volta. Le più recenti tecnologie di trasmissione
seriale sono: l’USB, che permette di collegare in una stessa porta fino a 127
dispositivi in serie; le porte Firewire, più veloci dell’USB, che operano fino a
800 Mbps.
 Parallele: esse invece vengono usate per il collegamento delle stampanti e di
alcuni dispositivi esterni di memorizzazione; trasmettono 8 bit per volta su
altrettante linee parallele e quindi rispetto alle porte seriali consentono
comunicazioni più veloci tra l’elaboratore e dispositivi di input e output.
Capitolo 3_Le periferiche di input/output
Quali sono i dispositivi di input e output? I dispositivi di input sono la tastiera,
gli strumenti di puntamento, lo scanner, gli strumenti di riconoscimento vocale;
quelli di output sono lo schermo, la stampante, i sintetizzatori o i diffusori
audio. Poi ci sono i modem e i fax che sono in grado di svolgere sia funzioni di
input sia di output.
Tutti i dispositivi devono essere connessi fisicamente al bus di sistema, per
poter trasmettere dati al processore, rendendoli utilizzabili.
Per la tastiera ogni tasto genera un codice, che viene trasmesso al sistema.
I pixel e la risoluzione: Per creare un’immagine lo schermo viene suddiviso in
una griglia di quadratini detti pixel. Tramite un sistema detto bit mapping, ad
ogni pixel viene assegnato un indirizzo in modo che il computer sia in grado di
individuarlo per modificarne il colore o l’intensità. La risoluzione indica la
qualità di un’immagine visualizzata o stampata e si misura in numero di punti
per pollice (dpi, dots per inc). La risoluzione di un dispositivo è determinata
dal numero di pixel che utilizza per formare le immagini e i caratteri; quella di
uno schermo si misura in base al numero di pixel che formano la base e
l’altezza.
Capitolo 4_Le memorie secondarie
Le memorie secondarie: Le memorie secondarie (di massa, ausiliari o esterne)
consentono di immagazzinare permanentemente i dati e i programmi al
momento non utilizzati e di ricaricarli nella memoria centrale in qualsiasi
istante. Le memorie secondarie comprendono il dispositivo e il supporto di
memorizzazione. Si distinguono:
 La memoria magnetica: mentre il disco gira o il nastro scorre, la testina di
lettura/scrittura emette impulsi elettrici che invertono la polarità delle piccole
particelle magnetiche presenti sulla superficie del supporto; gli allineamenti
delle particelle rappresentano i dati in forma binaria. Quando un file viene
aperto per la lettura, avviene il processo inverso. Le particelle magnetizzate
inducono nella testina di lettura/scrittura una corrente elettrica, che viene
trasmessa al computer come una successione di 0 e 1.
 La memoria ottica: la registrazione ottica avviene per mezzo di un raggio
laser che crea sottili scanalature sulla superficie di un disco. Si crea così
un’alternanza di zone chiare (intersolchi) e zone scure (scanalature) che
vengono lette come una successione di 0 e 1. Infatti mentre il disco gira
nell’unità, un sottile raggio laser colpisce la sua superficie, che riflette una
quantità di luce maggiore o minore a seconda che la zona colpita dal raggio sia
una scanalatura o uni intersolco. A questo punto un rivelatore fotoelettrico
misura i diversi gradi di rifrazione della luce, poi convertiti dai circuiti in forma
binaria.
 La memoria magneto-ottica: per registrare i dati, il laser dell’unità riscalda la
superficie del disco ottico fino al punto in cui la polarizzazione delle particelle
può essere modificata dalla testina magnetica di lettura/scrittura. Una volta che
la superficie si è raffreddata, è pressoché impossibile che l’influsso di altre
magnetiche possa provocare la cancellazione dei dati;
 La memoria allo stato solido: si parla della memoria flash, spesso usata nel
PDA.
Quali sono i supporti di memorizzazione: I supporti di memorizzazione più
comuni sono:
 Le USB key: sono dei dispositivi di memoria a stato solido, dotati di una
interfaccia USB grazie alla quale possono essere connessi con qualsiasi
computer senza alcun bisogno di drive o slot particolari, senza necessità di
alimentazione esterna e senza richiedere l’installazione di alcun software di
controllo;
 I dischi ottici: essi registrano e leggono i dati per mezzo del laser [CD-ROM
(fino a 800 megabyte), DVD-ROM (fino a 4,7 gigabyte)];
 I dischi fissi: detti anche dischi rigidi o hard disk, sono le memorie di massa
più usate attualmente.
Cos’è la compressione? La compressione è una tecnica che permette di ridurre
le dimensioni del file. Esistono due metodi di compressione:
 La compressione del disco, che comprime il disco intero: i nuovi file verranno
memorizzati sul disco direttamente in formato compresso e saranno
decompressi automaticamente al momento dell’apertura;
 La compressione dei file, che serve a comprimere soltanto file specifici: con
un apposito programma di utilità si può creare un archivio in cui i file vengono
memorizzati automaticamente in formato compresso. Il formato di archivi più
comune è ZIP.
[Per risolvere invece il problema della grandissima quantità di dati che un
elaboratore deve immagazzinare, si ricorre ad un programma di gestione
gerarchica della memoria (HSM), che provvede a trasferire automaticamente
i file che sono rimasti inutilizzati per 30 giorni dai dischi rigidi a un sistema di
memorizzazione ottica.]
Cos’è il backup dei dati? Il backup dei dati consiste nella copia di tutti i dati
in memoria o almeno dei file di maggior valore. Invece l’archiviazione offsite consiste nel riporre la copia di sicurezza in un luogo distante dall’originale
per evitare che entrambe siano danneggiate dallo stesso incidente. I supporti di
backup possono essere:
 Ad accesso casuale (dischetti, USB keys, dischi rigidi rimovibili, dischi
magneto-ottici, CD e DVD);
 Ad accesso sequenziale (i nastri): essi sono più convenienti economicamente.
Cos’è il Cloud Computing? Il Cloud Computing è una metodologia di
elaborazione, scambio e archiviazione dei dati attraverso Internet su supporti
di memorizzazione avanzati. Grazie a questa tecnologia non ci si deve più
preoccupare di ampliare o rinnovare il proprio PC o server aziendale, né di
adeguare i sistemi operativi o le versioni del software applicativo: i dati infatti
possono essere memorizzati nel cloud, i programmi non sono installati
direttamente sul PC ma vengono utilizzati tramite i cosiddetti sistemi di SAAS.
Inoltre è possibile accedere ai propri dati da qualsiasi parte del mondo, come se
si fosse seduti alla propria scrivania.
Capitolo 5_Introduzione al software
Cos’è il BIOS? Il BIOS è un piccolo programma registrato permanentemente
su un chip di memoria ROM; è una piccola porzione di software che può essere
considerata una via di mezzo tra software e hardware e viene spesso chiamata
firmware. Obiettivo del BIOS è collegare il software e i componenti hardware
dell’elaborazione.
La distribuzione dei software: Le applicazioni distribuite in rete si dividono in
due categorie:
 Shareware: il programma può essere scaricato dalla rete ma il suo autore
chiede all’utente il pagamento di una somma o il versamento della quota di
registrazione, offrendo in cambio la documentazione relativa al programma e la
possibilità di aggiornamento dello stesso;
 Freeware: il programma è completamente gratuito.
Un principio del tutto diverso regola invece il mondo del software di pubblico
dominio (Open Source): in questo caso gli autori o i produttori di un
programma non si limitano a distribuire gratuitamente il proprio software, ma
rinunciano anche ai loro diritti sul codice sorgente, anch’esso distribuito. Così
altri programmatori possono migliorarlo e adattarlo, a patto di rendere a loro
volta di pubblico dominio le nuove versioni.
I sistemi multitasking, multithreading, multiutenti, multiprocessori: I sistemi
multitasking consentono di utilizzare diversi programmi per svolgere più
compiti contemporaneamente. Poiché i sistemi in genere hanno un solo
microprocessore, per eseguire più programmi nello stesso momento cedono
rapidamente il controllo della CPU a uno o all’altro, a seconda delle esigenze;
in realtà, quindi, è operativo soltanto un programma alla volta. I sistemi
multithreading consentono ai programmi applicativi di svolgere più
operazioni contemporaneamente. I sistemi multiutenti permettono il
collegamento simultaneo di più utenti ad una stessa macchina. I sistemi
multiprocessori sono in grado di gestire tantissimi processori per migliorare la
capacità di elaborazione.
Capitolo 6_L’Open Source
Cos’è un Free Software? Un software si può definire libero se è rilasciato sotto
una licenza che conferisce all’utente quattro libertà: - Libertà 0: libertà di
eseguire il programma per qualsiasi scopo; - Libertà 1: libertà di studiare il
programma e modificarlo; - Libertà 2: libertà di ridistribuire copie del
programma in modo da aiutare il prossimo; - Libertà 3: libertà di migliorare il
programma e di distribuirne i miglioramenti, in modo che tutta la comunità ne
tragga beneficio.
Capitolo 7_Gli applicativi e i documenti
Cos’è la multimedialità? La multimedialità si riferisce a due fenomeni
correlati ma distinti: la possibilità di utilizzare più media per veicolare un
determinato contenuto; la possibilità di integrare più linguaggi espressivi
contemporaneamente durante la produzione di un messaggio comunicativo.
Cos’è un ipertesto? Un ipertesto si basa su una struttura dell’informazione di
tipo reticolare: è costituito da un insieme di blocchi o unità testuali, i nodi della
rete (detti lessie), e da un insieme di collegamenti (detti link) che permettono di
passare da un blocco a uno o più blocchi. Se le informazioni che sono collegate
nella rete non sono solo documenti testuali, ma in generale unità informative
veicolate da linguaggi differenti, l’ipertesto diventa multimediale e viene
definito ipermedia.
Cos’è un foglio elettronico? Un foglio elettronico è la griglia di righe e
colonne che appare sullo schermo quando si carica un programma; è un potente
strumento di analisi ma presenta numerose limitazioni per quanto riguarda il
trattamento di grandi quantità di informazioni. Per questo motivo sono stati
sviluppati i programmi per la gestione di basi di dati (database): esse sono
semplicemente delle tabelle di dati organizzate e memorizzate in forma
altamente strutturata.
Capitolo 8_Internet e il World Wide Web
Cos’è Internet? Internet è la più grande rete al mondo che collega computer.
Ogni computer connesso a Internet è in grado di comunicare con qualsiasi altro
computer collegato. Internet non è gestita da alcuna istituzione politica
culturale o economica ma soltanto da un gruppo di volontari conosciuto come
ISOC.
Cos’è il World Wide Web? Il World Wide Web è il servizio informativo
presente su internet di gran lunga più conosciuto. Il web è costituito da
documenti localizzati su computer diversi, collegati fra loro e consultabili per
mezzo di programmi detti browser. L’insieme dei documenti o pagine Web
gestiti da un’organizzazione o da un singolo autore, memorizzati su uno o più
computer, viene chiamato sito web. Una pagina Web è un documento
elettronico che può contenere una serie di testi, immagini, contenuti audiovideo, menu, pulsanti. Il web è nato nel 1989 da un’idea di Tim Berners-Lee.
Egli elaborò tre standard tecnici che rendono possibile l’esistenza del Web:
 L’HTTP (Hypertext Transfer Protocol): è il protocollo usato dai computer per
comunicare sul Web; grazie ad esso i programmi con cui l’utente accede alle
pagine Web possono interagire con i programmi che ne gestiscono
l’archiviazione e lo smistamento;
 L’HTML (Hypertext Markup Language): indica lo speciale formato che deve
avere un documento per essere inserito sul Web;
 L’URL (Uniform Resource Locator): soddisfa l’esigenza di assegnare ad ogni
documento un indirizzo univoco in modo da rintracciarlo facilmente sul Web.
Nel settore della messaggistica oltre alla classica email, abbiamo il Newsgroup
che consiste in un sistema di messaggistica di gruppo.
FTP (File transfer protocol) trasferimento file non sicuro
Capitolo 9_Le comunicazioni: la rete elettronica
Cos’è la banda larga? In generale il termine banda indica la quantità che può
essere inviata tramite un collegamento in un’unità di tempo (tipicamente
quanti bit possono essere trasmessi in un secondo). L’espressione Banda
Larga (broadband) indica un sistema tecnologico/informatico che consente di
fornire agli utenti collegamenti in Internet a velocità notevolmente superiori
rispetto a quella di una normale rete telefonica (narrowband). I collegamenti a
Banda Larga permettono una migliore gestione dei servizi Internet, una più
elevata performance nello scambio di dati e file, un più ampio spettro di
utilizzo dei canali di comunicazione.
Cos’è il Digital Divide? Il Digital Divide è una terminologia utilizzata per
indicare la disomogenea fruizione dei servizi telematici all’interno di una
popolazione: ci si riferisce perciò alle disuguaglianze esistenti tra i cittadini di
una nazione nell’accesso e nell’utilizzo delle tecnologie e dei servizi della
società dell’informazione.
La comunicazione tra singoli individui: La comunicazione tra singoli individui
generalmente avviene attraverso la posta elettronica. Quando viene spedita
un’email si usa un programma che, tramite il protocollo SMTP (Simple Mail
Transfer Protocol), invia un messaggio ad un server in ascolto, tipicamente un
ISP (Internet Service Provider), il cui funzionamento si basa su uno scambio di
messaggi il cui numero e significato dipende dai possibili diversi esiti della
comunicazione. Alternativamente il protocollo utilizzato può essere l’IMAP,
che presenta una maggiore flessibilità rispetto all’SMTP poiché si basa sul
concetto dell’elaborazione di tutte le email di un determinato cliente su un
server remoto e centralizzato: in tal modo l’utente può avere accesso all’intero
insieme dei propri messaggi di posta connettendosi al server, via Web, da un
qualsiasi punto della Rete e indipendentemente dal computer sul quale sta
operando. L’utilizzo del protocollo IMAP nell’utilizzo del servizio di posta
elettronica porta al concetto di “ubiquitous e-mail”, ovvero la propria e-mail
accessibile sempre e dovunque.
Cos’è il FTP? Il FTP (File Transfer Protocol) è il sistema utilizzato per
trasferire file in Internet: quando si vuole scaricare un file dal Web bisogna
semplicemente attivare il link che dà avvio al processo di trasferimento e il
sistema FTP provvederà a scaricare il file sul computer.
Le reti locali: Molti computer sono connessi direttamente tra loro, spesso
all’interno di un’azienda o di un’università. Queste reti locali distribuite su
un’area relativamente circoscritta sono dette LAN (Local Area Network). Gli
elementi fondamentali che compongono una rete locale sono:
 Un nodo: è un qualsiasi dispositivo hardware del sistema in grado di
comunicare con gli altri dispositivi che fanno parte della rete. In ogni caso il
nodo deve essere dotato di una scheda di rete;
 I pannelli di connessione: chiamati anche concentratori (o hub), collegano i
nodi e hanno la funzione di semplificare la connessione fisica tra i vari nodi e
di instradare i segnali che vengono inviati da un nodo all’altro;
 Una dorsale: è un cavo ad alta capacità al quale possono essere connessi più
nodi o concentratori che ha la funzione di trasportare grandi quantità di dati.
In una LAN un server è l’elaboratore che può essere condiviso dagli altri
computer collegati in rete; è il computer più potente del sistema poiché tutti gli
altri elaboratori, detti client, dipendono da lui sia per i programmi e i dati, sia
per le connessioni agli altri computer e dispositivi. I tipi di server più comuni
includono:
 Il server gestione di dati (file server), sul quale si trovano i file e alcuni
programmi applicativi;
 Il server di stampa, che memorizza sul disco fisso i documenti da stampare
finché la stampante non è pronta per riceverli;
 Il server di comunicazione (un router, un fax o un modem) attraverso il quale
i dati vengono trasmessi tra un nodo e l’altro o all’esterno della rete.
Gli elaboratori e gli altri dispositivi hardware che formano una LAN possono
essere collegati tra loro in vari modi che determinano l’architettura della rete,
cioè la modalità di trasmissione dei dati all’interno della rete. Esistono tre
architetture possibili di rete:
 L’ architettura ad anello: i nodi della rete sono organizzati secondo una
configurazione a cerchio; i computer non sono collegati direttamente tra loro
ma le comunicazioni passano attraverso un pannello di connessione, all’interno
del quale risiede l’anello;
 L’architettura a stella: i nodi sono collegati ad un computer centrale detto
host; quando un computer della rete invia un segnale, l’host lo instrada verso il
nodo a cui è indirizzato. Le comunicazioni tra i nodi della rete quindi non sono
dirette ma passano tutte attraverso l’elaboratore centrale. Il centro dei
collegamenti di una rete LAN con architettura a stella può essere costituito da
un hub o da uno switch: ambedue sono dispositivi nei quali convergono i dati
provenienti dai computer, collegati in rete, e dai quali i dati vengono inviati
verso uno o più destinatari. L’hub è un dispositivo che inoltra i dati in arrivo
da una qualsiasi delle sue porte su tutte le altre, quindi rinvia il segnale in
arrivo a tutti i computer con i quali è collegato. Lo switch è invece un
commutatore, un dispositivo di rete che inoltra selettivamente i pacchetti
ricevuti verso una porta di uscita;
 L’architettura lineare, o a bus: tutti i nodi sono collegati a una linea di
trasmissione principale, secondo un’organizzazione che ricorda quella dei
componenti di un elaboratore. I nodi sono collegati tramite dei fili alla dorsale
della rete, che è costituita da un cavo di lunghezza standard con dei
terminatori all’estremità che impediscono la riflessione del segnale,
assorbendo e annullando il segnale, rendendo disponibile la linea dorsale per
l’invio di altri dati. Questa tipologia è detta passiva, ossia i computer ascoltano
i dati trasmessi sulla Rete, ma non intervengono nello spostamento di dati da
un computer a quello successivo.
Cosa sono le reti paritetiche? Una rete paritetica (peer-to-peer) è una rete il
cui controllo non è affidato al centro di calcolo aziendale di norma competente
ma è demandato agli utenti: tutti i computer operano allo sesso livello, per cui i
dati non devono passare attraverso un elaboratore centrale.
Cosa sono le LAN senza fili? Le LAN senza fili sono delle reti nelle quali i
computer comunicano tramite segnali radio trasmessi da e verso una stazione
centrale collegata alla rete; consentono di spostare un computer portatile
all’interno di un edificio, ed elimina il problema di installare i cavi di
collegamento nei vecchi edifici.
Il sistema delle reti locali: Per creare una rete sono necessari dei cavi per la
trasmissione dei dati e dei dispositivi per il collegamento dei vari nodi: per
collegare un sistema a una rete locale si inserisce in uno slot dell’elaboratore
una scheda di interfaccia di rete, chiamata anche adattatore LAN. La scheda
di interfaccia di rete instaura la connessione fisica tra l’elaboratore e la rete,
converte i dati paralleli trasmessi lungo il bus di sistema in dati seriali per la
rete, aumenta o amplifica la potenza del segnale per renderne possibile la
trasmissione attraverso i cavi.
I segnali inviati attraverso una rete passano lungo una serie di fili e cavi che
costituiscono il sistema di comunicazione della rete stessa. Si possono
utilizzare:
 I cavi a doppino intrecciato: sono economici, ma le trasmissioni sono lente e
tendono ad assorbire interferenze con conseguenti alte percentuali di errore;
 I cavi coassiali: sono costituiti da un filo centrale avvolto in uno strato di
materiale isolante; sono più affidabili di quelli a doppino intrecciato e
dispongono di un’ampia banda che consente una trasmissione dei dati molto
più veloce;
 I cavi in fibra ottica: sono costituiti da fibre in plastica o vetro che
trasmettono i segnali digitali emessi da un computer sotto forma di impulsi
luminosi; sono difficili da installare ma sono veloci e affidabili e hanno una
banda molto ampia che consente la trasmissione simultanea di un elevato
numero di segnali.
I cavi di una rete possono trasportare soltanto segnali provenienti da un unico
nodo per volta, in caso contrario si creerebbero interferenze; una LAN
necessita quindi di uno schema MAC (Media Access Control) che impedisca
la sovrapposizione dei segnali.
Ethernet: (è una rete fisica) il primo sistema di accesso alle reti è stato
Ethernet, che impiega una modalità in base alla quale tutti i nodi esaminano lo
stato della rete e se questa è libera provano a spedire i loro dati. Se due nodi
trasmettono contemporaneamente, viene rilevata la collisione e, prima che
venga ritentata la trasmissione dei dati, tutti i nodi rimangono in stato di attesa
per un breve intervallo di tempo casuale. Essendo i periodi di attesa casuali, il
nodo che effettuerà la trasmissione per primo acquisirà il controllo della rete.
La principale alternativa ad Ethernet è il metodo Token ring (anello con
gettone): i nodi non si contendono l’uso della rete ma devono ottenere il
permesso di trasmissione, assegnato sotto forma di un segnale elettronico (il
gettone) che circola nella rete; le reti Token ring impiegano una topologia ad
anello, mentre i cavi di trasmissione sono a doppino intrecciato e possono
essere schermati o non schermati. Il metodo Token ring offre una serie di
vantaggi: il nodo che invia i dati ottiene sempre la conferma che sono stati
ricevuti e quando una trasmissione viene portata a termine il nodo successivo
ha sempre l’accesso garantito. Un tipo di connessione ormai in disuso è il
Token bus: viene definito un anello logico a cui tutti i computer sono
collegati; in tale anello logico circola un gettone (token), cioè un pacchetto di
dati che contiene il numero del computer di destinazione.
Le reti geografiche: Una rete allargata si definisce metropolitana (MAN), se è
circoscritta all’area di una città, geografica (WAN), se è distribuita su aree
molto vaste.
Cosa sono le reti pubbliche? Le reti pubbliche sono quelle reti aperte a
chiunque paghi la tariffa prevista per la connessione.
Cos’è un’intranet? L’ intranet è una rete limitata alle dimensioni dell’azienda
e accessibile soltanto ai dipendenti ed altri utenti autorizzati. Una intranet non
serve solo per far circolare i documenti all’interno della compagnia, ma anche
per permettere agli utenti di condividere programmi, basi di dati e dispositivi
hardware.
Cos’è un’extranet? L’ extranet è una rete di computer assimilabile a una rete
estese costituita da più LAN. Una extranet è utile per la comunicazione tra
aziende che condividono processi di business ma che non vogliono
necessariamente rendere disponibili ai partner tutte le risorse, in termini di
sistemi informativi e dati.
Cos’è il firewall? Il firewall è un sistema che impedisce agli utenti di Internet
non autorizzati di accedere ai file e ai programmi di una LAN. Quando un
computer collegato a Internet è collegato anche a una intranet, viene dotato di
un sistema firewall che rende la rete locale inaccessibile dall’esterno. I fruitori
della LAN hanno libero accesso alle risorse di internet ma non possono fornire
né servizi di Internet né di intranet agli utenti esterni al firewall.
Cos’è il router? Il router è un apparato, o in alcuni casi un software attivo in
un PC, che costituisce un nodo della Rete al quale accedono i dati in transito,
e come nodo di transito, determina il successivo nodo della Rete a cui inoltrare
il pacchetto di dati ricevuto.
Cos’è il gateway? Il gateway è un sistema che utilizza specifici software e
hardware per veicolare i pacchetti di dati all’esterno di una LAN o da Internet
verso la stessa.
I protocolli: La comunicazione in Internet si basa sue due insiemi di regole
fondamentali:
 L’Internet Protocol (IP): il primo passo per trasmettere un messaggio in rete
consiste nell’assegnare ai dati un indirizzo che possa essere riconosciuto da
tutti i computer e che identifichi in modo univoco la destinazione. Quando un
messaggio deve essere trasmesso da un utente all’altro, viene inserito in una
busta IP e indirizzato al ricevente; i router poi provvedono a trasmettere il
messaggio attraverso la rete fino al computer cui è destinato;
 Il Transmission Control Protocol (TCP): per velocizzare il trasferimento di
file grandi viene impiegato questo protocollo che divide il file in segmenti,
ognuno contenente una porzione dei byte. Questi segmenti vengono numerati,
inseriti in pacchetti IP e spediti.
Questi meccanismi di trasmissione si basano sul fatto che la trasmissione dei
dati segue una metodologia semplice ed efficiente, che consiste nel distinguere
diversi livelli della comunicazione in modo che il successivo possa fare uso del
precedenti. Questi livelli sono 7: fisico, logico, di rete, di trasporto, di
sessione, di presentazione, applicativo. Essi si rappresentano in un
diagramma dal basso in alto chiamato pila ISO/OSI. Per la navigazione in rete
locale i primi due livelli sono gestiti dal protocollo Ethernet, poi TCP/IP si
occupa in parte del livello 2,3,4, mentre il protocollo HTTP si occupa degli
ultimi due livelli. ISO/OSI è uno standard in cui vengono definite tecnologie e
metodologie di comunicazione e scambio di dati; TCP/IP definisce invece uno
standard di protocolli di comunicazione basati sul protocollo di rete IP.
Il modem analogico: permette di utilizzare una linea telefonica analogica per
collegare i calcolatori.
Il server in una rete locale è un nodo che fornisce servizi ad altri nodi, in una
rete possono esserci più server specializzati: File server, server di stampa,
server di comunicazione che può essere un router
Le connessioni possono essere fisiche, quando i nodi sono connessi; la
connessione logica è quando i nodi gestiscono le comunicazioni.
Capitolo 14_Dentro la scatola
Turing e von Neumann: La macchina di Turing è il modello concettuale di
base del computer: essa, specificando in modo opportuno le regole, può
eseguire calcoli di qualsiasi natura e complessità. Un’evoluzione in termina di
efficacia tecnica della macchina di Turing è rappresentata dalla macchina di
von Neumann, costituita dalla CPU, formata da un’unità logico-aritmetica
(ALU), da un accumulatore, da un’unità di controllo e da un contatore delle
istruzioni. Anche la macchina di von Neumann, posto che abbia a disposizione
sufficienti risorse di tempo e memoria, è un grado di eseguire qualsiasi
processo algoritmico.
L’anatomia del computer: All’interno del computer troviamo le porte, il bus, i
dispositivi di memorizzazione, gli slot di espansione, la scheda madre e la
CPU. La scheda madre contiene quasi tutti i circuiti a cui sono collegati il
microprocessore, la memoria, l’alimentatore e altri dispositivi, invece la CPU è
costituita da due componenti:
 L’unità di controllo: essa esegue le istruzioni dei programmi, coordina le
attività del microprocessore e controlla il flusso di istruzioni tra questo e la
memoria;
 L’unità logico-aritmetica: essa effettua le operazioni aritmetiche e le
operazioni logiche di raffronto tra due valori.
Queste due unità collaborano con la memoria in un processo, detto ciclo della
macchina, formato da quattro fasi: caricamento, decodifica, esecuzione e
memorizzazione. Il tempo necessario per completare le prime due fasi è detto
tempo di istruzione, quello impiegato per le ultime due fasi è detto invece
tempo di esecuzione.
Capitolo 18_Organizzare le informazioni: liste, query, markup
Liste e query: La struttura di dati più semplice da utilizzare è la lista: se la lista
è di un numero di elementi abbastanza contenuto abbiamo una lista semplice,
se invece gli elementi sono molti si parla di army o vettore di elementi. Ciò
che ha reso obsolete le liste è la scarsa capacità di elaborare le informazioni
secondo ordinamenti diversi, vale a dire l’impossibilità di trattare
adeguatamente molte meta-informazioni necessari; inoltre le strutture lineari
come liste e code permettono di scorrere le informazioni sollo avanti e indietro
alla ricerca che interessa. Per reperire informazioni in una base dati a struttura
tabellare si utilizzano delle interrogazioni dette query, grazie alle quali si
possono creare delle tabelle contenenti solo i campi e i record che ci
interessano. Si distinguono due principali modalità di creazione delle query:
 Il paradigma basato su esempi QBE (Query-By-Example): si selezionano i
campi che si vogliono includere e poi si specificano quali record interessano;
dopo ciò il programma crea una nuova tabella contente soltanto i record che
soddisfano i criteri indicati;
 I linguaggi di interrogazione [il più diffuso è SQL (Structure Query
Language)]: la descrizione di una query tramite il linguaggio di interrogazione
è molto dettagliata, di norma però i dettagli rimangono nascosti all’utente.
Capitolo 19_Il sistema operativo
I file: Il sistema operativo ha la funzione di gestire i file contenuti nel disco
fisso. I requisiti essenziali per reperire i file sono tre: - il nome del file,
costituito dal nome, scelto dall’utente, e dall’estensione, separata dal nome con
un punto; - la cartella, un archivio che semplifica la ricerca del documento; l’unità di memoria.
(OLE): Oggi i documenti oltre al testo possono includere grafica, fogli di
lavoro, basi dati, suoni, video e animazioni. Questo nuovo tipo di documento,
detto documento composto, viene elaborato con una tecnologia detta
collegamento e incorporamento di oggetti (OLE) o con un altro sistema
chiamato OpenDoc.
I driver: sono programmi che traducono le istruzioni generiche inviate da un
programma o dal sistema operativo alla periferica in istruzioni per un
componente hardware.
Capitolo 21_Usare Internet e il Word Wide Web
L’accesso: Per utilizzare il Word Wide Web o la posta elettronica è necessario
disporre di un accesso a internet e di un programma di navigazione chiamato
browser. Le grandi organizzazioni generalmente richiedono un collegamento
permanente ad alta velocità alla rete Internet: le reti locali di tali enti vengono
collegate direttamente a Internet tramite un fornitore di collegamento diretto
(presence provider), detto host. Per gli utenti privati o per le piccole
organizzazione generalmente è sufficiente un accesso a Internet remoto, cioè
un collegamento tramite le normali linee telefoniche: il più diffuso avviene
tramite un dispositivo chiamato modem che collega il computer alla linea
telefonica. Per collegarsi a Internet tramite una linea telefonica è necessario un
collegamento telefonico basato sul protocollo Point-to-Point-Protocol (PPP).
Tipi di accesso: L’accesso remoto alla Rete Internet avviene mediante i
provider di connessione (ISP, Internet Service Provider): la connessione
avviene mediante la linea telefonica verso il point of presence (POP), che è il
punto di accesso alla rete Internet costituito da un elaboratore, collegato ad un
insieme di modem telefonici, gestito dalll’ISP. Negli ultimi anni si sono rese
disponibili tecnologie a banda larga: la più diffusa è l’ADSL, che si basa sulla
normale linea telefonica ma è a tutti gli effetti una connessione di tipo digitale;
la connessione avviene tramite un modem specifico per lo standard ADSL, in
genere fornito dallo stesso provider.











La sicurezza: Gli obiettivi della sicurezza sono: - Data confidentiality: come
mantenere la sicurezza dei dati; - Data integrity: come evitare che i dati
vengano alterati; - System availability: come garantire che il sistema continui
ad operare. Le violazioni alla sicurezza sono: - Disclosure (furto di
informazione, attacco alla confidentiality); - Alteration (modifica dei dati,
attacco all’integrity); - Denial of service (system availability). Si parla di
sicurezza passiva, riferendosi alle tecniche e agli strumenti di tipo difensivo,
mediante i quali si cerca di impedire che utenti non autorizzati possano
accedere a dati di natura riservata; si parla di sicurezza attiva riferendosi alle
tecniche e agli strumenti mediante i quali le informazioni ed i dati di natura
riservata sono resi intrinsecamente sicuri, proteggendo gli stessi dalla
possibilità che un utente non autorizzato possa accedervi e da quella che un
utente non autorizzato possa modificarli. Le tecniche di attacco sono:
Exploit: è un metodo che sfruttando un bug o una vulnerabilità porta
all’acquisizione di privilegi o al denial of service di un computer;
Buffer overflow: si fornisce ad un programma un insieme di dati di dimensioni
superiori a quello previsto;
Shellcode: è un programma in linguaggio assembly che sfruttando un exploit
consente di accedere alla riga di comando con privilegi elevati di un computer;
Cracking: è la modifica di un software per rimuovere la protezione della
copia, oppure per ottenere accesso ad un’area altrimenti riservata;
Backdoor: il creatore di un software lascia deliberatamente porte di servizio
per entrare aggirando i sistemi di protezione;
Port scanning: è una tecnica informatica utilizzata per raccogliere
informazione su un computer connesso ad una rete;
Sniffing: è un’attività di intercettazione passiva dei dati che transitano in una
rete telematica;
Spoofing: l’hacker invia pacchetti modificando l’IP sorgente facendo credere
all’host di destinazione e ai vari hop che provengano da un’altra sorgente;
Virus informatico: è un programma che può trasmettere altri programmi non
maligni modificandoli (opera su qualunque supporto);
Worm: è un programma che diffonde copie di se stesso in una rete (opera solo
sulle reti);
Man in the middle: l'attaccante è in grado di leggere, inserire o modificare
messaggi tra due parti, ignare che il collegamento sia stato compromesso;
 DOS: si porta il funzionamento di un sistema informatico al limite delle
prestazioni, fino a renderlo non più in grado di erogare il servizio;
 Social engineering: è un attacco basato sul raggiro degli utenti o
dell’amministratore della rete presa come bersaglio. Un esempio è il phishing,
una tecnica di ingegneria sociale utilizzata per ottenere informazioni personali
e riservate per rubare l’identità mediante l’utilizzo di messaggi di posta
elettronica fasulli;
 Bombe logiche: il creatore di un software, utilizzato internamente in una
compagnia, inserisce un software che può attivarsi sotto particolari condizioni.
 Trojan horse: catturano informazioni e le inviano al creatore del programma;
compromettono informazioni importanti per il funzionamento dei sistemi.
La crittografia: la crittografia è l’arte di progettare algoritmi per crittografare
un messaggio rendendolo incomprensibile a tutti tranne al suo destinatario che,
con un algoritmo simile, deve essere in grado di codificarlo attraverso un
parametro segreto detto chiave, usato in precedenza anche dal mittente per la
cifratura. La sicurezza di un sistema di crittografia risiede solo nella segretezza
della chiave e non dell’algoritmo. La crittografia a chiave pubblica-chiavi
asimmetriche è basata sull’uso di due chiavi generate in modo che sia
impossibile ricavarne una dall’altra. La firma digitale è il risultato di una
procedura informatica, detta validazione, che attraverso un procedimento
crittografico a chiavi asimmetriche, permette di identificare il reale mittente di
un documento informatico verificandone l’autenticità.
Round Robin: è un algoritmo di scheduling preemptive che segue i processi
nell’ordine d’arrivo, ma esegue la prelazione del processo in esecuzione,
ponendolo alla fine della coda dei processi in attesa, qualora l’esecuzione duri
più del quanto di tempo stabilito, e facendo proseguire l’esecuzione al
successivo processo in attesa.
Lock in: è un fenomeno che si verifica quando si è catturati da una scelta
tecnologica potenzialmente inferiore rispetto ad altre disponibili.
DBMS: Il Database Management System è un sistema software progettato per
consentire la creazione e la manipolazione (da parte di un amministratore) e
l'interrogazione efficiente (da parte di uno o più utenti) di database (ovvero di
collezioni di dati strutturati), per questo detto anche "gestore o motore del
database", e ospitato su architettura hardware dedicata oppure su
semplice computer.
VPN: Una Virtual Private Network è una rete di telecomunicazioni privata,
instaurata tra soggetti che utilizzano, come infrastruttura di trasporto, un
sistema di trasmissione pubblico e condiviso, come ad esempio la
Rete Internet. Scopo delle reti VPN è offrire alle aziende, a un costo inferiore,
le stesse possibilità delle linee private in affitto sfruttando reti condivise
pubbliche. Si può vedere dunque una VPN come l'estensione, a scala
geografica, di una rete locale privata aziendale che colleghi tra loro siti interni
all'azienda stessa variamente dislocati su un ampio territorio sfruttando
l'instradamento tramite IP per il trasporto su scala geografica e realizzando di
fatto una rete LAN, detta appunto virtuale e privata, logicamente del tutto
equivalente ad un'infrastruttura fisica di rete appositamente dedicata.
Il modello onion skin: il modello onion skin rappresenta il sistema come una
successione di strati costruiti sopra la macchina hardware, ciascuna dei quali
rappresenta un livello di macchina virtuale. Ogni livello all’interno del
modello, viene visto come un oggetto unico, che non corrisponde alla
macchina fisica ma che è in grado di svolgere le funzioni richieste
indipendentemente dagli altri livelli; ciascuno strato costituisce un modulo,
cioè una collezione di routine che attiva i meccanismi fisici necessari per
risolvere problemi logici di uno stesso tipo.
Sistemi informativi aziendali
Il sistema informativo aziendale (SIA) è l'insieme dei mezzi tecnici, delle
procedure organizzative, delle risorse umane finalizzati alla gestione delle
informazioni prodotte, utilizzate e condivise da un'azienda durante
l'esecuzione dei processi aziendali. L'esperto in sistemi informativi è la figura
professionale che si occupa della progettazione e dello sviluppo di un sistema
informativo per l'immagazzinamento, la gestione e la trasmissione di dati e
informazioni digitali. Nell'azienda il sistema informativo è uno dei sistemi
operativi ed ha il compito di:
raccogliere i dati;
conservare i dati raccolti, archiviandoli;
elaborare i dati, trasformandoli in informazioni;
distribuire l'informazione agli organi aziendali utilizzatori.
Per fare questo il sistema informativo si può avvalere di tecnologie
informatiche: la parte del sistema informativo aziendale che se ne avvale
prende in nome di sistema informatico. Oggi, con il diffondersi delle
tecnologie informatiche, il sistema informatico finisce per rappresentare la
quasi totalità del sistema informativo, ma, almeno a livello concettuale, il
sistema informativo non implica di per sé l'uso dell'informatica; del resto
prima che fossero introdotte le tecnologie informatiche già esistevano sistemi
informativi.I procedimenti sopra elencati sono finalizzati a soddisfare con
efficacia ed efficienza le esigenze conoscitive interne ed esterne d'azienda.
Soddisfare con:
A) Efficienza: fa riferimento al rapporto input-output, in quanto essa può
essere definita come la capacità di raggiungere il miglior risultato con le
risorse a disposizione o, più in particolare:
Miglior risultato ottenibile a parità di risorse;
Minor utilizzo quantitativo di risorse, a parità di risultati;
B) Efficacia: rapporto tra risultato ottenuto ed obiettivo prefissato; si tratta di
un giudizio qualitativo sul risultato ottenuto; quindi, è necessario effettuare un
confronto.
Linguaggio di programmazione
Viene detto «linguaggio di programmazione» un linguaggio destinato a
descrivere l'insieme delle azioni consecutive che un computer deve eseguire.
Un linguaggio di programmazione è anche un modo pratico per noi (umani) di
dare delle istruzioni a un computer.
il linguaggio usato dal processore è detto codice macchina. Si tratta di dati
come quelli che arrivano al processore, costituiti da una serie di 0 e di 1 (dati
binari).
Il linguaggio macchina non è quindi comprensibile all'uomo, ed è per questo
che dei linguaggi intermedi, comprensibili all'uomo, sono stati messi a punto.
Il codice scritto in questo tipo di linguaggio è trasformato in linguaggio
macchina per essere utilizzabile dal processore.
L'Assembly è il primo linguaggio informatico che è stato utilizzato. Questo è
molto simile al linguaggio macchina ma resta comprensibile agli sviluppatori.
Linguaggio interpretato:
Un linguaggio informatico è per definizione diverso dal linguaggio macchina.
Bisogna quindi tradurlo per renderlo leggibile dal punto di vista del
processore. Un programma scritto in un linguaggio interpretato ha bisogno di
un programma ausiliario (l'interprete) per tradurre man mano le istruzioni de
programma.
Linguaggio compilato
Un programma scritto in un linguaggio detto «compilato» sarà tradotto una
volta per tutte da un programma specifico, detto compilatore, per creare un
nuovo file che sarà autonomo, cioè che non avrà bisogno di un altro
programma per essere eseguito ; si dice allora che il file è eseguibile. Un
programma scritto in un linguaggio compilato ha come vantaggio di non aver
più bisogno, una volta compilato, del programma specifico per essere
eseguito. Inoltre, essendo la traduzione fatta una volta per tutte, sarà di più
rapida esecuzione.
I linguaggi di programmazione di tipo procedurale sono quei linguaggi per
computer dove le istruzioni vengono indicate in sequenze e vengono svolte
passo passo.
In informatica, nell'ambito della programmazione, per pseudocodice,
pseudocodifica, pseudolinguaggio o linguaggio di progettazione si intende un
linguaggio il cui scopo è la rappresentazione di algoritmi in alternativa al
classico diagramma di flusso.
-Il processo di codifica di un programma in un linguaggio di programmazione
a partire dalla sua descrizione è solo un passo del processo di realizzazione.
(Wirth) I programmi sono caratterizzati da algoritmi + strutture dati
L’algoritmo è la descrizione formale del processo di soluzione di un
problema.
Strutture dati: descrizione formale di una organizzazione logica
Tecniche di programmazione
Programmazione strutturata: nasce come proposta per regolamentare e
standardizzare le metodologie di programmazione. Per rendere più facile la
lettura dei programmi.
Programmazione modulare: Tecnica di suddividere un progetto software in
parti il più possibile indipendenti, le cui modalità di interazione siano ben
definite. Un modulo raggruppa al suo interno più informazioni.
Programmazione orientata agli oggetti: un paradigma di programmazione che
permette di definire oggetti software in grado di interagire gli uni con gli altri
attraverso lo scambio di messaggi. È particolarmente adatta nei contesti in cui
si possono definire delle relazioni di interdipendenza tra i concetti da
modellare.
L’ingegneria del software è l’insieme delle tecniche che ne permettono la
progettazione, la realizzazione e manutenzione.
Il ciclo di sviluppo del software si divide in:
• Analisi dei requisiti (specifiche)
• Progettazione
• Codifica
• Verifica
• Documentazione
Minacce alla sicurezza
Discolsure (rivelazione) Accesso non autorizzato ad una informazione
Deception (raggiro, frode) Accettazione di dati
Disruption (rottura) Interruzione o Prevenzione di un'operazione corretta
Usurpation (usurpazione) Controllo non autorizzato di Parti del Sistema
Chiave Simmetrica: stessa chiave per codifica e decodifica
Chiave Asimmetrica: chiavi diverse per codifica e decodifica
La differenza tra cifratura simmetrica e asimmetrica riguarda due metodi
diversi applicati nella codifica e decodifica dei messaggi, in particolare quelli
veicolati attraverso il web, in difesa della sicurezza informatica.
Perchè sia valida a norma di legge La Firma deve essere immagazzinata su
dispositivi
appropriati (smartcard) difficili da crackare.
La codifica e la decodifica devono essere fatta direttamente sulla smartcard
(che ha un processore, una memoria etc.) tramite appositi lettori.
La firma digitale, in informatica, rappresenta l'insieme dei dati in forma
elettronica, allegati oppure connessi tramite associazione logica ad altri dati
elettronici, utilizzati come metodo di identificazione informatica. Può essere
basata su varie tecnologie, tra cui la crittografia a chiave pubblica.
firma elettronica – l’insieme dei dati in forma elettronica, allegati oppure
connessi tramite associazione logica ad altri dati elettronici, utilizzati come
metodo di autenticazione informatica
La legge italiana definisce la firma elettronica come un insieme dei dati in
forma elettronica, allegati oppure connessi tramite associazione logica ad altri
dati elettronici, utilizzati come metodo di identificazione informatica.
firma elettronica qualificata - la firma elettronica ottenuta attraverso una
procedura informatica che garantisce la connessione univoca al firmatario e la
sua univoca autenticazione informatica, creata con mezzi sui quali il
firmatario può conservare un controllo esclusivo e collegata ai dati ai quali si
riferisce in modo da consentire di rilevare se i dati stessi siano stati
successivamente modificati, che sia basata su un certificato qualificato e
realizzata mediante un dispositivo sicuro per la creazione della firma, quale
l'apparato strumentale usato per la creazione della firma elettronica
La licenza del software
La licenza o contratto d'uso, in informatica è il contratto con il quale il titolare
dei diritti di sfruttamento economico sul software (programma informatico)
definisce il regime giuridico di circolazione e le limitazioni nell'utilizzo e
nella cessione dell'opera.
Il Software non si vende! Si permette l'utilizzo delle sue funzionalità (Licenza
d'uso) Il Software è sempre di proprietà di chi l'ha prodotto A meno che questi
non ne ceda i diritti di distribuzione e copia A meno che questi non ne ceda
(in alcuni paesi) la proprietà intellettuale.
Licenze libere: (GPL) Buona parte del software libero viene distribuito con la
licenza GNU GPL (GNU General Public License), scritta da Richard Stallman
e Eben Moglen per garantire legalmente a tutti gli utenti le quattro libertà
fondamentali. Dal punto di vista dello sviluppo software, la licenza GPL viene
considerata una delle più restrittive, poiché impone che necessariamente ogni
prodotto software derivato - ovvero, che modifica o usa codice sotto GPL venga a sua volta distribuito con la stessa licenza. Dato che il software è
protetto da copyright, l'utente non ha altro diritto di modifica o ridistribuzione
al di fuori dalle condizioni di copyleft.
(LGPL): Una licenza simile, ma meno restrittiva, è la GNU LGPL (GNU
Lesser General Public License), che permette di utilizzare il codice anche in
software proprietari e sotto altre licenze open source, purché le parti coperte
da LGPL - anche se modificate - vengano comunque distribuite sotto la
medesima licenza. In genere è utilizzata per librerie software.
Licenza (BSD): Il testo della licenza è considerato di pubblico dominio e può
quindi essere modificato senza restrizioni. Le licenze BSD garantiscono le
quattro libertà del software e sono quindi qualificate come licenze per il
software libero. Tuttavia risultando più aperte e libere di altre, ad esempio
della licenza GNU General Public License (GNU GPL), non hanno fra i
propri obiettivi quello di proteggere la libertà del software cui sono applicate
ma semplicemente di rendere per tutti il software completamente libero,
accessibile e modificabile. Chi infatti modifichi un programma protetto da
licenze BSD, può ridistribuirlo usando la stessa o altra qualunque licenza e
senza avere l'obbligo di redistribuire le modifiche apportate al codice
sorgente. Chiunque può fare ciò che meglio crede del programma rilasciato ed
acquisito con l'unico dovere di citare l'autore.
Licenze creative commons: è la denominazione di alcune licenze di diritto
d'autore rilasciate a partire dal 16 dicembre 2002 dalla Creative Commons,
una società nonprofit statunitense fondata nel 2001. Le licenze Creative
Commons (attualmente alla versione 3.0) si ottengono combinando tra loro le
seguenti quattro condizioni: Attribuzione Permette che altri copino,
distribuiscano, mostrino ed eseguano copie dell'opera e dei lavori derivati da
questa a patto che vengano mantenute le indicazioni di chi è l'autore
dell'opera. Non Commerciale Permette che altri copino, distribuiscano,
mostrino ed eseguano copie dell'opera e dei lavori derivati da questa solo per
scopi di natura non commerciale. Non Opere Derivate Permette che altri
copino, distribuiscano, mostrino ed eseguano soltanto copie identiche
dell'opera; non sono ammessi lavori che derivano dall'opera o basati su di
essa. Condividi allo stesso modo Permette che altri distribuiscano lavori
derivati dall'opera solo con una licenza identica a quella concessa con l'opera
originale.
Licenza EULA: EULA o End-User License Agreement (accordo di licenza
con l'utente finale) è il contratto tra il fornitore di un programma software e
l'utente finale. Tale contratto assegna la licenza d'uso del programma all'utente
nei termini stabiliti dal contratto stesso.