Introduzione al Software - A.A. 2019/20 Ing. Alessandra Musolino Abilità Informatiche - Lumsa
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
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 applicativiLivelli 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 complessaCategorie 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 lavorativeTipi 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 principioSOFTWARE 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 copyleftOPEN 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.htmlFREE 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
softwareCriteri 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
prodottiFREE 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