Gestione dei processi e Sicurezza

10
GESTIONE DEI PROCESSI E SICUREZZA A cura di Simone Avona

Transcript of Gestione dei processi e Sicurezza

Page 1: Gestione dei processi e Sicurezza

GESTIONE DEI PROCESSI E

SICUREZZA A cura di Simone Avona

Page 2: Gestione dei processi e Sicurezza

Uno dei compiti del sistema operativo è la gestione dei processi

GESTIONE DEI PROCESSI

parte statica [il programma]

parte dinamica [informazioni sullo stato di

esecuzione del programma]

Stato del processo = Stato dell'attività associata al processo. Può essere:

in esecuzione quando sta utilizzando

il processore

in attesa quando è in attesa del verificarsi di un

evento esterno

pronto quando il suo progresso

può continuare

Processo Programma in esecuzione

Page 3: Gestione dei processi e Sicurezza

Sistemi di tipo monotasking eseguono un processo alla volta Esempio: Il barista

GESTIONE DEI PROCESSI

Cliente 1

ordine Attesa paga consuma

Cliente 2 Cliente 3

ordine Attesa paga consuma ordine Attesa paga consuma

Barista

Attesa ordine Attesa Risp. Prepara

Attesa ordine Attesa Risp. Prepara

Attesa ordine Attesa Risp. Prepara

Page 4: Gestione dei processi e Sicurezza

Sistemi multitasking: eseguono più programmi contemporaneamente

GESTIONE DEI PROCESSI

Cliente 1

ordine Attesa paga consuma

Barista

Attesa ordine Cliente

1

Attesa ordine Cliente

2

Prepara ordine Cliente

2

Prepara ordine

Cliente 1

Attesa ordine Cliente

3

Attesa ordine Cliente

4

Prepara ordine Cliente

4

Prepara ordine

Cliente 3

Riceve pagamento Cliente 1

Cliente 2

ordine Attesa consuma

Cliente 3

ordine Attesa consuma

Attesa ordine Cliente

5

Prepara ordine Cliente

5

Page 5: Gestione dei processi e Sicurezza

Scheduler

•  Registra i processi presenti nel computer (process table)

•  Introduce nuovi processi

•  Rimuove i processi completati

•  Quando si richiede l'esecuzione di un programma, crea una nuova entrata nella process table (informazioni su area di memoria assegnata, priorità del processo, stato)

Dispatcher

Componente del kernel che sorveglia l'esecuzione dei processi schedati

GESTIONE DEI PROCESSI

Page 6: Gestione dei processi e Sicurezza

Multiprogrammazione

•  Divide il tempo in brevissimi intervalli detti time slice

•  Il dispatcher assegna un time slice al processo e parte il timer

•  Alla fine del time slice si genera una interruzione - interrupt

CPU PERSONA Reagisce all'interruzione Disturbata

Completa il ciclo corrente Interrompe quello che sta facendo

Salva la sua posizione nel processo corrente Memorizza il punto a cui è arrivata

GESTIONE DEI PROCESSI

Page 7: Gestione dei processi e Sicurezza

La CPU inizia ad eseguire un programma interrupt handler (parte del dispatcher che descrive come questo deve rispondere all'interruzione)

GESTIONE DEI PROCESSI

Il dispatcher seleziona il processo con la massima priorità tra quelli pronti nella process table (determinato dallo scheduler)

Parte il timer e il processo selezionato inizia nel suo time slice

Page 8: Gestione dei processi e Sicurezza

Osservazioni sui sistemi multitasking

•  Capacità di fermare un processo per poi riprenderlo. La CPU deve essere in grado di ricreare l'ambiente presente immediatamente prima dell'interruzione

•  Efficienza

PRO CONTRO

Utilizza il tempo che invece verrebbe sprecato nei sistemi sequenziali

Introduce risorse accessorie

GESTIONE DEI PROCESSI

Page 9: Gestione dei processi e Sicurezza

SICUREZZA ATTACCHI DALL’ESTERNO Uno dei compiti svolti dal sistema operativo è quello di proteggere le risorse del computer da accessi non autorizzati. Si ricorre alla creazione di più accounts in computer accessibili a diversi utenti che si autenticano tramite procedure di login. Un amministratore o super user deve controllare il tutto, anche tramite l’aiuto di auditing software, per monitorare l’attività del sistema.

Problematiche Trascuratezza e ingenuità dell'utente (password facili, non cambiate, condivise con altre persone)

Page 10: Gestione dei processi e Sicurezza

ATTACCHI DALL'INTERNO

L'intruso cerca di trovare informazioni interessanti o inserire software dannosi

Le CPU sono progettate per sventare questi tentativi, infatti:

•  la CPU opera su diversi livelli privilegiati o meno (a seconda delle istruzioni possibili);

•  Se la CPU è in modalità non privilegiata il tentativo di eseguire un'istruzione privilegiata causa un'interruzione e il controllo viene trasferito all'interrupt handler nel sistema operativo;

•  La CPU è inizialmente in modalità privilegiata finché non parte un processo.

SICUREZZA