Introduzione ai Sistemi Operativi

Transcript

Introduzione ai Sistemi Operativi
Introduzione ai Sistemi Operativi
Corso di Sistemi Operativi
Proff. Cotroneo Domenico
De Carlini Ugo
Mazzeo Antonino
Tramontana Porfirio
1
Libri per il corso
z
Libro di testo:
z
z
Ancilotti – Boari – Ciampolini – Lipari – Sistemi Operativi –
McGraw Hill
Libri consigliati per approfondimento:
z
z
z
z
Silberschatz – Galvin – Gagne - Sistemi operativi. Concetti ed
esempi – Pearson Education Italia
Ancilotti – Boari – Programmazione concorrente – McGraw
Hill
Stallings - Sistemi Operativi, Jackson Libri
Tanembaum – I moderni Sistemi Operativi – Prentice Hall
2
Introduzione ai S.O.
z Sommario
della lezione:
Introduzione ai Sistemi Operativi
z Cenni Storici
z Classificazione
z
z Riferimenti
z
P. Ancilotti, M.Boari, A. Ciampolini, G.
Lipari, “Sistemi Operativi”, Mc-Graw-Hill
(Cap.1)
3
Perché studiare i SO
z
z
z
Non ci sono molti sistemi operativi in corso
di sviluppo
E' molto improbabile che sviluppiate un
sistema operativo durante la vostra
carriera professionale
.....allora, perchè si studiano?
4
Perché studiare i SO
z
i SO sono dovunque - essi hanno la funzione primaria di
gestire le risorse di calcolo
z
Un SO fornisce un astrazione delle risorse... dando
l'"illusione" all'utente di avere una memoria "infinita", una
CPU veloce, dedicata ad ogni utente,
z
I SO forniscono un accesso uniforme (virtualizzato) a
risorse estremamente eterogenee
z
I SO costituiscono il punto di incontro tra hardware e
software
z
La conoscenza della struttura interna e dei principi di
funzionamento di SO è indispensabile per la programmazione
di sistema e permette di scrivere programmi più efficienti
5
I sistemi Operativi
z
z
Un Sistema Operativo (S.O.) è un insieme di programmi che
operano sull’hardware di un calcolatore con l’obiettivo di:
z
semplificare lo sviluppo di programmi
z
realizzare politiche di gestione delle risorse hardware
Il Sistema Operativo si pone come interfaccia tra l’utente (o il
software) e l’hardware, fornendone un’astrazione
6
I sistemi Operativi
Il SO ….
z
… definisce una macchina virtuale (o estesa) e quindi un
insieme di astrazioni che semplificano lo sviluppo delle
applicazioni (ad es. Il SO fornisce il concetto di FILE invece di
quello di “insiene di byte memorizzati in un disco”)
z
…realizza politiche di gestione delle risorse hardware definendo
i criteri con cui assegnare una risorsa a fronte di più richieste
contemporanee
7
Struttura di un Sistema di
elaborazione
utenti
interprete dei comandi e comandi
compilatori e interpreti
librerie di sistema
interfaccia delle chiamate del sistema operativo
segnali
gestione dei terminali
sistema di I/O a caratteri
driver di terminali
file system
scheduling della CPU
avvicendamento
sostituzione delle pagine
sistema di I/O a blocchi paginazione su richiesta
driver di nastri e dischi
memoria virtuale
interfaccia del Sistema Operativo con l’architettura fisica
controllore di terminali
terminali
controllori di dispositivi
dischi e nastri
controllore di memoria
memoria fisica
8
Struttura di un Sistema di elaborazione
interf.
utenti
interf.
di libreria
interf.
system
call
utenti
programmi di utilità
(shell, compiler, …)
libreria standard
(open, close, read, write, ..)
Sistema Operativo
(process management, memory management, file
system, I/O, ...)
modo
utente
modo
kernel
hardware
(CPU, memoria, dischi, terminali, …)
9
Un po’ di storia…
z
Prima fase: Hardware costoso, personale economico
z
z
z
z
Seconda fase: Hw economico, personale costoso
z
z
Sistemi Time-sharing (utenti che utilizzano un terminale
economico per collegarsi ad un server condiviso)
Terza fase: Hw molto economico, personale molto costoso
z
z
z
Utente alla console: sistemi “single-user”
Sistemi Batch
Sistemi Multiprogrammati
Personal Computing: un sistema per utente
Distributed Computing: tanti sistemi per utente
Quarta fase: Servizi a maggiore qualità
z
z
Sistemi Operativi Real-Time ;
Sistemi transazionali
10