Colloquio di informatica (5 crediti) - Università degli studi della Tuscia Dipartimento di Scienze Ecologiche e Biologiche Corso di laurea in ...

Pagina creata da Valentina Pesce
 
CONTINUA A LEGGERE
Colloquio di informatica (5 crediti) - Università degli studi della Tuscia Dipartimento di Scienze Ecologiche e Biologiche Corso di laurea in ...
Università degli studi della Tuscia

Dipartimento di Scienze Ecologiche e Biologiche
     Corso di laurea in Scienze Ambientali

                A.A. 2013-2014 - II semestre

     Colloquio di informatica (5 crediti)

              Prof. Pier Giorgio Galli
                (pggalli@unitus.it)
Colloquio di informatica (5 crediti) - Università degli studi della Tuscia Dipartimento di Scienze Ecologiche e Biologiche Corso di laurea in ...
Fil rouge
Colloquio di informatica (5 crediti) - Università degli studi della Tuscia Dipartimento di Scienze Ecologiche e Biologiche Corso di laurea in ...
Trattamento dei dati e
sistemi informatici

           Hardware + Software
                    =
           Sistema Informatico

                   +
            Trattamento dati
                   =
          Sistema informativo
Colloquio di informatica (5 crediti) - Università degli studi della Tuscia Dipartimento di Scienze Ecologiche e Biologiche Corso di laurea in ...
Il software
• Il termine software è un neologismo della lingua
  inglese costituito dall’unione di due parole,
  soft(morbido) e ware (manufatto, componente,
  oggetto).

• Indica un programma o un insieme di programmi in
  grado di essere eseguiti su un elaboratore.

• Il software comprende tutti i programmi,
  indipendentemente dal tipo di compito o di compiti
  che un programma è in grado di svolgere.
Colloquio di informatica (5 crediti) - Università degli studi della Tuscia Dipartimento di Scienze Ecologiche e Biologiche Corso di laurea in ...
Il software di base

Comprende tutti quei programmi necessari al
funzionamento di base del computer. Consiste
del sistema operativo e degli strumenti di
sviluppo software (ovvero orientati alla
programmazione). Si
pone perciò come un intermediario tra
l’hardware e l’utente e tra l’hardware ed il
software
applicativo.
Colloquio di informatica (5 crediti) - Università degli studi della Tuscia Dipartimento di Scienze Ecologiche e Biologiche Corso di laurea in ...
Il software applicativo

E’ l’insieme dei programmi finalizzati a risolvere
problemi specifici dell’utente.

Ad esempio, in un contesto di produttività individuale,
possiamo considerare la suite Microsoft Office
Word: videoscrittura
Excel: foglio di elettronico
Power Point: presentazioni

O l'analoga suite (gratuita) Open Office :
Write: videoscrittura
Calc: foglio di elettronico
Draw: presentazioni
Colloquio di informatica (5 crediti) - Università degli studi della Tuscia Dipartimento di Scienze Ecologiche e Biologiche Corso di laurea in ...
Il software di base
      L'utente interagisce [direttamente] con il sistema
      operativo ad esempio per copiare un file da una
      cartella ad un'altra; per connettere una nuova
      stampante; per installare/disinstallare
      un'applicazione; per localizzare la lingua, ecc.

                     Software di base
                  (sistema operativo, ambienti
                 di sviluppo, tools di sistema…)

                            Hardware
Colloquio di informatica (5 crediti) - Università degli studi della Tuscia Dipartimento di Scienze Ecologiche e Biologiche Corso di laurea in ...
Il software applicativo

           Software applicativo
          (calcolatrice, videoscrittura, foglio
                elettronico, giochi, …)

                Software di base
             (sistema operativo, ambienti
            di sviluppo, tools di sistema…)

                       Hardware
Colloquio di informatica (5 crediti) - Università degli studi della Tuscia Dipartimento di Scienze Ecologiche e Biologiche Corso di laurea in ...
Il software applicativo

L'utente interagisce
con il software
                                  Il software applicativo
applicativo (es.
                                  interagisce con il sistema
Power Point, salva
                                  operativo (es. esecuzione
con nome)
                                  del comando salva con
                                  nome)

                                                        Hardware

                       Il sistema operativo
                       gestisce l'I/O per
                       l'esecuzione del comando
Colloquio di informatica (5 crediti) - Università degli studi della Tuscia Dipartimento di Scienze Ecologiche e Biologiche Corso di laurea in ...
Il sistema operativo
• un Sistema Operativo è un insieme di
  programmi responsabile del controllo e
  della gestione dei componenti hardware
  che costituiscono un computer e dei
  programmi applicativi che su di esso
  vengono eseguiti.

