Untitled
48 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

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?

  • 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?

  • 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'?

  • 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?

<p>Il processo ha terminato la sua esecuzione o è stato rilasciato. (D)</p> Signup and view all the answers

Un processo in stato 'blocked-suspend' può ritornare allo stato 'blocked' (in memoria principale) anche se ancora in attesa dell'evento. Perché?

<p>Perché ha una priorità maggiore rispetto ai processi in 'ready-suspend'. (D)</p> Signup and view all the answers

Qual è l'obiettivo principale dello scheduler dei processi in un sistema operativo?

<p>Amministrare l'ordine in cui i processi vengono eseguiti per ottimizzare le prestazioni. (A)</p> Signup and view all the answers

Quali sono i tre tipi di scheduler che un sistema operativo può prevedere?

<p>Scheduler a breve termine, scheduler a medio termine e scheduler a lungo termine. (C)</p> Signup and view all the answers

Come sono tipicamente strutturati i tre tipi di scheduler (lungo, medio e breve termine) in relazione tra loro?

<p>Come tre cicli annidati, dal lungo al medio al breve termine. (B)</p> Signup and view all the answers

Qual è il principale vantaggio nell'utilizzo di thread a livello utente rispetto ai thread a livello kernel?

<p>Il cambio di thread a livello utente non richiede privilegi in modalità kernel, riducendo il sovraccarico. (B)</p> Signup and view all the answers

Quale delle seguenti affermazioni descrive accuratamente un limite nell'uso di thread a livello utente in relazione alle chiamate di sistema?

<p>Le chiamate di sistema eseguite da un thread bloccano l'intero processo, interrompendo l'esecuzione di tutti i thread appartenenti a quel processo. (D)</p> Signup and view all the answers

In che modo l'utilizzo di thread a livello utente influisce sulla capacità di un'applicazione di sfruttare il multiprocessing?

<p>Un kernel assegna un solo processo ad un solo processore alla volta, quindi solo un thread per processo è in esecuzione in un dato istante. (C)</p> Signup and view all the answers

In un sistema che utilizza l'algoritmo Round Robin, cosa succede quando un processo I/O-bound si blocca in attesa di un evento?

<p>Viene sostituito da un altro processo e ritorna nella coda dei Ready quando l'evento si verifica. (A)</p> Signup and view all the answers

Quale aspetto della gestione dei thread è gestito direttamente dalla libreria dei thread a livello utente?

<p>La schedulazione e il cambio di contesto tra i thread all'interno dello stesso processo. (D)</p> Signup and view all the answers

Qual è uno svantaggio principale dell'algoritmo Round Robin in termini di equità nell'assegnazione della CPU?

<p>Può portare a una suddivisione non equa del tempo di CPU tra processi CPU-bound e I/O-bound. (A)</p> Signup and view all the answers

Cosa viene salvato e ripristinato durante un cambio di contesto tra thread gestiti da una libreria a livello utente?

<p>Il contesto è formato dal Program Counter (PC) e dagli stack pointer. (D)</p> Signup and view all the answers

Quale dei seguenti meccanismi è utilizzato dai sistemi operativi o dai linguaggi di programmazione per supportare la mutua esclusione?

<p>Tecniche di scambio di messaggi (Inter Processor Communication), semafori e monitor. (D)</p> Signup and view all the answers

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?

<p>Il thread continua a essere in stato di running a livello della libreria, anche se non è effettivamente in esecuzione sul processore fisico. (B)</p> Signup and view all the answers

Come viene calcolato il Response Ratio nell'algoritmo Highest Response Ratio Next (HRRN)?

<p>$(w + s) / s$, dove w è il tempo speso in coda e s è il tempo di servizio previsto. (D)</p> Signup and view all the answers

Nell'algoritmo di Dekker, cosa rappresenta la variabile condivisa 'turno'?

<p>Specifica quale processo ha il diritto di insistere nel tentativo di entrare nella propria sezione critica. (D)</p> Signup and view all the answers

Qual è il principale svantaggio nell'utilizzo della disattivazione degli interrupt come meccanismo di mutua esclusione in un sistema monoprocessore?

<p>Rallenta l'esecuzione generale del sistema perché l'OS non può interrompere i processi a piacimento. (A)</p> Signup and view all the answers

Qual è il vantaggio principale dell'algoritmo Highest Response Ratio Next (HRRN) rispetto ad altri algoritmi di scheduling?

<p>Evita la starvation dei processi più lunghi nel tempo. (C)</p> Signup and view all the answers

Come può un'applicazione multithread a livello utente migliorare l'efficienza di esecuzione rispetto a un'applicazione single-thread?

<p>Utilizzando un algoritmo di schedulazione specifico per le proprie esigenze, ottimizzando l'uso delle risorse. (A)</p> Signup and view all the answers

