La Gestione delle risorse Renato Agati



Documenti analoghi
Gestione della memoria centrale

Sistemi Operativi Kernel

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

Sistemi Operativi. 5 Gestione della memoria

Il memory manager. Gestione della memoria centrale

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

Gestione della Memoria

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

Il software. la parte contro cui si può solo imprecare. Funzioni principali del sistema operativo. (continua) Gestione della memoria principale

Varie tipologie di memoria

Laboratorio di Informatica

Lezione 10. Scheduling nei sistemi multiprocessori. Esempio: P=2 processori. Scheduling dei processi

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1

Corso di Sistemi di Elaborazione delle informazioni

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

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Sistemi operativi. Esempi di sistemi operativi

Lo schedulatore del kernel

1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi

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

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007

Il Sistema Operativo

Sistema operativo: Gestione della memoria

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

ESERCIZIO 1 (b) Dove è memorizzato il numero del primo blocco del file? Insieme agli altri attributi del file, nella cartella che contiene il file.

DMA Accesso Diretto alla Memoria

Coordinazione Distribuita

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.

Definizione di processo. Un processo è un programma (o una parte di una programma) in corso di esecuzione

Approccio stratificato

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

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale

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

Sistemi Operativi SCHEDULING DELLA CPU

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta

Processi e Thread. Scheduling (Schedulazione)

Secondo biennio Articolazione Informatica TPSIT Prova Quarta

Informatica: il sistema operativo

CALCOLO PARALLELO SUPERARE I LIMITI DI CALCOLO. A cura di Tania Caprini

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

Fondamenti di Informatica: Sistemi Operativi 1. Introduzione

1.4b: Hardware. (Memoria Centrale)

Logout... A utorizzazioni Eserc itazioni cambia. password... Esercitazione. Rispondere alle seguenti domande reltive ai Processi Software:

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

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

IL SOFTWARE TIPI DI SOFTWARE. MACCHINE VIRTUALI Vengono definite così perché sono SIMULATE DAL SOFTWARE, UNIFORMANO L ACCESSO SISTEMA OPERATIVO

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

I processi Unix. Entry della tabella dei processi

STRUTTURE DEI SISTEMI DI CALCOLO

Il Sistema Operativo

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)

Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1

Pronto Esecuzione Attesa Terminazione

Esercitazione E6 Esercizi d esame

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

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

Memoria Virtuale. Anche la memoria principale ha una dimensione limitata. memoria principale (memoria fisica) memoria secondaria (memoria virtuale)

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco

C Cloud computing Cloud storage. Prof. Maurizio Naldi

Il descrittore di processo (PCB)

Architettura di un sistema di calcolo

Gestione della memoria centrale

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

Il Software. Il software del PC. Il BIOS

GESTIONE DEI PROCESSI

Organizzazione della memoria

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Memoria Virtuale. Lezione 29 Sistemi Operativi

Capitolo Silberschatz

Sommario. Analysis & design delle applicazioni parallele. Misura delle prestazioni parallele. Tecniche di partizionamento.

La memoria - generalità

Scheduling della CPU

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

La gestione della memoria

Il File System. Il file system

Virtualizzazione VirtualBox su Host Windows

Introduzione ai Sistemi Operativi

Linux nel calcolo distribuito

Cognome e Nome Gennaio 2002 I prova in itinere

Lezioni frontali e/o multimediali. Lezioni frontali e/o

Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa

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

Struttura del calcolatore

Introduzione alla Virtualizzazione

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

Architettura dei computer

