Introduzione al Software - A.A. 2019/20 Ing. Alessandra Musolino Abilità Informatiche - Lumsa

Pagina creata da Michele D'Amico
 
CONTINUA A LEGGERE
Introduzione al Software - A.A. 2019/20 Ing. Alessandra Musolino Abilità Informatiche - Lumsa
Introduzione al Software

    Ing. Alessandra Musolino
       Abilità Informatiche
           A.A. 2019/20
Il software (o programmi)
• Sequenza di istruzioni che permette al
  computer di svolgere dei compiti.
• In origine era specializzato e costoso.
• Produzione su larga scala a partire dagli anni
  80.
• Due categorie:
   – software di sistema
      • linguaggi di programmazione
      • sistemi operativi
   – programmi applicativi
Livelli del software
•Al livello più basso ritroviamo il BIOS
 che si rapporta direttamente con
 l'hardware del computer, fornendo
 informazioni al sistema operativo

•Il BIOS (Basic input/output System)
 incorporato nella memoria non
 volatile del sistema (ROM - Read
 Only Memory).

•Eseguito all’accensione del computer
Compiti del sistema operativo (1/2)
• Gestire le risorse del computer
• Gestire l'interazione tra utente e programmi
• Regolare il multitasking e il multithreading
Compiti del sistema operativo (2/2)
• Gestire la contemporaneità di più utenti e il
  loro accesso alle risorse.
• Distribuire le operazioni tra più processori.
• Avvertire l'utente di eventuali errori, e
  impedire che facciano perdere dati e
  informazioni.
• Gestire l'alimentazione elettrica (ad es. nei
  portatili).
Categorie di sistemi operativi (1/2)
• S.O. per i desktop
   – Windows, Mac OS X, DOS, Linux
   – Meno potenti e affidabili di tutti, sono però i più diffusi
• S.O. per i server
   – Windows Server, OS/2, UNIX, Linux
   – Sicuri e portabili
   – sono pensati per la gestione multitasking e multithreading di
     applicazioni mission-critical
• S.O. per i mainframe
   – Open MVS, VMS
   – software proprietario in genere
   – Ogni azienda ha prodotto un suo s.o., rendendo la
     comunicazione tra elaboratori molto complessa
Categorie di sistemi operativi (2/2)
• S.O. per palmari e tascabili
  – Windows Mobile, Palm Os, Symbian OS
  – Interazione con stilo e tastiera virtuale
• S.O. incorporati
  – DOS embedded
  – Per elettrodomestici e piccoli apparecchi
I progressi nell'informatica

La gerarchia dei livelli riproduce, in un certo senso, quella degli sviluppi e dei
progressi informatici.
Dapprima le innovazioni riguardano l'hardware, a questo si adattano con altre
innovazioni i sistemi operativi, in ultimo nascono applicazioni per sfruttare
queste novità.
I programmi applicativi

• I programmi che svolgono determinati compiti sono
  chiamati programmi applicativi (i compiti applicazioni).
• Varie tipologie:
   – videoscrittura, fogli elettronici, database, grafica, presentazioni
     multimediali, giochi;
   – utility
       • antivirus, visualizzatori di file, diagnostici, compressione, backup...
Tipi di programmi applicativi
 Mercato orizzontale
     di uso generico
     generalmente riuniti in suite di programmi (Es. Microsoft Office)
 Mercato verticale
     applicazioni pensate per un pubblico specifico
     Gestione prenotazioni alberghiere, stima costi per la costruzione di
     edifici, etc.
 Applicazioni personalizzate
     Professionisti e/o aziende che richiedono software adatto alle proprie
     esigenze lavorative
Tipi di distribuzione
• Shareware e freeware
   – Software distribuiti gratuitamente per un periodo di prova
     (shareware) per poi bloccarsi se non si perfeziona
     l'acquisto
   – Software distribuiti gratuitamente per sempre (freeware)
     gratuiti ma col solo obbligo di registrarsi come utenti
• Open Source
   – Gli autori del software distribuiscono anche i “sorgenti” del
     programma, rinunciando a qualsiasi diritto
   – Chi voglia manipolare, migliorare o adattare il software
     deve poi mettere a disposizione di tutti il software secondo
     lo stesso principio
SOFTWARE PROPRIETARIO
• Per l’utilizzo è necessario acquistare una licenza d’uso, a
  titolo oneroso, tramite la quale si acquista il diritto di
  esclusivo utilizzo del software, mentre il titolare dell'opera
  mantiene tutti i diritti come distribuzione, riproduzione,
  modifiche, adeguamenti, pubblicazione, estensione ed in
  generale tutti i diritti patrimoniali.

