CAPITOLO 10 - Controllo dei Processi

Documenti analoghi
Sistemi Operativi 1. Mattia Monga. 11 marzo Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia

SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06.

Sommario. Processi e Programmi. Che cosa e un Processo? Lezione 5 Processi e Threads

I Processi nel Sistema Operativo Unix. Gerarchie di processi Unix. Stati di un processo Unix. Stati di un processo Unix.

2. Nucleo del sistema operativo (la gestione dei processi)

Informatica Generale 07 - Sistemi Operativi:Gestione dei processi

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

I Processi. Il Concetto di Processo

Sistemi Operativi: Concetti Introduttivi

I THREAD O PROCESSI LEGGERI

Sistemi Operativi. Lezione 4 I processi: implementazioni

Il Sistema Operativo

Bootstrap. Bootstrap. Shutdown. Struttura di un SO. Elementi principali di un SO:

Modi di esecuzione user / kernel

2. Nucleo del sistema operativo (la gestione dei processi)

System call per la gestione di processi

Il Concetto di Processo

1. Che cos è un sistema multiprogrammato? Si può realizzare la multiprogrammazione

Sistemi Operativi GESTIONE DEI PROCESSI. D. Talia - UNICAL. Sistemi Operativi 4.1

LA GESTIONE DELLA I/O

Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per:

Organizzazione di un SO monolitico

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:

Livelli del sottosistema di I/O

TEORIA DEI SISTEMI OPERATIVI. Sistemi monoprogrammatie multiprogrammati

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Struttura interna del sistema operativo Linux

Sistema Operativo (Software di base)

Il software di sistema

Scheduling della CPU

I processi: concetti di base, context switch e scheduling

Il Sistema Operativo. Informatica Sistema Operativo 1

Processi. Laboratorio Software C. Brandolese

I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni

CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico)

Il sistema delle interruzioni nel processore MC68000 (cenni)

Componenti e connessioni. Capitolo 3

2.2 Scheduling in Linux

Processi e thread. Concetto di processo

Università Ca' Foscari Venezia - Corso di Laurea in Informatica Sistemi Operativi prof. Augusto Celentano. Domande di riepilogo

interoperabilità fra dispositivi forniti da diversi produttori; superare i problemi legati alla limitazione del numero di risorse.

Introduzione al Multithreading

GESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL

ACSO Programmazione di Sistema e Concorrente

I sistemi operativi (prima parte) Agostino Lorenzi I sistemi operativi - Atlas

File System ext2. Struttura del filesystem ext2.

Introduzione. P4 termina prima di P3, P2 e P3 prima di P1 P1 P2 P3 P4 P1 P1 P2 P3 P4. Padre. P1,..., P4 sono processi. Figlio

Struttura Logica del S.O:

Esame Laboratorio di Sistemi Operativi Cognome Nome Mat.

Gestione dei processi

Processi. Introduzione. Effective user/group id. Fork

ISA Input / Output (I/O) Data register Controller

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

Struttura dei Sistemi di Calcolo

Lezione 21 e 22. Valentina Ciriani ( ) Laboratorio di programmazione. Laboratorio di programmazione. Lezione 21 e 22

Sistemi Operativi. Sistemi I/O SISTEMI DI INPUT/OUTPUT. Hardware di I/O. Interfaccia di I/O per le applicazioni. Sottosistema per l I/O del kernel

Il sistema operativo

Il file È un insieme di informazioni: programmi. Il File System. Il file system

GESTIONE DELLA MEMORIA CENTRALE

Capitolo 6 Le infrastrutture SoftWare

Memoria cache. Memoria cache. Miss e Hit. Problemi. Fondamenti di Informatica

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Architettura dei calcolatori e sistemi operativi. M2 Organizzazione della memoria virtuale Struttura dello spazio virtuale kernel e utente

Threads: 1. Concetti di base 2. Threads in sistemi operativi attuali (NT/UNIX)

Operazioni di I/O. Schema di collegamento fra dispositivi periferici e CPU

Struttura CPU. Struttura e Funzione del Processore. Capitolo 12. Compiti CPU:

