Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
II Software
Elisabetta Ronchieri
Università di Ferrara
Dipartimento di Economia e Management
Insegnamento di Informatica
Novembre 17, 2015
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Argomenti
1
Software
2
Tipi di software
Software applicativo
Software utilità
Sistema operativo
Altri software
3
Diritto d’autore
4
Possibili domande d’esame
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Software
È un neologismo nato per i computer.
È necessario per il funzionamento del computer.
È un componente immateriale del computer.
È un insieme complesso di programmi, o sequenze di
istruzioni, che il computer esegue per elaborare dati ed
implementare delle funzioni.
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Software visto dal computer
L’elaboratore vede un oggetto binario (codice macchina),
l’unico che comprende e sa eseguire.
In particolare una sequenza di parole (word, gruppi di 4
byte).
Il linguaggio macchina è complesso, poco espressivo,
scritto in notazione binaria, incomprensibile.
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Alternativa al linguaggio macchina
È il linguaggio assembly
Usa lettere e numeri anzichè 0 e 1 del codice binario
Di più facile comprensione per le persone
Traducibile automaticamente in linguaggio macchina
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Assemblaggio
Il computer scandisce il programma assembly.
Quando incontra una parole chiave cerca in una tabella la
corrispondente sequenza binaria.
Assembla le varie parti dell’istruzione costruendo
l’istruzione macchina.
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Linguaggi di alto livello
La maggior parte del software è scritta con linguaggi di alto
livello come R, LaTeX, C, Java.
In questa categoria abbiamo linguaggi:
interpretati (esempio R);
compilati (C e LaTeX) per ottenere un file binario;
intermedi (esempio Java).
Occorre un apposito traduttore che converta il codice di
programmi scritti in un particolare linguaggio di
programmazione (programma sorgente) nella
corrispondente rappresentazione in linguaggio macchina
(programma eseguibile).
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Compilazione
Il processo è svolto da un traduttore, detto compilatore.
Il codice sorgente passa dai costrutti del linguaggio di alto
livello all’assembly fino al linguaggio macchina.
Ogni istruzione viene trasformata nel corrispondente
codice in linguaggio macchina che può essere eseguito
dall’elaboratore.
Hanno prestazioni migliori.
Il codice non è portabile: deve essere ricompilato ogni
volta che si cambia il sistema operativo.
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Compilazione
Si fa notare che a seguito della istruzione ADD sono presenti
non i valori delle variabili usate nel programma, ma le locazioni
in memoria 20, 2 e 22 in corrispondenza delle quali sono
presenti i valori delle variabili totale, num1 e num2.
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Esempio codifica assembler
Istruzione: ADD (operazione somma)
Locazioni: 2000, 2080, 4000
Valori: 48, 2, 50
Codifica: ADD 4000, 2000, 2080
Determinare il valore associato alla locazione 4000 nel caso si
effettui la operazione di moltiplicazione (istruzione MUL) e
sottrazione (istruzione SUB).
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Interpretazione
Il processo è svolto da un traduttore, detta interprete.
Il codice sorgente viene controllato ed interpretato ad ogni
esecuzione e vengono eseguite le istruzioni così come
descritte nel codice sorgente.
Questi programmi risultano avere una elevata portabilità su
sistemi operativi differenti.
Risultano lenti in fase di esecuzione.
Il carico di lavoro per l’elaboratore è maggiore: ogni volta
deve elaborare il file.
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Confronto tra compilatori ed interpreti
La compilazione è una esecuzione rapida, mentre
l’interpretazione decodifica ogni volta.
L’interpretazione giunge all’esecuzione in modo più
immediato.
L’interpretazione semplifica il porting dei programmi tra
sistemi operativi diversi senza ricorrere a compilatori
diversi.
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Linguaggi intermedi
Il codice sorgente non viene compilato in linguaggio
macchina, ma in un codice intermedio, detto bytecode,
destinato a venire interpretato al momento dell’esecuzione
del programma.
Si ha la portabilità dei linguaggi interpretati.
Si semplifica la fase di interpretazione velocizzando la fase
di esecuzione.
Il bytecode di Java è un vero linguaggio assembly.
Sui diversi sistemi operativi si esegue il bytecode, per cui il
sorgente può non subire modiche.
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Software applicativo
Software utilità
Sistema operativo
Altri software
Tipi di software
Esistono due categorie di software
1
software applicativo - i programmi di cui l’utente si serve
quando usa il computer
2
software di sistema o di base - infrastruttura necessaria
al funzionamento del computer e delle app.
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Software applicativo
Software utilità
Sistema operativo
Altri software
Classificazione del software
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Software applicativo
Software utilità
Sistema operativo
Altri software
Software applicativo
È scritto in linguaggi di programmazione di alto livello.
Si compone di programmi che si aggiungono al sistema
operativo per permettere al computer (e all’utente) di
svolgere attività specifiche, quali scrivere lettere o gestire
la contabilità.
Progettato e sviluppato per essere riconosciuto e
supportato dal sistema operativo.
Può avere mercato orizzontale (applicazioni generiche
come Office), verticale (applicazioni specifiche) o
personale (es. software Grid degli esperimenti LHC).
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Software applicativo
Software utilità
Sistema operativo
Altri software
Software applicativo
Esempi
Miktex per la elaborazione di testi;
RGUI per il foglio elettronico;
Photoshop per la elaborazione delle immagini;
Frontpage per la creazione di un sito web;
Firefox per la navigazione su web;
Thunderbird per la posta elettronica.
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Software applicativo
Software utilità
Sistema operativo
Altri software
Software di utilità
Si compone di programmi necessari alla gestione del
computer.
Non fa parte del sistema operativo, ma ne estende le
funzioni.
Contiene programmi:
diagnostici quali quelli per migliorare le prestazioni e
configurare il sistema.
di backup per la duplicazione dei file su nastro o disco.
di disinstallazione per rimuovere le applicazioni.
per operazioni quotidiane quali calcolatrice e datario.
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Software applicativo
Software utilità
Sistema operativo
Altri software
Software di utilità
L’utente può eseguire operazioni di base quali
copia, cancellazione, stampa di file;
configurazione del sistema;
visualizzazione contenuto directory (cartella);
compressione dei file su disco;
antivirus (protezione dai virus informatici).
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Software applicativo
Software utilità
Sistema operativo
Altri software
Software di utilità e applicativo
La differenza tra i due software è sfumata e varia nel
tempo.
Nei primi tempi di Internet il software di comunicazione era
considerato un software applicativo.
Attualmente lo stesso software è considerato di utilità visto
che molti programmi accedono alla rete per il loro normale
funzionamento.
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Software applicativo
Software utilità
Sistema operativo
Altri software
Sistema operativo (SO)
Offre le operazioni base per l’uso del computer non
supportate direttamente dall’hardware.
I tre più usati per personal computer:
Microsoft Windows
Apple MacOS X
Linux (Unix)
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Software applicativo
Software utilità
Sistema operativo
Altri software
Caratteristiche del SO
Multitasking
può eseguire più processi per volta
gestione dei programmi in esecuzione e delle varie risorse
del computer.
Esempi
Ascoltare in sottofondo una Radio su Internet, mentre si
edita un testo
Risorse quali disco, tastiera e mouse devono essere
coordinati tra i vari programmi.
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Software applicativo
Software utilità
Sistema operativo
Altri software
Caratteristiche del SO
Multiuser
più utenti in contemporanea
gli utenti non interferiscono tra di loro
il sistema operativo offre ad ogni utente una sorta di
computer privato.
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Software applicativo
Software utilità
Sistema operativo
Altri software
Caratteristiche del SO
Time sharing
Suddivide il tempo in intervalli che durano frazioni di
secondo.
Ad ogni intervallo un solo programma è in esecuzione.
Ciclicamente sono eseguiti tutti i programmi.
L’utente ha l’impressione che i programmi siano attivi
contemporaneamente.
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Software applicativo
Software utilità
Sistema operativo
Altri software
Caratteristiche del SO
Sistemi embedded
Sistemi operativi dedicati a compiti specifici
Esempi sono apparecchiature medicali, elettronica per gli
elettrodomestici, i telefoni cellulari.
Sono in grado di conservare la carica delle batterie, di
operare in modo continuativo senza la presenza umana.
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Software applicativo
Software utilità
Sistema operativo
Altri software
Concetto di processo
Il programma è un insieme statico di istruzioni.
Il processo è una attività dinamica le cui proprietà
cambiano con il passare del tempo.
Il processo è la attività di esecuzione di un programma
sotto il controllo del sistema operativo.
Lo stato del processo determina lo stato dell’attività.
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Software applicativo
Software utilità
Sistema operativo
Altri software
Elaborazione batch o a lotti
Nella elaborazione batch i job (ossia il lavoro associato alla
esecuzione del programma) sono riuniti in un singolo batch ed
eseguiti senza interazioni con l’utente.
I job aspettano l’esecuzione in una coda di job.
La coda è una struttura dati ordinati secondo il metodo
FIFO (first in first out): i job vengono rimossi dalla coda
nell’ordine di arrivo.
Nel caso di sistemi operativi che considerano la priorità dei
job, i job in coda sono superati da quelli con priorità più
alta.
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Software applicativo
Software utilità
Sistema operativo
Altri software
Elaborazione batch o a lotti
Ogni job è abbinato ad un insieme di istruzioni che
descrivevano le fasi di preparazione del computer.
Istruzioni:
codificate nel linguaggio Job Control Language (JCL);
memorizzate nella coda insieme con il job.
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Software applicativo
Software utilità
Sistema operativo
Altri software
Elaborazione interattiva
Prevede un dialogo tra l’utente ed i programmi tramite
stazioni di lavoro o terminali remoti.
I terminali odierni sono rappresentati da workstation
(stazioni di lavoro) ma anche da PC completi.
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Software applicativo
Software utilità
Sistema operativo
Altri software
Sicurezza
Attacchi esterni (aggirati con login, superutente, software
di verifica per rintracciare sniffing software)
Attacchi interni (aggirati a livello hardware con livelli di
privilegio differente a livello di processore)
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Software applicativo
Software utilità
Sistema operativo
Altri software
Shell
Interfaccia con l’utente
Contiene anche le GUI (Graphical User Interface)
Spesso confuso con il sistema operativo
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Software applicativo
Software utilità
Sistema operativo
Altri software
Interfacce utente
Rappresenta l’interazione
uomo macchina.
Appare sullo schermo non
appena si accende un
computer.
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Software applicativo
Software utilità
Sistema operativo
Altri software
Le interfacce a caratteri
Le interfacce a caratteri sono più rapide e richiedono meno
memoria rispetto a quelle grafiche, ma sono più difficili da
utilizzare.
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Software applicativo
Software utilità
Sistema operativo
Altri software
Interfacce grafiche utente
In genere identificate con l’acronimo GUI (Graphic User
Interface)
Attualmente disponibili con interfacce più intuitive, quali
MS Windows, X Windows e KDE di Unix.
Le funzionalità comuni:
visualizzano sullo schermo delle finestre sovrapposte,
ognuna delle quali può contenere un programma
applicativo;
l’utente può passare da un compito all’altro in modo veloce;
per eseguire un comando basta puntare l’icona che lo
rappresenta sul desktop digitale e fare clic con il mouse;
impiegano la tecnologia WYSIWYG
(WhatYouSeeIsWhatYouGet) per i documenti;
i comandi sono gli stessi per tutti i programmi.
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Software applicativo
Software utilità
Sistema operativo
Altri software
Altre interfacce
Le interfacce a stilo:
usate per gli elaboratori tascabili;
si usa una stilo su di uno schermo sensibile.
Le interfacce touchscreen:
usate negli aeroporti, musei, bancomat;
con un dito si puntano le icone presenti sullo schermo.
Le interfacce conversazionali:
comandi vocali;
ancora in fase di perfezionamento.
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Software applicativo
Software utilità
Sistema operativo
Altri software
Kernel
Parte interna del sistema operativo:
Si compone di:
driver che gestisce i driver delle periferiche;
file manager che gestisce i file nella memoria di massa, i
permessi di accesso ai file, le directory, l’archiviazione e il
recupero dei file;
memory manager che gestisce la RAM e i processi in
esecuzione, la memoria virtuale (memoria non disponibile
fisicamente usabile dalle applicazioni), la paginazione
(assegnazione di blocchi di memoria alle applicazioni).
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Software
È, in genere, sotto copyright (diritto d’autore) e EULA1 (licenza).
1
EULA sta per End User License Agreement.
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Licenze software (EULA)
I programmi non si acquistano, ma si prendono solo in
affitto.
Le licenze concedono il diritto di uso personale, non la
proprietà.
È ammessa una copia alla volta
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Copyright
Senza copyright un software non può essere usato,
distribuito e modificato.
La licenza permette ad un utente di usare un certo
software sotto alcune condizioni.
In genere ogni software è dotato di licenza che deve
essere accettata da chi lo richiede prima di usare il
software.
Per garantire una circolazione del software più libera è nato
il copyleft che concede all’utente più diritti delle EULA.
Il software deve essere ridistribuito con la stessa licenza
con cui è stato ottenuto.
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Terminologia software
Termine
Significato
Software open source
Ogni software di cui è possibile ottenere il codice sorgente legalmente.
Può essere modificato sotto certe condizioni.
Software free (libero)
Ogni software con licenza copyleft.
Spesso è anche gratuito.
In genere è anche open source.
Software proprietario
Ogni software con delle restrizioni di utilizzo, modifica, redistribuzione, etc.
Non è quindi un software free.
È spesso a pagamento.
Freeware
Software proprietario gratuito (non richiede pagamento).
Shareware
Software proprietario a pagamento, usabile gratuitamente per un periodo di tempo (e.g.
license evaluation).
Si paga la persona che lo ha prodotto solo se l’applicativo è utile.
Pubblico dominio
Software disponibile a chiunque senza nessun copyright.
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
La legge
Si infrange la legge su copyright, se si usa o vende materiale
protetto.
Per chi ne fa un uso commerciale le pene sono più severe
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Plagio
Presentare come nostro il lavoro altrui
Copiare parti, anche multimediali, senza citare l’autore
Modificare il testo originale senza citarlo
Copia e incolla da autori diversi senza citarli
Usare idee originali di altri senza darne credito
Auto plagio
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Possibili domande d’esame
1 Indicare i vantaggi del compilatore.
(a)
(b)
(c)
(d)
(e)
Esecuzione rapida;
Decodifica in corrispondenza di ogni istruzione;
Facilita il porting di programmi tra diversi sistemi operativi;
Esecuzione intuitiva;
Generazione di bytecode.
Elisabetta Ronchieri
II Software
Software
Tipi di software
Diritto d’autore
Possibili domande d’esame
Possibili domande d’esame
2 Indicare la tecnologia usata dalle interfacce grafiche:
(a)
(b)
(c)
(d)
(e)
What You See Is What You Get;
Cloud Computing;
Topologia di Rete a Stella;
Solo linguaggi di programmazione compilati;
Solo linguaggi di programmazione interpretati.
Elisabetta Ronchieri
II Software