I processi Unix. Entry della tabella dei processi



Documenti analoghi
Lo scheduling. Tipici schedulatori

Esercitazione E6 Esercizi d esame

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

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

Sistemi Operativi Kernel

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione

Sistemi Operativi (modulo di Informatica II) I processi

Modello della memoria in Unix. Unix: Gestione della Memoria. Gestione della memoria in UNIX - fondamenti. Gestione della memoria in UNIX - storia

Laboratorio di Informatica

9. Memoria Virtuale. 9. Memoria Virtuale. 9. Memoria Virtuale

La Gestione delle risorse Renato Agati

Sistemi Operativi. 5 Gestione della memoria

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

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

Gestione della Memoria

Il memory manager. Gestione della memoria centrale

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

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?

GENERAZIONE PROCESSO FIGLIO (padre attende terminazione del figlio)

Scheduling. Sistemi Operativi e Distribuiti A.A Bellettini - Maggiorini. Concetti di base

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

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

Secondo biennio Articolazione Informatica TPSIT Prova Quarta

Scheduling della CPU

Gestione della memoria centrale

Il Concetto di Processo

AXO. Operativi. Architettura dei Calcolatori e Sistemi. memoria virtuale

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

La Gestione della Memoria

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

Scheduling della CPU:

Sistemi Operativi SCHEDULING DELLA CPU

Gestione dei processi. Marco Cesati. Schema della lezione. Blocco di controllo 2. Sezioni e segmenti. Gestione dei processi. Job.

Il descrittore di processo (PCB)

Sistemi Operativi Il Sistema Operativo Windows (parte 3)

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale

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

Memoria Virtuale. Lezione 29 Sistemi Operativi

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

Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica

Corso di Sistemi di Elaborazione delle informazioni

GESTIONE DELLA MEMORIA CENTRALE

Pronto Esecuzione Attesa Terminazione

Esercitazione E2 Memoria virtuale

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

B+Trees. Introduzione

Esercitazione E1 Scheduling, deadlock, monitor

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

Capitolo Silberschatz

GESTIONE DEI PROCESSI

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.

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

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

Organizzazione della memoria

Il Software. Il software del PC. Il BIOS

Active Directory. Installatore LAN. Progetto per le classi V del corso di Informatica

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

Il Sistema Operativo

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

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

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

Architettura dei calcolatori II parte Memorie

HEX Bin HEX Bin HEX Bin HEX Bin C D A 1010 E B 1011 F 1111

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

Memoria secondaria. Struttura del disco. Scheduling del disco. Gestione dell unità a disco. Affidabilità dei dischi: RAID

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Nozioni di Informatica di base. dott. Andrea Mazzini

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

Memoria Virtuale. è la tecnica chge permette l esecuzione di processi che non sono completamente caricati in memoria principale

SCHEDULATORI DI PROCESSO

Sistemi operativi. Esempi di sistemi operativi

Cognome: Nome: Matricola: Sistemi Operativi A.A , prova scritta del 7 luglio 2006

1.4b: Hardware. (Memoria Centrale)

Processi UNIX. I Processi nel SO UNIX. Gerarchie di processi UNIX. Modello di processo in UNIX

Processi. Laboratorio Software C. Brandolese

I processi. Un processo è una attività, controllata da un programma, che si svolge su un processore.

DMA Accesso Diretto alla Memoria

Appunti di Sistemi Operativi. Enzo Mumolo address web address :

Sistema operativo: Gestione della memoria

Memoria virtuale. Riassumendo Meccanismo di traduzione indirizzi con tabella TLB Ogni processo ha la sua PMT Politiche della memoria virtuale E

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

FONDAMENTI di INFORMATICA L. Mezzalira

Infrastrutture Software

Transcript:

I processi Unix Ciascun processo Unix può evolvere in stato utente o in stato kernel. Il passaggio dall uno all altro stato avviene mediante SVC. Poiché il processo può andare in attesa di un evento nell uno o nell altro stato, sono previste aree di salvataggio distinte nei due stati. Il descrittore di un processo Unix è costituito da due strutture entry della tabella dei processi struttura di utente La suddivisione è fatta per ottimizzare il rilascio di memoria in occasione di operazioni di swap Entry della tabella dei processi Contiene informazioni relative a: Parametri di schedulazione: priorità, tempo di CPU recentemente speso, tempo di attesa recente. Immagine di memoria: puntatori alle aree che contengono codice, dati e stack o tabella delle pagine. Se testo condiviso puntatore all entry della tabella dei testi condivisi. Posizione su disco se il processo è stato swappato. Segnali: maschera dei segnali. Un segnale può: essere ignorato, eliminare il processo che lo riceve, attivare una procedura. Varie: stato del processo, evento che attende, tempo di allarme, pid, pid del padre, userid, groupid. 1