Calcolatori Elettronici Parte VIII: linguaggi assemblativi

Sistema operativo (SO)

Fallimenti nella TLB

Gestione della memoria

Gerarchia fisica di memoria 1. Gerarchia fisica di memoria 2. Gerarchia fisica di memoria 3. Ricapitolazione di concetti base

File System. Capitolo 13

CAP. 6: Nucleo del sistema operativo (La gestione dei processi)

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

CAPITOLO 17 PROBLEMI DEL PRODUTTORE/CONSUMATORE v1

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Sistemi Operativi. A.M. Fanelli Architettura dei Sistemi a. a Livello di Sistema Operativo. Livello di Linguaggi Applicativi

Scheduling della CPU. Lo scheduling Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino

Modello dei processi. Riedizione delle slide della Prof. Di Stefano

Lezione 16. Il Software di base

Funzioni, Stack e Visibilità delle Variabili in C

CAP9. Device drivers

Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica

3.5.1 PREPARAZ1ONE I documenti che si possono creare con la stampa unione sono: lettere, messaggi di posta elettronica, o etichette.

MODULO 1: INTRODUZIONE

Input/Output. Livelli del sottosistema di I/O

Linux: Organizzazione filesystem

Il software: cenni sul sistema operativo

INDICE. Vista Libretto Livello Digitale 2. Importazione di dati da strumento 3. Inserisci File Vari 5. Compensazione Quote 5.

Introduzione ai sistemi operativi

Sistemi operativi e distribuiti

Processi. Concorrenza. Processi e programmi

I Processi nel Sistema Operativo Unix

WINGICAT 2000 PROCEDURE ESTERNE. Gestione Integrata Centri Assistenza Tecnica. Future Service 2 CP - SP

File: definizione. Il file è la più piccola unità logica manipolabie Un file è caratterizzato principalmente da:

Esame Laboratorio di Sistemi Operativi Cognome Nome Mat.

I sistemi operativi. Prof. Daniele Contarino

Introduzione all uso dei laboratori aka Linux basics. October 23, 2013

Transcript:

CAPITOLO 10 - Controllo dei Processi CONTROLLO DEI PROCESSI Modo di esecuzione Creazione dei processi Cambio dei processi Esecuzione del sistema operativo SVR4 MODI DI ESECUZIONE DI UN PROCESSO Modo utente Modo privilegiato (Modo Sistema) (Modo Kernel) il comando CHM (Change Mode) FUNZIONI TIPICHE DI UN KERNEL In questa terza parte del capitolo 3 affrontiamo il controllo dei processi, con la descrizione del modo d esecuzione di un processo e con la descrizione della creazione del processo. Subito dopo vedremo idiversi modi d esecuzione di un sistema operativo e quindi approfondiremo il sistema SVR4. In questa slide è messo in evidenza che normalmente esistono due modi di esecuzione dei processi: sono il modo utente ed il modo privilegiato detto anche modo sistema o modo kernel. Ogni processo relativo ad un utente è normalmente eseguito in modalità utente mentre ogni parte che fa riferimento alle strutture dati del sistema operativo o che deve gestire risorse viene eseguito in modalità privilegiata. Dunque le operazioni di I/O, l accesso ai registri di controllo, la gestione della memoria, sono tutte fatte da processi che vengono eseguiti in modalità privilegiata. La modalità di esecuzione di un processo è riportata in un bit della PSW e quando viene avviato un processo di sistema il bit è settato a modalità privilegiata. In alcune macchine come il VAX, attraverso il comando CHM (change mode) il modo di esecuzione di un processo in running può essere cambiato. Se un utente tenta di eseguire un CHM gli viene restituito un errore a meno che non sia a ciò abilitato. Le funzioni tipiche di un kernel sono riassunte in questa tabella e come vediamo si occupano: - della gestione dei processi - della gestione della memoria - della gestione dell I/O - di tutte le funzioni di supporto. CREAZIONE DEI PROCESSI parte 1 1) -Assegnare al processo un identificatore unico -Creare una nuova entry alla tabella principale dei processi. 2) Allocare lo spazio per il processo, per il PCB,per il programma, per i dati compresa la condivisione, per lo stack. La creazione di un processo è descritta in questa slide. Osserviamo che il sistema operativo ogni volta che crea un nuovo processo gli assegna subito un identificatore unico quindi crea una nuova entry nella tabella principale dei processi a cui collega il PCB e tramite il PCB lo spazio per il programma, per i dati (comprese le aree condivise) e per lo stack.

