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