SOFTWARE
far funzionare l’hardware
Informatica Applicata
Prof.Emanuela Zilio
1
SOFTWARE – cos’è
E’ l’insieme dei dati e dei programmi che rendono
possibile l’inserimento dei dati e dei comandi da parte
dell’utente, volti all’elaborazione da lui desiderata e
perseguita.
I programmi si dividono in sistemi operativi (che
svolgono le funzioni di base) e programmi applicativi
(nati per funzioni specifiche) .
Informatica Applicata
Prof.Emanuela Zilio
2
SISTEMI OPERATIVI
SISTEMI OPERATIVI
Sono quei programmi, quali MacOs, WINDOWS (95, 98,
2000, XP, Vista), BeOs, OS2, AmigaOS, NetBSD, Linux,
Unix, MS DOS, i quali contengono i principali comandi
che permettono di rendere operativo il personal
computer, coordinandone il funzionamento dei
componenti e gestendo le funzioni di base.
Informatica Applicata
Prof.Emanuela Zilio
3
PROGRAMMI APPLICATIVI
Sono tutti quei programmi che svolgono funzioni
specifiche in base alla natura per cui sono nati, quali
fogli di calcolo, editori di testo, programmi di disegno,
ecc..
Informatica Applicata
Prof.Emanuela Zilio
4
Software: device driver
I driver di periferica (device driver) sono programmi
specializzati nella gestione di un particolare
componente hardware.
E’ il sistema operativo a caricarli in memoria durante
la procedura di avvio di un computer.
Informatica Applicata
Prof.Emanuela Zilio
5
Software: device driver
Quando si aggiungono nuove periferiche è necessario
fornire al sistema operativo i corrispondenti drivers
(di solito presenti sul CD in dotazione con la
periferica) in modo che la periferica divenga
utilizzabile dal S.O. e conseguentemente anche dai
programmi applicativi che intendono gestirla.
Informatica Applicata
Prof.Emanuela Zilio
6
Software: Programmi Applicativi
Sono tutti quei programmi che svolgono funzioni
specifiche, e che vengono “lanciati” dall’interno dei
sistemi operativi:
¾
¾
¾
¾
¾
¾
fogli di calcolo
elaborazione testi
fotoritocco, disegno, grafica 3D
editing o riproduzione audio
editing o riproduzione video
“utilities” (compressione, antivirus, ecc.)
Informatica Applicata
Prof.Emanuela Zilio
7
Elaboratore testi (Word Processor)
Informatica Applicata
Prof.Emanuela Zilio
8
Foglio elettronico (SpreadSheet)
Informatica Applicata
Prof.Emanuela Zilio
9
Basi di dati (Database)
Informatica Applicata
Prof.Emanuela Zilio
10
Presentazioni
Informatica Applicata
Prof.Emanuela Zilio
11
Agenda, Posta, Calendario, Rubrica
Informatica Applicata
Prof.Emanuela Zilio
12
Virus
Possono:
9 Distruggere programmi e dati
9 Cambiare le impostazioni del sistema
9 Modificare il funzionamento di altri programmi
Informatica Applicata
Prof.Emanuela Zilio
13
Virus - funzionamento
1. Motore di riproduzione
2. Meccanismo di attivazione
3. Fase distruttiva
Informatica Applicata
Prof.Emanuela Zilio
14
Virus - propagazione
ƒ
ƒ
ƒ
Attraverso email: negli attachment
Per copia da un file all’altro (copiando dati da CD o
floppy infetti)
Via rete
Informatica Applicata
Prof.Emanuela Zilio
15
Virus -barriere
ƒ Antivirus che servono a proteggere in tempo reale il
computer:
ƒ Norton (Symantec), AVG (Grisoft), Kaspersky,
VirusScan (McAFee)
ƒ Si possono configurare per aggiornamento automatico
via rete
Informatica Applicata
Prof.Emanuela Zilio
16
PROCEDURA DI AVVIO
DI UN COMPUTER
Quando si accede un computer la memoria RAM è vuota.
La memoria ROM contiene il BIOS che permette alla
macchina di compiere le prime operazioni di verifica ed
enumerazione dei componenti installati (memoria,
video, dischi, tastiera,ecc…) e di comunicazione tra gli
stessi.
Informatica Applicata
Prof.Emanuela Zilio
17
PROCEDURA DI AVVIO
DI UN COMPUTER
Viene compiuta un’operazione di diagnosi del sistema
(conteggio memoria, controllo periferiche, assegnazione
irq, ecc..)
Viene avviata la procedura di BOOTSTRAP da disco. In
una particolare traccia del disco fisso (o, se presenti,
dal floppy o dal cd-rom) è contenuto il codice di avvio
del sistema operativo installato.
Informatica Applicata
Prof.Emanuela Zilio
18
PROCEDURA DI AVVIO
DI UN COMPUTER
Il bootstrap termina con l’avvio del caricamento
dell’intero sistema operativo.
Una volta terminato il caricamento del sistema
operativo, il computer è pronto ad essere utilizzato, e
possono essere avviati i programmi applicativi per
elaborare i documenti.
Informatica Applicata
Prof.Emanuela Zilio
19
ALGORITMI
Un algoritmo è una sequenza finita, non ambigua, di
passi eseguibili e ripetibili un numero finito di volte per
portare alla soluzione di un dato problema.
Un algoritmo, a partire da informazioni in ingresso,
produrrà un risultato in uscita.
Esempi di algoritmi: ricette di cucina, istruzioni di
montaggio di un oggetto, calcolo dell’ipotenusa dai
cateti, calcolo del Massimo Comun Divisore, procedura
per cambiare una ruota forata, ordinamento di una
rubrica, pagamento di un bollettino postale, ecc...
Informatica Applicata
Prof.Emanuela Zilio
20
ALGORITMI
Vediamo un esempio di espressione della procedura per
pagare un bollettino postale:
1. recarsi ad un ufficio postale
2. compilare il bollettino di conto corrente postale
3. effettuare il pagamento
Informatica Applicata
Prof.Emanuela Zilio
21
NON AMBIGUITA’ DI UN ALGORITMO
L’algoritmo andrebbe riscritto come:
1.
2.
3.
4.
recarsi al più vicino ufficio postale
consultare la tabella degli importi da pagare
compilare il bollettino di ccp
assicurarsi di avere la cifra necessaria al
pagamento
5. effettuare il pagamento
Informatica Applicata
Prof.Emanuela Zilio
22
NON AMBIGUITA’ DI UN ALGORITMO
La sequenza precedentemente vista non rappresenta un
algoritmo in maniera corretta in quanto non è priva di
ambiguità. Infatti non indica quale ufficio postale, che
cifra indicare, non verifica che si disponga di tale
contante, ecc…
La descrizione deve essere più dettagliata, priva di
ambiguità. L’ambiguità è dovuta alla natura stessa del
linguaggio naturale.
Sono stati definiti dei linguaggi specifici per la definizione
degli algoritmi, chiamati linguaggi di programmazione.
Informatica Applicata
Prof.Emanuela Zilio
23
RAPPRESENTAZIONE
DI UN ALGORITMO
Per rappresentare il flusso di esecuzione di un algoritmo
può essere utile ricorrere ai diagrammi a blocchi che
indicano graficamente la sequenza di operazioni da
eseguire.
Informatica Applicata
Prof.Emanuela Zilio
24
RAPPRESENTAZIONE
DI UN ALGORITMO
Vediamo due modi equivalenti di esprimere lo stesso
algoritmo (di Euclide) per il calcolo del M.C.D.
inizio
1. Prendi i valori da tastiera VAL1 e VAL2
finchè
RESTO<>0
INPUT:
VAL1, VAL2
Falso
se
VAL1 < VAL2
Vero
Vero
scambia
VAL1 e
VAL2
RESTO:=
VAL1 MOD VAL2
VAL1:=VAL2
VAL2:=RESTO
RESTO:=
VAL1 MOD VAL2
OUTPUT:
“MCD:” VAL2
fine
Falso
2. Se VAL1<VAL2 allora scambiali
3. Metti in RESTO il resto tra VAL1 e VAL2
4. Ripeti finchè RESTO<>0
5.
Metti in VAL1 il contenuto di VAL2
6.
Metti in VAL2 il contenuto di RESTO
7.
Metti in RESTO il resto tra VAL1 e VAL2
8. Fine Ripeti
9. Mostra il MCD che è pari a VAL2
Informatica Applicata
Prof.Emanuela Zilio
25
LINGUAGGI DI BASSO LIVELLO
Come esprimere un algoritmo affinché un computer
possa interpretarlo ed eseguirlo?
In realtà la CPU è in grado di eseguire un numero molto
ristretto di operazioni estremamente semplici. E tali
istruzioni sono espresse in termini numerici, cioè ad ogni
istruzione corrisponde un numero.
Informatica Applicata
Prof.Emanuela Zilio
26
LINGUAGGI DI BASSO LIVELLO
Il linguaggio di programmazione le cui istruzioni hanno
una corrispondenza biunivoca con le operazioni svolte
dal microprocessore si chiama LINGUAGGIO MACCHINA.
Questo linguaggio si dice di BASSO LIVELLO in quanto è
strettamente legati alle istruzioni della CPU, quindi
poco naturale per l’uomo.
Informatica Applicata
Prof.Emanuela Zilio
27
LINGUAGGI DI ALTO LIVELLO
Per facilitare l’implementazione degli algoritmi, a
partire dalla metà degli anni ’50, sono stati creati anche
dei linguaggi di programmazione più evoluti, più simili al
linguaggio umano, e non legati all’architettura
dell’elaboratore sul quale vengono utilizzati. Tali
linguaggi si dicono di ALTO LIVELLO.
Tali linguaggi devono essere convertiti in linguaggio
macchina affinché la cpu possa eseguirli. Tuttavia,
essendo le istruzioni di questi linguaggi molto potenti e
simili al linguaggio umano, a ognuna corrispondono
molte istruzioni in linguaggio macchina.
Informatica Applicata
Prof.Emanuela Zilio
28
Filosofie di utilizzo del Software
Proprietario: software messo a disposizione a
pagamento.
Al momento dell’acquisto NON si dispone della
proprietà software acquistato, ma solo della licenza
ad usarlo, sotto le condizioni indicate dal produttore.
La licenza più diffusa per questo tipo di sofware è la
EULA (End User License Agreement)
Informatica Applicata
Prof.Emanuela Zilio
29
Filosofie di utilizzo del Software
Demoware: versione dimostrativa del software a
pagamento.
Permette di valutare il software ma non di usarlo in
modo proficuo e continuativo, infatti normalmente
prevede la disabilitazione delle funzioni di stampa e
salvataggio, un numero massimo di utilizzi, o un
tempo massimo di utilizzo giornaliero (es. 10 minuti).
Informatica Applicata
Prof.Emanuela Zilio
30
Filosofie di utilizzo del Software
Shareware: software reso disponibile gratuitamente
per un breve periodo (per consentire delle
valutazioni).
A conclusione di tale lasso temporale, sarà necessario
corrispondere una somma in denaro per proseguirne
l’utilizzo.
Una volta pagato e registrato, sono spesso rese
disponibili funzionalità aggiuntive non incluse nella
versione di valutazione.
Informatica Applicata
Prof.Emanuela Zilio
31
Filosofie di utilizzo del Software
Adware: software che prevede delle sezioni pubblicitarie
inamovibili. In tal modo è gratuito per l’utilizzatore, ma lo
sviluppatore è pagato dallo sponsor.
Freeware - software reso disponibile l’utilizzo
gratuitamente dal produttore, ma non è liberamente
riutilizzabile, e non sono resi disponibili i codici sorgenti.
Informatica Applicata
Prof.Emanuela Zilio
32
Filosofie di utilizzo del Software
Pubblico Dominio: software gratuito che non prevede
alcun tipo di licenza, pertanto, mancando chi può
difenderlo, chiunque può riuscire ad accamparvi dei diritti,
e qualsiasi copia o variante potrebbe non essere più
gratuita.
CopyLeft: software gratutito, ma protetto da una licenza
che difende il diritto d’autore e la sua volontà di
mantenere libera la sua opera. Il copyleft impedisce che
chi ridistribuisce il software (originale o modificato) possa
aggiungere delle restrizioni ulteriori. Un esempio di
questo tipo di licenza è GNU-GPL.
Informatica Applicata
Prof.Emanuela Zilio
33