( i dati necessari o possono essere passati dalle schede job, o per ereditarietà dal padre del processo, o possono essere impostati a valori minimi all atto della creazione nei sistemi interattivi). CREAZIONE DEI PROCESSI parte 2 3)Inizializza il PCB/ con l inserimento di ID del processo ed ID dei collegati/ pc / psw/ puntatore di stak/ Lo stato: ready o ready-suspended/priorità utente/ risorse se passate o richieste. 4)Impostazione dei collegamenti appropriati con le code 5)Estendere le strutture al fine della fatturazione o delle statistiche. In un sistema batch i dati necessari vengono forniti al sistema dalle istruzioni del Job Control Language, in sistemi interattivi questi valori possono essere o impostati per difetto inizialmente oppure passati dal processo genitore e quindi sono eredità del processo figlio. Il sistema inoltre svolge le azioni descritte nella slide seguente. Così come dichiarato, esso inizializza il PCB assegnando un ID, imposta i collegamenti alle code, infine estende le strutture per le statistiche o le fatturazioni. CAMBIO DEI PROCESSI (anche noto come SWITCH) Il cambio di processo avviene: Il cambio di processo avviene per interruzione da clock, perché ad esempio è 1) Per interrupt (da clock, da I/O, finito lo slice assegnato al processo, oppure perché è finita una operazione di fault di memoria) I/O che genera una interruzione e deve esser ripreso un processo dalla coda 2) Per trap (rivelazione di errore) dei ready o dei suspended, oppure perché c è una trap per errore fatale che 3) Per chiamata a supervisore obbliga i processi ad andare in exit o si deve avviare una procedura di recupero. Molto più normalmente si tratta di chiamata a supervisore per far eseguire routine di sistema che svolgono particolari funzioni. Nella slide successiva vengono riportate sinteticamente cause ed uso dei diversi meccanismi. QUANDO EFFETTUARE IL CAMBIO DI PROCESSO Come si vede sono appunto l interruzione, la trap, la chiamata a supervisore. Cambio di MODO di esecuzione Il caso dell interrupt (accesso al vettore di interrupt e di accesso alle strutture dati) Se il processo che è stato interrotto deve continuare c è solo un cambio di modo per la gestione dell Interrupt in modalità kernel Ogni qualvolta un processo deve eseguire operazioni privilegiate come avviene nella gestione delle interruzioni per l accesso a dispositivi di I/O, è necessario che il processo che gestisce tali operazioni venga eseguito in modalità kernel. Se supponiamo che fino a prima dell avvento dell interruzione era in esecuzione un processo in modalità utente è chiaro che si ha un cambio di modo da utente a Kernel. Analogamente se per fine di un intervallo slice in un sistema time sharing si avvia una interruzione che porta all avvio di un nuovo processo in questo caso si ha cambio di modo seguito da cambio di processo.

