Sei sulla pagina 1di 29

ICT e Societá dell’Informazione

Capitolo 2 - Software

A.A. 2017-2018

ICT e società dell’informazione 2/ed


Copyright © 2010 – The McGraw-Hill Companies srl
Andrea Carignani, Chiara Frigerio, Federico Rajola
Software
Software:
insieme di istruzioni che dicono al computer come svolgere una operazione

<!doctype html><html><head><meta http-equiv="content-type" content="text/html; charset=UTF-


8"><title>Google</title><script>window.google={kEI:"0WmqTsiZJ4Gs0QXRwsnYDg",getEI:functi
on(a){var b;while(a&&!(a.getAttribute&&(b=a.getAttribute("eid"))))a=a.parentNode;return
b||google.kEI},https:function(){return
window.location.protocol=="https:"},kEXPI:"17259,28936,30316,32034,32621,33076,33104,3329
3,33373,33502,33646,33735,33814",kCSI:{e:"17259,28936,30316,32034,32621,33076,33104,33
293,33373,33502,33646,33735,33814",ei:"0WmqTsiZJ4Gs0QXRwsnYDg"},authuser:0,
ml:function(){},kHL:"it",time:function(){return(new Date).getTime()},log:function(a,b,c,e){var d=new
Image,f=google,h=f.lc,g=f.li,i="";d.onerror=(d.onload=(d.onabort=function(){delete
h[g]}));h[g]=d;if(!c&&b.search("&ei=")==-1)i="&ei="+google.getEI(e);var
j=c||"/gen_204?atyp=i&ct="+a+"&cad="+b+i+"&zx="+google.time();d.src=j;f.li=g+1},lc:[],li:0,Toolbel
t:{},y:{},x:function(a,b){google.y[a.id]=[a,b];return false}};

ICT e società dell’informazione 2/ed


Copyright © 2010 – The McGraw-Hill Companies srl
Andrea Carignani, Chiara Frigerio, Federico Rajola
Linguaggi di programmazione

Il primo linguaggio di programmazione della storia, se si esclude il


linguaggio meccanico adoperato da Ada Lovelace per la programmazione
della macchina di Charles Babbage, è a rigor di termini il Plankalkül di
Konrad Zuse, sviluppato da lui nella Svizzera neutrale durante la seconda
guerra mondiale e pubblicato nel 1946.
Plankalkül non venne mai realmente usato per programmare.

La programmazione dei primi elaboratori veniva fatta invece in


short code, da cui poi si è evoluto l'assembly o Assembler

ICT e società dell’informazione 2/ed


Copyright © 2010 – The McGraw-Hill Companies srl
Andrea Carignani, Chiara Frigerio, Federico Rajola
Linguaggi di programmazione
prima generazione: rientrano in questa categoria i linguaggi macchina proprietari,
decisamente complessi e fortemente legati all’architettura hardware specifica

seconda generazione: costituiscono una prima astrazione del linguaggio macchina


(assembly), permettendo comunque di migliorare l’attività di sviluppo grazie
all’utilizzo di un numero minore di istruzioni. Con essi nascono gli assembler, ovvero
programmi in grado di tradurre il linguaggio assembly in linguaggio macchina

terza generazione: rientrano in questa categoria i linguaggi che spostano il focus


verso il linguaggio naturale (english-like), risultando decisamente più intuitivi
dell’assembly e del linguaggio macchina. Questi linguaggi vengono definiti anche
come linguaggi di alto livello e tra essi si annoverano in C, C++, Basic, Java, C#,
ecc…

quarta generazione: in questa categoria troviamo i linguaggi dichiarativi, il cui


rappresentate più illustre è SQL, utilizzato principalmente nei database relazionali.

ICT e società dell’informazione 2/ed


Copyright © 2010 – The McGraw-Hill Companies srl
Andrea Carignani, Chiara Frigerio, Federico Rajola
Software

Software:
Si può dividere in:

Software Software
DI SISTEMA APPLICATIVI
5

ICT e società dell’informazione 2/ed


Copyright © 2010 – The McGraw-Hill Companies srl
Andrea Carignani, Chiara Frigerio, Federico Rajola
Software DI SISTEMA