• Un sistema operativo mette a disposizione
  dell’utente un’interfaccia per accedere,
  ovvero per esprimere i comandi
  dell’utente nei confronti delle risorse
  hardware (dischi, memoria, I/O in
  generale) del sistema.
Due grandi famiglie
                          Mainframe   Midrange   PC   Mobilità

UNIX
          Linux                                
          (Open source)
          Mac OS                                
          (Apple)
          iOS                                           
          (Apple)
          Android                                       
          (Google)
Windows
          Windows                       
          server
          Windows                                      
Sistema operativo
                    Interfaccia (shell)

          Nucleo del sistema operativo (kernel)

                Gestore della
Gestore dei
                  memoria         File system     Gestore I/O
 processi
                  centrale

                        Hardware
I processi
•   Per processo si intende un'istanza di un programma in esecuzione.
    Più precisamente è un'attività controllata da un programma che si
    svolge su un processore sotto la supervisione del sistema
    operativo.

•   Un programma è costituito dalle istruzioni (implementazione
    dell'algoritmo). È un'entità statica, che rimane immutata durante
    l'esecuzione.

•   Il processo è l'entità utilizzata dal sistema operativo per
    rappresentare una specifica esecuzione di un programma. Esso è
    quindi un'entità dinamica, che dipende dai dati che vengono
    elaborati, e dalle operazioni eseguite su di essi. Il processo è
    quindi caratterizzato, oltre che dal codice eseguibile, dall'insieme
    di tutte le informazioni che ne definiscono lo stato, come il
    contenuto della memoria indirizzata, i thread, i descrittori dei file
    e delle periferiche in uso.

Da Wikipedia, l'enciclopedia libera.
Time sharing
In informatica il time-sharing (termine di origine inglese che
tradotto letteralmente significa "condivisione di tempo") è un
approccio concorrente del sistema operativo all'uso delle
risorse di processamento attraverso il quale l'esecuzione o
attività della CPU viene suddivisa intervalli temporali (quanti
di tempo) da assegnare sequenzialmente a vari processi.

1) Ambienti monoutente (es. PC, tablet, …). L'assegnazione della CPU
ai processi avviene in tempi tanto rapidi da dare all'utente
l'impressione che i processi vengano eseguiti contemporaneamente.

2) Ambienti multiutente (es. server, computer centralizzati). In un
contesto di computer condiviso attraverso più utenti possono, con i
loro programmi in esecuzione, interagire con il sistema centralizzato
In questo caso la CPU del computer centrale viene utilizzata per
rispondere alle richieste dei singoli utenti, passando rapidamente da
uno all'altro dando così l'impressione ad ognuno di avere a
disposizione il computer centrale interamente per sé.
Transizioni di stato dei processi

                      Nuovo

                      Pronto

        Attesa

                    Esecuzione      Terminato
Gestore dei processi
Quando un programma utente è stato avviato la CPU esegue le
istruzioni in linguaggio macchina che lo compongono

Il gestore dei processi controlla la terminazione, interruzione
e riattivazione, sincronizzazione dei processi in esecuzione

Dallo stato di pronto allo stato di esecuzione:
• il SO stabilisce quale dei processi pronti debba essere
  mandato in esecuzione;
• la scelta è fatta in base ad un algoritmo di scheduling: per
  esempio, si esegue il primo della coda dei processi pronti,
  oppure quello con priorità massima, ...

Dallo stato di esecuzione allo stato di attesa:
• il processo chiede delle risorse di I/O o attende un evento
• il SO salva tutte le informazioni necessarie a riprendere
  l’esecuzione del processo al verificarsi dell'evento o
  all'ottenimento della risorsa
Gestore dei processi

Dallo stato di attesa allo stato di pronto:
• si verifica l’evento atteso dal processo e il SO sposta quel
  processo nella coda dei processi pronti

Dallo stato di esecuzione allo stato di pronto:
• il processo in esecuzione viene interrotto dal SO (es. perché
  termina il quanto di tempo a disposizione, oppure perché la
  CPU riceve un interrupt);
• il SO salva tutte le informazioni necessarie a riprendere
  l’esecuzione del processo.
Gestione della memoria Centrale
1. Il sistema di elaborazione può eseguire più
   applicazioni "contemporaneamente" (es.
   iTunes mentre navigo nel web e leggo le
   slide di informatica);
2. le applicazioni per essere eseguite devono
   risiedere nella memoria primaria (centrale);
3. la memoria centrale (RAM) può non essere
   abbastanza capiente per contenere tutte le
   applicazioni che l'utente vuole eseguire
   contemporaneamente…