Cambiamento dello STATO di un processo Salvataggio del contesto:pc,psw, reg. Cambiamento dello stato nel PCB Spostamento del PCB in nuova coda Selezione nuovo processo runnning Aggiornamento PCB del nuovo proc. Agg. Strutture dati gestione memoria Ripristino contesto nuovo proc. running ESECUZIONE DEL SISTEMA OPERATIVO Cambio di modo e cambio di processo sono cose diverse, un cambio di modo può avere effetti di un leggero sovraccarico, il cambio di stato invece è qualcosa che è diverso sia dal cambio di modo che dal cambio di processo. Il cambio di stato di un processo comporta le azioni riportate in questa slide. Questa slide mostra che esistono tre modi diversi di realizzare un sistema operativo: Nella fig.a è mostrato un sistema operativo che è realizzato con un kernel separato dal resto dei processi utente. Tutte le operazioni di sistema passano attraverso comandi di sistema eseguiti dal kernel. Nella fig.b è invece mostrato un sistema operativo realizzato all interno dei processi utente, cioè tutte le azioni di sistema sono inserite con programmi che entrano a far parte integrante dei processi utente e soltanto alcune funzioni di cambio processi vengono gestite attraverso una parte comune. Infine nella fig.c è riportato un sistema che è realizzato con processi separati sia utente che di sistema ed esiste una parte comune che consente il cambio dei processi. KERNEL (separato) non implementato con i processi Illustrare il funzionamento del sistema operativo IBM 360 e successivi. Le macchine virtuali (metasistemi) Dei tre modelli presentati nella precedente slide ora si commenta il primo e cioè quello con un kernel monolitico tipico dei primi sistemi IBM 360 che hanno dato avvio, negli anni passati a tanti problemi che si è cercato di risolvere con soluzioni varie come ad esempio la proposizione di metasistemi per la gestione della manutenzione del software di sistema senza arrivare ad interrompere la macchina, o se vogliamo equivalentemente ad avere la possibilità di avere su una stessa macchina più sistemi operativi.

Immagine di Processo con sistema operativo eseguito all'interno del Processo (***) In questa slide è invece rappresentato un sistema operativo realizzato con il secondo modello e cioè con il sistema implementato all interno del processo. Infatti, si può notare che questa volta l immagine del processo consiste in una prima parte che include la struttura del PCB con le sue tre aree, quella di identificazione, quella di stato del processore e quella di controllo del processo. Immediatamente dopo è riportata la parte che riguarda lo stack utente poi ci sono tutti i programmi utente e di sistema che viaggiano in uno con il processo insieme ai dati, subito dopo c è lo stack del kernel ed infine la parte di area condivisa. Sistemi eseguiti come processi separati I PROCESSI DI SISTEMA VENGONO ESEGUITI IN MODALITA KERNEL MA COME PROCESSI SEPARATI. SOLO UNA PICCOLA PARTE DEL SOFTWARE, AL DI FUORI DEI PROCESSI KERNEL, E UTILIZZATA PER LO SCAMBIO DEI PROCESSI. Vantaggi: riduzione delle sezioni critiche; più semplice implementazioni delle funzioni di servizio: es.monitoraggi di flusso, contabilità, ecc... delega a processori dedicati delle attività di sistema In questa slide infine sono riportati alcuni commenti sul terzo modo di realizzare un sistema operativo e cioè quello di guardare ai processi utente e ai processi di sistema come entità separate aventi le stesse valenze e gestiti allo stesso modo attraverso cambio di processi che avviene a mezzo di una parte comune a tutti i processi. I vantaggi sono che le sezioni critiche si riducono atteso che i processi kernel vengono eseguiti separatamente, con il vantaggio anche di poter realizzare funzioni di servizio in maniera più semplice, vedasi ad esempio le statistiche le contabilità ecc. Questo modo di organizzare il sistema si presta inoltre all uso di più processori dedicati e quindi al sviluppo di macchine multiprocessore per elaborazioni parallele. GESTIONE DEI PROCESSI IN UNIX: SVR4 Il sistema UNIX SVR4 (System five release four) è realizzato con esecuzione di processi di sistema internamente ai processi utente e come tale siamo di fronte ad un sistema operativo realizzato con il secondo modello presentato innanzi. SINTESI di UNIX: SVR4 STATI DEI PROCESSI DESCRIZIONE DEI PROCESSI CONTROLLO DEI PROCESSI Nel seguito vengono presentate delle slides che descrivono rispettivamente gli stati e la maniera come vengono descritti e come sono controllati i processi in SVR4.

