modulo 16 –> il software
TRANSCRIPT
Insegnamento di Informatica – a.a. 2015-16
Il software
INSEGNAMENTO DI INFORMATICA – A.A. 2015-16
Francesco Ciclosi
Macerata, 1 dicembre 2015
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Che cos’è il software Il software è una sequenza di istruzioni
(programma) che indica all’elaboratore come
deve svolgere i compiti a lui assegnati
Senza software il calcolatore non può funzionare
Il software si divide in due categorie
• Software di sistema
• Programmi applicativi
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
I software di sistema
Comprendono due tipologie:
• I linguaggi di programmazione servono per
creare tutti gli altri programmi
• I sistemi operativi sono i «programmi» di base che
consentono al computer di funzionare
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Il sistema operativo
• Va necessariamente eseguito prima di
qualsiasi altro programma
• Viene caricato automaticamente all’accensione
del computer
• Provvede a gestire le risorse del sistema
• Permette l’interazione con l’utente
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
I programmi applicativi
L’elaboratore (macchina programmabile)
consente lo svolgimento di differenti funzioni
Applicazioni, sono i compiti svolti con l’ausilio
del computer
Programmi applicativi, sono i programmi
utilizzati dal computer per svolgere i compiti
che gli sono stati assegnati
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Alcuni esempi
Applicazione Programma
applicativo
Redazione di un contratto di
assunzione Programma di videoscrittura
Stesura di un bilancio Foglio elettronico
Creazione di una lista di clienti Programma di gestione di una
base di dati
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Altre tipologie di programmi: le utility
Sono dei generici programmi di utilità che
rispondono a particolari esigenze dell’utente
Alcuni integrano le funzioni del sistema
operativo, altri quelle dei programmi applicativi
• Antivirus (programmi per la sicurezza)
• Visualizzatori (utilità per la visualizzazione dei file)
• Programmi diagnostici
• Programmi di backup
• Utilità di sistema (compressori, deframmentatori, ecc.)
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Le interfacce utente
L’interfaccia utente è il mezzo di interazione tra
l’utente e la macchina
Le prime interfacce erano di tipo hardware
Le interfacce moderne sono di tipo software e
molto più flessibili e facili da usare
• Interfacce di tipo grafico (GUI) l’utente può
interagire selezionando menu e pulsanti con il mouse
• Interfacce a caratteri l’utente interagisce digitando
appositi comandi testuali dal prompt del sistema
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Il rapporto tra le interfacce e il S.O.
Le interfacce utente sono elementi indipendenti
dal sistema operativo
Un sistema operativo può essere dotato di una o
più interfacce (grafiche o non grafiche)
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Esempi di interfacce (1/3)
Windows 3.0 GUI
Windows 2000 Professional GUI
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Esempi di interfacce (2/3)
GNU/Linux Ubuntu GUI
GNU/Linux Centos 6.5
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Esempi di interfacce (3/3)
MAC OS X GUI
Windows 10 GUI
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Quel nuovo che sa di antico
L’interfaccia di Windows Server 2012 Core
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Le principali funzionalità di una GUI
Visualizzazione sullo schermo dei programmi in
singole finestre sovrapposte
Esecuzione di un comando tramite puntamento
con il mouse e pressione di uno dei pulsanti
Utilizzo della tecnologia WYSIWYG
Utilizzo di comandi comuni per effettuare
operazioni comuni alle differenti applicazioni
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Altre tipologie di interfacce Touchscreen
• Le attività avvengono senza l’ausilio del mouse,
semplicemente puntando il dito su di uno schermo
sensibile al tatto
A stilo
• Analoghe a quelle touchscreen, utilizzano una stilo in
luogo del dito
Conversazionali
• Le attività avvengono mediante comandi vocali che
vengono riconosciuti dal sistema
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
I programmi applicativi
Consentono all’elaboratore di svolgere compiti
specifici
Si dividono macro tipologicamente in:
• Applicazioni per un mercato orizzontale
• Applicazioni per un mercato verticale
• Applicazioni personalizzate
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Applicazioni per un mercato orizzontale
Sono utilizzate per svolgere compiti di carattere
generale
Si rivolgono a diversi segmenti di mercato
A volte sono confezionate in appositi pacchetti
(suite) che comprendono più software
• Es: Applicazioni di tipo office automation
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Applicazioni per un mercato verticale
Trovano applicazione in un solo settore
Svolgono un compito specifico
Rispondono alle esigenze di uno specifico
segmento di mercato
• Es: Software per la didattica universitaria (Esse3)
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Le applicazioni personalizzate
Vengono adottate da organizzazioni aventi
specifiche esigenze che non trovano
soddisfazione nelle normali applicazioni di tipo
orizzontale e verticale
Comportano costi più elevati
Essendo sviluppate su misura, rispondono
necessariamente appieno alle esigenze dichiarate
• Es: il software del circuito di sicurezza della CIE (carta
d’identità elettronica)
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
I sistemi operativi: introduzione
Qualsiasi programma applicativo viene caricato in
memoria ed eseguito dal sistema operativo
Le funzioni di un sistema operativo si sono
espanse nel corso del tempo inglobando compiti
originariamente svolti da programmi applicativi
• Es: il sistema operativo Microsoft Windows e il
browser Internet Explorer
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Le funzioni principali di un S.O.
1. Gestire le risorse dell’elaboratore
2. Controllare la rapida e regolare esecuzione delle
operazioni
3. Determinare il «luogo» di memorizzazione di
dati e programmi
4. Coordinare la comunicazione tra i componenti
del computer
5. Gestire l’interazione tra utente e programmi
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Un sistema a strati
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
L’interprete dei comandi
È quella porzione di sistema operativo
dedicata all’interpretazione dei comandi
inviati dall’utente
Svolge i seguenti compiti:
• Ricevere il comando di input
• Interpretare il comando di input
Funge da tramite tra il software applicativo e i
componenti hardware
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Il multitasking (1/2)
Consente l’esecuzione «fittizia» di più
programmi simultaneamente, in questo modo:
• La CPU può eseguire un solo programma alla volta
• Il sistema operativo cede rapidamente e in sequenza il
controllo della CPU a un programma alla volta
• Ogni programma impegna la CPU solo per pochi
millisecondi, poi la rilascia
• In tal modo l’utente ha l’impressione che l’esecuzione
dei programmi sia simultanea
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Il multitasking (2/2)
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Il multitasking preemptive (con prelazione)
In questo caso non tutti i processi hanno la stessa
priorità
Il Sistema operativo gestisce l’accesso alla CPU
utilizzando una coda di processi
Un processo con priorità inferiore può essere
temporaneamente interrotto per consentire
l’esecuzione di un processo con priorità maggiore
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Il multithreading
Consente ai programmi operativi di svolgere più
operazioni contemporaneamente (non in sequenza)
È una sorta di multitasking applicato al singolo
programma
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Alcune definizioni
Sistemi multiutente
• Sono quei sistemi operativi progettati per consentire
l’accesso simultaneo di più utenti a una stessa
macchina
Sistemi multiprocessori
• Sono quei sistemi operativi progettati per consentire
la gestione dell’hardware di un elaboratore dotato di
due o più processori
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Ulteriori funzioni dei S.O.
Eseguire delle attività diagnostiche automatiche,
informando l’utente in caso di anomalie
Gestire l’isolamento in memoria dei vari
processi, assegnando a ciascuno un proprio
spazio (eventuali problemi rimarranno limitati al
processo e non propagati al sistema)
Regolare l’alimentazione del sistema
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Il firmware
Il firmware è una sequenza di istruzioni (programma)
integrata in un componente elettronico
• Consente l’avvio del componente e l’interazione con altri
componenti hardware tramite interfacce di programmazione
• Risiede stabilmente nell’hardware integrato in esso
È il punto di incontro fra componenti logiche e fisiche,
ossia fra software e hardware
Il firmware della scheda madre (BIOS) è responsabile
del corretto avvio del computer
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
I driver Un driver è l’insieme di procedure che permettono
a un S.O. di pilotare un dispositivo hardware
Consente al sistema operativo di utilizzare
l’hardware senza conoscerne il funzionamento
Dialoga con l’hardware attraverso un’interfaccia
standard che ne astrae l’implementazione
considerandone il solo funzionamento logico
È specifico sia per l’hardware che pilota, sia per il
sistema operativo per cui è scritto
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Le caratteristiche dei sistemi operativi
Monotasking o multitasking
Monothreading o multithreading
Interfaccia utente a caratteri o grafica (GUI)
Capacità di elaborazione (8, 16, 32 o 64 bit)
Portabilità (dipendenza da una specifica
architettura)
Proprietario o aperto
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Windows family tree
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Linux family tree
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Linux Slackware family tree
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
I miei contatti linkedin
http://it.linkedin.com/pub/francesco-ciclosi/62/680/a06/
https://www.facebook.com/francesco.ciclosi
@francyciclosi
www
http://www.francescociclosi.it