Il Sistema Operativo - Plone sitegaspari/www/teaching/inf_imp4.pdf · Il Sistema Operativo ... Dove...

23
Informatica per l'impresa tra approcci proprietari ed open source Mauro Gaspari – Gianluigi Roveda Il Sistema Operativo Come si esegue un programma. La nozione di processo. Il sistema operativo Di cosa parleremo ?

Transcript of Il Sistema Operativo - Plone sitegaspari/www/teaching/inf_imp4.pdf · Il Sistema Operativo ... Dove...

Page 1: Il Sistema Operativo - Plone sitegaspari/www/teaching/inf_imp4.pdf · Il Sistema Operativo ... Dove sono i Programmi? - Task Manager, ksysguard e processi Sono tanti! - Perche? -

Informatica per l'impresa tra approcci proprietari ed open source

Mauro Gaspari – Gianluigi Roveda

Il Sistema Operativo

● Come si esegue un programma.

● La nozione di processo.

● Il sistema operativo

Di cosa parleremo ?

Page 2: Il Sistema Operativo - Plone sitegaspari/www/teaching/inf_imp4.pdf · Il Sistema Operativo ... Dove sono i Programmi? - Task Manager, ksysguard e processi Sono tanti! - Perche? -

Informatica per l'impresa tra approcci proprietari ed open source

Mauro Gaspari – Gianluigi Roveda

... ma Cos'è un S.O. ?

un PROGRAMMA ! ... ma Cos'è un programma ?

PROGRAMMA:

1. algoritmo

2. linguaggio comprensibile per un computer

sequenza finita d'istruzioni

istruzioni non ambigue

istruzioni deterministiche

Sistema Operativo (Operating System):

1. programma

2. interfaccia tra utente e computer

3. gestione hardware

Controllodel computer

Page 3: Il Sistema Operativo - Plone sitegaspari/www/teaching/inf_imp4.pdf · Il Sistema Operativo ... Dove sono i Programmi? - Task Manager, ksysguard e processi Sono tanti! - Perche? -

Informatica per l'impresa tra approcci proprietari ed open source

Mauro Gaspari – Gianluigi Roveda

1. la ricetta di cucina

2. le istruzioni per montare un mobile dell'ikea

3. le indicazioni per gli origami

4. il metodo per il calcolo del M.C.D.

soffermiamoci sul concetto d'algoritmo ... un po' di esempi:

Page 4: Il Sistema Operativo - Plone sitegaspari/www/teaching/inf_imp4.pdf · Il Sistema Operativo ... Dove sono i Programmi? - Task Manager, ksysguard e processi Sono tanti! - Perche? -

Informatica per l'impresa tra approcci proprietari ed open source

Mauro Gaspari – Gianluigi Roveda

ALGORITMO

RISOLUTORE

ESECUTORE

Risolutore & Esecutore

Page 5: Il Sistema Operativo - Plone sitegaspari/www/teaching/inf_imp4.pdf · Il Sistema Operativo ... Dove sono i Programmi? - Task Manager, ksysguard e processi Sono tanti! - Perche? -

5Informatica per l'impresa tra approcci proprietari ed open source

Mauro Gaspari – Gianluigi Roveda

Come si esegue un programma?

● Le istruzioni di un programma sono eseguite da un processore.

● Per essere eseguito velocemente un programma deve essere caricato in una memoria veloce: memoria centrale (RAM).

● Il processore preleva le istruzione dalla memoria e le esegue una dopo l'altra.

● Un programma in esecuzione si definisce processo.

Page 6: Il Sistema Operativo - Plone sitegaspari/www/teaching/inf_imp4.pdf · Il Sistema Operativo ... Dove sono i Programmi? - Task Manager, ksysguard e processi Sono tanti! - Perche? -

Informatica per l'impresa tra approcci proprietari ed open source

Mauro Gaspari – Gianluigi Roveda

RICETTA

........................

...........................

..........................

.........................

..........................

........................

.........................

.........................

.........................

PROGRAMMA

DATI

PROCESSO

Rapporto Programma-Processo

Page 7: Il Sistema Operativo - Plone sitegaspari/www/teaching/inf_imp4.pdf · Il Sistema Operativo ... Dove sono i Programmi? - Task Manager, ksysguard e processi Sono tanti! - Perche? -

7Informatica per l'impresa tra approcci proprietari ed open source

Mauro Gaspari – Gianluigi Roveda

Software di base e software applicativo

● Tipologie di Programmi– Programmi per applicazioni specifiche (Software Applicativo)– Programmi per gestire e rendere più efficace l’intero sistema

(Software di sistema o di base)● Sistema Operativo● Sistemi per la Gestione di Basi di Dati● Compilatori/Interpreti e altri programmi di utilità

Page 8: Il Sistema Operativo - Plone sitegaspari/www/teaching/inf_imp4.pdf · Il Sistema Operativo ... Dove sono i Programmi? - Task Manager, ksysguard e processi Sono tanti! - Perche? -

8Informatica per l'impresa tra approcci proprietari ed open source

Mauro Gaspari – Gianluigi Roveda