Come risolvere il problema?
Memoria virtuale
•   La memoria virtuale è una architettura di sistema capace di
    simulare uno spazio di memoria centrale (memoria primaria)
    maggiore di quello fisicamente presente o disponibile; questo
    risultato si raggiunge utilizzando spazio di memoria secondaria (di
    massa) su altri dispositivi o supporti di memorizzazione, di solito
    le unità a disco. La memoria centrale fisicamente presente
    diventa quindi la parte effettivamente utilizzata di quella
    virtuale, più grande: questo stratagemma è utile in virtù del
    principio di località e riuso dell'esecuzione dei programmi.

•   La memoria di massa utilizzata a questo scopo è comunemente
    chiamata spazio di swap o file di paging. Le operazioni di
    spostamento delle pagine dallo spazio di swap alla memoria fisica
    sono chiamate swapping.
Da Wikipedia, l'enciclopedia libera.

Considerando che la velocità di accesso alle memorie di
massa è minore rispetto alle RAM, maggiore è la quantità di
RAM installata in un computer installata in un computer
maggiore sarà la velocità nell'esecuzione dei programmi!
Memoria virtuale - schema

                          Memoria
                          centrale
 Memoria di massa         (veloce)
(lenta) allocata per    allocata per   CPU
   ogni processo       ogni processo
                       in esecuzione
File system
Il file system è il componente del sistema operativo
responsabile della gestione dei dati nelle memorie secondarie
• gestisce la corrispondenza tra l’organizzazione logica e
    l’organizzazione fisica dei dati;
• i dati nelle memorie secondarie sono organizzati
    logicamente in volumi, cartelle e file;
• i dati nelle memorie secondarie sono organizzati
    fisicamente in dischi, superfici, cilindri e settori;
• garantisce in modo ottimale lo spazio disponibile
• garantisce all'utente l'accesso ai dati anche in contesti
    concorrenti;
• fornisce meccanismi di protezione;
• rende disponibili in modo semplice le operazioni di uso
    comune sui file;
File system
Il gestore dei file (file system) è, informalmente, un
meccanismo con il quale i file sono
immagazzinati e organizzati su un dispositivo di
archiviazione, come un hard disk o un CD-ROM.
Più formalmente, un file system è l’insieme delle
strutture di dati e delle tecniche necessarie per la
memorizzazione, l’organizzazione gerarchica, la
manipolazione, l’accesso e la lettura dei dati.
File system
                  Il file system è il componente del sistema operativo
                  responsabile della gestione dei dati nelle memorie
                  secondarie
                  • gestisce la corrispondenza tra l’organizzazione logica
                       e l’organizzazione fisica dei dati;
                  • i dati nelle memorie secondarie sono organizzati
                       logicamente in volumi, cartelle e file;
                  • i dati nelle memorie secondarie sono organizzati
                       fisicamente in dischi, superfici, cilindri e settori;
                  • garantisce in modo ottimale lo spazio disponibile
                  • garantisce all'utente l'accesso ai dati anche in
                       contesti concorrenti;
                  • fornisce meccanismi di protezione;
                  • rende disponibili in modo semplice le operazioni di
                       uso comune sui file;

 Organizzazione
 logica
                                         Organizzazione Fisica
File system
                  Il file system è il componente del sistema operativo
                  responsabile della gestione dei dati nelle memorie
                  secondarie
                  • gestisce la corrispondenza tra l’organizzazione logica
                       e l’organizzazione fisica dei dati;
                  • i dati nelle memorie secondarie sono organizzati
                       logicamente in volumi, cartelle e file;
                  • i dati nelle memorie secondarie sono organizzati
                       fisicamente in dischi, superfici, cilindri e settori;
                  • garantisce in modo ottimale lo spazio disponibile
                  • garantisce all'utente l'accesso ai dati anche in
                       contesti concorrenti;
                  • fornisce meccanismi di protezione;
                  • rende disponibili in modo semplice le operazioni di
                       uso comune sui file;

 Organizzazione
 logica
                                         Organizzazione Fisica
Cancellazione logica e fisica dei file
 Il file system nell'eseguire il comando di eliminazione di
 un file dalla memoria di massa (eliminazione dal
 cestino), non cancella fisicamente i bit che compongono
 il file, ma memorizza in un indice di allocazione l'area
 fisica della memoria assegnata al file come riusabile per
 la memorizzazione di un altro file. (Questo rende
 possibile recuperare un file anche dopo averlo eliminato
 dal cestino)
 Durante la fase di memorizzazione di un nuovo file,
 quando non è presente abbastanza spazio fisico
 contiguo per memorizzazione dei dati, il file system
 collega gli spazi fisici a disposizione con catene logiche
 e assegnando le varie parti ad un unico file logico.
 Questo comportamento, a lungo andare, provoca il
 fenomeno della frammentazione.
