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

Post on 04-Aug-2020

1 views 0 download

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

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 ?

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

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:

Informatica per l'impresa tra approcci proprietari ed open source

Mauro Gaspari – Gianluigi Roveda

ALGORITMO

RISOLUTORE

ESECUTORE

Risolutore & Esecutore

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.

Informatica per l'impresa tra approcci proprietari ed open source

Mauro Gaspari – Gianluigi Roveda

RICETTA

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

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

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

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

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

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

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

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

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

PROGRAMMA

DATI

PROCESSO

Rapporto Programma-Processo

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à

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

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)

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

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?

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

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;

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

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

...

...

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

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

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

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

Mauro Gaspari – Gianluigi Roveda

Stati di un processo

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

Informatica per l'impresa tra approcci proprietari ed open source

Mauro Gaspari – Gianluigi Roveda

Multiutente

Multiprogrammato

Gestione della memoria virtuale

PortabileAperto

UNIX

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

Informatica per l'impresa tra approcci proprietari ed open source

Mauro Gaspari – Gianluigi Roveda

Linux GUI un processo come tanti altri

KDE GNOME ... ... ...