Esecuzione di linguaggi di alto livello

● CPU: esecutore di programmi scritti in linguaggio macchina– È possibile codificare qualsiasi algoritmo in linguaggio macchina

● Perché si utilizzano i linguaggi di alto livello?– Minore tempo di sviluppo dei programmi– Migliore qualità dei risultati– Maggiore riusabilità del codice– Modularità e standardizzazione nella progettazione del software

Page 9: Il Sistema Operativo - Plone sitegaspari/www/teaching/inf_imp4.pdf · Il Sistema Operativo ... Dove sono i Programmi? - Task Manager, ksysguard e processi Sono tanti! - Perche? -

9Informatica per l'impresa tra approcci proprietari ed open source

Mauro Gaspari – Gianluigi Roveda

Esecuzione di linguaggi di alto livello

● Linguaggi di alto livello– Ogni istruzione corrisponde a più istruzioni elementari in linguaggio

macchina che interpreta la CPU– È necessario disporre di uno strumento in grado di tradurre le istruzioni del

linguaggio di alto livello (programma sorgente) in istruzioni elementari che possano essere eseguite dal calcolatore

– Tale strumento sono:● Interpreti (interpretano le singole istruzioni)● Compilatori (traducono in linguaggio macchina)

Page 10: Il Sistema Operativo - Plone sitegaspari/www/teaching/inf_imp4.pdf · Il Sistema Operativo ... Dove sono i Programmi? - Task Manager, ksysguard e processi Sono tanti! - Perche? -

10Informatica per l'impresa tra approcci proprietari ed open source

Mauro Gaspari – Gianluigi Roveda

Tipologie di Programmi● Programmi CPU bound

– La maggior parte del tempo di esecuzione è impiegato dalla CPU, le operazioni di Input/Output sono poche rispetto alla quantità delle elaborazioni effettuate

– Esempio: applicazioni scientifiche– La compilazione è praticamente indispensabile

● Programmi I/O bound– Eseguono molte operazioni di Input/Output inframmezzate da brevi

periodi di elaborazione– Esempio: programmi gestionali– Si possono utilizzare anche linguaggi interpretati, senza che le

prestazioni ne risentano in modo sensibile

Page 11: Il Sistema Operativo - Plone sitegaspari/www/teaching/inf_imp4.pdf · Il Sistema Operativo ... Dove sono i Programmi? - Task Manager, ksysguard e processi Sono tanti! - Perche? -

Informatica per l'impresa tra approcci proprietari ed open source

Mauro Gaspari – Gianluigi Roveda

Dove sono i Programmi? - Task Manager, ksysguard e processi

Sono tanti!- Perche?- Come si fa con un unico processore?

Page 12: Il Sistema Operativo - Plone sitegaspari/www/teaching/inf_imp4.pdf · Il Sistema Operativo ... Dove sono i Programmi? - Task Manager, ksysguard e processi Sono tanti! - Perche? -

Informatica per l'impresa tra approcci proprietari ed open source

Mauro Gaspari – Gianluigi Roveda

P5 P4

O.S.

P2 P3

P6

P1

Processi e Sistema Operativo

Il sistema Operativo permette di eseguire più processi utilizzando ad esempio tecniche di multicasting.

multitasking

Page 13: Il Sistema Operativo - Plone sitegaspari/www/teaching/inf_imp4.pdf · Il Sistema Operativo ... Dove sono i Programmi? - Task Manager, ksysguard e processi Sono tanti! - Perche? -

13Informatica per l'impresa tra approcci proprietari ed open source

Mauro Gaspari – Gianluigi Roveda

I compiti del sistema operativo

● Garantire la correttezza e la precisione nell’elaborazione e nella trasmissione dell’informazione;

● Consentire all’utente di non interessarsi al problema della localizzazione delle risorse;

● Garantire il massimo livello di affidabilità, disponibilità e sicurezza dei sistemi;

● Assicurare la riservatezza dei dati;

● Consentire la realizzazione di soluzioni aperte (interoperabilità tra dispositivi e software realizzati da produttori diversi);

● Superare i problemi legati alla limitazione del numero delle risorse e, al tempo stesso, regolamentarne l’impiego evitando conflitti di accesso;

Page 14: Il Sistema Operativo - Plone sitegaspari/www/teaching/inf_imp4.pdf · Il Sistema Operativo ... Dove sono i Programmi? - Task Manager, ksysguard e processi Sono tanti! - Perche? -

14Informatica per l'impresa tra approcci proprietari ed open source

Mauro Gaspari – Gianluigi Roveda

Struttura di un sistema operativo

● Modello a strati gerarchici– Struttura organizzata su diversi livelli– Ogni livello fornisce funzionalità specifiche.

GUIGraphical User Interface

Page 15: Il Sistema Operativo - Plone sitegaspari/www/teaching/inf_imp4.pdf · Il Sistema Operativo ... Dove sono i Programmi? - Task Manager, ksysguard e processi Sono tanti! - Perche? -

15Informatica per l'impresa tra approcci proprietari ed open source

