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 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