Anteprima
Vedrai una selezione di 8 pagine su 35
Riassunto esame Sistemi operativi, prof. Lombardi Pag. 1 Riassunto esame Sistemi operativi, prof. Lombardi Pag. 2
Anteprima di 8 pagg. su 35.
Scarica il documento per vederlo tutto.
Riassunto esame Sistemi operativi, prof. Lombardi Pag. 6
Anteprima di 8 pagg. su 35.
Scarica il documento per vederlo tutto.
Riassunto esame Sistemi operativi, prof. Lombardi Pag. 11
Anteprima di 8 pagg. su 35.
Scarica il documento per vederlo tutto.
Riassunto esame Sistemi operativi, prof. Lombardi Pag. 16
Anteprima di 8 pagg. su 35.
Scarica il documento per vederlo tutto.
Riassunto esame Sistemi operativi, prof. Lombardi Pag. 21
Anteprima di 8 pagg. su 35.
Scarica il documento per vederlo tutto.
Riassunto esame Sistemi operativi, prof. Lombardi Pag. 26
Anteprima di 8 pagg. su 35.
Scarica il documento per vederlo tutto.
Riassunto esame Sistemi operativi, prof. Lombardi Pag. 31
1 su 35
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

COMPONENTI DEI S.O.

I s.o.,seppur diversi tra loro nella struttura, molti hanno scopi comuni che devono conseguire. Il s.o. deve gestire:

Un processo è del programma in esecuzione che ha bisogno di risorse per portarsi a

Gestione del processo:

termine,cioè di tempo di CPU, di memoria, di file e di dispositivi di I/O. Il s.o. è responsabile delle seguenti

attività: creazione e cancellazione di processi, sospensione e ripristino di processi, mettere a disposizione

meccanismi per la sincronizzazione e comunicazione fra processi.

La memoria, condivisa dalla CPU e dai dispositivi di I/O, è l'unico

Gestione della memoria principale:

dispositivo di memorizzazione che la CPU può indirizzare direttamente, di conseguenza le istruzioni possono

essere eseguite solo se si trovano effettivamente in memoria. Occorre quindi poter gestire più programmi in

memoria, per migliorare l'utilizzo della CPU e quindi le prestazioni del sistema. Esistono allora più schemi per

la sua gestione che dipendono dall'hardware.

Il s.o. è responsabile di: gestire lo spazio libero, allocare lo spazio, fare

Gestione della memoria secondaria:

lo scheduling del disco. Dato che l'uso del disco è molto frequente la gestione deve essere efficiente.

Lo scopo è nascondere l'hardware all'utente, per questo motivo si usano: sistemi

Gestione del sistema di I/O:

di buffer cathing, un'interfaccia generale per i driver dei dispositivi, driver per specifici dispositivi hardware.

Solo il driver conosce le caratteristiche dello specifico dispositivo a cui è assegnato.

Il s.o. ha una visione logica uniforme del processo di memorizzazione dell'informazione.

Gestione dei file:

Esiste un solo tipo di oggetto: il file, che è la sola unità logica di memoria. Il s.o. si occupa di: creazione e

cancellazione di file e directory, supporto di primitive per la manipolazione di file e directory, mapping dei file

sulla memoria secondaria e backup dei file su dispositivi di memorizzazione stabili.

SISTEMA DISTRIBUITO

Un sistema distribuito è un insieme di unita che non condividono la memoria, i dispositivi perifericio un clock.

Ogni unita dispone di una propria memoria locale.Le unita comunicano tra loro tramite reti e le comunicazioni

avvengono tramite protocolli. Dal punto di vista dell’utente, un sistema distribuito e un insieme di sistemi

fisicamente separati organizzato in modo tale da apparire come un unico sistema coerente, ovvero appare come

una singola memoria principale ed un unico spazio di memoria di massa. L’accesso ad una risorsa condivisa

permette di accelerare il calcolo, di aumentare la disponibilita di dati e di incrementare l’affidabilita.

Un s.o. con piu utenti consente che i processi vengano eseguiti in concorrenza. I

