Insegnamento di Informatica – a.a. 2016-17
Macerata, AA. 2016-2017
Introduzione ai sistemi operativi
INSEGNAMENTO DI INFORMATICA – A.A. 2016-17
Francesco Ciclosi
Insegnamento di Informatica – a.a. 2016-17
Una semplice definizione
 Il sistema operativo è un software che controlla
le operazioni complessive di un computer
 Fornendo e garantendo:
• I mezzi attraverso cui un utente può memorizzare e
recuperare i file
• L’interfaccia per richiedere l’esecuzione dei
programmi
• L’ambiente necessario per eseguire i programmi
Dipartimento di Scienze politiche, della comunicazione e delle relazioni internazionali - Corso di Laurea in Scienze della comunicazione
© Francesco Ciclosi – Settembre 2016
CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Le tipologie di sistemi operativi
 Esistono varie tipologie (commerciali e non) di
sistemi operativi
• Ad esempio: Windows, Linux, Mac OS, Unix
 Tali differenze tra i sistemi determinano variazioni:
• Negli strumenti di lavoro disponibili
• Nella filosofia di distribuzione e di manutenzione
 In ogni caso tutti i sistemi operativi più diffusi
affrontano e risolvono gli stessi tipi di problemi
Dipartimento di Scienze politiche, della comunicazione e delle relazioni internazionali - Corso di Laurea in Scienze della comunicazione
© Francesco Ciclosi – Settembre 2016
CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
C’era una volta… (1/3)
 Negli anni 40’ e 50’ gli elaboratori erano di
dimensioni enorme e occupavano intere stanze
 L’esecuzione dei programmi richiedeva:
• Il montaggio dei nastri
• L’inserimento delle schede perforate nel lettore
• L’impostazione dei dispositivi di commutazione
 L’utente era il responsabile dell’esecuzione dei
suoi programmi
Dipartimento di Scienze politiche, della comunicazione e delle relazioni internazionali - Corso di Laurea in Scienze della comunicazione
© Francesco Ciclosi – Settembre 2016
CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
C’era una volta… (2/3)
 L’esecuzione di un programma (il job) era
gestito come un’attività separata
 Per poter eseguire le elaborazioni all’utente
veniva concesso per un certo periodo di tempo
l’utilizzo esclusivo del calcolatore
 L’attività era divisa in:
1. Lunghi periodi di caricamento del programma
2. Brevi periodi di esecuzione del job
Dipartimento di Scienze politiche, della comunicazione e delle relazioni internazionali - Corso di Laurea in Scienze della comunicazione
© Francesco Ciclosi – Settembre 2016
CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
C’era una volta… (3/3)
 In tale ambiente le principali funzioni dei sistemi
operativi erano quelle di:
• Semplificare il caricamento dei programmi
• Velocizzare il passaggio da un job all’altro
 Il primo passo fu quello di separare gli utenti
dall’ubicazione fisica delle macchine
 Nasce la figura dell’operatore che
• segue il funzionamento della macchina
• funge da tramite tra l’utente e la stessa macchina
Dipartimento di Scienze politiche, della comunicazione e delle relazioni internazionali - Corso di Laurea in Scienze della comunicazione
© Francesco Ciclosi – Settembre 2016
CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
L’operatore
 Riceveva dall’utente che voleva far eseguire un
programma i seguenti elementi
• Il programma
• I dati necessari
• Le istruzioni speciali sui requisiti del programma
 Caricava tali informazioni nella memoria di
massa del calcolatore e ne avviava l’esecuzione
 Infine restituiva all’utente i risultati ottenuti
Dipartimento di Scienze politiche, della comunicazione e delle relazioni internazionali - Corso di Laurea in Scienze della comunicazione
© Francesco Ciclosi – Settembre 2016
CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Elaborazione batch
 L’elaborazione «a lotti» (o batch) consiste:
1. Nel caricamento di più job riuniti in un singolo
batch all’interno della memoria di massa del
calcolatore
2. Nella successiva esecuzione da parte del sistema
operativo dei job, senza bisogno che avvenga
alcuna interazione con l’utente
Dipartimento di Scienze politiche, della comunicazione e delle relazioni internazionali - Corso di Laurea in Scienze della comunicazione
© Francesco Ciclosi – Settembre 2016
CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
La coda dei job
 I job presenti nella memoria di massa attendono
