 Ogni processo che deve essere eseguito da un sistema di elaborazione, deve essere caricato e risiedere almeno parzialmente nella memoria centrale 

Slides:



Advertisements
Presentazioni simili
Memoria Virtuale in Linux
Advertisements

STRUTTURA DEL SISTEMA OPERATIVO
CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
Gestione della memoria centrale
La struttura fisica e logica di un elaboratore
Gestione della memoria
Unità D2 Archivi e file.
Organizzazione della memoria
Il Sistema Operativo.
Elaboratore e Sistemi Operativo
Gestione della Memoria
Gestione della Memoria
Gestione del processore
12. Il Sistema Operativo Ing. Simona Colucci
Time Sharing Il termine “Time Sharing” proviene dall'inglese e significa letteralmente “partizione di tempo”. Questa è una tecnica sviluppatasi negli.
Memoria virtuale Memoria virtuale – separazione della memoria logica dell’utente dalla memoria fisica. Solo alcune parti di un programma devono trovarsi.
Gestione della memoria
Realizzazione del file system
Gestione della memoria
INTRODUZIONE AI SISTEMI OPERATIVI
File.
Gestione della memoria principale
Sistema Operativo Architettura degli elaboratori 1 - A. Memo La gestione dei processi stallo 9 soluzione corretta si utilizzano un semaforo per.
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
memoria gestita staticamente:
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
Università di Trieste Calcolatori Elettronici a.a Omero TuzziL01, Basi 1 Sommario: 1. Concetto di bit. 2. Indirizzi di memoria. 3. Ordinamento.
Sistemi Operativi GESTIONE DEI PROCESSI.
Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE.
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
Il sistema operativo Vito Perrone
Sistemi Operativi Insieme di programmi che permettono di gestire le risorse (HW e SW ) efficientemente. Funzioni principali: conservare lo stato delle.
Fondamenti di Informatica1 Software di base Tra il linguaggio macchina (basso livello) e i linguaggi evoluti (alto livello) esiste uno strato di software.
Gestione della memoria logica e fisica degli elaboratori x86
La macchina di von Neumann
I blocchi fondamentali dell’elaborazione Componenti e funzionamento del calcolatore I blocchi fondamentali dell’elaborazione.
Il sistema operativo.
La Gestione della Memoria
La schedulazione dei processi
Architettura del calcolatore
Sottoprogramma Un blocco di istruzioni, come ad esempio lanello di ritardo, può costituire un sottoprogramma (subroutine) a sé stante, richiamabile dal.
Il Sistema Operativo (1)
Introduzione al linguaggio assembly del microprocessore a parte
LOGICA DI FUNZIONAMENTO
Memoria Centrale.
Il Software Programmare direttamente la macchina hardware è molto difficile: l’utente dovrebbe conoscere l’organizzazione fisica del computer e il suo.
Sistema Operativo (Software di base)
Memoria La memoria è un vettore di stringhe di bit (word/parole) In memoria è allocato il Sistema Operativo. In memoria sono allocati i programmi per poter.
I processi.
SISITEMI MONOPROGRAMMATI E MULTI PROGRAMMATI
Il nucleo del Sistema Operativo
INFORMATICA = INFOrmazione + autoMATICA L’informazione una delle risorse strategiche più importanti della società moderna Capacità di gestire l’informazione.
Elettronica Digitale (II Parte) 10-11_5 1 ELETTRONICA DIGITALE II (5) 6/12 Il processo di assemblaggio.
1 Gestione della Memoria. 2 Idealmente la memoria dovrebbe essere –grande –veloce –non volatile Gerarchia di memorie –Disco: capiente, lento, non volatile.
Gestione del processore (Scheduler)
Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata Instruction Set Architecture (2) Istruzioni I-type Indirizzamento.
Relazione sulle strutture dati Svolta da: Buccella Simone Strutture di dati Aree di memoria Puntatore numericibooleani alfabetici Statici dinamici Puntatori.
Gestione della Memoria
L’esecuzione dei programmi
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
1 1. Introduzione alla gestione della memoria 2. Swapping 3. Memoria virtuale 4. Implementazione 5. Algoritmi di sostituzione Gestione della Memoria.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Informatica Generale Marzia Buscemi
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
ISIA Duca degli Abruzzi a.s. 2010/2011 prof. Antonella Schiavon
INTRODUZIONE AI SISTEMI OPERATIVI. Introduzione Il software può essere diviso un due grandi classi: Il software può essere diviso un due grandi classi:
HARDWARE (2). MEMORIE Due classi di memoria MEMORIA CENTRALE –media capacità - ottima velocità MEMORIA DI MASSA elevata capacità - bassa velocità.
Il Sistema Operativo Processi e Risorse
Transcript della presentazione:

 Ogni processo che deve essere eseguito da un sistema di elaborazione, deve essere caricato e risiedere almeno parzialmente nella memoria centrale  Durante lo scheduling della CPU, essa viene associata ciclicamente a più processi.  Per essere efficiente il sistema di elaborazione, i processi devono risiedere contemporaneamente in memoria centrale  È compito opportuno di un modulo di gestire la memoria centrale