Gestione delle protezioni:

processi devono essere protetti dalle attivita di altri processi, occorrono quindi meccanismi di autorizzazione.

Protezione: e il meccanismo che controlla l'accesso da parte di programmi, processi o utenti alle risorse di un

sistema di calcolo (ad esempio una parte di memoria allocata per un processo non deve poter essere scrivibile da

parte di un altro processo). L'interprete dei comandi, ossia l’interfaccia fra utente e sistema può avere aspetti

diversi:

Istruzioni di controllo

・ Shell

・ Interfaccia grafica

・ IL SISTEMA OPERATIVO

Il suo compito e quello di accettare comandi da parte dell’utente. Un sistema operativo e costituito da nucleo

(kernel) e da una interfaccia verso l'utente. System call

L'interfaccia tra il Sistema Operativo e i programmi degli utenti e definita da un insieme di Istruzioni Estese,

ovvero System Call (chiamata di sistema). Esse creano, cancellano, usano oggetti software gestiti dal s.o..

La loro implementazione puo essere diversa a seconda del sistema operativo. Tipiche chiamate di sistema:

Controllo dei processi

• Gestione dei file

• Gestione dei dispositivi

• Gestione dell’informazione

• Comunicazioni

I programmi dell'utente comunicano con il s.o. e gli richiedono servizi per mezzo delle Chiamate di Sistema. A

ogni system call corrisponde una Procedura di Libreria (che il programma puo invocare) che ha i seguenti

compiti:

mette i parametri della system call in un sito predefinito (es. Registro)

• istanzia un'istruzione TRAP per mandare un interrupt al sistema operativo

• nasconde i dettagli dell'istruzione TRAP

• rende le system call come chiamate di procedura normali (es. da programmi in C)

I programmi di sistema offrono un ambiente per lo sviluppo e l’esecuzione dei programmi. Possono

essere classificati in programmi per:

Gestione dei file

• Informazioni di stato

• Modifica dei file

• Ambienti di sviluppo

• Caricamento ed esecuzione dei programmi

• Comunicazioni

• Programmi applicativi

Per l'utente la maggior parte delle operazioni è vista come esecuzione di programmi, non come chiamate di

sistema. Struttura di un sistema operativo

Il sistema operativo e costituito da una collezione di procedure ognuna delle quali puo

Sistemi monolitici:

chiamare qualsiasi altra. Unica struttura presente sono le system call che comportano il salvataggio dei

parametri e l'esecuzione di una trap speciale detta kernel call o supervisor call. Una chiamata di sistema e

realizzata cosi:

un programma utente esegue una trap verso il nucleo;

• il sistema operativo determina il numero del servizio richiesto;

• il sistema operativo individua e chiama la procedura di servizio;

• viene restituito il controllo al programma utente

Struttura di MS-DOS Vi e un duplice modo di funzionamento: i sistemi che condividono

risorse devono garantire che programmi non corretti non

interferiscano con gli altri processi in esecuzione.

L’hardware (mode bit) permette al sistema operativo di operare in

due modalita differenti

User mode: normale funzionamento dei programmi utent

– Monitor mode (o kernel mode o system mode): operazioni

– effettuate dal s.o.. Quando avviene un interrupt si passa al

kernel mode.

Alcune istruzioni (privileged instructions) possono essere eseguite solo in kernel mode:

• Tutte le istruzioni di I/O sono privileged instruction

• Occorre garantire che nessun programma possa essere eseguito in kernel mode

Struttura di UNIX

Struttura a tre strati:

1) Un programma principale che richiama la procedura di servizio richiesta

2) Un insieme di procedure di servizio che eseguono le chiamate di sistema

3) Un insieme di procedure di utilita che forniscono il supporto alle procedure di servizio

Il s.o. e organizzato in una gerarchia di livelli. Il 1° sistema con una struttura di

Sistemi multilivello:

questo tipo fu THE, realizzato alla Technische Hogelschool Eindhoven in Olanda da Dijkstra nel

1968 per il computer Electrologica X8 (32k di parole di 27 bit ed un tamburo 512k parole usato per

memorizzare parti di programma). THE ha 6 livelli.