Perché l'algoritmo Shortest Process Next (SPN) è considerato ottimale in termini di tempo medio di attesa?

<p>Perché favorisce i processi con il tempo di esecuzione più breve, minimizzando il tempo medio di attesa per un dato set di processi. (D)</p> Signup and view all the answers

In un contesto di mutua esclusione, quale problema sorge quando un processo viene interrotto all'interno della sua sezione critica in un sistema monoprocessore?

<p>Si possono creare condizioni di inconsistenza dei dati e violazione della mutua esclusione. (D)</p> Signup and view all the answers

Qual è un vantaggio chiave nell'implementare thread a livello utente in termini di portabilità del software?

<p>Può essere implementato su qualsiasi sistema operativo senza modificare il kernel sottostante. (D)</p> Signup and view all the answers

Perché la disattivazione degli interrupt non è una soluzione praticabile per la mutua esclusione nei sistemi SMP (Simultaneous Multiprocessing)?

<p>Perché disattivare gli interrupt su un processore non impedisce agli altri processori di accedere alla sezione critica contemporaneamente. (C)</p> Signup and view all the answers

Qual è uno svantaggio principale dell'algoritmo Shortest Process Next (SPN) senza prerilascio?

<p>Può portare alla starvation dei processi CPU-bound, se arrivano continuamente processi più brevi. (B)</p> Signup and view all the answers

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?

<p>Il nuovo processo viene eseguito immediatamente, interrompendo il processo corrente. (D)</p> Signup and view all the answers

Nell'algoritmo di Dekker, se P0 vuole entrare nella sezione critica e trova che il flag di P1 è TRUE, quale azione intraprende P0?

<p>Controlla la variabile 'turno' per determinare se ha il diritto di accedere. (C)</p> Signup and view all the answers

Qual è lo scopo principale dell'algoritmo di Dekker?

<p>Garantire il principio di mutua esclusione tra due processi. (D)</p> Signup and view all the answers

In che modo l'algoritmo Shortest Process Next (SPN) con prerilascio differisce dall'algoritmo Shortest Process Next (SPN) senza prerilascio?

<p>SPN con prerilascio può interrompere un processo in esecuzione se arriva un processo più breve, mentre SPN senza prerilascio esegue il processo corrente fino al completamento. (D)</p> Signup and view all the answers

Quale tra le seguenti NON è una tipica soluzione software per implementare la mutua esclusione?

<p>Disattivazione degli interrupt. (A)</p> Signup and view all the answers

In un sistema SMP (Symmetric Multiprocessor), quale delle seguenti affermazioni descrive meglio la gestione delle risorse da parte del sistema operativo?

<p>Il sistema operativo aggrega le risorse di tutti i processori e le presenta all'utente come un unico sistema multiprogrammato. (B)</p> Signup and view all the answers

Quale delle seguenti sfide NON è specificamente menzionata come una preoccupazione di progettazione in sistemi operativi per sistemi multiprocessore?

<p>Minimizzazione del consumo energetico dei processori. (D)</p> Signup and view all the answers

Qual è la principale differenza tra multiprogrammazione e multiprocessing, secondo il contesto fornito?

<p>La multiprogrammazione gestisce processi multipli su un singolo processore, mentre il multiprocessing li gestisce su un sistema multiprocessore. (B)</p> Signup and view all the answers

Quale tra le seguenti è la definizione più precisa di 'Sessione Critica' nel contesto della concorrenza tra processi?

<p>Un segmento di codice in cui un processo richiede accesso esclusivo a una risorsa condivisa. (A)</p> Signup and view all the answers

In quale situazione si verifica un deadlock tra processi?

<p>Quando due o più processi sono bloccati, ognuno in attesa che l'altro rilasci una risorsa. (A)</p> Signup and view all the answers

Qual è la caratteristica principale di una situazione di livelock?

<p>I processi coinvolti cambiano continuamente il loro stato senza progredire verso la soluzione del compito. (B)</p> Signup and view all the answers

Cosa implica la 'tolleranza ai guasti' in un sistema operativo multiprocessore?

<p>La capacità del sistema di continuare a funzionare, possibilmente con prestazioni ridotte, anche in caso di guasto di uno o più processori. (D)</p> Signup and view all the answers

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?

<p>Implementare meccanismi di sincronizzazione robusti per proteggere le strutture dati del kernel da accessi concorrenti. (C)</p> Signup and view all the answers

In un ambiente di programmazione concorrente, quale delle seguenti affermazioni descrive meglio la funzione wait() in relazione a un semaforo?

<p>Decrementa il valore del semaforo e, se il valore diventa negativo, blocca il processo. (C)</p> Signup and view all the answers