Le problematiche relative alla gestione della memoria sono le seguenti:  Differente velocità di accesso della CPU ai propri registri interni o all’esecuzione di una istruzione. Ciò provoca un rallentamento del processore. L’utilizzo di una memoria cache rende più veloce l’accesso ai dati  Più processi possono invadere la memoria dedicata a processi di sistemi o ad altri; il sistema operativo gestisce gli spazi affinchè ciò non avvenga  Nel corso di esecuzione un processo può essere spostato dalla memoria centrale ad una memoria di massa. Il sistema operativo deve fare in modo che il processo possa comunque avanzare

 Lo swapping è una operazione di caricamento e scaricamento di un processo  Avviene quando nella memoria centrale ci sono troppi processi in coda  Alcuni processi vengono caricati in una memoria ausiliaria  Gli scheduler che decidono di portare a termine un processo nella memoria ausiliaria, affidano al dispatcher il compito di reperire i processi interessati.  Il dispatcer però cerca i processi prima tra i pronti e poi, nella memoria ausiliaria

 Gli indirizzi simbolici sono quelli cui fanno riferimento le applicazioni e sono generalmente indici, contatori, etichette  Gli indirizzi rilocabili sono gli indirizzi di partenza delle applicazioni ma non si riferiscono alla collocazione assoluta in memoria.  Gli indirizzi assoluti vengono generarti in fase di caricamento del processo o di compilazione o, come nella maggior parte dei sistemi operativi, in fase di esecuzione  Gli indirizzi logici sono quelli generati da un programma. L’insieme degli indirizzi logici è detto spazio degli indirizzi logici  Gli indirizzi fisici sono la locazione fisica vera e propria di un programma all’interno della memoria. L’insieme degli indirizzi fisici è detto spazio degli indirizzi fisici  Ad ogni indirizzo logico, viene attribuito un indirizzo fisico, sommando l’indirizzo logico con l’indirizzo di locazione

 Con l’avvento del multitasking più processi possono essere caricati contemporaneamente e la memoria deve essere ripartita.  Le partizioni non sono tutte della stessa dimensione; l’estensione viene stabilita a priori  Appena si libera una partizione, viene selezionato un nuovo processo  Un processo va ad occupare solo la porzione di memoria che realmente gli occorre. Se avanzano degli spazi di memoria si creano dei buchi. Il sistema operativo mette a disposizione una tabella di partizioni fisse.  Partizione variabile :è una tecnica più moderna della precedente; il frazionamento della memoria viene stabilito volta per volta dal sistema operativo. Le dimensioni delle partizioni non sono fisse ma vengono stabilite volta per volta.

 Si assegna al primo processo la prima area libera sufficientemente grande da contenerlo; al secondo processo la seconda area libera sempre sufficientemente grande da contenerlo e così via.  Sia allora la seguente tabella dei processi con le rispettive dimensioni e la tabella delle partizioni di memoria:  Le assegnazioni sono le seguenti: Processidimensioni P1250 kB P2400 kB P3150 kB P450 kB P5125 kB Areedimensioni A200 kB B140 kB C250 kB D500 kB E450 kB processiAree P1C P2D P3A P4B P5E

 Per migliorare la tecnica precedente, si associa ad ogni processo l’area di memoria più piccola ma sufficientemente grande da contenere ogni processo.  Si ordina allora la tabella della memoria per ordine crescente.  In base all’esempio precedente, la tabella dei processi e delle aree di memoria sarà la seguente : ProcessiAree P1C P2E P3A P4B P5D

 Con tale tecnica si associa ai processi l’area più grande possibile. Si ordina la tabella per ordine decrescente e, la relazione tra processi e aree di memoria sarà: ProcessiAree P1D P2E P3C P4A P5B

 In ognuno dei metodi precedenti lascia delle aree di memoria libere dando vita alla frammentazione esterna  Riordinando le aree di memoria e riunendole insieme, si effettua la compattazione rendendo i residui aree disponibili.

 Metodo molto efficace utilizzato nei s.o. per la gestione della memoria  Consiste nel dividere lo spazio logico del processo in parti uguali detti pagine; la memoria fisica viene divisa in parti della stessa dimensione delle pagine e sono detti frame  Ogni pagina viene posta in un frame  Le pagine non occupano spazi adiacenti di memoria per cui, c’è bisogno di una tabella delle pagine

Memoria logica Pag. 0 Pag. 1 Pag. 2 Pag. 3 Pag.Frame Mem fisica Il numero di frame in cui può essere divisa una memoria è dato da dimensione memoria/dimensione pagina

 Lo spazio logico di un processo viene diviso in un numero m di pagine di k byte ciascuna  Lo spazio fisico della memori viene diviso in n frame di k1 byte  La tabella delle pagine mette in relazione il numero di pagine con il numero di frame  Es nella gestione della memoria in DOS, si effettua la divisione in quattro segmenti: segmento codice, segmento dati, segmento stack e segmento extra  All’interno di un segmento si può accedere indicando lo scostamento, cioè la distanza dall’inizio  Ogni indirizzo logico è quindi individuato dal nome del segmento s dallo scostamento d

 Un programma può essere suddiviso in procedure e funzioni  Lo spazio logico può essere diviso in segmenti ognuno dei quali contiene un modulo o una struttura dati diversi

 Un processo per essere eseguito può risiedere in memoria centrale ma anche in memoria di massa  Quando i programmi sono molto ampi possono prevedere una parte del codice utilizzato raramente  Conviene allora non caricare tutto il codice in memoria ma solo in parte. Risulta più utile caricare solo il codice che serve  La memoria di massa e quella centrale sono viste come un’unica memoria detta virtuale e lo spazio degli indirizzi è detto spazio degli indirizzi virtuali

 Tecnica che permette di caricare in memoria centrale solo le pagine necessarie e le altre le altre in memoria di massa  Il paginatore è un modulo del sistema operativo che carica le pagine utili nella memoria centrale