• Nella maggior parte dei casi il software proprietario è
  “chiuso”. Non viene cioè reso disponibile nella forma (detta
  “sorgente”) che permette modifiche e la piena
  comprensione del funzionamento del software stesso.
• All’interno del software proprietario trovano posto anche i
  programmi shareware
SOFTWARE OPEN SOURCE
 Il codice sorgente viene reso disponibile
 Il termine “Open Source” indica un software la cui
  licenza prevede la possibilità per tutti gli utilizzatori di
  ottenere il codice sorgente
 Offre la possibilità ad altri sviluppatori di migliorare il
  software
 La collaborazione di molti sviluppatori permette ad un
  programma di essere più attentamente testato e più
  facilmente reso disponibile sulle diverse piattaforme
  rispetto al caso di un ristretto gruppo di sviluppatori
 Si può dividere il software open source in
      Software di pubblico dominio
      Software con permesso d’autore copyleft
OPEN SOURCE E FREE SOFTWARE

Non sono esattamente la stessa cosa. Rappresentano due
“filosofie” diverse, anche se in accordo su molti aspetti
• Open Source è una metodologia di sviluppo:
     Il fatto che il software debba essere Open Source o meno è
       un problema pratico,non un problema etico.
       Quando è Open Source, il software a pagamento è
       un’alternativa difficile da gestire.
• Free Software è un movimento basato su un principio:
     Il software proprietario è un problema sociale e la libertà di
       run, copy, distribute,study, change and improve the
       software* è la soluzione.

*http://www.gnu.org/philosophy/free-sw.html
FREE SOFTWARE*

Le quattro libertà offerte dal free software:
1. Libertà di usare il programma per qualsiasi scopo;
2. Libertà di studiare come funziona il programma e
    modificarlo in base alle proprie esigenze;
3. Libertà di aiutare il tuo vicino, cioè la possibilità di
    distribuire copie del software rielaborato, rendendolo
    così accessibile a tutti;
4. Libertà di pubblicare una versione modificata del
    software
Criteri dell’Open Source
Criteri dell’Open Source (http://opensource.org/osd)
1. Libertà di redistribuzione (sta poi al singolo decidere se farlo
     gratuitamente o se far pagare il prodotto);
2. Per ogni programma deve essere disponibile il sorgente;
3. Deve permettere lo sviluppo di programmi derivati;
4. Deve garantire l’integrità del sorgente di ogni autore;
5. Nessuna discriminazione verso singoli o gruppi di persone;
6. Nessuna discriminazione verso i settori di applicazione;
7. La licenza deve essere distribuibile;
8. La licenza non può essere specifica per un prodotto;
9. La licenza non può essere imposta ad altri software;
10. La licenza deve essere tecnologicamente neutrale;
PUBBLICO DOMINIO
Di solito si usa il termine “pubblico dominio” come sinonimo di
“libero” (gratuito…) ma in realtà ha un significato giuridico preciso
• È un particolare software completamente privo di
  diritto di autore (privo di copyright)
• L’autore declina qualsiasi interesse proprietario
  sull'opera, assegnandola al pubblico dominio.
• Significa che il programma è modificabile e distribuibile
  imponendo anche vincoli sul suo utilizzo
• Quindi un software può nascere come pubblico
  dominio ed essere modificato e ridistribuito a
  pagamento
PERMESSO D’AUTORE (COPYLEFT)
• ll software con permesso d'autore (copyleft) è software libero le cui
  condizioni di distribuzione non permettono 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.
• Un esempio di copyleft è la licenza GPL (General Public Licence) utilizzata
  dalla maggior parte delle comunità open source
• Copyleft è un gioco di parole
    – copyright tende a tutelare il diritto d'autore, anche attraverso limitazioni
      all'accesso della conoscenza;
    – copyleft intende tutelare il più generale diritto della collettività a fruire dei
      prodotti
FREE DOWNLOAD
• Il software liberamente scaricabile non appartiene
  necessariamente ad una categoria precisa tra quelle
  viste
• Spesso anche software proprietario può essere scaricato
  ed adoperato (ad esempio i vari plug-in per Internet
  Explorer che permettono di vedere animazioni)
• Si usa il termine Freeware per indicare questo tipo di
  software che può essere liberamente scaricato e
  redistribuito ma non Modificato
• Un’ulteriore categoria è rappresentata dal software che
  può essere utilizzato, redistribuito e modificato senza fini
  di lucro, ma che richiede una licenza commerciale se
  utilizzato per altri scopi (esempio il software Qt).
Puoi anche leggere