STATI DI PROCESSI IN UNIX (9 stati) SVR4 è un sistema operativo in cui i processi possono trovarsi in nove stati diversi, sono quelli presentati in questa slide. DIAGRAMMA DELLE TRANSIZIONI DI STATO UNIX Questa slide riporta invece il diagramma delle transizioni tra i nove stati menzionati innanzi. In poche parole un processo appena creato può essere messo in stato di ready to run in memory o ready to run swapped, quest ultimo quando viene allocato sul disco, tutti per essere eseguiti devono passare dallo stato kernel running dal quale possono passare ad user running ma anche allo stato di addormentati in memoria, è notevole la circostanza che da kernel running per necessità di prelazione da parte del sistema un processo può essere prerilasciato (prempeted). La presenza dello stato kernel running impedisce l uso di meccanismi d interruzioni esterni e quindi di usare SVR4 per applicazioni real time. Le altre transizioni si commentano da sole anche se nuovo è lo stato di zombie che denota il fatto che un processo può essere terminato ma parti di processi discendenti non eliminati possono rimanere nel sistema senza avere più la possibilità di accedevi ed invero una noia era che spesso il sistema andava in esaurimento per non disponibilità della memoria centrale. LIMITI di UNIX La presenza dello stato KERNEL RUNNIG Impedisce l uso di UNIX per applicazioni real time. In altre parole processi in stato kernel running non possono essere interrotti. Questa slide mette appunto in mostra l impossibilità di usare SVR4 per applicazioni real time PROCESSI UNICI DI UNIX Processo 0 (ex absolute loader) E un processo a struttura dati predefinita che è creato quando parte il sistema, cioè dal boot, gestisce il trasferimento da disco. 0 genera il processo 1 (init) antenato di tutti i processi. 1 crea i processi utenti ognuno può poi creare una gerarchia di processi albero. In questa slide viene invece descritta qual è la dinamica di creazione dei processi in UNIX di SVR4. Vediamo che quando la macchina viene accesa si crea il processo 0 che gestisce il trasferimento da disco, subito dopo, 0 crea il processo 1 noto come Init che è l antenato di tutti i processi del sistema. Ognuno dei discendenti di 1 può poi creare una gerarchia di processi discendenti inseriti nella struttura ad albero dei processi.

STRUTTURE DATI PER LA DESCRIZIONE DEI PROCESSI Le strutture dati nell immagine di processo sono raccolti in tre contesti: Contesto a livello utente; Contesto dei registri; Contesto a livello di sistema. Nei sistemi UNIX di SVR4 le strutture dati che accompagnano i processi sono considerati appartenenti a tre contesti differenti. Sono: -il contesto del livello utente; -il contesto del livello dei registri del processore; -il conteso di sistema. CONTESTO UTENTE IN IMMAGINE PROCESSO UNIX Nell immagine di un processo UNIX il contesto del livello utente include: -Le istruzioni del programma eseguibili dal processore; -i dati a cui il processo può accedere; -lo stack utente utilizzato per conservare tutte le informazioni per l interruzione e la ripresa dalle varie procedure legate a funzioni di programma, nonché per conservare le variabili locali; -la memoria condivisa e normalmente utilizzata per la comunicazione tra i processi. Ovviamente anche gli altri processi possono accedere. CONTESTO REGISTRI IN UNIX/SVR4 puntatore allo stack utente o kernel a secondo del modo operativo del momento del prerilascio; -i contenuti dei vari registri generali del processore. Il contesto del livello dei registri include: -il program counter; -il registro di stato del processore; -il CONTESTO DI SISTEMA IN IMMAGINE PROCESSO UNIX Il contesto del livello di sistema e costituito da due parti una statica sempre allocata in memoria principale ed una dinamica: -l entry della tabella dei processi contiene le entry dei processi, una per ogni processo e appartiene alla parte statica, la slide successiva presenta i contenuti della entry della tabella dei processi; -l area utente U-area meglio descritta nella slide successiva ancora, riflette il fatto che un processo è sempre eseguito nel contesto di qualche processo; -la tabella delle regioni per processo che definisce la mappatura degli indirizzi fisici e virtuali dei files con i vari diritti; -lo stack del kernel che contiene le informazioni che devono essere salvate e ripristinate quando i vari processi kernel sono eseguiti. Ovviamente quest ultima è una parte dinamica del contesto a livello di sistema.