Qual è la principale differenza tra un semaforo binario e un semaforo tradizionale (counting semaphore)?

<p>Il semaforo binario utilizza una variabile con valori 0 e 1, mentre il semaforo tradizionale può assumere qualsiasi valore intero. (C)</p> Signup and view all the answers

Quale vantaggio offre l'utilizzo di un monitor rispetto ai semafori nella gestione della mutua esclusione?

<p>I monitor sono un costrutto di più alto livello, semplificando la gestione della mutua esclusione in ambienti orientati agli oggetti. (D)</p> Signup and view all the answers

In un monitor, quale è il ruolo principale delle variabili di condizione?

<p>Coordinare la sospensione e la riattivazione dei processi all'interno del monitor. (D)</p> Signup and view all the answers

Quale delle seguenti affermazioni descrive correttamente la condizione di stallo (deadlock) in un sistema concorrente?

<p>Un insieme di processi è bloccato indefinitamente, ciascuno in attesa di una risorsa detenuta da un altro processo nello stesso insieme. (D)</p> Signup and view all the answers

Quale delle seguenti condizioni è necessaria, ma non sufficiente, per il verificarsi di uno stallo?

<p>Mutua esclusione, dove una risorsa può essere utilizzata da un solo processo alla volta. (B)</p> Signup and view all the answers

Cosa significa la condizione di "Hold e Wait" nel contesto dello stallo (deadlock)?

<p>Un processo mantiene il possesso di risorse già allocate mentre attende l'allocazione di nuove risorse. (C)</p> Signup and view all the answers

Quale delle seguenti affermazioni descrive meglio la condizione di “assenza di prerilascio” come causa di stallo?

<p>Le risorse possono essere rilasciate da un processo solo volontariamente, non possono essere forzate ad essere rilasciate da altri processi o dal sistema operativo. (A)</p> Signup and view all the answers

Flashcards

Stato 'blocked-suspend'

Processo bloccato e spostato in memoria di archiviazione.

Stato 'ready-suspend'

Processo pronto per l'esecuzione, ma temporaneamente spostato in memoria di archiviazione.

Scopo di 'blocked-suspend'

Trasferire un processo bloccato in memoria d'archiviazione per fare spazio.

Transizione di 'blocked-suspend'

Quando un processo 'blocked-suspend' riceve l'evento atteso.

Signup and view all the flashcards

Obiettivo dello Scheduler

Amministrare l'ordine di esecuzione dei processi per ottimizzare le prestazioni del sistema.

Signup and view all the flashcards

Scheduler a Lungo Termine (SLT)

Scheduler che gestisce l'ammissione di nuovi processi nel sistema.

Signup and view all the flashcards

Scheduler a Medio Termine (SMT)

Scheduler che gestisce lo swapping tra memoria principale e secondaria.

Signup and view all the flashcards

Scheduler a Breve Termine (SBT)

Scheduler che seleziona il processo da eseguire immediatamente.

Signup and view all the flashcards

Round Robin (Time Slice)

Strategia di scheduling che usa il prerilascio basato sul clock. Ogni processo riceve una fetta di tempo.

Signup and view all the flashcards

Suddivisione non equa (Round Robin)

Problema del Round Robin in cui processi CPU-bound ricevono meno tempo CPU rispetto ai processi I/O-bound.

Signup and view all the flashcards

Highest Response Ratio Next (HRRN)

Scheduling che seleziona il processo con il rapporto risposta/servizio più alto (w+s)/s.

Signup and view all the flashcards

Tempo di attesa (w)

Tempo speso da un processo nella coda dei Ready, in attesa del processore.

Signup and view all the flashcards

Tempo di Servizio (s)

Tempo stimato necessario per l'esecuzione completa di un processo.

Signup and view all the flashcards

Shortest Process Next (SPN)

Algoritmo che esegue per primo il processo con il tempo di esecuzione stimato più breve.

Signup and view all the flashcards

Starvation (SPN)

Problema in cui un processo CPU-bound potrebbe non essere mai eseguito a causa di processi più brevi che arrivano continuamente.

Signup and view all the flashcards

SPN con Prerilascio

SPN con prerilascio: se arriva un processo più corto, interrompe il processo in esecuzione.

Signup and view all the flashcards

Thread a livello utente

In un'applicazione, un'unità di esecuzione gestita a livello utente.

Signup and view all the flashcards

Funzione 'spawn'

Funzionalità di una libreria per thread che serve a creare nuovi thread.

Signup and view all the flashcards

Contesto di un thread

Area di memoria che contiene lo stato di un thread (PC e stack pointer).

Signup and view all the flashcards

Vantaggio: Nessun cambio di modalità kernel

Il cambio di contesto tra thread non richiede privilegi di kernel.

