Podcast
Questions and Answers
In quale stato si trova un processo che è stato spostato dalla memoria principale alla memoria di archiviazione mentre è in attesa di un evento?
In quale stato si trova un processo che è stato spostato dalla memoria principale alla memoria di archiviazione mentre è in attesa di un evento?
- Blocked-suspend (correct)
- Ready-suspend
- Running
- Ready
Quando un processo in stato di 'blocked-suspend' riceve l'evento che stava aspettando, in quale stato può transitare?
Quando un processo in stato di 'blocked-suspend' riceve l'evento che stava aspettando, in quale stato può transitare?
- Solo nello stato 'ready'.
- Nello stato 'ready-suspend' o 'ready'. (correct)
- Solo nello stato 'blocked'.
- Solo nello stato 'ready-suspend'.
In quale situazione un processo in stato di 'ready' può essere spostato nello stato di 'ready-suspend'?
In quale situazione un processo in stato di 'ready' può essere spostato nello stato di 'ready-suspend'?
- Quando termina la sua esecuzione.
- Quando viene creato il processo.
- Quando attende un evento esterno.
- Quando un processo con priorità maggiore richiede spazio in memoria. (correct)
Quale delle seguenti affermazioni descrive meglio lo stato 'exit' di un processo?
Quale delle seguenti affermazioni descrive meglio lo stato 'exit' di un processo?
Un processo in stato 'blocked-suspend' può ritornare allo stato 'blocked' (in memoria principale) anche se ancora in attesa dell'evento. Perché?
Un processo in stato 'blocked-suspend' può ritornare allo stato 'blocked' (in memoria principale) anche se ancora in attesa dell'evento. Perché?
Qual è l'obiettivo principale dello scheduler dei processi in un sistema operativo?
Qual è l'obiettivo principale dello scheduler dei processi in un sistema operativo?
Quali sono i tre tipi di scheduler che un sistema operativo può prevedere?
Quali sono i tre tipi di scheduler che un sistema operativo può prevedere?
Come sono tipicamente strutturati i tre tipi di scheduler (lungo, medio e breve termine) in relazione tra loro?
Come sono tipicamente strutturati i tre tipi di scheduler (lungo, medio e breve termine) in relazione tra loro?
Qual è il principale vantaggio nell'utilizzo di thread a livello utente rispetto ai thread a livello kernel?
Qual è il principale vantaggio nell'utilizzo di thread a livello utente rispetto ai thread a livello kernel?
Quale delle seguenti affermazioni descrive accuratamente un limite nell'uso di thread a livello utente in relazione alle chiamate di sistema?
Quale delle seguenti affermazioni descrive accuratamente un limite nell'uso di thread a livello utente in relazione alle chiamate di sistema?
In che modo l'utilizzo di thread a livello utente influisce sulla capacità di un'applicazione di sfruttare il multiprocessing?
In che modo l'utilizzo di thread a livello utente influisce sulla capacità di un'applicazione di sfruttare il multiprocessing?
In un sistema che utilizza l'algoritmo Round Robin, cosa succede quando un processo I/O-bound si blocca in attesa di un evento?
In un sistema che utilizza l'algoritmo Round Robin, cosa succede quando un processo I/O-bound si blocca in attesa di un evento?
Quale aspetto della gestione dei thread è gestito direttamente dalla libreria dei thread a livello utente?
Quale aspetto della gestione dei thread è gestito direttamente dalla libreria dei thread a livello utente?
Qual è uno svantaggio principale dell'algoritmo Round Robin in termini di equità nell'assegnazione della CPU?
Qual è uno svantaggio principale dell'algoritmo Round Robin in termini di equità nell'assegnazione della CPU?
Cosa viene salvato e ripristinato durante un cambio di contesto tra thread gestiti da una libreria a livello utente?
Cosa viene salvato e ripristinato durante un cambio di contesto tra thread gestiti da una libreria a livello utente?
Quale dei seguenti meccanismi è utilizzato dai sistemi operativi o dai linguaggi di programmazione per supportare la mutua esclusione?
Quale dei seguenti meccanismi è utilizzato dai sistemi operativi o dai linguaggi di programmazione per supportare la mutua esclusione?
In un sistema operativo che supporta thread a livello utente, cosa succede allo stato di un thread quando il processo a cui appartiene viene bloccato?
In un sistema operativo che supporta thread a livello utente, cosa succede allo stato di un thread quando il processo a cui appartiene viene bloccato?
Come viene calcolato il Response Ratio nell'algoritmo Highest Response Ratio Next (HRRN)?
Come viene calcolato il Response Ratio nell'algoritmo Highest Response Ratio Next (HRRN)?
Nell'algoritmo di Dekker, cosa rappresenta la variabile condivisa 'turno'?
Nell'algoritmo di Dekker, cosa rappresenta la variabile condivisa 'turno'?
Qual è il principale svantaggio nell'utilizzo della disattivazione degli interrupt come meccanismo di mutua esclusione in un sistema monoprocessore?
Qual è il principale svantaggio nell'utilizzo della disattivazione degli interrupt come meccanismo di mutua esclusione in un sistema monoprocessore?
Qual è il vantaggio principale dell'algoritmo Highest Response Ratio Next (HRRN) rispetto ad altri algoritmi di scheduling?
Qual è il vantaggio principale dell'algoritmo Highest Response Ratio Next (HRRN) rispetto ad altri algoritmi di scheduling?
Come può un'applicazione multithread a livello utente migliorare l'efficienza di esecuzione rispetto a un'applicazione single-thread?
Come può un'applicazione multithread a livello utente migliorare l'efficienza di esecuzione rispetto a un'applicazione single-thread?
Perché l'algoritmo Shortest Process Next (SPN) è considerato ottimale in termini di tempo medio di attesa?
Perché l'algoritmo Shortest Process Next (SPN) è considerato ottimale in termini di tempo medio di attesa?
In un contesto di mutua esclusione, quale problema sorge quando un processo viene interrotto all'interno della sua sezione critica in un sistema monoprocessore?
In un contesto di mutua esclusione, quale problema sorge quando un processo viene interrotto all'interno della sua sezione critica in un sistema monoprocessore?
Qual è un vantaggio chiave nell'implementare thread a livello utente in termini di portabilità del software?
Qual è un vantaggio chiave nell'implementare thread a livello utente in termini di portabilità del software?
Perché la disattivazione degli interrupt non è una soluzione praticabile per la mutua esclusione nei sistemi SMP (Simultaneous Multiprocessing)?
Perché la disattivazione degli interrupt non è una soluzione praticabile per la mutua esclusione nei sistemi SMP (Simultaneous Multiprocessing)?
Qual è uno svantaggio principale dell'algoritmo Shortest Process Next (SPN) senza prerilascio?
Qual è uno svantaggio principale dell'algoritmo Shortest Process Next (SPN) senza prerilascio?
Cosa accade in un sistema che utilizza l'algoritmo Shortest Process Next (SPN) con prerilascio, quando arriva un nuovo processo con un tempo di CPU inferiore a quello rimanente del processo in esecuzione?
Cosa accade in un sistema che utilizza l'algoritmo Shortest Process Next (SPN) con prerilascio, quando arriva un nuovo processo con un tempo di CPU inferiore a quello rimanente del processo in esecuzione?
Nell'algoritmo di Dekker, se P0 vuole entrare nella sezione critica e trova che il flag di P1 è TRUE, quale azione intraprende P0?
Nell'algoritmo di Dekker, se P0 vuole entrare nella sezione critica e trova che il flag di P1 è TRUE, quale azione intraprende P0?
Qual è lo scopo principale dell'algoritmo di Dekker?
Qual è lo scopo principale dell'algoritmo di Dekker?
In che modo l'algoritmo Shortest Process Next (SPN) con prerilascio differisce dall'algoritmo Shortest Process Next (SPN) senza prerilascio?
In che modo l'algoritmo Shortest Process Next (SPN) con prerilascio differisce dall'algoritmo Shortest Process Next (SPN) senza prerilascio?
Quale tra le seguenti NON è una tipica soluzione software per implementare la mutua esclusione?
Quale tra le seguenti NON è una tipica soluzione software per implementare la mutua esclusione?
In un sistema SMP (Symmetric Multiprocessor), quale delle seguenti affermazioni descrive meglio la gestione delle risorse da parte del sistema operativo?
In un sistema SMP (Symmetric Multiprocessor), quale delle seguenti affermazioni descrive meglio la gestione delle risorse da parte del sistema operativo?
Quale delle seguenti sfide NON è specificamente menzionata come una preoccupazione di progettazione in sistemi operativi per sistemi multiprocessore?
Quale delle seguenti sfide NON è specificamente menzionata come una preoccupazione di progettazione in sistemi operativi per sistemi multiprocessore?
Qual è la principale differenza tra multiprogrammazione e multiprocessing, secondo il contesto fornito?
Qual è la principale differenza tra multiprogrammazione e multiprocessing, secondo il contesto fornito?
Quale tra le seguenti è la definizione più precisa di 'Sessione Critica' nel contesto della concorrenza tra processi?
Quale tra le seguenti è la definizione più precisa di 'Sessione Critica' nel contesto della concorrenza tra processi?
In quale situazione si verifica un deadlock tra processi?
In quale situazione si verifica un deadlock tra processi?
Qual è la caratteristica principale di una situazione di livelock?
Qual è la caratteristica principale di una situazione di livelock?
Cosa implica la 'tolleranza ai guasti' in un sistema operativo multiprocessore?
Cosa implica la 'tolleranza ai guasti' in un sistema operativo multiprocessore?
In un sistema SMP, quale aspetto è fondamentale per garantire che l'esecuzione concorrente di processi e thread del kernel avvenga senza compromettere l'integrità del sistema operativo?
In un sistema SMP, quale aspetto è fondamentale per garantire che l'esecuzione concorrente di processi e thread del kernel avvenga senza compromettere l'integrità del sistema operativo?
In un ambiente di programmazione concorrente, quale delle seguenti affermazioni descrive meglio la funzione wait()
in relazione a un semaforo?
In un ambiente di programmazione concorrente, quale delle seguenti affermazioni descrive meglio la funzione wait()
in relazione a un semaforo?
Qual è la principale differenza tra un semaforo binario e un semaforo tradizionale (counting semaphore)?
Qual è la principale differenza tra un semaforo binario e un semaforo tradizionale (counting semaphore)?
Quale vantaggio offre l'utilizzo di un monitor rispetto ai semafori nella gestione della mutua esclusione?
Quale vantaggio offre l'utilizzo di un monitor rispetto ai semafori nella gestione della mutua esclusione?
In un monitor, quale è il ruolo principale delle variabili di condizione?
In un monitor, quale è il ruolo principale delle variabili di condizione?
Quale delle seguenti affermazioni descrive correttamente la condizione di stallo (deadlock) in un sistema concorrente?
Quale delle seguenti affermazioni descrive correttamente la condizione di stallo (deadlock) in un sistema concorrente?
Quale delle seguenti condizioni è necessaria, ma non sufficiente, per il verificarsi di uno stallo?
Quale delle seguenti condizioni è necessaria, ma non sufficiente, per il verificarsi di uno stallo?
Cosa significa la condizione di "Hold e Wait" nel contesto dello stallo (deadlock)?
Cosa significa la condizione di "Hold e Wait" nel contesto dello stallo (deadlock)?
Quale delle seguenti affermazioni descrive meglio la condizione di “assenza di prerilascio” come causa di stallo?
Quale delle seguenti affermazioni descrive meglio la condizione di “assenza di prerilascio” come causa di stallo?
Flashcards
Stato 'blocked-suspend'
Stato 'blocked-suspend'
Processo bloccato e spostato in memoria di archiviazione.
Stato 'ready-suspend'
Stato 'ready-suspend'
Processo pronto per l'esecuzione, ma temporaneamente spostato in memoria di archiviazione.
Scopo di 'blocked-suspend'
Scopo di 'blocked-suspend'
Trasferire un processo bloccato in memoria d'archiviazione per fare spazio.
Transizione di 'blocked-suspend'
Transizione di 'blocked-suspend'
Signup and view all the flashcards
Obiettivo dello Scheduler
Obiettivo dello Scheduler
Signup and view all the flashcards
Scheduler a Lungo Termine (SLT)
Scheduler a Lungo Termine (SLT)
Signup and view all the flashcards
Scheduler a Medio Termine (SMT)
Scheduler a Medio Termine (SMT)
Signup and view all the flashcards
Scheduler a Breve Termine (SBT)
Scheduler a Breve Termine (SBT)
Signup and view all the flashcards
Round Robin (Time Slice)
Round Robin (Time Slice)
Signup and view all the flashcards
Suddivisione non equa (Round Robin)
Suddivisione non equa (Round Robin)
Signup and view all the flashcards
Highest Response Ratio Next (HRRN)
Highest Response Ratio Next (HRRN)
Signup and view all the flashcards
Tempo di attesa (w)
Tempo di attesa (w)
Signup and view all the flashcards
Tempo di Servizio (s)
Tempo di Servizio (s)
Signup and view all the flashcards
Shortest Process Next (SPN)
Shortest Process Next (SPN)
Signup and view all the flashcards
Starvation (SPN)
Starvation (SPN)
Signup and view all the flashcards
SPN con Prerilascio
SPN con Prerilascio
Signup and view all the flashcards
Thread a livello utente
Thread a livello utente
Signup and view all the flashcards
Funzione 'spawn'
Funzione 'spawn'
Signup and view all the flashcards
Contesto di un thread
Contesto di un thread
Signup and view all the flashcards
Vantaggio: Nessun cambio di modalità kernel
Vantaggio: Nessun cambio di modalità kernel
Signup and view all the flashcards
Vantaggio: Scheduling personalizzato
Vantaggio: Scheduling personalizzato
Signup and view all the flashcards
Vantaggio: Portabilità
Vantaggio: Portabilità
Signup and view all the flashcards
Svantaggio: Blocco chiamate di sistema
Svantaggio: Blocco chiamate di sistema
Signup and view all the flashcards
Svantaggio: Nessun vero multiprocessing
Svantaggio: Nessun vero multiprocessing
Signup and view all the flashcards
SMP (Multiprocessore Simmetrico)
SMP (Multiprocessore Simmetrico)
Signup and view all the flashcards
Visione dell’utente in SMP
Visione dell’utente in SMP
Signup and view all the flashcards
Concorrenza tra Processi/Thread del Kernel
Concorrenza tra Processi/Thread del Kernel
Signup and view all the flashcards
Schedulazione in SMP
Schedulazione in SMP
Signup and view all the flashcards
Sincronizzazione in SMP
Sincronizzazione in SMP
Signup and view all the flashcards
Gestione della memoria condivisa
Gestione della memoria condivisa
Signup and view all the flashcards
Tolleranza ai guasti in SMP
Tolleranza ai guasti in SMP
Signup and view all the flashcards
Sessione Critica
Sessione Critica
Signup and view all the flashcards
Istruzioni macchina per mutua esclusione
Istruzioni macchina per mutua esclusione
Signup and view all the flashcards
Supporto software per mutua esclusione
Supporto software per mutua esclusione
Signup and view all the flashcards
Algoritmo di Dekker
Algoritmo di Dekker
Signup and view all the flashcards
Flag di un processo (Dekker)
Flag di un processo (Dekker)
Signup and view all the flashcards
Variabile 'turno' (Dekker)
Variabile 'turno' (Dekker)
Signup and view all the flashcards
Mutua esclusione in sistemi monoprocessore
Mutua esclusione in sistemi monoprocessore
Signup and view all the flashcards
Disattivazione degli interrupt
Disattivazione degli interrupt
Signup and view all the flashcards
Limitazioni della disattivazione degli interrupt
Limitazioni della disattivazione degli interrupt
Signup and view all the flashcards
Funzione wait()
Funzione wait()
Signup and view all the flashcards
Funzione signal()
Funzione signal()
Signup and view all the flashcards
Semaforo binario
Semaforo binario
Signup and view all the flashcards
Monitor
Monitor
Signup and view all the flashcards
wait() nel Monitor
wait() nel Monitor
Signup and view all the flashcards
signal() nel Monitor
signal() nel Monitor
Signup and view all the flashcards
Stallo (Deadlock)
Stallo (Deadlock)
Signup and view all the flashcards
"Hold e Wait"
"Hold e Wait"
Signup and view all the flashcards
Study Notes
Ok, ecco gli appunti di studio basati sul testo fornito:
- Un sistema operativo (OS) deve essere facile da usare, efficiente e adattabile all'evoluzione hardware e alle esigenze degli utenti.
Convenienza del SO
- Il SO deve essere trasparente, nascondendo i dettagli hardware ai programmatori e fornendo una interfaccia utente.
- La struttura può essere immaginata come una piramide gerarchica, con l'hardware alla base, poi il SO, e infine i programmi e le applicazioni utente.
- Ogni livello della piramide si basa sul livello inferiore.
Servizi Offerti dal SO
- Il SO offre funzionalità come compilatori e debugger, accessibili ma non parti integranti del SO.
- Il SO facilita l' esecuzione dei programmi, caricandoli in memoria e inizializzando i dispositivi di input/output.
- L'utente ignora le istruzioni e i segnali necessari ai dispositivi di input/output grazie alla trasparenza del SO.
- Il SO gestisce il formato dei file, i meccanismi di protezione e associa ogni file ad un indirizzo di memoria.
- Il SO rileva e corregge gli errori hardware o dei programmi in esecuzione.
- Il SO analizza statisticamente le risorse del computer e i tempi di risposta per migliorare le prestazioni.
Efficienza del SO
- Il SO ha il compito di dirigere l'utilizzo delle risorse, come la CPU, e la temporizzazione dell'esecuzione dei programmi.
- Le funzioni principali del SO si chiamano KERNEL, caricate all'avvio nella memoria centrale per un rapido utilizzo.
- Il Kernel risiede in memoria con le parti del SO utili per la funzione in esecuzione e programmi/dati utilizzati.
Mono-Programmazione
- In mono-programmazione, il SO si concentra al 100% sull'esecuzione di un singolo programma con tutte le risorse dedicate.
- In memoria è presente quindi solo il programma in esecuzione e le relative istruzioni e dati.
Multi-Programmazione
- In multi-programmazione ci sono più programmi in memoria, al fine di impiegare le risorse in modo intelligente.
- Quando un job non utilizza più la CPU, essa viene utilizzata per altre istruzioni.
- Esempio: durante un'operazione di I/O, la CPU può eseguire altri utilizzi.
- Esempio: per eseguire 3 job con tempi e risorse diverse, il computer avvia in contemporanea i job, decidendo come organizzare l'uso delle risorse tramite regole di schedulazione.
- La complessità della multi-programmazione risiede nella gestione della memoria e la scelta di quale job mandare in esecuzione (schedulazione).
- Un Job è il processo di un programma, composto da codice, dati e informazioni di esecuzione necessarie al SO per gestirlo.
- Ulteriori informazioni includono i registri della CPU, priorità, stato di esecuzione e stati di attesa dei dispositivi di I/O.
Gestore della Memoria
- Occorre caricare la lista dei processi in esecuzione, tutte le loro informazioni (dati, info, codice) eparallelamente si hanno nei registri della CPU tutte le informazioni del processo in esecuzione.
- Il Context Switching è il processo di cambiamento di processo in esecuzione.
- Lo stato e i risultati del primo processo vengono memorizzati e viene caricato il secondo processo.
- Il SO deve assolvere a 5 Compiti:
- Isolamento dei processi.
- Allocazione e gestione automatica della memoria trasparente all'utente.
- Supporto alla programmazione modulare (variazione dimensione dei programmi).
- Protezione e controllo dell'accesso.
- Memorizzazione a Lungo Termine.
- Realizzate Mediante:
- Memoria Virtuale (Programmi con riferimenti logici, ignorando gli aspetti fisici, un programma in esecuzione ha solo una parte in memoria centrale).
- File Sistem (Implementa la Memorizzazione a Lungo Termine).
Schedulazione
- La schedulazione è la "tecnica" di gestione dei processi.
- Equità per tutti i processi con richieste, costi e categorie simili che devono avere le stesse di possibilità accedere alla memoria.
- Efficienza ovvero la massimizzazione dei trasporti e la minimizzazione dei tempi di riposta.
- Il tempo di risposta differenziale, il SO discrimina tra classi che hanno bisogno di risorse diverse e tempi diversi (Esempio processi che utilizzano molto i dispositivi di I/O vengono eseguiti per primi).
- Un processo è una entità eseguita su una CPU, caratterizzata da sequenze di istruzioni, stato corrente e un set di risorse.
- Istanza di un programma in esecuzione (che può entrare nella CPU).
Process Control Block
- II PCB descrive il processo attraverso il quale il SO può gestirlo, è una tabella strutturata.
- Indetificatore
- PID è il valore numerico del processo, il nome o ID del processo.
- PID del processo genitore, un processo può essere generato anche da un altro processo.
- Stato del processore
- I registri dati visibili all'utente.
- Puntatori allo stack (SP, BP) usati per procedure e funzioni.
- I registri di controllo e di stato (PSW).
- PC, indirizzo della prossima istruzione da eseguire.
- I registri di stato, che includono i flag per l'abilitazione degli interrupt.
- I registri contengono codici di condizione (segno, overflow ecc..).
- Controllo del Processorio
- Stati del processo (Running, ready, blocked, ecc…).
- Priorità nelle code di scheduling
- Informazioni correlate alla schedulazione (tempo di attesa, tempo di esecuzione, ecc…).
- Evento, di cui resta in attesa.
- Strutturazione dati, puntatori ad altri processi (Figli/padre o per l'implementazione di code).
- Comunicazione tra Processi, ovvero flag, segnali e messaggi per la comunicazione.
- Privilegi, in relazione all'uso di memoria, dispositivi, ecc...
- Gestione memoria, limiti di memoria, insieme degli indirizzi accessibili (Base, indice).
- Contabilizzazione delle risorse controllate dal processo e la loro cronologia.
- I tre blocchi possono non essere contigui in memoria o essere separati.
- La creazione di un processo di verifica durante di tre eventi, una richiesta di un utente, il SO genera un processi su richiesta utente oppure un creazione a un processo padre e figlio.
- La termiazione invece nasce durante Otto eventi:
- Terminazione normale (il processo ha terminato il suo compito).
- Uscita dell'utente dalla applicazione.
- Superamento del tempo massimo.
- Memoria non disponibile.
- Violazione dei limiti di memoria.
- Fallimento (aritmetica - I/O).
- Terminazione del genitore.
- Richiesta del genitore.
Modalità di Creazione dei Processi
- Assegnare un PID unico e aggiungere una entry level alla tabella dei processi.
- Allocare lo spazio per il processo e per i suoi elementi (PCB, User Stack, Area di memorai dati e istruzioni, aree condivise).
- Inizializzazione del PCB e dei dati secondari.
- Creare i Codici Di:
- Stato processore(default)
- PC = Prossima istruzione.
- Puntatore in base alle informazioni e dati.
- Impostare il Codice Ready
- Inserimento nella coda ready e Estensione le strutture per il fine statistico e di monitoraggio prestazioni.
Modalità di Terminazione dei Processi
- Il processo può terminare in due maniere o completamento esecutivo oppure per esito e/o uscita improvvisa dal sistema operativo.
- Cosi il Processo padre può uccidere a richiesta e per allerta errore sul processo del figlio, ciò può avvenire perché quest'ultimo ha ecceduto nell'uso delle risorse, il compito del figlio non è più richiesto o se il processo genitore è terminato (cascading termination).
- Il processo può essere eseguito in due modalità, utente e sistema (Kernel o controllo).
- In modalità utente, un processo è in uno stato caratterizzato da un numero basso di privilegi verso la memoria, l'hardware e altre risorse.
- In modalità Kernel, i processi effettuano azioni quali:
- Gestione del processo.
- Creazione e terminazione.
- Schedulazione.
- Cambio di contesto.
- Sincronizzazione.
- PCB
- Gestione della memoria.
- Allocazione.
- Trasferimento disco/RAM e viceversa.
- Gestione paginazione/segmentazione.
- Gestione I/O
- Gestione buffer.
- Allocazione canali I/O.
- Supporto
- Gestione Interruzioni
- Contabilità.
- Gestione del processo.
Context Switch
cause sono cambio del processo nella CPU con:
- Cause e Modalità:
- II clock interrupt.
- l' I/O interrupt.
- Le Memory Fault del segnale.
- Un Trap, l' operazione di sistema potrebbe da Exit.
Le operazioni svolte dal SO:
- in modo automatico per il processi in stato di running
- aggiornamento dello stato del PCB
- lo spostamento del PCB in Ready e/o BLoccato.
- Vengono aggiornate la le strutture dati e gestione.
- Aggiornamento delle memoria e selezione di un uno stato per ripristinando lo stato e contesto.
- Nel tempo detto Overhead viene fatto il context switch, non è utile all'utente che dipende dalla complessità del SO e dell'hardware.
- l sistema operativo può essere eseguito in 3 modi distinti:
- Modalità kernel separato (obsoleto).
- Risiede in una regione di memoria specifica.
- Monolitico ed Eseguito come Programma.
- Dentro i processi utente Vengono incluse librerie, programmi, dati e stack del kernel del SO.
- II SO mantiene poche funzioni (Process switch) e vi è la salvataggio e cambio di modo da kernel e viceversa.
- SO basto su processi.
- Il SO è formato da più Processi.
- Pro: interfacce semplici tra i moduli ed utile nei sistemi multi processore.
Modello a Due Stati
- Il SO sa' lo stato di ogni processo per allocare risorse e ne conosce gli stati.
- lo imposta in stato di not running, il processo esiste e attende il momento.
- cambio di stato di running e terminato la sua esecuzione, il suo stato viene aggiornato.
- lo imposta in stato di not running, il processo esiste e attende il momento.
Modello a Cinque Stati
-
Lo stato 'not running' sottintende stati diversificati in attesta di :
- Run e IO
-
Suddiviso in:
-
ready "blocked",
-
Creazione nuovi stati dei processi.
-
La fase di ready permette al SO di fare tutte le risorse
-
Bloccato attende un dispositivo specifico ed ha:
- stati:
- New creato il processo
- Ready processi pronti pronti
- Block attende un determinato evento
- Running corretta e in esecuzione e finita
- Exit, il modulo è rilasciato e terminazione dell'errore(Se il prodotto ha terminato l'azione).
- stati:
Modello a 7 Stati (Swapping)
- Inoccupazione di spazio dati bloccati in attesa di un esecuzione a lungo termine.
- Tramite lo Spamping è possibili la spostazione dalla memoria centrale, lo stato è :suspend". Ovviamente resta bloccato sino ad evento concluso.
- per questo motivo vengono introdotti due nuovi stadi:
- "blocked-suspend"
- ready-suspend
- Il livello in fase di blocked-suspend
- Ha l'evento di riattivazione verso Ready anche in Ready anche in pronto
- La fase di"blocked", può passare allo stato "blocked
- il processo in "ready-suspend" è una priorità in "ready-suspend".
- I processi di Schedulazione hanno un'ordine di esecuzione ed è essenziale per le massimizzazioni dei del sistema operativo.
- 3 tipologie: SLT (Lungo termine) , SMT (Medio ) , SBT (Breve).
- Questi 3 metodi sono composti da un annidamento da un analisi dal tempo, le informazioni essenziali sulle risorse sono quelle neccesarie all'esecuzione dimensionale.
Long Time Schedulazione
Si basano da un Comportamento processi che in base alla alla coda che sia bilanciati tra cpu e IO. Con Processore, in un limitate da il processo Lavora con
- New
- Ready i processi sospesi di stati
- Ready Suspend.
Per gli Schedulazione a Medio Termine
- Il l processo è la parte del disco con sistema di spamping.
- la riduzioni di presenza di processi l'Obbliga la schdulazione di trovare il processo giusti.
- Informazioni stabilire richiesta di PCB del processi che possono stabilizzare spazio nella coda dei pronto
- Lavora bloccaggio del pronto con:
- Bloccato
- Pronto
- Processi sospesi di stati
- Ready Suspend
- e Processo Bloccato nel Sospensione.
Short Term Scheduling
- La Schedulazione seleziona e pianifica.
- Il dispositivo al la processi ne limita la creazione a favore della sospensioni.
- Quindi l suo scopi e l'ordinamento ha un'orientamento il un obbiettivo di: -Ready -Run
Sheduling della CPU
Riguardo al metodo e distribuzione di elaborazione e attesta dei processi con:
- approccio User-Oriented e System-Oriented. Invece in sistemi System-Oriented, Evitare Starvation, Utilizzare Risorse.
- Ad Ogni Categoria ha il suoi comportamento per un sistema da il suo comportamente con i relativi risultati:
- Massimale
- Throuhgout
- Turnaround Time
In una delle Metrica(L Immissione nel sistema), i Tempi da considerare :
- tempo di attese dei processo per conflittualità con altri processi = Penabilità che si usa quando non ci connesessioni.
- Il Tempi risposta da una macchina e risposta misurabile durante e dalla connessione del suo sistema.
- L algoritmi sono di Tipo - Statisto - Dinamico
Le modello Event Drive, le catatteristiche:
- influenzare l'ordinamento schedulato per gli esterni cambiando le priorità.
- Non da la garanzia la completezza all'esecuzioni in un limitazione dell'operazioni nei tempi definiti.
Scheduler con Priorita
- Algoritmo dare un'esecuzioni ai processi in attesa
- Al suo livello si ha una grandezza sulla base livello e a sue grandezza
- La Starvariation
- Ageing:
Con Prerilascio
Ogni operazione del processo al momento può essere interotto ed ha l'assegnazione per processi di quel sistema
PRO dei processi
-
Nessun monopolizza la CPU
-
Rispetto ai processi.
-
Ricordiamo che il controllo CPU
-
Si esegue la scelta della CPU in una scala per gerarchica dall'apposito software il Dispatcher .
-
Algoritmo First Come
-
First Served - FCFS 1
-
La strategia è in prima linea da seconderia da algoritmo e e code dei processi in ready
-
Nei limiti di memoria , si tende ha favorire i processori : Processor Bound
-
sistema senza prerilascio
Algoritmo di time
-
Un algoritmo tramite prerilascio basato sua clock con tecnica è diviso in parti.
-
Limiti dovuti ha l'equità della suddivisioni per processi la codifica
-
La strategia di algoritmu e per i tempi di di interruzione: Ratio Next
-
Il servira ad impostare una grandezza di valore del
-
L'esecuzione verrà passato nei prontu con rappotto grande rapporto e l'aggiunta del ready
-
con il Short Process SNed, verrà dato meno tempo e minima l'attesa per date che
-
Sostituisce l'SPN con prerilascio e da un esecuzioni a tempo limitato di dati che
-
La coda dei pronti e del divisiore in sotto codici , la variazione dei codici va con il tipo di code ad esempio mediante un meccaniscmiazo di code fornground ed il time slicing
-
Lo schedulazione permette gli gli multi live al code multilivello
Algoritmo: Nuovo processo entra a nuova coda e la code Schedulazione multi processo con lo stesso procedimento e condivisione della Memoria
- Il modello*
- Paralilizzazione per l'esecuzioni del processi
- Ogni thread deve stare attento ha non sovvrappore due processi
- Un thread con i medessimi parametri può implementate ed ha un numero elevato in Sincrznzion
- A livello sperimantale il valore
- Gli algoritmi sono permanete per le esecuzioni di stesso processi che rientranò in code a breve termime
Il Metoto dinamico e la esecuzione dei processi su RAM e Cashe diminuzione la perda per ogni processo
L'assegnazione del Processori
La funzione di schedulazione è la gestione tra un processo e un altri per la risoluzione delle assegnazioni, con sistemi di calcola da monitorarare la richieste delle richieste.
- Thread multiprocesore con applicazioni ha cui sono eseguiti i thread separati
- Load Sharing Il codivisione di processi a sistema
SMP MICROKERNEL
Processo possiede il risosrse con informazioni sulla memoria di ogni processo.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.