Struttura dell utente Contiene informazioni relative a: Registri di macchina Stato della chiamata di sistema: chiamata corrente compresi i parametri e risultato. Tabella dei descrittori di file: tabella che permette di risalire all i-node di un file aperto. Addebito: tempo complessivo di cpu speso, tempo massimo di CPU spendibile, dimensione massima dello stack, numero massimo di pagine, etc. Stack del kernel. Scheduling Lo scheduling si basa su una struttura di code a più livelli di priorità La priorità di un processo in stato utente varia nel tempo mentre quella in stato kernel viene ridefinita in funzione dell evento quando il processo va in attesa. Il ricalcolo della priorità in stato utente tende a privilegiare i processi che in tempi recenti hanno effettuato CPU burst brevi. Modalità di ricalcolo: Ogni secondo un daemon divide per due il contatore di utlizzi recente della CPU il cui valore definisce la nuova priorità e quindi la nuova posizione dei procesi nelle code. Il contatore di utilizzo viene incrementato di 1 ogni 20 msec quando il processo è running. 2

Gestione della memoria: lo swapping Unix utilizza lo swapping per consentire che i processi possano non risiedere in memoria RAM in alcune fasi. Lo swapping è fondamentale nei sistemi Unix a partizioni. Un processo viene swappato su disco se: chiede memoria per un processo figlio (fork) cerca di espandere il proprio segmento dati; il suo stack supera lo spazio riservato. e la richiesta non può essere soddisfatta. Lo swapping è realizzato mediante il daemon swapper che è presente indipendentemente se la memoria è gestita a partizioni o a memoria virtuale (pagine). Gestione della memoria: lo swapping Lo swapper interviene ogni pochi secondi per effettuare lo swap-in dei processi su disco pronti ad essere inseriti nelle code dei ready a partire da quello residente su disco da più tempo. Il criterio utilizzato per liberare memoria è lo swap out di processi a partire da quelli meno prioritari e residenti da più tempo considerando prima i bloccati e poi i ready. Un processo in memoria da meno di 2 sec. non viene swappato Lo swapper si arresta quando non ci sono più processi pronti su disco o non è più possibile effettuare lo swap-out. 3

La memoria virtuale La gestione della memoria virtuale si basa sulla paginazione. La memoria è suddivisa in frame: lo stato di ogni frame è descritto da un entry della core map che è una tabella residente in memoria. La tabella è lunga 1 kbyte e una entry occupa 16 byte. Una entry permette di sapere: se la pagina è libera, l indirizzo del blocco di disco dove viene salvata/ripristinata nel paging, dove logicamente si colloca in un segmento, il tipo di segmento. Contiene inoltre informazioni sul suo stato. La gestione della memoria virtuale è a pagine libere con algoritmo di sostituzione globale seconda chance. La memoria virtuale La disponibilità di frame liberi è controllata dal pagedaemon che viene attivato ogni 250 msec. Il daermon controlla se la disponibilità di frame liberi è minore di un valore di riferimento rif1. Se vero, la riporta al valore rif1 o al valore di riferimento rif2 (dipende dalle versioni di Unix). Per liberare le pagine applica l algoritmo seconda chance percorrendo con due o un puntatore la coda circolare dei bit di riferimento associati ai frame. Utilizza il primo puntatore per azzerare il bit se alto, il primo e il secondo puntatore, se esiste, per individuare il frame da liberare se basso (dipende dalle versioni di Unix). 4

La memoria virtuale Se la frequenza di paginazione è troppo alta interviene lo swapper che libera tutti i frame occupati da processi non attivi da più di 20 sec. iniziando da quelli inattivi da maggior tempo. Lo swapper poi periodicamente riassegna frame a processi swappati che sono pronti per essere schedulati. Vengono caricate solo la tabella utente e la tabella delle pagine. 5