Software DI SISTEMA:
Consente al software applicativo di interagire
con il computer e lo aiuta a gestire le proprie
risorse interne ed esterne

 Sistemi Operativi
 Driver
 Programmi di Servizio

ICT e società dell’informazione 2/ed


Copyright © 2010 – The McGraw-Hill Companies srl
Andrea Carignani, Chiara Frigerio, Federico Rajola
Software DI SISTEMA:
Sistema Operativo

E’ costituito dai programmi di gestione delle operazioni


più elementari del computer.

Ad esempio:
 Windows XP
 Windows Vista
 Windows 7, 8, 10
 Linux
 MAC OS X
 Solaris
 …

ICT e società dell’informazione 2/ed


Copyright © 2010 – The McGraw-Hill Companies srl
Andrea Carignani, Chiara Frigerio, Federico Rajola
Software DI SISTEMA:
Sistema Operativo

In particolare gestisce il controllo e l’uso delle risorse


hardware (spazio su disco, memoria, CPU, periferiche)

Funzioni principali:

 Boot
 Gestione della CPU
 Gestione dei file
 Gestione dei task
8

ICT e società dell’informazione 2/ed


Copyright © 2010 – The McGraw-Hill Companies srl
Andrea Carignani, Chiara Frigerio, Federico Rajola
Software DI SISTEMA:
Sistema Operativo - Boot
POST (Power On Self Test): una serie di test diagnostici per verificare il corretto
funzionamento dell'hardware della scheda madre

 cerca una scheda video installata, prima di tutto quella che secondo i suoi dati interni
dovrebbe essere presente, ed esegue il POST video che si trova nella ROM interna della
scheda video
 cerca eventuali ROM di altri dispositivi installati e ne esegue le routine POST
 esegue altri test, come il conteggio della memoria e lo stato della tastiera. Se incontra
degli errori mostra un messaggio a video
 compila l'inventario completo del tipo di hardware installato
 configura automaticamente i dispositivi Plug and Play presenti
 si interfaccia con la memoria CMOS, contenente i parametri di configurazione suscettibili
di modifica
 finalmente, cerca una unità a disco da cui caricare il sistema operativo. Se c'è, lo carica
in RAM
9

ICT e società dell’informazione 2/ed


Copyright © 2010 – The McGraw-Hill Companies srl
Andrea Carignani, Chiara Frigerio, Federico Rajola
Software DI SISTEMA:
Sistema Operativo - BIOS

Basic Input-Output System (BIOS) è un insieme di routine software, generalmente


scritte su ROM

fornisce una serie di funzioni di base per l'accesso all'hardware e alle periferiche
integrate nella scheda madre da parte del sistema operativo e dei programmi.
La ROM del BIOS contiene anche il POST, il primo programma che viene eseguito dopo
l'accensione.

10

ICT e società dell’informazione 2/ed


Copyright © 2010 – The McGraw-Hill Companies srl
Andrea Carignani, Chiara Frigerio, Federico Rajola
Organizzazione dei file

 Specifiche di file e percorsi

C:\Documenti\Relazioni\TrattatoPsico.doc

Directory radice Directory Subdirectory Nome del file Estensione

11

ICT e società dell’informazione 2/ed


Copyright © 2010 – The McGraw-Hill Companies srl
Andrea Carignani, Chiara Frigerio, Federico Rajola
Software DI SISTEMA:
Driver

Rendono possibili le comunicazioni tra i dispositivi di


input e di output ed il computer

Programmi di Servizio (o Utilities)

Svolgono operazioni legate al controllo e all’allocazione


delle risorse del computer.
Estendono le funzioni esistenti o forniscono nuovi servizi
non offerti dal software del Sistema Operativo.
(es. copia di dati, recupero file persi, identificazione problemi
hardware, ecc.) 12

ICT e società dell’informazione 2/ed


Copyright © 2010 – The McGraw-Hill Companies srl
Andrea Carignani, Chiara Frigerio, Federico Rajola
I Sistemi Operativi più noti

“Piattaforma”: modello di microprocessore + sistema operativo

 DOS (Disk Operating System)

 Macintosh (Mac OS)

 Microsoft Windows

 Linux
