Sistema di protezione



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

Sistema di protezione (1)

Il Sistema Operativo

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Organizzazione Monolitica

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

Capitolo 2 -- Silberschatz

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

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

Approccio stratificato

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Il Sistema Operativo (1)

Architettura di un sistema operativo

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

Introduzione ai sistemi operativi

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

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

Strutture dei sistemi operativi

Il Software. Il software del PC. Il BIOS

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

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Strutture dei Sistemi Operativi

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

Le Infrastrutture Software ed il Sistema Operativo

STRUTTURE DEI SISTEMI DI CALCOLO

Capitolo 3: Strutture dei sistemi operativi

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

Trasparenze del Corso di Sistemi Operativi

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

Trasparenze del Corso di Sistemi Operativi

Introduzione ai Sistemi Operativi

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

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

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

IL SISTEMA OPERATIVO

LINUX. Che cos'e` un sistema operativo?

Hardware di un Computer

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

Sistemi Operativi (modulo di Informatica II) I processi

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

Corso di Sistemi di Elaborazione delle informazioni

Secondo biennio Articolazione Informatica TPSIT Prova Quarta

Drivers. Introduzione Tipologie Struttura Interazione con il kernel

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

Comunicazione tra Processi

Comunicazione tra Processi

Potenza Elaborativa, Sistemi Operativi e Virtualizzazione

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

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

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

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

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

Sistemi Operativi (modulo di Informatica II) Architettura

Evoluzione dei sistemi operativi (5) Evoluzione dei sistemi operativi (4) Classificazione dei sistemi operativi

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

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

Sistema Operativo Compilatore

HARDWARE. Relazione di Informatica

Sistema Operativo e Applicativi

PARTE 4 La Macchina Software

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

Architettura di un sistema di calcolo

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

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

Sistemi Operativi I Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia

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

Software di base. Corso di Fondamenti di Informatica


Funzioni del Sistema Operativo

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

Dispensa di Informatica I.1

Protezione. Univ. Ferrara Laurea in Informatica Sistemi Operativi 1. Scopi della protezione. Autenticazione/Autorizzazione. Principi di protezione

Infrastrutture Software

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

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

Fondamenti di Informatica: Sistemi Operativi 1. Introduzione

Software di base. Informatica Generale (CdL in E&C), A.A

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

Strutture dei Sistemi Operativi. Componenti del sistema Servizi di un sistema operativo Struttura dei sistemi operativi

Corso di Alfabetizzazione Informatica

Laboratorio di Programmazione

Protezione. Sistemi Operativi mod. B 16.1

Protezione. Protezione. Protezione. Obiettivi della protezione

Pronto Esecuzione Attesa Terminazione

Software di base e software applicativo. Titolo: dic (1 di 9)

Parte V. Sistemi Operativi & Reti. Sistemi Operativi. Sistemi Operativi

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

La genealogia di Windows. Windows NT e Windows 95/98. Dimensioni del codice. Parte IX. Windows

Parte IX. Windows. Sistemi Operativi - prof. Silvio Salza - a.a IX - 1

Abilità Informatiche A.A. 2010/2011 Lezione 4: SoftWare. Facoltà di Lingue e Letterature Straniere

Software e Sistemi Operativi Prof. Maurizio Naldi A.A. 2015/16

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

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

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

Il supporto al Sistema Operativo

Strutture dei SO. Sistemi Operativi Giuseppe Prencipe. Processi

CdL in Medicina Veterinaria - STPA AA

Introduzione all Informatica

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

Transcript:

Sistema di protezione - 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 - 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, etc. -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. - Tali errori vengono segnalati e affidati alla gestione al S.O. tramite il meccanismo delle trap. - In presenza di errore o di violazione della protezione il S.O. provvede a terminare il processo, segnala la terminazione anomala ed effettua un dump della memoria.

Sistema di protezione - 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 alla esecuzione di una operazione sulla risorsa; un dominio di protezione è una collezione di diritti di accesso. - Lista degli accessi di un oggetto: operazioni consentite da ciascun dominio. - Lista delle capabilities: lista di oggetti e di operazioni consentite su tali oggetti riferita ad un dominio. Per eseguire una operazione su un oggetto il processo deve specificare la capability (indirizzo protetto mantenuto dal S.O.). SisOp. A - Teoria : 2b 2

