1/200
Flashcards per la preparazione all'esame sui sistemi operativi.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Sistema Operativo
Software che gestisce l'hardware di un calcolatore, estendendo la macchina e gestendo le risorse.
CPU
Recupera le istruzioni dalla memoria e le esegue.
Program Counter (PC)
Registro che contiene l'indirizzo di memoria della prossima istruzione da prendere.
Stack Pointer
Registro che punta alla cima dello stack in memoria.
Program Status Word (PSW)
Bit nel registro PSW che controlla la modalitá (kernel o utente).
Modalitá Kernel
Modalitá in cui la CPU ha accesso a qualsiasi istruzione e hardware.
Modalitá Utente
Modalitá in cui l'insieme di istruzioni eseguibili dalla CPU é ristretto.
Device driver
Software che da comandi e accettano risposte dai dispositivi
DMA (Direct Memory Access)
Chip che gestisce il flusso di bit tra la memoria e i controllori senza l'intervento della CPU.
Processo
Programma in esecuzione con spazio di indirizzamento e registri assegnati.
Tabella dei Processi
Tabella di sistema che memorizza informazioni su ciascun processo.
Interprocess Communication (IPC)
Come si chiama quel meccanismo grazie al quale due proocessi possono parlare tra di loro (generale)
UID (User Identification)
Identificativo univoco assegnato ad ogni persona che usa un sistema.
GID (Group Identification)
Identificativo del gruppo a cui appartiene un utente.
Superuser
Utente con permessi speciali che puó violare le regole di protezione.
PCB (Process Control Block)
Tabella di dati relativi a un processo.
Pointer to Process Memory
Puntatore ad una lista che contiene gli ID e gli stati delle pagine di memoria.
Coda Ready
Cod di processi pronti ad essere eseguiti.
Coda Wait
Coda di processi che stanno aspettando un evento.
Context Switch
Processo di salvataggio dello stato del processo precedente e caricamento di quello nuovo.
PID (Process Identifier)
Identificativo univoco del processo.
Processo Zombie
Processo figlio il cui padre non ha chiamato wait().
Processo Orfano
Processo figlio il cui padre é terminato senza chiamare wait().
Comunicazione Diretta
Metodo di IPC che connette due processi tramite un solo link, creato automaticamente.
Comunicazione Indiretta
Che tipo di comunicazione é quando usiamo una mailbox?
Messaggi Sincroni
Messaggi in cui il mittente é bloccato fino a che il messaggio non é ricevuto.
Messaggi Asincroni
Messaggi in cui il mittente invia il messaggio e continua la sua esecuzione.
Rendezvous
Situazione in cui sia l'invio che la ricezione sono bloccanti.
Socket
L'insieme di indirizzo IP e Porta
Remote procedure Call
Per quale tipo di comunicazioni, i messaggi in arrivo e in partenza vengono processati da uno stub?
Thread
le entitá schedulate per l'esecuzione nella CPU.
Multithreading
capacitá di un sistema operativo di permettere piú tracce di esecuzione concorrenti in un singolo processo.
Legge di Amdahl
Come si chiama la legge che identifica il guadagno di performance nell'aggiungere piú core ad un applicazione che ha sia componenti seriali che paralleli
Parallelismo dei dati
viene distribuito dei sottoset degli stessi dati a piú core e assegna qualche operazione ad ognuno.
Parallelismo dei compiti
Quando i thread sono distribuiti in diversi core e ogni thread esegue un singolo compito, come si chiama?
Thread impliciti ed espliciti dell'utente
Tipi di thread che possono essere creati e gestiti dall’utente
LightWeight Process
Come si chiama un'unitá di esecuzione piú leggera di un processo tradizionale.
Swapping
lo spostamento temporaneo su disco.
Tempo di Turnaround
é il tempo totale impiegato da un processo per essere completato.
Tempo di risposta
é il tempo che intercorre tra la sottomissione di un processo e la prima volta che inizia a essere eseguito.
Tempo di attesa
é il tempo totale trascorso dal processo in coda senza essere in esecuzione
MultiProcessor Scheduling
Come si chiama la pianificazione dei processori in un sistema multiprocessore
Affinitá
qual é una polita di scheduling che lega un thread o un processo a una particolare core della CPU
Bilanciamento del carico
Tiene il carico di lavoro distribuito tra tutte le core
Soft affinity
Ne bilanciamento del carico tiene il carico di lavoro distribuito tra tutte le core, Nel sistema preferisce essguire un thread su un certo core, ma non impedisce la migrazione verso altri core se necessario
Affinity
Ne bilanciamento del carico tiene il carico di lavoro distribuito tra tutte le core, impone che un thread venga eseguito solo su un sottoinsieme specifico di core. Questa tecnica é usata per migliorare le prestazioni di applicazioni real-time.
Real time CPU scheduling
qual é una strategia di gestione della CPU progettata per garantire che i processi critici vengano eseguiti entro vincoli di tempo specifici.
Tempo di latenza di Interrupt
Tempo da quando arriva il segnale di interrupt a quando viene iniziare la routine di interruzione
Dispatcher
Come si chiama il controllore che passa il controllo della CPU al processo selezionato nella fase di scheduling?
Algoritmo O(1)
L'algoritmo di scheduling basato su code di prioritá che opera in tempo costante, indipendentemente dal numero di processi
Algoritmo CFS (Completely Fair Scheduler)
Algoritmo di schedulazione dei processi che garantisce una condivisione equa della CPU tra tutti i processi, utilizzando una struttura dati ad albero rosso-nero per ordinare i processi in base al loro tempo virtuale di esecuzione.
Ogni processo riceve la CPU in modo proporzionale alla sua priorità, senza usare time slice fissi, ma decidendo dinamicamente il tempo di esecuzione.
Mutex Lock
Utilizzato nei sistemi operativi per garantire che solo un processo alla volta possa accedere a una risorsa condivisa o a una sezione critica
Spinlock
Come si chiama un loop all'interno di un thread che controlla se la risorsa é disponibile.
Semafori
Meccanismo di sincronizzazione usato per gestire l'accesso a risorse condivise tra piú processi o thread
Monitor
Struttura di sincronizzazione che permette l’accesso esclusivo a una sezione critica attraverso l’uso di variabili condizionali e meccanismi di mutua esclusione integrati, facilitando la gestione della concorrenza nei programmi.
Single Source Allocation
si riferisce a una situazione in cui ogni risorsa di un certo tipo puó essere allocata a un solo processo alla volta.
Scheduling
il processo con cui il sistema operativo decide quale processo o thread eseguire e per quanto tempo sulla CPU o su altre risorse
Liveness
si riferisce alla capacitá di un sistema di garantire che i processi continuino a fare progressi e non rimangano bloccati indefinitamente.
Deadlock
come si chiama quella situazione che si verifica quando un insieme di processi richiede risorse che sono giá in uso da altri processi, creando una situazione di attesa reciproca.
Riutilizzabili
Le risorse che possono essere utilizzate da un solo processo alla volta, vengono allocate, utilizzate e successivamente rilasciate per altri processi
Consumabili
Le risorse che vengono generate da un processo e consumate da un altro(ad esempio i segnali, i messaggi o le interruzioni)
Mutual exclusion
Condizione per la quale i processi devono accedere uno alla volta a una determinata risorsa
Hold and Wait
un processo giá in possesso di risorse ne attende altre senza rilasciare quelle giá assegnate
No preemption
Una risorsa non puó essere sottratta a un processo, ma deve essere rilasciata volontariamente
Circular Waiting
Esiste una catena circolare di processi in cui ciascuno aspetta una risorsa detenuta dal successivo della catena
Resource Allocation Graph(RAG)
un modo per rappresentare l'allocazione delle risorse nei sistemi operativi, é utilizzato specialmente per identificare la presenza di deadlock.
Claim Edge
un concetto usato nei RAG per rappresentare una richiesta potenziale di una risorsa da parte di un processo, senza che la risorsa sia ancora stata effettivamente allocata.
Algoritmo di prevenzione del deadlock tramite un grafo delle risorse con claim edge
controlla che la richiesta effettuata dal claim edge non comporti la creazione di un ciclo e quindi di un deadlock.
Algoritmo dei Banchieri
Algoritmo utilizzato per evitare il deadlock nell'allocazione delle risorse. Simula l'assegnazione delle risorse richieste da un processo e verifica se il sistema rimane in uno stato sicuro. Se lo stato è sicuro, le risorse vengono allocate; altrimenti, la richiesta viene posticipata.
Deadlock Detection
é un approccio in cui il sistema permette il verificarsi del deadlock e poi cerca di rilevarlo e risolverlo
Resource Allocation Graph (RAG)
É un metodo per individuare il deadlock quanto ogni tipo di risorsa ha una sola istanza(cioé non esistono piú copie della stessa risorsa) disponibile nel sistema.
Resource Allocation Graph (RAG)
é un metodo per individuare il deadlock Se c'é un ciclo allora significa che c'é un deadlock
Multiple Istance per Risorsa
che approccio é quando ogni tipo di risorsa puó avere piú di un istanza disponibile(ogni tipo di risorsa ha piú copie disponibili).
Memoria principale
È la memoria del computer che conserva i dati e i programmi in esecuzione in modo temporaneo durante l’elaborazione.
Ha accesso diretto e veloce da parte della CPU, ma perde il contenuto quando il sistema viene spento.
Page Table base Register (PTBR)
indica l'inizio della tabella delle pagine
Page Table Length Register (PTLR)
Specifica la dimensione della tabella delle pagine, aiutando a controllare che gli accessi siano validi
Translation Lookaside Buffer (TLB)
Memorizza le traduzioni(mapping) piú recenti degli indirizzi virtuali a quelli fisici
Dynamic Loading
Tecnica in cui un programma carica in memoria solamente le parti di codice e i dati che gli servono in quel momento, invece di caricare l'intero programma dall'inizio
linking
il processo che collega il codice scritto dal programmatore con le librerie e altri moduli necessari per eseguire il programma.
Buddy system
Invece di avere partizioni completamente variabili, la memoria viene suddivisa ricorsivamente in coppie di dimensioni via via minori, l'obiettivo é ridurre la frammentazione esterna
Stream
è un canale di comunicazione full-duplex tra un processo utente e un dispositivo I/O. I dati possono quindi andare in entrambe le direzioni contemporaneamente
Software che estende la macchina hardware e gestisce le risorse, fornendo servizi tramite chiamate di sistema
Cos’è un sistema operativo?
Processori, memoria principale, dischi, dispositivi di I/O e bus di sistema
Quali componenti hardware controlla il SO?
Registro della CPU che contiene l’indirizzo della prossima istruzione
Che cos’é il Program Counter(PC)?
Punta alla cima dello stack corrente, usato per frame di procedura.
A che cosa serve lo Stack Pointer?
Modalitá utente(istruzioni limitate) e modalitá kernel (privilegiata)
Quali modalitá di esecuzione esistono in una CPU?
Istruzione hardware o software che passa il controllo al kernel, usata per syscall o eccezioni
Che cosa é una trap?
Registri CUPU → cache → ram → disco magnetico → nastro
Elenca i livelli della gerarchia di memoria
Hit: dato in cache → accesso veloce; Miss: serve RAM→ accesso piú lento
Differenza tra cache hit e cache miss
Chip che interfaccia dispositivo e CPU, gestito via driver kernel
Cos’é un controllore di I/O?
Controllore avvia I/O, poi quando termina genera IRQ; CPU salva contesto e chiama Handler.
Come funziona un interruppt da dispositivo?
Copia blocchi tra memoria e dispositivo senza CPU, riducendo l’overhead.
A cosa serve il DMA?
Programma in esecuzione con spazio di indirizzamento e PCP (Process Control Block)
Definisci Processo
PID, stato, registri, PC, SP, lista file aperti, limiti memoria, parent/child, prioritá
Cosa contiene un PCB?
Ready, Running, Waiting, Terminated
Quali stati puó assumere un processo?
Salvataggio/ripristino di PCB e registri per cambiare processo, genera overhead.
Cos’é il content switch?
Con duplicazione(foro) o esecuzione di un programma differente attraverso syscall.
Come si crea un processo figlio?
Diventa zombie(risorse non deallocate finché il padre non chiama wait
Cosa succede se un figlio termina senza wait() del padre?
Figlio diventa orfano e viene adottato da init.
Cosa succede se il padre termina senza wait sul figlio?
Identificativi di utente e gruppo; ogni processo eredita UID del creatore.
Che cosa sono UID e GID?