MODULO 16 –> Il software

36
Insegnamento di Informatica – a.a. 2015-16 Il software INSEGNAMENTO DI INFORMATICA – A.A. 2015-16 Francesco Ciclosi Macerata, 1 dicembre 2015

Transcript of MODULO 16 –> Il software

Page 1: MODULO 16 –> Il software

Insegnamento di Informatica – a.a. 2015-16

Il software

INSEGNAMENTO DI INFORMATICA – A.A. 2015-16

Francesco Ciclosi

Macerata, 1 dicembre 2015

Page 2: MODULO 16 –> Il software

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

Page 3: MODULO 16 –> Il software

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

Page 4: MODULO 16 –> Il software

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

Page 5: MODULO 16 –> Il software

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

Page 6: MODULO 16 –> Il software

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

Page 7: MODULO 16 –> Il software

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

Page 8: MODULO 16 –> Il software

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

Page 9: MODULO 16 –> Il software

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)

Page 10: MODULO 16 –> Il software

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

Page 11: MODULO 16 –> Il software

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

Page 12: MODULO 16 –> Il software

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

Page 13: MODULO 16 –> Il software

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

Page 14: MODULO 16 –> Il software

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

Page 15: MODULO 16 –> Il software

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

Page 16: MODULO 16 –> Il software

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

Page 17: MODULO 16 –> Il software

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

Page 18: MODULO 16 –> Il software

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)

Page 19: MODULO 16 –> Il software

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)

Page 20: MODULO 16 –> Il software

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

Page 21: MODULO 16 –> Il software

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

Page 22: MODULO 16 –> Il software

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

Page 23: MODULO 16 –> Il software

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

Page 24: MODULO 16 –> Il software

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

Page 25: MODULO 16 –> Il software

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)

Page 26: MODULO 16 –> Il software

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

Page 27: MODULO 16 –> Il software

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

Page 28: MODULO 16 –> Il software

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

Page 29: MODULO 16 –> Il software

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

Page 30: MODULO 16 –> Il software

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

Page 31: MODULO 16 –> Il software

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

Page 32: MODULO 16 –> Il software

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

Page 33: MODULO 16 –> Il software

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

Page 34: MODULO 16 –> Il software

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

Page 35: MODULO 16 –> Il software

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

Page 36: MODULO 16 –> Il software

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/

facebook

https://www.facebook.com/francesco.ciclosi

twitter

@francyciclosi

www

http://www.francescociclosi.it