La macchina di Von Neumann. Archite(ura di un calcolatore. L unità di elaborazione (CPU) Sequenza di le(ura. Il bus di sistema

Tesina per l esame di Sistemi Operativi a cura di Giuseppe Montano. Prof. Aldo Franco Dragoni

Sistemi operativi e reti A.A Lezione 2

Architettura di un calcolatore

memoria virtuale protezione

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

SCHEDULATORI DI PROCESSO

Strutturazione logica dei dati: i file

Transcript:

Renato Agati delle risorse La Gestione

Schedulazione dei processi Gestione delle periferiche File system

Schedulazione dei processi Mono programmazione Multi programmazione Gestione delle periferiche File system

Schedulazione dei processi Stati di un processo New Terminated Ready Running Waiting

Schedulazione dei processi Mono programmazione Algoritmi di schedulazione F. L. F. S. S. J. F. Priorità Round Robin

Schedulazione dei processi Multi programmazione Processi paralleli indipendenti condivisione Mutua esclusione cooperazione rischi dipendenti comunicazione sincronizzazione competizione stallo

Schedulazione dei processi Ogni programma eseguibile occupa uno spazio logico Per essere eseguito il programma deve essere caricato (totalmente o parzialmente) in memoria, occupando uno spazio fisico Lo spazio fisico viene assegnato e gestito dal Gestore della memoria (memory manager) Gestione delle periferiche Il Gestore della memoria: Consente il caricamento di più programmi Controlla che ogni processo acceda solo all area di memoria assegnata File system

Schedulazione dei processi Caricamento statico Programma caricato per intero; risiede sempre in memoria per tutto il tempo dell esecuzione Gestione delle periferiche Caricamento dinamico Programma caricato per intero o porzioni; Programma caricato e scaricato più volte; Lo spazio fisico può essere ridefinito più volte File system

Schedulazione dei processi Caricamento statico Partizioni fisse Partizioni variabili Segmentazione Paginazione Gestione delle periferiche Caricamento dinamico Memoria virtuale Paginazione dinamica File system Segmentazione dinamica Segmentazione con Paginazione

Caricamento statico Partizioni fisse Sistema Operativo Partizioni di dimensioni diverse, ma fisse Partizione 1 Partizione 2 Partizione 3 Partizione 4 Processo 1 Libera Processo 2 Libera Ogni programma viene caricato in una partizione, dove rimane per tutta l esecuzione Se le partizioni sono più piccole del processo da caricare, esso non può essere caricato Se le partizioni sono molto grandi, si spreca spazio E bene che ogni processo occupi la partizione più piccola disponibile Esiste una tabella di descrittori di partizioni

Caricamento statico Partizioni fisse N. Partizione Dimensione Indirizzo iniziale Stato 1 8 MB 312 MB In uso 2 32 MB 320 MB In uso 3 32 MB 352 MB Non in uso 4 120 MB 384 MB Non in uso 5 520 MB 504 MB In uso NOTA: si suppone che i primo 312 MB siano usati dal sistema operativo

Caricamento statico Partizioni fisse N. Partizione Dimensione Dimensione processo Spazio sprecato 1 8 MB 1 MB 7 MB 2 32 MB 9 MB 23 MB 3 32 MB 9 MB 23 MB 4 120 MB 33 MB 87 MB 5 520 MB 121 MB 399 MB TOTALE 712 MB 173 MB 539 MB NOTA: si suppone che i primo 312 MB siano usati dal sistema operativo

Caricamento statico Partizioni variabili Partizione 1 Partizione 2 Partizione 3 Partizione 4 Sistema Operativo Processo 1 Libera Processo 2 Libera Le partizioni vengono create man mano che deve essere caricato un processo Viene comunque creata una partizione libera tra due partizioni occupate Esistono due tabelle di descrittori, una per le partizioni, una per le aree libere

Caricamento statico Partizioni variabili Partizione 1 Partizione 2 Partizione 3 Partizione 4 Sistema Operativo Processo 1 Libera Processo 2 Libera Le partizioni create rimangono tali anche quando il processo è terminato. Quando un nuovo processo non trova una partizione adatta, viene eseguito il compattamento, ovvero la ridefinizione e riallocazione delle partizioni di memoria.

Caricamento statico Segmentazione Partizione 1 Partizione 2 Partizione 3 Partizione 4 Sistema Operativo Segmento 1 Libera Segmento 2 Libera Lo spazio logico del programma non è uno spazio lineare ma viene suddiviso in segmenti Ogni segmento viene caricato in una partizione con il metodo delle partizioni variabili La frammentazione dei processi viene ridotta perché è più facile adattare i segmenti alle partizioni. Esistono tabelle dei descrittori di partizioni e di segmento.

Caricamento statico Paginazione Blocco 1 Blocco 2 Blocco 3 ----- ----- ----- Blocco n Pagina1 Pagina2 Pagina3 La memoria viene suddivisa in blocchi tutti di uguale dimensione Lo spazio logico del programma viene suddiviso in pagine della stessa dimensione dei blocchi Ogni pagina viene memorizzata in blocchi qualsiasi, contigui o non contigui Esiste tabella di descrittori dei blocchi e del loro stato. Esiste tabella di mappa di pagina per sapere in quali blocchi sono memorizzate le pagine di un programma

Caricamento dinamico Memoria virtuale Nel caricamento dinamico un programma viene caricato per intero o porzioni Il programma (o porzione) può essere caricato e scaricato più volte (swapping) Oltre allo spazio fisico deve essere assegnato al processo anche uno spazio su disco in un apposita area (area di swap) Caricamenti e scaricamenti, totali o parziali, durante l esecuzione, consistono in trasferimenti dall area di swap alla memoria principale e viceversa. La memoria reale e l area di swap su disco costituiscono la memoria virtuale Lo spazio fisico può essere ridefinito più volte

Caricamento dinamico Memoria virtuale I processi permanenti del sistema operativo non vengono mai caricati dinamicamente I processi che possono essere scaricati sono: I processi in stato di attesa (a meno che non devono usare il DMA) I processi che esauriscono il time-slice

Caricamento dinamico Paginazione dinamica Lo spazio logico del programma viene suddiviso in pagine Alcune pagine vengono caricate in memoria, altre pagine rimangono nell area di swap e vengono caricate all occorenza. Le pagine caricate in memoria sono dette accessibili; quando il programma fa riferimento ad una istruzione di una pagina inaccessibile : si verifica un interruzione (page fault) Il processo viene sospeso (passa in stato di attesa) Il sistema operativo provvede a caricare la pagina Il processo viene riattivato solo quando la pagina è stata caricata Esistono algoritmi per la gestione dei blocchi e delle pagine (quali pagine inaccessibili devono essere caricate, liberazione di blocchi scaricando le pagine accessibili, ecc.)

Caricamento dinamico Segmentazione dinamica La tecnica della segmentazione dinamica è simile a quella della paginazione dinamica Lo spazio logico del programma viene suddiviso in segmenti I segmenti vengono caricati in partizioni variabili

Caricamento dinamico Segmentazione con Paginazione Il metodo della segmentazione con paginazione combina insieme le tecniche della segmentazione e della paginazione. Il programma viene suddiviso in segmenti; ciascun segmento viene suddiviso in pagine. La memoria viene suddivisa in blocchi di ugual misura.

Sistemi Multiprocessore Memoria condivisa (piattaforma shared-address-space) La memoria è in comune ed è accessibile a tutti i processori; I cambiamenti effettuati da un processore in una locazione di memoria, sono visibili a tutti gli altri processori (cache coherency); L accesso alla memoria può essere: - uniforme (UMA) - non uniforme (NUMA) Accesso alla memoria uniforme (UMA - Uniform Memory Access): Processori identici tempo di accesso di ogni processore alla memoria è uguale per tutti; utilizzo nelle macchine SMP Symmetric MultiProcessor Accesso alla memoria non uniforme (NUMA Non Uniform Memory Access): tempo di accesso differente per ogni processore un processore può accedere direttamente alla memoria di un altro processore. Vantaggi della memoria condivisa: la vicinanza della memoria con i processori garantisce uno scambio dati veloce e uniforme. Svantaggi della memoria condivisa: l aggiunta di nuovi processori aumenta il traffico sul bus della memoria condivisa; aggiungendo nuovi processori è necessario rivedere l applicazione per risincronizzare gli accessi alla memoria.

Sistemi Multiprocessore Memoria distribuita (piattaforma message-passing) Ogni processore ha una sua propria memoria locale che non può essere condivisa con un altro processore. Ogni processore lavora in maniera indipendente dagli altri processori; i cambiamenti eseguiti nella memoria da un processore non influenzano il calcolo degli altri processori. Architettura di memoria presente nel caso in cui il calcolo parallelo viene implementato con più sistemi collegati tra loro attraverso una rete locale. Vantaggi della memoria distribuita: l aumento del numero di processori è accompagnato da un aumento proporzionale della memoria; ogni processore può accedere alla propria memoria senza interferenze di altri processori. Svantaggi della memoria distribuita: una maggiore complessità del software che deve garantire una corretta sincronizzazione tra le task di due processori quando uno di essi deve accedere ai dati elaborati dall altro. Accesso di tipo NUMA (tempi non uniformi)