Sistema di protezione (1)



Documenti analoghi
Sistema di protezione (2) Protezione (1)

Sistema di protezione

Il Sistema Operativo

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Organizzazione Monolitica

Struttura di un sistema operativo. Struttura dei Sistemi Operativi. Servizi per l utente generico. Servizi per l utente generico

Capitolo 2 -- Silberschatz

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Sistemi Operativi. Funzioni e strategie di progettazione: dai kernel monolitici alle macchine virtuali

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

STRUTTURE DEI SISTEMI DI CALCOLO

Approccio stratificato

Le Infrastrutture Software ed il Sistema Operativo

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

IL SISTEMA OPERATIVO

Il Sistema Operativo (1)

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Comunicazione tra Processi

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Compiti del S.O. Lezione 2: Gestione dei processi. La struttura e funzioni dei Sistemi Operativi

Sistema Operativo e Applicativi

Introduzione ai Sistemi Operativi

Il sistema operativo. Sistema operativo. Multiprogrammazione. Il sistema operativo. Gestione della CPU

Modello dei processi. Riedizione delle slide della Prof. Di Stefano

Architettura di un sistema di calcolo

Il Software. Il software del PC. Il BIOS

Capitolo 3: Strutture dei sistemi operativi

Sistemi Operativi (modulo di Informatica II) I processi

Cos e` un Sistema Operativo? Cos è un sistema operativo?

Architettura di un sistema operativo

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

Corso di Sistemi di Elaborazione delle informazioni

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

LINUX. Che cos'e` un sistema operativo?

PROGRAMMAZIONE MODULARE DI INFORMATICA CLASSE QUINTA - INDIRIZZO MERCURIO SEZIONE TECNICO

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

Laboratorio di Programmazione

Sistema Operativo Compilatore

Protezione. Protezione. Protezione. Obiettivi della protezione

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Secondo biennio Articolazione Informatica TPSIT Prova Quarta

Pronto Esecuzione Attesa Terminazione

Sistemi Operativi. Struttura astratta della memoria. Gerarchia dei dispositivi di. Memoria centrale. Memoria secondaria (di massa)

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Sistemi Operativi. Processi GESTIONE DEI PROCESSI. Concetto di Processo. Scheduling di Processi. Operazioni su Processi. Processi Cooperanti

Componenti di Sistemi Operativi. System Call Programmi di sistema Componenti di un SO Servizi di SO

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Fondamenti di Informatica: Sistemi Operativi 1. Introduzione

Funzioni del Sistema Operativo

Drivers. Introduzione Tipologie Struttura Interazione con il kernel

Infrastrutture Software

Potenza Elaborativa, Sistemi Operativi e Virtualizzazione

Computazione multi-processo. Condivisione, Comunicazione e Sincronizzazione dei Processi. Segnali. Processi e Threads Pt. 2

Indice degli argomenti del s.o. Software. Software. Buona lezione a tutti!! SISTEMI OPERATIVI

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Dispensa di Informatica I.1

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base)

Sistemi Operativi (modulo di Informatica II) Architettura

Introduzione al sistema operativo Il file system: file, directory,...

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

Ambienti di calcolo a griglia Parte 2. Risorse (e loro gestione) Job di griglia e applicazioni di griglia Riservare le risorse ai job

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Sistemi Operativi. Modulo 2. C. Marrocco. Università degli Studi di Cassino

Sistemi operativi. Esempi di sistemi operativi

comuni ai moderni SO sui quali il corso è incentrato Definizione di sistema operativo

Hardware di un Computer

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Processi. Laboratorio Software C. Brandolese

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

Un sistema operativo è un insieme di programmi che consentono ad un utente di

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Esercitazione E1 Scheduling, deadlock, monitor

HARDWARE. Relazione di Informatica

CAP. 6: Nucleo del sistema operativo (La gestione dei processi)

Sistemi Operativi: Programmazione di Sistema

Transcript:

Sistema di protezione (1) - Un processo potrebbe tentare di modificare il programma o i dati di un altro processo o di parte del S.O. stesso. - Protezione: politiche (cosa) e meccanismi (come) per controllare l'accesso di processi alle risorse del sistema di elaborazione

Sistema di protezione (2) All'hardware é affidato il compito di rilevazione di errori, come op code illegali o riferimenti in memoria illegali, possibili effetti di errori di programmazione o di comportamenti deliberatamente intrusivi. Esempi: - L'hardware di indirizzamento della memoria assicura che un processo possa operare solo entro il proprio spazio di indirizzi. - L'I/O system impedisce l'accesso diretto ai dispositivi Pagina 2

Sistema di protezione (3) - Questi errori vengono segnalati e affidati alla gestione del S.O. tramite il meccanismo delle trap. - In presenza di errore o di violazione della protezione il S.O. provvede a: o terminare il processo, o segnalare la terminazione anomala ed o effettuare un dump della memoria. Pagina 3

Sistema di protezione (4) - Ciascun processo opera in un dominio di protezione che specifica le risorse a cui il processo può accedere e le operazioni consentite. - Diritto di accesso (coppia ordinata <risorsa, diritti>): abilitazione all esecuzione di un operazione sulla risorsa; un dominio di protezione è una collezione di diritti di accesso. Pagina 4

