INTRODUZIONE
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
A cura di Prò Giuseppe
DEFINIZIONE SISTEMA OPERATIVO
 Un sistema operativo (SO) è:
 Un componente software di un sistema di elaborazione
 Compiti principali del SO:
 Controllare l’esecuzione dei programmi applicativi
 Agire come intermediario tra questi e la macchina
 Scopi del SO:
 Facilitare l’uso delle risorse fisiche dell’elaboratore
 Garantire che tale uso sia effettuato in maniera efficace
ed efficiente
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
EVOLUZIONE DEI SISTEMI
OPERATIVI
 Primi sistemi di elaborazione
 Primi sistemi batch
 Sistemi batch multiprogrammati
 Sistemi time sharing
 Sistemi in tempo reale
 Sistemi operativi per Personal Computer
 Sistemi operativi per sistemi paralleli e distribuiti
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
SERVIZI DI UN SISTEMA OPERATIVO
 Esecuzione di programmi: capacità di caricare in memoria




un programma ed eseguirlo
Operazioni di I/O: poiché i programmi non possono
eseguire direttamente le operazioni di I/O il sistema
operativo deve fornire meccanismi per le operazioni di I/O.
Gestione del file system: fornire ai programmi modalità per
leggere , scrivere , creare e cancellare file.
Comunicazioni: scambio di informazioni tra processi in
esecuzione sullo stesso computer o su computer connessi
in rete
Scoperta di errori: rilevamento di errori nella CPU, nella
memoria, nell’I/O o nei programmi utente.
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
ARCHITETTURA A LIVELLI DEL
SISTEMA OPERATIVO
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
GESTORE DEI PROCESSI
 Processo : concetto connesso con l’attività di un
programma in esecuzione.
 Un processo ha bisogno di un certo numero di risorse per
svolgere il suo compito: CPU , memoria , file , e dispositivi
di I/O.
 Il sistema operativo è responsabile delle seguenti attività
per la gestione dei processi:
 Creazione e terminazione dei processi
 Sospensione e ripristino dei processi
 Meccanismi per:
 Sincronizzazione di processi,
 Comunicazione tra processi,
 Gestione dello stallo.
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
GESTORE DELLA MEMORIA
PRINCIPALE
 Il sistema operativo che si occupa della gestione della
memoria principale è responsabile di:
 Tenere traccia di quali parti della memoria sono
correntemente usate e da chi
 Decidere quali processi caricare quando la memoria si
rende disponibile
 Allocare e deallocare lo spazio di memoria
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
GESTORE DEI DISPOSITIVI
PERIFERICI
 Il sistema operativo che si occupa della gestione dei
dispositivi periferici è responsabile delle seguenti
attività:
 Virtualizzazione dei dispositivi
 Gestione dei conflitti
 Gestione delle anomalie
 Scheduling dei dispositivi
 Ottimizzazione dell’uso dei dispositivi
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
GESTORE DEGLI ARCHIVI
 Il sistema operativo che si occupa della gestione degli
archivi è responsabile delle seguenti attività:
 File system
 Virtualizzazione dei file
 Localizzazione dei file
 Condivisione e protezione dei file
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
GESTORE DELLE COMUNICAZIONI
 Il sistema operativo che si occupa della gestione delle
comunicazioni è responsabile delle seguenti attività:
 Virtualizzazione dei dispositivi di comunicazione
 Porte di comunicazione
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
INTERPRETE DEI COMANDI
 Il sistema operativo riceve continuamente comandi tramite
istruzioni di controllo che riguardano:
 Creazione e gestione di processi
 Gestione dell’I/O
 Gestione della memoria secondaria
 Gestione della memoria centrale
 Accesso al file system
 Protezione
 Networking
 E’ necessario per il sistema interpretare i comandi ricevuti
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
INTERPRETE DEI COMANDI
 Il programma che legge e interpreta i comandi viene
chiamato :
 Interprete dei comani o shell (in UNIX)
 La sua funzione è di ricevere il comando, controllarne
la correttezza , gestire la sua esecuzione da parte dei
diversi livelli del sistema e mostrare i risultati.
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
PRINCIPALI MODELLI STRUTTURALI
 Struttura monolitica
 Struttura modulare
 Struttura stratificata
 Struttura a microkernel
 Struttura client-server
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
STRUTTURA MONOLITICA
 Un unico kernel contiene tutti i componenti (esempio
Linux)
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
STRUTTURA MODULARE
 Sistema suddiviso in moduli, ciascuno destinato a
fornire una specifica funzionalità.
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
STRUTTURA STRATIFICATA
 Definizione di livelli di astrazione successivi con
complessità organizzata in gerarchie.
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
STRUTTURA A MICROKERNEL
 Struttura in cui per ogni componente si separano i
meccanismi (basso livello) dai criteri (livello più
astratto.
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
SISTEMI CLIENT-SERVER
 Sistema che fa uso delle risorse mediante scambio di
messaggi.
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
INTRODUZIONE
Docente Prò Giuseppe - Corso “PENTEST MIND PROJECT” ©2016
A cura di Prò Giuseppe