il sistema operativo - plone sitegaspari/www/teaching/inf_imp4.pdf · il sistema operativo ... dove...
TRANSCRIPT
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 ... ... ...