Strato Funzionalità

5 Operatore

4 Programmi utente

3 Gestione I/O

2 Comunicazione processo-console

1 Gestione della memoria e del tamburo

0 Allocazione della CPU e multiprogrammazione

Si sposta quanto possibile dal kernel allo spazio utente. Le comunicazioni avvengono

Struttura a microkernel:

tramite messaggi.

Vantaggi:

Estendere un microkernel e piu facile

• Maggiore portabilita del sistema operativo

• Piu affidabilita (il codice critico nel kernel e minore)

• Piu sicuro

Svantaggi:

Vi e un overhead dovuto alle comunicazioni fra spazio utente e kernel

• In origine, il termine virtual machine veniva usato per indicare la creazione di una molteplicità

Virtual machine:

di ambienti di esecuzione identici in un unico computer, ciascuno con il proprio s.o.. Lo scopo di questa tecnica

era di dividere tra più utenti l'uso di un singolo computer dando ad ognuno l'impressione di esserne gli unici

utilizzatori, oltre ad avere vantaggi che le macchine reali non hanno (poniamo il caso di dover riavviare la

macchina ad esempio, con macchine virtuali questa operazione è più veloce anche perché c'è la possibilità di

scegliere quali componenti attivare e quali no). Il software che rende possibile questa divisione viene chiamato

virtual machine monitor o hypervisor.

Vi sono gli hypervisor di tipo 1 che sono quelli che vengono attivati al momento del boot (modilità kernel), la cui

funzione è quella di attivare un certo numero di macchine virtuali, le quali possono eseguire anche s.o. diversi.

Gli hypervisor di tipo 2 sono invece quelli che vengono attivati in user mode e permettono l'utilizzo di una

macchina virtuale. Vi è la possibilità di “passare” da un sistema all'altro e avere piu macchine virtuali che

lavorano contemporaneamente

-Vantaggi: ogni parte è più semplice, più flessibile e più facile da mantenere; una macchina virtuale

permette una completa protezione delle risorse di sistema; rende facile lo sviluppo di un

sistema operativo (le normali operazioni non vengono bloccate).

-Svantaggi: l'isolamento delle macchine virtuali rende complessa la condivisione di risorse; il concetto di

macchina virtuale è spesso difficile da realizzare.

I Requisiti per la virtualizzazione sono:

1) Le istruzioni vengono divise in tre gruppi:

Istruzioni privilegiate (generano una trap solo se si è in user mode)

• Istruzioni di controllo (modificano le risorse di sistema, p.e. I/O)

• Istruzioni il cui risultato dipende dalla configurazione del sistema.

2)Devono essere verificate le condizioni sufficienti perché una architettura possa essere virtualizzata (condizioni

di Popek e Goldberg). Le istruzioni di controllo devono essere un sottoinsieme delle istruzioni privilegiate cioè:

Tutte le istruzioni che possono influenzare l’esecuzione del Virtual Machine Monitor devono generare una trap ed

essere gestite dal VMM stesso e le istruzioni non privilegiate possono essere eseguite nativamente.

La virtualizzazione può essere di 3 tipologie

Emulazione : la macchina virtuale simula completamente l'hardware, utilizzando un s.o. reale che poi

• viene eseguito per la CPU virtuale; questa virtualizzazione è poco efficiente.

Paravirtualizzazione : il s.o. ospite deve essere modificato. La macchina virtuale non simula un hardware

• ma offre speciali API che richiedono modifiche nel s.o.;Concettualmente simile al binary rewriting, ma il

rewriting avviene a tempo di compilazione.Quando un’applicazione genera una systemcall, questa viene

intercetta dal SO guest.Quando quest'ultimo prova ad eseguire istruzioni privilegiate, il VMM

“intrappola” (traps) l’operazione e le eseg

Dettagli
Publisher
A.A. 2013-2014
35 pagine
1 download
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher ilario.pirini di informazioni apprese con la frequenza delle lezioni di Sistemi operativi e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Pavia o del prof Lombardi Luca.