13

ICT e società dell’informazione 2/ed


Copyright © 2010 – The McGraw-Hill Companies srl
Andrea Carignani, Chiara Frigerio, Federico Rajola
I Sistemi Operativi più noti

Per i sistemi connessi in rete:

 Microsoft Windows Server


 MAC OS X Server
 Linux
 Unix/Solaris

14

ICT e società dell’informazione 2/ed


Copyright © 2010 – The McGraw-Hill Companies srl
Andrea Carignani, Chiara Frigerio, Federico Rajola
Che cosa è Linux

 Linux è una versione di UNIX, realizzata dallo


studente finlandese Linus Torvalds e da un
grande numero di programmatori su Internet, a
partire dal 1991
 il codice sorgente è “liberamente” disponibile
 il progetto non ha avuto nessun finanziamento,
nè alcuna pianificazione, nè alcun
coordinamento centrale
 il sistema è robusto e sofisticato e
 oggi ha una grande diffusione
15

ICT e società dell’informazione 2/ed


Copyright © 2010 – The McGraw-Hill Companies srl
Andrea Carignani, Chiara Frigerio, Federico Rajola
Software APPLICATIVI

 Software COMMERCIALE
 Software di PUBBLICO DOMINIO
 Software SHAREWARE
 Software FREEWARE
 Software RENTALWARE (o a noleggio)

16

ICT e società dell’informazione 2/ed


Copyright © 2010 – The McGraw-Hill Companies srl
Andrea Carignani, Chiara Frigerio, Federico Rajola
Software APPLICATIVI

Software libero o Open Source


Il software libero è software distribuito in modo che chiunque ne abbia il
permesso di uso, copia e distribuzione, in forma modificata o meno, gratis o
a pagamento.

In particolare, ciò significa che il codice sorgente deve essere disponibile.

Il termine "open source" software è usato da alcuni più o meno con lo stesso
significato di software libero

17

ICT e società dell’informazione 2/ed


Copyright © 2010 – The McGraw-Hill Companies srl
Andrea Carignani, Chiara Frigerio, Federico Rajola
Software APPLICATIVI

Software di pubblico dominio

Il software di pubblico dominio è software privo di copyright.


È un caso speciale di software libero senza permesso d'autore, il che
significa che alcune copie o versioni modificate possono non essere affatto
libere.

18

ICT e società dell’informazione 2/ed


Copyright © 2010 – The McGraw-Hill Companies srl
Andrea Carignani, Chiara Frigerio, Federico Rajola
Software APPLICATIVI

Software con permesso d'autore (copyleft)


Il software con permesso d'autore è software libero le cui condizioni di
distribuzione non permettono ai ridistributori di porre alcuna restrizione
addizionale all'atto di ridistribuire o modificare il software. Questo significa che
ogni copia del software, anche se modificata, deve essere software libero

Software libero senza permesso d'autore


L'autore di software libero senza permesso d'autore dà il permesso di
ridistribuire e modificare il programma, e anche di aggiungervi ulteriori
restrizioni.
Se un programma è libero, ma non ha permesso d'autore, alcune copie o
versioni modificate possono non essere affatto libere. Un'azienda di software
può compilare il programma, con o senza modifiche, e distribuire il file
eseguibile come un prodotto software proprietario.
19

ICT e società dell’informazione 2/ed


Copyright © 2010 – The McGraw-Hill Companies srl
Andrea Carignani, Chiara Frigerio, Federico Rajola
Software APPLICATIVI

Software con licenza GPL

La GNU GPL (General Public License) è un insieme specifico di


termini di distribuzione per dare permesso d'autore ad un
programma.
Il Progetto GNU lo utilizza come licenza per la maggior parte del
software GNU.

20

ICT e società dell’informazione 2/ed


Copyright © 2010 – The McGraw-Hill Companies srl
Andrea Carignani, Chiara Frigerio, Federico Rajola
Software APPLICATIVI

Software semilibero
Il software semilibero è software non libero, ma che è distribuito
col permesso per i privati di essere usato, copiato, distribuito e
modificato (incluse le versioni distribuite con modifiche) senza
scopo di lucro

21

