Sistemi Operativi - 03: Processi
41 Questions
1 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

Quale stato indica che un processo è appena nato nel sistema?

  • Running
  • Waiting
  • Ready (to Run)
  • New (correct)
  • Un processo può esistere senza mai essere stato avviato da un altro processo.

    False

    Quali sono i cinque stati in cui può trovarsi un processo?

    New, Ready (to Run), Running, Waiting, Terminated

    Quando un processo è in stato '________', la CPU sta eseguendo il codice del processo.

    <p>Running</p> Signup and view all the answers

    Cosa implica lo stato 'Waiting' per un processo?

    <p>Il processo ha lasciato la CPU per attendere un evento.</p> Signup and view all the answers

    Abbina i seguenti stati del processo con la loro descrizione:

    <p>New = Il processo è pronto per entrare in esecuzione. Ready (to Run) = Il SO sta allestendo le strutture dati per il processo. Running = La CPU sta eseguendo il codice del processo. Waiting = Il processo attende il completamento di un evento.</p> Signup and view all the answers

    Che significato ha eliminare l’arco 'interrupt' nel diagramma di transizione degli stati di un processo?

    <p>Elimina la possibilità che un processo possa essere interrotto da un evento esterno.</p> Signup and view all the answers

    Quale chiamata di sistema viene generalmente utilizzata per terminare un processo?

    <p>exit()</p> Signup and view all the answers

    Un processo può essere terminato solo se è morto il suo processo padre.

    <p>False</p> Signup and view all the answers

    Quali sono le due categorie principali di processi basate sulle loro interazioni?

    <p>Indipendenti e cooperanti.</p> Signup and view all the answers

    In un sistema operativo, i processi cooperanti necessitano di meccanismi di ______ e ______.

    <p>comunicazione, sincronizzazione</p> Signup and view all the answers

    Abbina i seguenti termini secondo il loro significato:

    <p>exit() = Chiamata di sistema per terminare un processo kill() = Chiamata di sistema per uccidere un altro processo ram = Memoria utilizzata da un processo buffer = Spazio limitato per informazioni prodotte e consumate</p> Signup and view all the answers

    Quale delle seguenti affermazioni descrive meglio il concetto di 'cambio di contesto'?

    <p>Un'operazione che richiede tempo per passare da un processo all'altro.</p> Signup and view all the answers

    Il cambio di contesto non influisce sulle prestazioni del sistema.

    <p>False</p> Signup and view all the answers

    Qual è il costo di un cambio di contesto in termini di tempo?

    <p>Da qualche centinaio di nanosecondi a qualche microsecondo.</p> Signup and view all the answers

    La coda dei processi pronta per l'esecuzione è conosciuta come _______.

    <p>ready queue</p> Signup and view all the answers

    Abbina le seguenti code di processi con la loro descrizione:

    <p>Device queues = Code di processi in attesa per l'uso di un dispositivo di I/O Waiting queues = Code di processi in attesa di un certo evento Ready queue = Insieme dei processi pronti a essere eseguiti</p> Signup and view all the answers

    Cos'è un 'overhead' nel contesto del cambio di contesto?

    <p>Il tempo sprecato durante l'esecuzione del cambio di contesto.</p> Signup and view all the answers

    Un processo in attesa di un dispositivo di I/O è inserito nella ready queue.

    <p>False</p> Signup and view all the answers

    Qual è il ruolo del sistema operativo nella gestione dei processi?

    <p>Gestire varie code di processi.</p> Signup and view all the answers

    Quando un processo rilascia la CPU, ma non termina, il SO lo 'parcheggia' in _______.

    <p>code di attesa o waiting queues</p> Signup and view all the answers

    Qual è il compito principale del CPU Scheduler?

    <p>Sceglie un processo dalla coda di ready e lo manda in esecuzione</p> Signup and view all the answers

    Il CPU Scheduler si attiva ogni 1000 millisecondi.

    <p>False</p> Signup and view all the answers

    Quali sono le due principali code associate allo stato 'waiting' di un processo?

    <p>device queues e waiting queues</p> Signup and view all the answers

    Il CPU scheduler è anche chiamato __________.

    <p>Short Term Scheduler</p> Signup and view all the answers

    Abbina la seguente terminologia di scheduling con le loro descrizioni:

    <p>Device queues = Code di attesa per operazioni di I/O Waiting queues = Code di attesa per eventi CPU Scheduler = Sceglie i processi da eseguire Time sharing = Condivisione del tempo tra più processi</p> Signup and view all the answers

    Quale affermazione sui processi è corretta?

    <p>I processi si spostano tra le varie code durante la loro vita</p> Signup and view all the answers

    Le code di scheduling non influenzano le prestazioni del sistema.

    <p>False</p> Signup and view all the answers

    Cosa influisce sull'effetto di time sharing nel CPU Scheduler?

    <p>La frequenza con cui il CPU Scheduler si attiva</p> Signup and view all the answers

    Il CPU Scheduler deve essere molto __________ per limitare l'overhead.

    <p>veloce</p> Signup and view all the answers

    Cosa rappresenta lo stato di 'terminated' nel diagramma di transizione degli stati di un processo?

    <p>Un processo che è stato completato</p> Signup and view all the answers

    Qual è il compito principale del sistema operativo durante la creazione di un processo?

    <p>Assegna un identificatore del processo unico</p> Signup and view all the answers

    Il processo padre si ferma sempre dopo aver generato un processo figlio.

    <p>False</p> Signup and view all the answers

    Quale termine descrive il processo creato da un altro processo?

    <p>Processo figlio</p> Signup and view all the answers

    Il processo creato da un processo padre è chiamato processo ___.

    <p>figlio</p> Signup and view all the answers

    Abbina i seguenti termini con le loro definizioni:

    <p>Processo padre = Genera un nuovo processo Processo figlio = Un processo creato da un altro pid = Identificatore del processo unico PCB = Struttura dati per il controllo del processo</p> Signup and view all the answers

    Cosa fa il sistema operativo dopo la creazione di un processo?

    <p>Inserisce il PCB in coda di ready</p> Signup and view all the answers

    Ogni processo può creare al massimo un processo figlio.

    <p>False</p> Signup and view all the answers

    Quali sono le due scelte implementative principali nella creazione di un processo figlio?

    <p>Il processo padre può proseguire o fermarsi; il figlio può avere una copia del codice o eseguire un nuovo programma.</p> Signup and view all the answers

    Il processo che crea altri processi viene definito processo ___.

    <p>padre</p> Signup and view all the answers

    Abbina i seguenti concetti con le loro descrizioni:

    <p>Processo padre = Crea uno o più processi figli Coda di ready = Luogo dove i processi sono pronti per essere eseguiti System Call = Funzione per richiedere servizi dal sistema operativo Albero di processi = Struttura gerarchica di processi</p> Signup and view all the answers

    Study Notes

    Gestione dei Processi

    • I processi sono l'unità di base del lavoro del sistema operativo. Il sistema operativo gestisce la creazione, la cancellazione e lo scheduling dei processi, oltre ai meccanismi di sincronizzazione e comunicazione.
    • Un processo è più di un semplice programma, possedendo una struttura in memoria primaria suddivisa in parti: codice da eseguire, dati, stack (per chiamate a procedure e parametri) e heap (memoria dinamica).
    • L'immagine del processo è la combinazione di codice, dati, stack e heap.
    • I processi possono condividere lo stesso codice, ma un processo è un'entità attiva, mentre un programma è statica.
    • Un programma lanciato due volte può generare processi diversi.
    • Processi, task e job sono termini sinonimi.
    • Un programma si trasforma in un processo quando lanciato (doppio click o riga di comando).
    • I processi nascono da altri processi tramite system call.

    Stato del Processo

    • Un processo attraversa diversi stati durante la sua esistenza (nuovo, ammesso, in attesa, pronto, in esecuzione, terminato).
    • Lo stato di un processo evolve in base al codice eseguito e alle azioni del sistema operativo in ogni dato istante.
    • Il diagramma delle transizioni di stato di un processo mostra come lo stato di un processo cambia. Gli stati sono: nuovo, ammesso, in attesa, pronto, in esecuzione, terminato.
    • Gli stati in cui un processo può trovarsi sono: Nuovo, Pronto (to Run), In Esecuzione, In Attesa, Terminato.

    Process Control Block (PCB)

    • Ogni processo ha un PCB che contiene informazioni essenziali per gestire la sua vita.
    • Le informazioni nel PCB includono il numero del processo, il suo stato, i registri della CPU (nel momento in cui il processo è stato sospeso), gli indirizzi in RAM, i file e dispositivi I/O correlati e le informazioni per lo scheduling della CPU (tempo CPU usato).

    Scheduling dei Processi

    • La multiprogrammazione garantisce un utilizzo massimo della CPU.
    • Il Time Sharing distribuisce l'uso della CPU tra processi a intervalli prefissati.
    • Lo scheduling è il processo attraverso cui il sistema operativo decide quale processo dovrà utilizzare la CPU in un dato momento.

    Cambio di Contesto (Context Switch)

    • Il cambio di contesto è un processo necessario per commutare la CPU da un processo all'altro in un sistema time-sharing.
    • Il cambio di contesto è un'operazione che riprende il controllo della CPU, salva lo stato del processo corrente e carica lo stato del processo successivo che riceverà la CPU.
    • Il tempo impiegato per il cambio di contesto crea un overhead per il sistema e influenza le prestazioni.

    Code di Scheduling

    • Il sistema operativo gestisce diverse code di processi.
    • La coda di ready contiene processi pronti per l'esecuzione.
    • La coda di ready coincide con lo stato Ready nel diagramma degli stati del processo.
    • Ci sono altre code che gestiscono processo in attesa, output device, eventi, ecc.

    Operazioni sui Processi

    • La creazione di un processo è un'operazione critica.
    • Ogni sistema operativo ha una o più System call per la creazione di processi.
    • Un processo crea un altro processo utilizzando una system call.
    • Dopo la creazione di un nuovo processo, i suoi dati e il codice sono copiati ad esso, che è ora un processo indipendente.

    Terminazione del Processo

    • Il processo termina dopo l'esecuzione del suo ultimo istruzione.
    • Ci sono system call (es. exit) per terminare i processi.
    • Il sistema operativo rimuove le risorse allocate al processo terminato, in particolare le parti di RAM e i file aperti.
    • Un processo può essere terminato esplicitamente da un altro processo o dal sistema operativo.

    Comunicazione tra processi (IPC)

    • I processi che cooperano si scambiano informazioni.
    • Il sistema operativo mette a disposizione meccanismi di comunicazione tra processi.
    • I meccanismi principali sono la memoria condivisa e lo scambio di messaggi.
    • La memoria condivisa permette a processi di leggere scrivere dati nella stessa area in memoria. Le system call sono usate per questo
    • Lo scambio di messaggi impiega code di messaggi per la comunicazione.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Related Documents

    Gestione dei Processi PDF

    Description

    Esplora la gestione dei processi nel sistema operativo, inclusi la creazione, cancellazione e scheduling. Scopri gli stati che un processo attraversa durante la sua vita e le differenze tra processi e programmi. Un quiz utile per comprendere le basi dell'architettura dei sistemi operativi.

    More Like This

    Use Quizgecko on...
    Browser
    Browser