Mauro Gaspari – Gianluigi Roveda

Nucleo del sistema operativo (kernel)

● Compiti del nucleo:– strato che dialoga direttamente con l’hardware– esecuzione dei programmi e risposta a eventi generati dalle periferiche

● Requisito fondamentale: consentire a utenti/programmi diversi la condivisione delle risorse

– Offrire virtualmente ad ogni utente/programma tutta la macchina– Tante CPU virtuali

Memoria

BUS

CPU virtuale

Processo

CPU virtuale

Processo

CPU virtuale

Processo

...

...

Page 16: Il Sistema Operativo - Plone sitegaspari/www/teaching/inf_imp4.pdf · Il Sistema Operativo ... Dove sono i Programmi? - Task Manager, ksysguard e processi Sono tanti! - Perche? -

16Informatica per l'impresa tra approcci proprietari ed open source

Mauro Gaspari – Gianluigi Roveda

Processi nel sistema operativo● Programma: entità statica

– Memorizzato in genere su un dispositivo di memoria di massa

● Processo: entità dinamica– Programma in esecuzione– Dati utilizzati dal programma– Informazioni relative al programma (contesto del programma)– A un programma possono corrispondere diversi processi (copie in dello

stesso programma contemporaneamente in esecuzione)– Un processo può a sua volta richiedere l’esecuzione di altri processi (si parla

di processo padre e processi figli)

...istruzioni

...

ProgrammaDati...

istruzioni...

Processo

Altre informazioni

Page 17: Il Sistema Operativo - Plone sitegaspari/www/teaching/inf_imp4.pdf · Il Sistema Operativo ... Dove sono i Programmi? - Task Manager, ksysguard e processi Sono tanti! - Perche? -

17Informatica per l'impresa tra approcci proprietari ed open source

Mauro Gaspari – Gianluigi Roveda

Supporto per più Processi● Parallelismo reale

– Possibile solo sui sistemi multi-processore

● Parallelismo “simulato” Salvataggio e ripristino del contesto (valore dei registri e altre informazioni sul processo)

– Multitasking– Time Sharing (permette la multiutenza)

● Vantaggi– Sistemi flessibili– Miglior sfruttamento delle risorse

Processo P1

Processo P2

Processo P3

Elaborazione

Attesa

Tempo

Page 18: Il Sistema Operativo - Plone sitegaspari/www/teaching/inf_imp4.pdf · Il Sistema Operativo ... Dove sono i Programmi? - Task Manager, ksysguard e processi Sono tanti! - Perche? -

Informatica per l'impresa tra approcci proprietari ed open source

Mauro Gaspari – Gianluigi Roveda

Time Sharing

P1 P2t1 t1

P1 P2

t1

t2

t3

t4

t5

Page 19: Il Sistema Operativo - Plone sitegaspari/www/teaching/inf_imp4.pdf · Il Sistema Operativo ... Dove sono i Programmi? - Task Manager, ksysguard e processi Sono tanti! - Perche? -

19Informatica per l'impresa tra approcci proprietari ed open source

Mauro Gaspari – Gianluigi Roveda

Stati di un processo

Page 20: Il Sistema Operativo - Plone sitegaspari/www/teaching/inf_imp4.pdf · Il Sistema Operativo ... Dove sono i Programmi? - Task Manager, ksysguard e processi Sono tanti! - Perche? -

Informatica per l'impresa tra approcci proprietari ed open source

Mauro Gaspari – Gianluigi Roveda

Unix & Linux

Di cosa parleremo ?

- Caratteristiche dei sistemi UNIX;

- Sistema Operativo LINUX, distribuzione;

- Le GUI di LINUX

Page 21: Il Sistema Operativo - Plone sitegaspari/www/teaching/inf_imp4.pdf · Il Sistema Operativo ... Dove sono i Programmi? - Task Manager, ksysguard e processi Sono tanti! - Perche? -

Informatica per l'impresa tra approcci proprietari ed open source

Mauro Gaspari – Gianluigi Roveda

Multiutente

Multiprogrammato

Gestione della memoria virtuale

PortabileAperto

UNIX

Page 22: Il Sistema Operativo - Plone sitegaspari/www/teaching/inf_imp4.pdf · Il Sistema Operativo ... Dove sono i Programmi? - Task Manager, ksysguard e processi Sono tanti! - Perche? -

Informatica per l'impresa tra approcci proprietari ed open source

Mauro Gaspari – Gianluigi Roveda

Linux

Sistema Operativo Open Source

Programma gratuito

Lo stesso codice è fruibile liberamentea pagamento

DISTRIBUZIONI

● DEBIAN

● UBUNTU

● RED HAT

● SUSE

Page 23: Il Sistema Operativo - Plone sitegaspari/www/teaching/inf_imp4.pdf · Il Sistema Operativo ... Dove sono i Programmi? - Task Manager, ksysguard e processi Sono tanti! - Perche? -

Informatica per l'impresa tra approcci proprietari ed open source

Mauro Gaspari – Gianluigi Roveda

Linux GUI un processo come tanti altri

KDE GNOME ... ... ...