ENTRY DELLA TEBELLA DEI PROCESSI UNIX L entry della tabella principale dei processi contiene tutte le informazioni che servono al sistema per far avanzare il processo, in particolare come si vede nella slide contiene: -lo stato in cui si trova il processo (uno dei nove menzionati innanzi); -i puntatori alla U area e alla parte contenente il testo, i dati e lo stack; -l identificatore reale ed effettivo (usato per dare privilegi ad un processo che utilizza quello corrente); -l'identificatore del processo e del padre; -il descrittore degli eventi che il processo aspetta. E riempito se è asleep o slipping; -la priorità con cui il processo avanza; -i segnali degli eventi pervenuti ma non gestiti; -il Timer che conta il tempo d esecuzione, il tempo d uso delle risorse, il tempo settato per generare un allarme; -P_link include il puntatori al successivo processo nella coda dei ready, questo è importante perché dà l idea di come in SVR4 si realizzano le code; -lo stato della memoria che dice se il processo può essere swoppato o è bloccato in memoria principale, verosimilmente un processo ready to run non è conveniente swopparlo e quindi si troverà bloccato. U - AREA IN UNIX Il puntatore dell entry della tabella dei processi incluso nella U area consente di passare dalla U area all entry della tabella dei processi e viceversa e quindi di percorrere il ramo dell albero nei due versi. Nella U area è anche incluso: - l identificatore dell utente reale ed effettivo della U area; - il Timer per definire il tempo in modalità kernel e quello in modalità utente; - l array per la gestione dei segnali che indica come il processo reagirà alla ricezione del segnale (esce dal processo,ignora il segnale, esegue una determinata funzione); - il Terminale indica il terminale associato al processo se ne esiste uno; - i parametri di I/O, indicano l indirizzo sorgente e di destinazione del file di I/O e la quantità di dati da trasferire. - i parametri dei file con la directory corrente e la root; - la tabella dei descrittori dei file aperti; - i campi limite includono i limiti per il processo e per i file che il processo può aprire; - i campi di impostazione dei permessi mascherano i modi di accesso ai file che crea il processo.

Controllo dei processi - "fork O" crea i processi 1) Alloca uno spazio nella tab processi 2) Assegna ID (unico) al processo figlio 3) Fa copia dell immag. del genitore* 4) Incrementa contatori dei file genit. 5) Il processo figlio va in ready 6) Ritorna ID figlio al genit., e passa il valore 0 al figlio. Tutto questo è svolto in modalità Kernel, quando ha finito allora può verificarsi % Controllo dei processi fork 0 è la chiamata di sistema che consente di creare un processo. Quando un processo lancia fork 0 allora il sistema: 1) alloca uno spazio nella tabella dei processi per contenere il processo figlio, 2) assegna l ID di processo al figlio, è un numero unico nel sistema, 3) fa una copia dell immagine del processo genitore tranne della memoria condivisa, 4) incrementa i contatori dei file del genitore per registrare che ora anche il figlio contiene quei files, 5) assegna al processo figlio lo stato di ready to run in memory, 6) ritorna l ID del figlio al genitore e Passa il valore 0 al figlio. Questo viene fatto tutto in modalità Kernel. CONTROLLO DEI PROCESSI Routine dell allocatore: 1) rimanere nel genitore ed il controllo ritorna al punto della chiamata fork; 2) traferire il controllo al figlio; 3) trasferire il controllo ad un altro processo e genitore e figlio sono lasciati in ready. Poi può accadere che: -il controllo rimane al genitore riprendendo esattamente dal punto della chiamata fork 0, di questa circostanza ci si accorge guardando il valore di ritorno dalla fork che è l ID del padre -il controllo passa al figlio che continua da dove il genitore ha eseguito la fork ma il valore di ritorno è 0 e questo fa la differenza poiché da quel momento viene eseguito il codice del figlio, - il controllo viene passato ad un altro processo e sia il padre che il figlio vengono messi in stato di ready to run. SISTEM VAX/VMS Questa slide si riferisce al sistema VAX/VMS In questo sistema ci sono 4 modalità di accesso al processore, essi sono: - Kernel - Executive - Supervisore - Utente STATI DI PROCESSI IN VAX/VMS In questa slide sono invece riportati i 14 stati in cui può trovarsi un processo in unvax/vms.