Signup and view all the flashcards

Vantaggio: Scheduling personalizzato

Ogni applicazione può definire il proprio algoritmo di scheduling dei thread.

Signup and view all the flashcards

Vantaggio: Portabilità

Non richiede modifiche al kernel del sistema operativo.

Signup and view all the flashcards

Svantaggio: Blocco chiamate di sistema

Una chiamata di sistema bloccante blocca tutti i thread dello stesso processo.

Signup and view all the flashcards

Svantaggio: Nessun vero multiprocessing

Limitato alla capacità di un singolo processo di usare un solo processore alla volta.

Signup and view all the flashcards

SMP (Multiprocessore Simmetrico)

Sistema multiprocessore con memoria centralizzata condivisa, operante sotto un unico sistema operativo.

Signup and view all the flashcards

Visione dell’utente in SMP

Far sembrare un sistema multiprocessore come un unico sistema con multiprogrammazione.

Signup and view all the flashcards

Concorrenza tra Processi/Thread del Kernel

Esecuzione simultanea che non compromette le strutture del SO ed evita blocchi.

Signup and view all the flashcards

Schedulazione in SMP

Necessità di evitare conflitti nell'assegnazione dei processori ai processi.

Signup and view all the flashcards

Sincronizzazione in SMP

Mutua esclusione e ordinamento degli eventi per evitare condizioni di race.

Signup and view all the flashcards

Gestione della memoria condivisa

Gestione dell'area di memoria accessibile da tutti i processori.

Signup and view all the flashcards

Tolleranza ai guasti in SMP

Capacità di continuare a operare anche se un processore smette di funzionare.

Signup and view all the flashcards

Sessione Critica

Porzione di codice che accede a risorse condivise.

Signup and view all the flashcards

Istruzioni macchina per mutua esclusione

Istruzioni macchina (test-set, scambio) che riducono il sovraccarico ma non sono pienamente soddisfacenti.

Signup and view all the flashcards

Supporto software per mutua esclusione

Meccanismi forniti dal sistema operativo o dal linguaggio di programmazione per la gestione della mutua esclusione.

Signup and view all the flashcards

Algoritmo di Dekker

Algoritmo che permette a due processi di accedere in mutua esclusione a una risorsa condivisa.

Signup and view all the flashcards

Flag di un processo (Dekker)

Variabile associata a ciascun processo che indica se il processo intende entrare nella sezione critica.

Signup and view all the flashcards

Variabile 'turno' (Dekker)

Variabile condivisa che specifica quale processo ha il diritto di tentare l'accesso alla sezione critica.

Signup and view all the flashcards

Mutua esclusione in sistemi monoprocessore

In un sistema monoprocessore, la mutua esclusione è garantita finché non si interrompe un processo nella sua sezione critica.

Signup and view all the flashcards

Disattivazione degli interrupt

Disattivare temporaneamente gli interrupt per evitare cambi di processo durante la sezione critica.

Signup and view all the flashcards

Limitazioni della disattivazione degli interrupt

La disattivazione degli interrupt rallenta il sistema e non funziona in sistemi SMP (multiprocessore).

Signup and view all the flashcards

Funzione wait()

Funzione per entrare nella sezione critica; decrementa il semaforo e blocca il processo se necessario.

Signup and view all the flashcards

Funzione signal()

Funzione per uscire dalla sezione critica; incrementa il semaforo e sblocca un processo in attesa se presente.

Signup and view all the flashcards

Semaforo binario

Semaforo che usa solo i valori 0 e 1 per controllare l'accesso alle risorse.

Signup and view all the flashcards

Monitor

Costrutto di programmazione di più alto livello per la mutua esclusione, spesso implementato con oggetti.

Signup and view all the flashcards

wait() nel Monitor

Funzione del monitor per sospendere un processo finché non riceve un segnale.

Signup and view all the flashcards

signal() nel Monitor

Funzione del monitor per risvegliare un processo in attesa.

Signup and view all the flashcards

Stallo (Deadlock)

Situazione in cui un insieme di processi è bloccato, ciascuno in attesa di una risorsa detenuta da un altro nello stesso insieme.

Signup and view all the flashcards

"Hold e Wait"

Un processo mantiene risorse già allocate mentre ne aspetta altre.

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à.

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.

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).

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.

Quiz Team

More Like This

Untitled
110 questions

Untitled

ComfortingAquamarine avatar
ComfortingAquamarine
Untitled Quiz
6 questions

Untitled Quiz

AdoredHealing avatar
AdoredHealing
Untitled
6 questions

Untitled

StrikingParadise avatar
StrikingParadise
Untitled Quiz
50 questions

Untitled Quiz

JoyousSulfur avatar
JoyousSulfur
Use Quizgecko on...
Browser
Browser