Protezione - Il sistema di protezione richiede l'esistenza di piu` modi di funzionamento della CPU: - supervisor mode (system mode, monitor mode) - user mode - Il passaggio dal modo user al modo supervisor avviene tramite interruzione : - esterna (asincrona) - interna (sincrona, trap), generata da una SVC (SuperVisor Call o System call). - Il passaggio dal modo supervisor al modo user avviene tramite una istruzione speciale di cambiamento di modo eseguita dal S.O. prima della cessione del controllo ad un processo di utente. - Istruzioni privilegiate (eseguite solo in system mode): - I/O - modifica dei registri che delimitano le partizioni logiche di memoria - manipolazione del sistema di interruzione - cambiamento di modo - halt - Protezione della memoria (registri barriera, registri limite) - Protezione della CPU (time limit) SisOp. A - Teoria : 2b 3

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: monitor job1 300040 300040 job2 registro base 420940 420940 registro limite1 job3 880000 SisOp. A - Teoria : 2b 4

Protezione della memoria con registri limite base > sì indirizzo trap al monitor del sistema operativo errore di indirizzamento < sì SisOp. A - Teoria : 2b 5 base + limite memoria

Confinamento del programma utente Dispositivi I/O Programma utente File System System call (SVC) Sistema Operativo SisOp. A - Teoria : 2b 6

Esecuzione delle operazioni di I/O - 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. case n Monitor residente sys_read(, (2) esecuzione dell operazione di I/O (1) trap al monitor SisOp. A - Teoria : 2b 7 read(,,..) system call n (3) rientro nel programma utente Programma utente

System call - Tipicamente l'operando della 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 Load Address X SVC 13 Programma utente Sistema Operativo SisOp. A - Teoria : 2b 8

System call - 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. - 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 SisOp. A - Teoria : 2b 9

System call 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 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 c) gestione delle informazioni - get, set time or date SisOp. A - Teoria : 2b 10

- get, set system data - get, set attributes d) comunicazione - create, delete communication connection - open, close communication - send, receive message SisOp. A - Teoria : 2b 11

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) - I programmi di sistema sono determinanti per la visione d'utente del S.O., mentre le system call ne riflettono la struttura interna. - La progettazione della interfaccia con l'utente e` indipendente dalla struttura interna del S.O. SisOp. A - Teoria : 2b 12

Struttura del S.O. - Necessità di modularizzazione date le dimensioni - Sistema a livelli: il livello piu` interno e` l'hw, quello piu` esterno l'interfaccia di utente - Affinchè il livello Li possa richiedere i servizi al livello Li-1 deve conoscerne una specifica precisa, tuttavia l'implementazione di tali servizi deve risultare totalmente nascosta. Nuove operazioni Strato M Operazioni nascoste Strato M -1 Operazioni esistenti SisOp. A - Teoria : 2b 13

La struttura "a cipolla" Programmi utente Interprete comandi Programmi di utilità File System Periferiche virtuali Gestore memoria virtuale Nucleo Macchina HW SisOp. A - Teoria : 2b 14

La struttura a livelli di MS-DOS Application program Resident system program MS-DOS device drivers ROM BIOS device drivers SisOp. A - Teoria : 2b 15

La struttura a livelli di UNIX (the users) Shells and commands Compilers and interpreters System libraries System-call interface to the kernel Signals Terminal handling Character I/O system Terminal drivers File system swapping block I/O system disk and tape drivers Kernel interface to the hardware Terminal controllers terminals Device controllers Disk and tapes CPU scheduling Page replacement Demand paging Virtual memory memory controllers physical memory SisOp. A - Teoria : 2b 16

SisOp. A - Teoria : 2b 17 La struttura a livelli di Windows NT

Struttura del S.O. - La stratificazione più opportuna può risultare non evidente; è dipendente dall'evoluzione tecnologica dell'hw. - Sistema a macchine virtuali (VM IBM): usando lo scheduling della CPU e la tecnica della memoria virtuale, si possono creare macchine virtuali, una per ogni processo. Si consegue il massimo livello di protezione, a scapito dell'efficienza. - 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. SisOp. A - Teoria : 2b 18

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 SisOp. A - Teoria : 2b 19

Struttura gerarchica del Sistema Operativo 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 SisOp. A - Teoria : 2b 20