ICT e società dell’informazione 2/ed


Copyright © 2010 – The McGraw-Hill Companies srl
Andrea Carignani, Chiara Frigerio, Federico Rajola
Software APPLICATIVI

Freeware
Il termine "freeware" non ha una definizione comunemente accettata, ma è
comunemente utilizzato per i pacchetti software che possono essere ridistributi ma
non modificati (ed il loro codice sorgente non è disponibile). Questi pacchetti non
sono software libero, perciò non usate "freeware" per indicare il software libero.

Shareware
Lo shareware è software che dà la possibilità di ridistribuire copie, ma impone a
chiunque continui ad usarne una copia di pagarne la licenza d'uso.
Lo shareware non è software libero, nè semilibero. Questo per due motivi:
• Per la maggior parte del software shareware, il codice non è disponibile; pertanto,
non è assolutamente possibile modificare il programma.
• Il software shareware non è distribuito con il permesso di farne una copia ed
installarlo senza pagare una licenza d'uso, neanche per chi lo utilizzi per un'attività
senza fini di lucro.
(In pratica, molti ignorano i termini di distribuzione e lo usano comunque, ma le
licenze d'uso non lo permettono).
22

ICT e società dell’informazione 2/ed


Copyright © 2010 – The McGraw-Hill Companies srl
Andrea Carignani, Chiara Frigerio, Federico Rajola
Software APPLICATIVI

Software proprietario
Il software proprietario è quello che non è libero o semilibero.
Il suo utilizzo, la ridistribuzione o modifica sono proibiti o
richiedono un permesso o sono sottoposti a tali vincoli che in
pratica non si possono fare liberamente

23

ICT e società dell’informazione 2/ed


Copyright © 2010 – The McGraw-Hill Companies srl
Andrea Carignani, Chiara Frigerio, Federico Rajola
Software APPLICATIVI

Software Commerciale

Il software commerciale è software sviluppato da un'azienda allo scopo di


guadagnare dal suo uso.

"Commerciale" e "proprietario" non sono la stessa cosa


La maggior parte del software commerciale è proprietario, ma c'è software
libero commerciale, e c'è software non commerciale non libero.

24

ICT e società dell’informazione 2/ed


Copyright © 2010 – The McGraw-Hill Companies srl
Andrea Carignani, Chiara Frigerio, Federico Rajola
Software APPLICATIVI
 Software per intrattenimento
 Giochi

 Audio/Video

 Software personale
 Hobby vari (es. giardinaggio, ricette, ecc.)

 Software di educazione e riferimento


 Enciclopedie

 Rubriche telefoniche

 Software di produttività
 Videoscrittura

 Fogli elettronici

 Database

 Software specializzato
 Grafica

 CAD 25

ICT e società dell’informazione 2/ed


Copyright © 2010 – The McGraw-Hill Companies srl
Andrea Carignani, Chiara Frigerio, Federico Rajola
Software Online

“ASP”: Application Service Provider

SERVER
CLIENT

26

ICT e società dell’informazione 2/ed


Copyright © 2010 – The McGraw-Hill Companies srl
Andrea Carignani, Chiara Frigerio, Federico Rajola
Software Online

Computer “GRASSI”

SERVER
FAT
CLIENT

Software del sistema Dati


Software applicativo Dati
Software applicativo Programmi e aggiornamenti
Software applicativo
27

ICT e società dell’informazione 2/ed


Copyright © 2010 – The McGraw-Hill Companies srl
Andrea Carignani, Chiara Frigerio, Federico Rajola
Software Online

Computer “MAGRI”

SERVER
THIN
CLIENT
Dati
Software applicativo Dati
Software applicativo Dati
Software applicativo Dati
Dati 28

ICT e società dell’informazione 2/ed


Copyright © 2010 – The McGraw-Hill Companies srl
Andrea Carignani, Chiara Frigerio, Federico Rajola
Software in affitto

“ERP”: Enterprise Resource Planning

• SAP
• Oracle
• PeopleSoft
• Microsoft

29

ICT e società dell’informazione 2/ed


Copyright © 2010 – The McGraw-Hill Companies srl
Andrea Carignani, Chiara Frigerio, Federico Rajola