gestione dei processi e sicurezza
TRANSCRIPT
GESTIONE DEI PROCESSI E
SICUREZZA A cura di Simone Avona
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
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
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
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
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
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
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
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)
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