Context Switch

Documenti, citazioni, libri e foto dal mondo Wiki

Commutazione di contesto

La commutazione di contesto o context switch è un particolare stato del sistema operativo durante il quale avviene il cambiamento del processo correntemente in esecuzione su una delle CPU. Questo permette a più processi di condividere una stessa CPU, ed è utile quindi sia nei sistemi con un solo processore, perché consente di eseguire più programmi contemporaneamente, sia nell'ambito del calcolo parallelo, perché consente un migliore bilanciamento del carico. Fasi della commutazione di... — | approfondisci »

Gestore di interrupt

rende disponibile tempo macchina del processore, arriva il suo turno di esecuzione, e può essere eseguito il codice per gestire l'evento che ha innescato l'interrupt. Voci correlate • Context switch • Scheduler • Interrupt ... — | approfondisci »

Interrupt vector

In informatica, un interrupt vector (vettore delle interruzioni) è un indirizzo di memoria del gestore di interrupt, oppure un indice ad un array, chiamato interrupt vector table o dispatch table. Le tabelle degli interrupt vector contengono gli indirizzi di memoria dei gestori di interrupt. Quando si genera una interruzione, il processore salva il suo stato di esecuzione con il context switch, ed inizia l'esecuzione del gestore di interruzione all'interrupt vector(questo procedimento avviene... —

Driver

NVidia Riva 128.jpg

prevenzione del buffer underrun). L'intera operazione di masterizzazione può essere descritta nel seguente modo: 1. Il processo masterizzatore chiede al sistema operativo l'uso esclusivo della periferica (procedura di acquisizione)• Se la periferica è già occupata, il processo riceve una condizione di errore o si mette in attesa della fine dell'operazione 1. Il processo masterizzatore invia i primi dati di inizializzazione al masterizzatore e si sospende (procedura d'uso che termina in context switch) 2... — | approfondisci »

Scheduler

Lo scheduler è un componente fondamentale dei sistemi operativi multitasking, cioè quelli in grado di eseguire più processi (task) concorrentemente. Lo scheduler si occupa di fare avanzare un processo interrompendone temporaneamente un altro, realizzando così un cambiamento di contesto (context switch). Generalmente computer con un processore sono in grado di eseguire un programma per volta, quindi per poter far convivere più task è necessario usare lo scheduler. Esistono vari algoritmi di... — | approfondisci »

Time-sharing

centrale viene utilizzata per rispondere alle richieste dei singoli utenti, passando rapidamente da uno all'altro (context switch) dando così l'impressione ad ognuno di avere a disposizione il computer centrale interamente per sé ovvero dando l'impressione di un processamento multiplo in parallelo di più processi verso più utenti. Dal momento che i primi computer mainframe erano estremamente costosi, non era possibile garantire l'accesso esclusivo ad un singolo utilizzatore per l'uso in modo... — | approfondisci »

Texas Instruments TMS9900

dove era necessario il salvataggio dell'intero set di registri per compiere un context switch. Tale caratteristica era a quei tempi sensata in quanto le memorie RAM erano spesso più veloci delle CPU. Il risultato finale si traduceva in una più veloce risposta agli interrupt, così come la gestione delle subroutine. I registri mappati nella RAM non erano l'unica caratteristica positiva del chip. Il 9900 infatti era dotato di una buona gestione degli interrupt ed un ottimo set di istruzioni. L'I/O... — | approfondisci »

TinyOS

wireless di sensori non dovrebbero svolgere elaborazioni intensive. Uno dei primi suggerimenti di TinyOS programming, il manuale di riferimento per i programmatori, recita: "Keep tasks short", "fai in modo che le sezioni di codice dei task siano brevi". Gli scopi dichiarati dei progettisti di TinyOS sono: Per raggiungere questi scopi sono state fatte delle scelte che escludono l'utilizzo dei meccanismi delle interruzioni software e dei cambi di contesto (context switch); tali scelte massimizzano il... — | approfondisci »

Multitasking

In informatica, un sistema operativo con supporto per il multitasking (multiprocessualità) permette di eseguire più programmi contemporaneamente: se ad esempio viene chiesto al sistema di eseguire contemporaneamente due processi A e B, la CPU eseguirà per qualche istante il processo A, poi per qualche istante il processo B, poi tornerà ad eseguire il processo A e così via. Il passaggio dal processo A al processo B e viceversa viene definito "cambio di contesto" (context switch). Le decisioni... — | approfondisci »

Pre-rilascio

La preemption (o pre-rilascio) è, in informatica, l'operazione in cui un processo viene temporaneamente interrotto e portato al di fuori della CPU, senza alcuna richiesta di cooperazione e con l'intenzione di ripristinarlo in un secondo momento, per dare spazio ad un altro processo a priorità più alta. Tale scambio è noto come context switch (o cambiamento di contesto). Il pre-rilascio può avvenire tramite uno scheduler, che ha il compito di interrompere e/o ripristinare i processi presenti... — | approfondisci »

Translation Lookaside Buffer

per ogni operazione in memoria, e il risultante indirizzo fisico è inviato alla cache. Entrambe le soluzioni possiedono pregi e difetti. La cache indirizzata virtuale non richiede l'accesso al TLB ma deve essere, in ambiente multiprocessing, invalidata ad ogni Context Switch (cambiamento di processo) . Un'ottimizzazione comune per la cache a indirizzamento fisico consiste nell'effettuare la ricerca nel TLB in parallelo con l'accesso alla cache. I bit meno significativi di ogni indirizzo virtuale... — | approfondisci »

CPU

Pentium d 820.jpg

o più (a volte molti di più) cicli di clock per completare una istruzione; è possibile specificare la posizione dei dati necessari alle istruzioni usando molti metodi di indirizzamento diversi. Il ridotto numero di registri interni obbliga questi processori a scrivere in memoria ogni volta che si verifica una chiamata di funzione, che si verifica un context switch o che viene salvato un registro nello stack. Programmare in Assembler una CPU CISC è un compito (relativamente) facile, perché le... — | approfondisci »