Protezione (1) Il sistema di protezione richiede l'esistenza di più modi di funzionamento della CPU: o supervisor mode (system mode, monitor mode) o user mode Il passaggio dal modo user al modo supervisor avviene tramite interruzione : o esterna (asincrona) o interna (sincrona, trap), generata da una SVC (SuperVisor Call o System call). Pagina 5

Protezione (2) Il passaggio dal modo supervisor al modo user avviene tramite un istruzione speciale di cambiamento di modo eseguita dal S.O. prima della cessione del controllo ad un processo utente. Esistono delle istruzioni privilegiate che possono essere eseguite solo in system mode Pagina 6

Protezione (3) Istruzioni privilegiate : o I/O o modifica dei registri che delimitano le partizioni logiche di memoria o manipolazione del sistema di interruzione o cambiamento di modo o halt Pagina 7

Protezione della memoria con registri limite Prima di mettere un processo in esecuzione il S.O. ne confina lo spazio logico di memoria mediante registri limite 0 256000 300040 monitor job1 job2 300040 registro base 420940 420940 registro limite job3 880000 Pagina 8 1024000 job4

Protezione della memoria con registri limite base > sì CPU indirizzo no no trap al monitor del sistema operativo errore di indirizzamento < sì base + limite memoria Pagina 9

Confinamento del programma utente Dispositivi I/O File System System call (SVC) Programma utente Sistema Operativo Pagina 10

Esecuzione delle operazioni di I/O case n Le istruzioni di I/O sono privilegiate. Il programma utente richiede al S.O., tramite una system call, di eseguire l'operazione di I/O. (1) trap al monitor read (2) esecuzione dell operazione di I/O (3) rientro nel programma utente system call n Programma utente Pagina 11

System call Tipicamente l'operando dell istruzione di system call ne specifica il tipo (INT n), mentre il passaggio degli eventuali parametri avviene tramite registri o per indirizzo. Passaggio dei parametri mediante tabella: X Registro X: parametri per la chiamata Usa i parametri della tabella X Codice per SVC 13 Load Address X SVC 13 Pagina 12 Programma utente Sistema Operativo

System call (1) Costituiscono l'interfaccia tra un programma in esecuzione ed il S.O. Istruzioni assembly, procedure chiamabili da linguaggi high-level. Nei linguaggi di alto livello sono tipicamente mascherate dal supporto, a tempo di esecuzione. Pagina 13

System call (2) Categorie principali di system call: a) controllo dei processi e dei job b) manipolazione dei file e dei dispositivi c) gestione delle informazioni d) comunicazione Pagina 14

System call (3) a) controllo dei processi e dei job end, abort load, execute create process, terminate process get, set process attributes wait for time, wait for event, signal event allocate, free memory dump, trace Pagina 15

System call (4) b) manipolazione dei file e dei dispositivi create, delete file open, close read, write, reposition file or device get, set file or device attributes request, release device Pagina 16

System call (5) c) gestione delle informazioni get, set time or date get, set system data get, set attributes d) comunicazione create, delete communication connection open, close communication send, receive message Pagina 17

Programmi di sistema Di varia natura: manipolazione dei file (editor, cp, mv, rm, mkdir,...) Informazioni di stato (date, time, who, df,...) sviluppo software ed esecuzione (traduttori, linker e loaders, debuggers) comunicazione (rlogin, ftp, mail) applicativi (spreadsheet, latex,...) interprete dei comandi : esegue i comandi realizzati come programmi di sistema speciali (unix) Pagina 18

Struttura del S.O. Necessità di modularizzazione, date le dimensioni Sistema a livelli : il livello più interno è l'hw, quello più esterno l'interfaccia utente Affinché il livello Li possa richiedere i servizi al livello L i-1 deve conoscerlo precisamente, tuttavia l'implementazione di tali servizi deve risultare totalmente nascosta. Pagina 19

Struttura del S.O. Nuove operazioni Strato M Operazioni nascoste Strato M -1 Operazioni esistenti Pagina 20

La struttura "a cipolla" Programmi utente Interprete comandi Programmi di utilità File System Periferiche virtuali Gestore memoria virtuale Nucleo Pagina 21 Macchina HW

Struttura del S.O. (1) La stratificazione più opportuna può risultare non evidente; è dipendente dall'evoluzione tecnologica dell'hw. Sistema a macchine virtuali : usando lo scheduling della CPU e la tecnica della memoria virtuale, si possono creare macchine virtuali, una per ogni processo. o Si consegue il massimo livello di protezione, a scapito dell'efficienza. Pagina 22

Struttura del S.O. (2) - Realizzazione in linguaggi ad alto livello (UNIX BSD4.3: 3% assembly, il resto in C) - Nucleo o kernel : mette a disposizione le system call ai programmi di sistema ed applicativi. Pagina 23

Nucleo di un S.O. Fornisce un meccanismo per la creazione e la distruzione dei processi Provvede allo scheduling della CPU, alla gestione della memoria e dei dispositivi di I/O Fornisce strumenti per la sincronizzazione dei processi Fornisce strumenti per la comunicazione tra processi Pagina 24

Struttura gerarchica del S.O. L0: bare machine L1: processor management (lower module) / scheduler L2: memory management L3: processor management (upper module) [messaggi, creazione/distruzione processi] L4: device management L5: information management Pagina 25