La deframmentazione

La deframmentazione è un'operazione di ottimizzazione
dell'archiviazione dei dati nella memoria di massa di un
computer che consiste nel ridurre la frammentazione
esterna dei file presenti sulla memoria stessa (es: un disco
fisso) ristrutturandone l'allocazione facendo in modo che
ciascun file risulti memorizzato in una zona contigua dal
punto di vista fisico; questo diminuisce drasticamente i
tempi di accesso e lettura ai file. La deframmentazione è
un'operazione che può essere svolta in modo automatico
dal file system durante il suo regolare funzionamento
oppure eseguita tramite esplicita richiesta dell'utente
tramite l'esecuzione di un programma.
Da Wikipedia, l'enciclopedia libera.
Eliminazione sicura file

• Distruzione fisica della memoria
• Smagnetizzazione (es. degausser)
• Software specifici (es. Ccleaner)

      Degausser
                                CCleaner
Gestore dispositivi I/O. I driver.
 Il sistema operativo oltre, alla gestione delle
 memorie di massa (attraverso il file system),
 gestisce il trasferimento dei dati con tutti gli
 altri dispositivi di I/O (periferiche).
 In questo contesto il produttore del sistema
 operativo deve conoscere nei dettagli il
 funzionamento di ogni dispositivo hardware di
 I/O.
 Due sono gli approcci:
 • sistemi operativi nei quali possono essere
    connesse solo determinati dispositivi per i
    quali il produttore del sistema operativo
    provvede a scrivere l’interfaccia;
 • Sistemi operativi (più diffusi) per i quali il
    produttore della periferica provvede alla
    scrittura dell’interfaccia (driver)
La leggerezza del software

Poi, l'informatica. E' vero che il software non potrebbe
esercitare i poteri della sua leggerezza se non mediante la
pesantezza del hardware; ma è il software che comanda,
che agisce sul mondo esterno e sulle macchine, le quali
esistono solo in funzione del software, si evolvono in modo
d'elaborare programmi sempre più complessi. La seconda
rivoluzione industriale non si presenta come la prima con
immagini schiaccianti quali presse di laminatoi o colate
d'acciaio, ma come i bits d'un flusso d'informazione che
corre sui circuiti sotto forma d'impulsi elettronici. Le
macchine di ferro ci sono sempre, ma obbediscono ai bits
senza peso.
ITALO CALVINO, Lezioni americane. Sei proposte per il prossimo millennio.
Killer application
La locuzione inglese killer application, significa letteralmente
applicazione assassina, ma viene intesa nel senso metaforico di
applicazione decisiva, vincente.

Applicazione assassina si riferisce a un prodotto di successo costruito su
una determinata tecnologia (quindi una applicazione di quella
tecnologia), grazie al quale la tecnologia stessa penetra nel mercato,
imponendosi rispetto alle tecnologie concorrenti e aprendo la strada alla
commercializzazione di altre applicazioni secondarie.
Da wikipedia, l’enciclopedia libera.

Esempi da manuale:
• Visicalc
• Wordstar
• …
Licenza d’uso
La licenza o contratto d'uso, in informatica è il contratto con il
quale il titolare dei diritti di sfruttamento economico sul
software (programma informatico) definisce il regime giuridico
di circolazione e le limitazioni nell'utilizzo e nella cessione
dell'opera.

Licenze per il software software proprietario / closed source
    EULA [End User License Agreement] (prodotti commerciali)
    shareware (uso di prova propedeutico all’acquisto)
    freeware (uso gratuito)

Licenze per il software libero e open source
Alcune licenze per il software libero sono la GNU General Public
License (GPL), la GNU Lesser General Public License (LGPL) e la
WTFPL. Alcuni software sono disponibili sotto licenza artistica,
licenza Apache, Licenza Mozilla Public License 2.0 (MPL) o sotto
altre licenze libere o open source come le licenze BSD.
Da Wikipedia, l’enciclopedia libera.
La GNU General Public
License (GPL)
La GNU General Public License, comunemente indicata con
l'acronimo GNU GPL o semplicemente GPL, è una licenza per
software libero, originariamente stesa nel 1989 da Richard
Stallman per distribuire i programmi creati nell'ambito del
Progetto GNU della Free Software Foundation (FSF) per il
progetto GNU. Essa garantisce agli utenti finali come
organizzazioni, imprese o semplici individui, di utilizzare,
condividere e persino modificare il software.
Il GPL è una licenza copyleft, il che significa che le opere
derivate possono essere distribuite solo sotto gli stessi
termini di licenza. GPL è stata la prima licenza copyleft per
uso generale.
Da Wikipedia, l’enciclopedia libera
Puoi anche leggere