l’esecuzione in una coda di job
 La coda è una struttura dati
 In una coda gli oggetti sono ordinati secondo il
metodo FIFO (first-in, first-out)
 Gli oggetti sono rimossi dalla coda nell’ordine di
arrivo
Dipartimento di Scienze politiche, della comunicazione e delle relazioni internazionali - Corso di Laurea in Scienze della comunicazione
© Francesco Ciclosi – Settembre 2016
CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
FIFO e priorità dei job
 Nella realtà il modello FIFO non è strettamente
seguito dalla maggior parte delle code di job
 I sistemi operativi tengono in considerazione anche
le priorità dei job
 Un job in coda può essere superato da un altro
inserito successivamente, purché quest’ultimo
abbia priorità più alta
Dipartimento di Scienze politiche, della comunicazione e delle relazioni internazionali - Corso di Laurea in Scienze della comunicazione
© Francesco Ciclosi – Settembre 2016
CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Schema dell’elaborazione batch
Dominio
dell’utente
Job: programma,
dati, istruzioni
Dominio
del computer
Coda di job
Risultati
Esecuzione
dei job
Dipartimento di Scienze politiche, della comunicazione e delle relazioni internazionali - Corso di Laurea in Scienze della comunicazione
© Francesco Ciclosi – Settembre 2016
CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Il problema dell’interazione
 L’utilizzo dell’operatore come interfaccia tra
calcolatore e utente ha un grande svantaggio
Poiché
 Toglie all’utente la possibilità di interagire con i
propri programmi
 Tale situazione non sempre è accettabile:
• OK per situazioni in cui ogni dato e decisione è scelto
aprioristicamente (es: gestione paghe)
• KO se l’interazione è inevitabile (es: word-processor)
Dipartimento di Scienze politiche, della comunicazione e delle relazioni internazionali - Corso di Laurea in Scienze della comunicazione
© Francesco Ciclosi – Settembre 2016
CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
L’elaborazione interattiva
 Nasce come risposta al problema dell’interazione
 Consente al sistema operativo di garantire
l’esecuzione di programmi che richiedono un
dialogo continuo con l’utente
 Utilizza terminali remoti o stazioni di lavoro
 Richiede che la velocità delle azioni del computer
siano adeguate ai tempi dell’utente
Dipartimento di Scienze politiche, della comunicazione e delle relazioni internazionali - Corso di Laurea in Scienze della comunicazione
© Francesco Ciclosi – Settembre 2016
CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Schema dell’elaborazione interattiva
Dominio
dell’utente
Programmi, dati,
istruzioni
Dominio
del computer
Esecuzione dei
programmi
Dipartimento di Scienze politiche, della comunicazione e delle relazioni internazionali - Corso di Laurea in Scienze della comunicazione
© Francesco Ciclosi – Settembre 2016
CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
L’elaborazione real-time
 Un computer che esegue operazioni in tempo
reale, le esegue secondo precise scadenze
dell’ambiente esterno reale
Dipartimento di Scienze politiche, della comunicazione e delle relazioni internazionali - Corso di Laurea in Scienze della comunicazione
© Francesco Ciclosi – Settembre 2016
CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Problematiche dei sistemi multiutente
 Quando più utenti richiedono di utilizzare
l’elaborazione in tempo reale di un calcolatore si
possono verificare dei problemi
Infatti
 Quando due utenti richiedono
contemporaneamente l’accesso interattivo,
l’esecuzione real-time può essere bloccata se il
sistema continua a eseguire un solo job alla volta
Dipartimento di Scienze politiche, della comunicazione e delle relazioni internazionali - Corso di Laurea in Scienze della comunicazione
© Francesco Ciclosi – Settembre 2016
CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Il time-sharing
 È una tecnica che viene adottata dai sistemi
operativi per fornire contemporaneamente i
servizi a più utenti
 Prevede
• la suddivisione del tempo in intervalli (quanti)
• l’esecuzione di ciascun job per un solo quanto
 Al termine di ogni quanto il job corrente viene
messo in «stand-by» e si passa all’esecuzione di un
altro job, fino allo scadere del quanto successivo
Dipartimento di Scienze politiche, della comunicazione e delle relazioni internazionali - Corso di Laurea in Scienze della comunicazione
© Francesco Ciclosi – Settembre 2016
CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
La multiprogrammazione
 Le tecniche di multiprogrammazione sono
utilizzate sia nei sistemi monoutente che in quelli
multiutente
• Time-sharing, fa riferimento all’utilizzo di un
singolo computer da parte di più utenti
• Multitasking, fa riferimento a un singolo utente che
esegue simultaneamente più task (o compiti)
 La rapida alternanza dei job crea l’illusione
della simultaneità
Dipartimento di Scienze politiche, della comunicazione e delle relazioni internazionali - Corso di Laurea in Scienze della comunicazione
© Francesco Ciclosi – Settembre 2016
CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
L’amministratore di sistema
 Ha sostituito la funzione dell’operatore
 Si occupa della gestione del sistema senza occuparsi
di gestire fisicamente l’elaborazione
 Ovvero si occupa di:
•
•
•
•
Aggiornare l’hardware e il software
Gestire gli account
Gestire lo spazio nella memoria di massa
Risolvere i problemi
Dipartimento di Scienze politiche, della comunicazione e delle relazioni internazionali - Corso di Laurea in Scienze della comunicazione
© Francesco Ciclosi – Settembre 2016
CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
L’evoluzione dei S.O.
 Da: semplici programmi
• In grado di recuperare dati ed eseguire programmi,
un’istruzione alla volta
 A: complessi sistemi
• I grado di:
o Coordinare il time-sharing
o Gestire il contenuto delle memorie di massa
o Rispondere (anche direttamente) alle richieste degli utenti
Dipartimento di Scienze politiche, della comunicazione e delle relazioni internazionali - Corso di Laurea in Scienze della comunicazione
© Francesco Ciclosi – Settembre 2016
CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
I processori paralleli
 Sono processori che operano indipendentemente
l’uno dall’altro
 Condividono alla pari le risorse del sistema
 La loro attività è coordinata dal sistema operativo
CPU 1
Cache
Memoria
di sistema
CPU 2
Sistema
di I/O
Cache
Dipartimento di Scienze politiche, della comunicazione e delle relazioni internazionali - Corso di Laurea in Scienze della comunicazione
© Francesco Ciclosi – Settembre 2016
CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Utilizzo di più CPU
 I moderni S.O. consentono di lavorare con più di un
processore
 Possono sia assegnare operazioni diverse a processori
distinti, sia suddividere il tempo di ciascun processore
• Bilanciamento, distribuzione dinamica dei task tra i vari
processori, in modo da garantire il massimo
efficientamento delle risorse
• Scalabilità, divisione dei task in un numero di sotto-task,
secondo il numero di processori a disposizione
Dipartimento di Scienze politiche, della comunicazione e delle relazioni internazionali - Corso di Laurea in Scienze della comunicazione
© Francesco Ciclosi – Settembre 2016
CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
Sistemi operativi e reti
 Alcuni sistemi software si occupano di coordinare
le attività delle reti
 Il campo del networking è un’estensione di quello
dei sistemi operativi
 L’obiettivo è quello di realizzare la gestione delle
risorse, per molti utenti, su molte macchine e non
più su di un solo computer
Dipartimento di Scienze politiche, della comunicazione e delle relazioni internazionali - Corso di Laurea in Scienze della comunicazione
© Francesco Ciclosi – Settembre 2016
CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
I sistemi embedded
 Sono sistemi operativi che si occupano di gestire
dispositivi dedicati a compiti specifici
• Es: elettrodomestici, apparecchi medicali, smartphone,
centraline auto
 Richiedono normalmente le seguenti caratteristiche:
• Basso consumo energetico
• Capacità di operare in modo continuativo senza
sorveglianza umana
• Funzionamento real-time
Dipartimento di Scienze politiche, della comunicazione e delle relazioni internazionali - Corso di Laurea in Scienze della comunicazione
© Francesco Ciclosi – Settembre 2016
CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2016-17
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://docenti.unimc.it/f.ciclosi
http://www.francescociclosi.it
Dipartimento di Scienze politiche, della comunicazione e delle relazioni internazionali - Corso di Laurea in Scienze della comunicazione
© Francesco Ciclosi – Settembre 2016
CC-BY-SA 4.0 – Common Deed – Legal Code