Sistemi di interruzione

Documenti analoghi
Il problema dello I/O e gli Interrupt. Appunti di Sistemi per la cl. 4 sez. D A cura del prof. Ing. Mario Catalano

Periferiche CPU. Misure e Sistemi Microelettronici Sistemi 6-1 SREG. Data Bus Address Bus Control Bus

LA GESTIONE DELLA I/O

Università degli Studi di Cassino

Modi di esecuzione user / kernel

Uso dei metodi di indirizzamento

Interruzioni o eccezioni? 1

Il sistema di I/O. Calcolatori Elettronici 1. Architettura a bus singolo. Memoria. Unità di I/O. Interfaccia. Unità di I/O.

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

Informatica Generale 07 - Sistemi Operativi:Gestione dei processi

Il sistema delle interruzioni nel processore MC68000 (cenni)

PD32. Interfacciamento con i dispositivi di I/O (V)

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

Assembly (3): le procedure

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

Il ciclo del processore semplificato BOOTSTRAP FETCH EXECUTE

Università degli Studi di Cassino e del Lazio Meridionale

Metodi di indirizzamento

Interruzioni. Calcolatori Elettronici I. prof. Giuseppe De Pietro

I programmi Assembler e Linker

ARM: stack e subroutine

Corso di Calcolatori Elettronici I. Interruzioni. Prof. Roberto Canonico

Componenti principali

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

Componenti e connessioni. Capitolo 3

Lezione XII: La gestione delle eccezioni in MINIX

il Nucleo e la gestione dei processi

Ciclo del Processore. Memoria

Architettura di una CPU

Calcolatori Elettronici B a.a. 2004/2005

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

INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo

Capitolo 2: Strutture dei sistemi di calcolo

Traccia di progetto: Interfaccia IFRANGE 1

Multiprogrammazione (circa 1965) Interruzioni e S.O. (1) Interruzioni e S.O. (2)

La CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2

Gestione delle subroutine. Appunti di Sistemi per la cl. IV Dinf A cura del prof. Ing. Mario Catalano

ESERCIZIO Cambio Di Contesto: System Call (1)

Capitolo 13 Il sottosistema di ingresso/uscita

Il polling consiste nella scansione ciclica, da parte della CPU, di tutte le periferiche per verificare la disponibilità o meno alla comunicazione.

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

Indice lezione: repeat. until CPU halt. Richiami e notazioni:

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

Reti e problematiche di Rete

Sistemi Operativi. Sottosistema di I/O

Livelli del sottosistema di I/O

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

Indice lezione: Pagina 2

Giustificazione dei sistemi di interrupt

Architettura dei Calcolatori elettronici

DMA Accesso Diretto alla Memoria

Sistemi Operativi SISTEMI DI INPUT/OUTPUT. D. Talia - UNICAL. Sistemi Operativi 10.1

Sistemi Operativi. Lezione 3 Processi e Thread

L'architettura del processore MIPS

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

Memoria cache, interrupt e DMA

Corso di Fondamenti di Informatica Elementi di Architettura

Struttura dei Sistemi di Calcolo

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

Capitolo2: Architettura del calcolatore

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

Elementi di informatica

Struttura hw del computer

Sistemi di Elaborazione delle Informazioni

Sistemi Operativi: Concetti Introduttivi

Interfacciamento. Processore dispositivi di I/O

Sistemi Elettronici #6. Subroutine

Macchina di von Neumann/Turing

Progettazione di Periferiche e Programmazione di Driver

Set di istruzioni Z80 (quarta parte) Pagina 1 di 9 ISTRUZIONI DI SALTO

MAC1 Simulatore di Microprocessore

Convenzioni di chiamata a procedure

Corso di Alfabetizzazione Informatica 2001/2002. La CPU. F. Tortorella Università degli Studi. di Cassino

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

Input/output. Sistemi Operativi Lez. 32. Corso: Sistemi Operativi Danilo Bruschi A.A. 2009/2010

FONDAMENTI DI INFORMATICA Lezione n. 11

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

CONTATORE/TIMER PROGRAMMABILE CTC Z80 1. Piedinatura 2. Struttura interna 4. Modo timer 5. Modo Counter 8. Programmazione del CTC 13

Le procedure. L insieme delle istruzioni (4) Prima della chiamata di una procedura. Le procedure (2) Architetture dei Calcolatori (lettere A-I)

Progetto del processore e supporto del processore al SO (interruzioni eccezioni) Salvatore Orlando

Corso di Calcolatori Elettronici I

Assembly. Modello x86

Principali periferiche

Informatica Generale 06 - Introduzione ai Sistemi Operativi

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

Richiami: Ciclo di sviluppo e ASIM

Istruzioni di trasferimento dati

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

Pinout PD32. Memoria di lavoro esterna. tramite l indirizzo ad esse associato. e possono essere lette o scritte: Le singole celle sono distinguibili

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI

Linguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina ADD A,B ISTRUZIONE SUCCESSIVA

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

Il processore. Istituzionii di Informatica -- Rossano Gaeta

Capitolo 5 Struttura di base del processore

Architettura hardware

Corso Sistemi Operativi

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O

Richiami sull architettura del processore MIPS a 32 bit

Transcript:

Testo di rif.to: [Congiu] 7.1 7.5 (pg. 211 2) 07.a Sistemi di interruzione Motivazioni Funzioni minime presenti nell hardware Gestione delle interruzioni Sistemi efficienti di interruzione Interruzioni software Inefficienza del busy waiting La programmazione delle operazioni di I/O, effettuata ricorrendo ai cicli di attesa (busy waiting) per rispettare i protocolli di I/O, comporta un uso inefficiente del processore: tanto più inefficiente quanto più lento è il dispositivo, anziché eseguire ripetutamente un numero elevatissimo di volte le istruzioni dei cicli di attesa, il processore potrebbe impiegare quei tempi di attesa per eseguire istruzioni più utili (ad es. durante un attesa di 10ms, potrebbero venir eseguite più di 100.000 istruzioni utili!). 1

Un sistema più efficiente per impiegare più utilmente il tempo di CPU, è necessario disporre di un meccanismo che : consenta al processore di passare ad eseguire altre attività, dopo aver avviato uno dei passi del protocollo di I/O, e che preveda che sia il dispositivo a farsi parte attiva per richiedere l intervento del processore, inviando ad esso un apposito segnale quando è pronto per il passo successivo del protocollo di I/O (richiesta di servizio). 2 Sistema di interruzione - a fronte di questo segnale il processore potrà: interrompere il programma in esecuzione, passare ad eseguire la sequenza di istruzioni richiesta dal protocollo di I/O (questa sequenza di istruzioni si chiama: routine di servizio della interruzione - RSI), riprendere poi l esecuzione del programma interrotto; - questo segnale si chiama richiesta di interruzione - il meccanismo che realizza questa possibilità si chiama sistema di interruzione. 3

Problemi da risolvere Per gestire correttamente questo meccanismo di interruzione, è necessario che vengano risolti i seguenti problemi: il salvataggio del contesto in cui sta operando il programma che viene interrotto, per poterlo poi ripristinare al termine dell interruzione; il riconoscimento del dispositivo che ha provocato l interruzione (identificazione dell interruzione); l ordinamento delle richieste di interruzione secondo una gerarchia di priorità. 4 Salvataggio e ripristino del contesto Il contesto è costituito da tutto ciò che caratterizza lo stato di avanzamento dell esecuzione del programma che sta per essere interrotto: il registro program counter (PC), i registri dell ALU, i registri che contengono le informazioni che definiscono lo stato del processore, al termine della interruzione, per far proseguire correttamente l esecuzione del programma interrotto, tutto il suo contesto va ripristinato; si può parlare anche di commutazione di contesto (da quello del programma che viene interrotto a quello della RSI e viceversa). 5

Accettazione di una interruzione 6 Una richiesta di interruzione può essere accettata dal processore (e dar luogo al verificarsi di un interruzione), solo al termine della fase di execute di un istruzione e prima del fetch dell istruzione successiva (durante l esecuzione di una istruzione, non è facilmente definibile qual è il contesto da salvare); un interruzione può verificarsi solo se è abilitata da un apposito registro in cui è definito lo stato di interrompibilità del processore. Commutazione del contesto Quando si verifica un interruzione, l hardware deve effettuare la commutazione di almeno la seguente porzione del contesto: il registro PC, il registro che definisce lo stato di interrompibilità del processore; la commutazione del resto del contesto può essere effettuata o dall hardware (più veloce), oppure dal software (più lento) mediante istruzioni di preambolo della routine di servizio. 7

Identificazione dell interruzione - 1 Più dispositivi possono generare richieste di interruzione per ottenere il servizio del processore; ciò comporta la presenza, in memoria centrale, di tante routine di servizio quanti sono questi dispositivi; quando si verifica un interruzione è necessario individuare il dispositivo che l ha richiesta, al fine di selezionare la RSI da attivare. 8 Identificazione dell interruzione - 2 L identificazione del dispositivo che ha provocato l interruzione può essere fatta: via software: eseguendo una sequenza di istruzioni che esamini i dispositivi (polling) e, individuato quello da servire, effettui un salto alla corrispondente routine di servizio. via hardware: prevedendo che il dispositivo, oltre alla richiesta di interruzione, generi un codice che ne permetta l identificazione da parte del processore; la realizzazione hardware è più veloce di quella software. 9

Gerarchia di priorità 10 Le richieste di interruzione provenienti da dispositivi con esigenze di tempo reale più critiche, devono essere servite con priorità superiore alle altre; l esigenza di distinguere la priorità delle richieste si manifesta in due circostanze: se sono contemporaneamente presenti più richieste, quando si verifica un interruzione: vanno servite prima quelle più prioritarie; quando viene richiesta (un altra) interruzione durante l esecuzione di una RSI: la RSI va interrotta solo se la nuova richiesta è più prioritaria; anche questo aspetto può avere una soluzione hardware (più veloce), oppure software (più lenta). Efficienza dei sistemi di interruzione un sistema di interruzione è tanto più efficiente quanto minore è il tempo che intercorre tra la generazione di una richiesta di interruzione e l esecuzione delle istruzioni che ne realizzano il servizio; l efficienza di un sistema di interruzione è quindi legata alla rapidità con cui il processore è in grado di intervenire, in seguito alla segnalazione che un dispositivo è pronto, per eseguire le istruzioni richieste dal relativo protocollo di I/O; l efficienza di un sistema di interruzione è particoloarmente importante nelle applicazioni con esigenze di tempo reale critiche. 11

Un semplice sistema di interruzione 12 viene ora presentata una possibile realizzazione del sistema di interruzione, nella quale l hardware si limita a fornire le funzioni minime per risolvere i tre problemi decritti; la gran parte delle funzionalità richieste sono realizzate dal software (tramite l esecuzione della routine di servizio, o di un preambolo ad essa); il sistema di interruzione che si ottiene sarà molto inefficiente; in seguito si presenteranno possibili realizzazioni più efficienti, nelle quali la soluzione dei tre problemi indicati è assicurata dall hardware. Generazione di richiesta di interruzione la richiesta di interruzione (IRQ) ha origine dal registro STATUS che, nell interfaccia del dispositivo, segnala quando esso è pronto; il registro IM consente di abilitare o disabilitare la generazione di IRQ da parte del dispositivo; il registro I consente al processore di accettare o meno IRQ. 13 ( elementi aggiunti)

Più richieste di interruzione più richieste di interruzione, provenienti da dispositivi diversi, potrebbero venir raccolte da una porta OR... 14 ( elemento aggiunto) Schema con più richieste di interruzione Una sola linea di interruzione ma è meglio usare un collegamento wired OR (con porte NAND open-collector), che richiede una sola linea IRQ: 15 Wired OR di richieste di interruzione ( elementi aggiunti)

Funzioni minime fornite dall HW Al verificarsi di una interruzione, l HW deve provvedere almeno a: 1. commutare la sola porzione di contesto costituita dai registri SR e PC: SR push PC push 2.commutare al valore 0 il registro I per impedire che si verifichino altre interruzioni: 0 I 3.inserire, nel PC, l indirizzo della routine di servizio (collocata, ad es a partire dall indirizzo 0) 0 PC (in questo modo, tutte le interruzioni attivano la stessa routine-preambolo, situata a partire da M[0]) 16 Ritorno al programma interrotto per ripristinare il contesto del programma interrotto, l HW deve inoltre prevedere una istruzione apposita: RTI (return from interrupt) che esegua le seguenti operazioni: pop PC pop SR 17

Al resto... deve provvedere il SW la commutazione degli altri elementi del contesto (registri, ) può essere realizzata eseguendo apposite istruzioni della RSI che verrà attivata; l identificazione dell interruzione si può ottenere collocando nella routine-preambolo (all indirizzo 0) una sequenza di istruzioni che esamina lo stato dei dispositivi (polling) per individuare quello da servire ed attivare la RSI specifica; l ordine con cui vengono esaminati i dispositivi nella sequenza di polling realizza il primo dei due aspetti della gerarchia di priorità (la scelta della richiesta da servire in presenza di richieste contemporanee); il secondo aspetto (la interrompibilità) può essere realizzato inserendo nella RSI istruzioni che impostino (previo salvataggio e successivo ripristino) lo stato dei registri IM di tutti i dispositivi: IM=1 solo in quelli considerati più prioritari. 18 Organizzazione del SW il servizio di una interruzione comprende l esecuzione della routinepreambolo e l esecuzione della RSI specifica; le operazioni che devono essere eseguite sono: Routine-preambolo: completamento della commutazione del contesto, identificazione dell interruzione (polling), attivazione della RSI specifica; RSI specifica: completamento della commutazione del contesto, compreso l eventuale nuovo stato di interrompibilità; esecuzione delle operazioni richieste dal dispositivo (protocollo di I/O); ciò deve avere come effetto la rimozione della IRQ; ripristino di tutto il contesto salvato via software (anche quello salvato dalla routine-preambolo); esecuzione della istruzione RTI (con cui si ripristina il contesto salvato dall HW). 19

Elementi HW per il sistema di interruzione 20 ( elementi aggiunti) Modulo di interfaccia con l aggiunta di una semplice logica di interrupt Istruzioni per il sistema di interruzione Istruzioni I/O già presenti nel PD32: IN z disp, d ; IORD=1 OUT z s, disp ; IOWR=1 START disp ; 0 STATUS, STARD=1 JR disp, addr ; if (READY=1) addr PC JNR disp, addr ; if (READY=0) addr PC 21 Istruzioni I/O aggiuntive per la gestione delle interruzioni: CLEAR disp ; 0 STATUS SETIM disp ; 1 IM CLRIM disp ; 0 IM JIM disp, addr ; if (IM=1) addr PC JNIM disp, addr ; if (IM=0) addr PC SETI ; 1 I CLRI ; 0 I RTI ; pop PC, pop SR

Identificazione dell interruzione l identificazione si effettua via software interrogando, ad uno ad uno (polling), i vari dispositivi, esaminandone i segnali IMS e READY : 22 JNIM DISP1, D2 ;IMS[DISP1] = 1? JR DISP1, SERV1;si: se STATUS[DISP1] = 1 ;attiva la RSI di DISP1 D2: JNIM DISP2, D3 ;no: esamina DISP2 JR DISP2, SERV2 D3:.. DN: JNIM DISPN, UFO JR DISPN, SERVN UFO:. ;interrupt non identificato Esempio d uso d delle interruzioni Si voglia ri-programmare l esempio dell acquisizione di 100 dati da un convertitore A/D (esempio già visto), utilizzando il meccanismo delle interruzioni; le seguenti istruzioni impostano il puntatore AD1_P e il contatore AD1_C, utilizzati dalla routine di servizio, e avviano l acquisizione del primo dato inviando il comando START:... MOV #TAB1, AD1_P ; valore iniziale del puntatore MOV #100, AD1_C ; valore iniziale del contatore START AD1 ; comando che avvia l acquisizione ; del primo dato 23

Organizzazione dei dati in memoria 24 Sequenza di polling Quando il primo dato è pronto nel data buffer, viene generata una richiesta di interruzione, riconosciuta da una sequenza di polling in cui è presente l istruzione: 25... ; sequenza di polling... JR AD1, SAD1... ; attiva la routine SAD1 ; se in AD1 è READY=1

La routine di servizio Quando la RSI viene attivata, il dato è pronto e può essere acquisito e messo in memoria senza cicli di attesa: SAD1: PUSH R0 ; salva i registri usati PUSH R1 ; MOVL AD1_C, R0 ; contatore MOVL AD1_P, R1 ; puntatore INW AD1, (R1)+ ; trasferisce il dato in memoria e ; incrementa il puntatore SUBL #1, R0 ; decrementa il contatore JNZ NEXT ; era l ultimo dato? CLEAR AD1 ; sì: rimuove la richiesta di interr.ne ; rendendo inattivo il dispositivo... JMP EXIT ; e ritorna al progr. interrotto NEXT: START AD1 MOVL R0, AD1_C ; aggiorna il contatore e... MOVL R1, AD1_P ; il puntatore in memoria EXIT: POP R1 ; ripristina i registri usati ; no: avvia l acquisizione successiva POP R0 ; RTI ; ritorna al programma interrotto 26 Gerarchia di priorità Con il semplice hardware descritto, è possibile prevedere anche una organizzazione del software tale da istituire una gerarchia di priorità tra i dispositivi allo scopo di: stabilire quale dispositivo debba essere servito per primo, in caso di richieste contemporanee di interruzione: ciò si ottiene definendo l ordine di esame dei dispositivi nella sequenza di polling; prevedere che una RSI possa essere a sua volta interrotta da dispositivi più prioritari: ciò si ottiene: 1. impostando i valori opportuni nei registri IM dei dispositivi: IM=1 in quelli più prioritari, che possono interrompere, IM=0 in quelli che non devono poter interrompere; 2. strutturando la RSI nel modo indicato nella prossima slide 27

RSI interrompibile La struttura di una RSI che preveda di poter essere a sua volta interrotta è la seguente: 28 SERVI:... ; commutazione del contesto... ; (compresi i valori dei registri IM... ; che stabiliscono il livello di ; interrompibilità della routine). SETI ; abilitazione delle interruzioni,... ; servizio del dispositivo:... ; (qui la routine può essere interrotta)... ; CLRI ; disabilitazione delle interruzioni... ; ripristino del contesto RTI Sistemi di interruzione più efficienti sistemi di interruzione più efficienti si ottengono realizzando da hardware le varie funzioni: commutazione del contesto: set multipli di registri; identificazione delle interruzioni: interrupt vettorizzati; gerarchia di priorità: linee di interruzione diverse. 29

Set multipli di registri se N sono i livelli di priorità, con N set di registri dell ALU (fisicamente distinti), si può evitare di salvare nello stack i registri usati dalla RSI; quando si verifica una interruzione di livello i, si attiva il set di registri i-esimo (associati a quel livello): tutti i riferimenti ai registri vengono mappati sul nuovo set, il contenuto dei registri del set precedentemente attivo rimane inalterato, senza bisogno di salvarli; un esempio (anche se parziale) di set multipli di registri si ha nel processore ARM, in cui di alcuni registri esistono copie riservate per i diversi modi operativi : SP e LR per i modi Supervisore, R8 R12 per il modo Fast-Interrupt. 30 Schema per interrupt vettorizzati 31 ( elementi aggiunti)

Interrupt vettorizzati al verificarsi di una interruzione, il processore genera il segnale IACK=1, che attraversa, ad una ad una (daisy chain), le interfacce dei vari dispositivi; la logica dello schema fa sì che: il dispositivo che riceve IACK=1, se non sta generando una IRQ, inoltra IACK=1 inalterato al dispositivo successivo; il dispositivo che riceve IACK=1, se sta generando una IRQ, inoltra IACK=0 al dispositivo successivo e invia sulle linee dati il contenuto del registro IVN (Interrupt Vector Number), codice che identifica il dispositivo; il dispositivo che riceve IACK=0, inoltra comunque IACK=0 inalterato al dispositivo successivo; pertanto al segnale IACK=1 generato dal processore risponde (con il proprio IVN) uno e un solo dispositivo tra quelli che stanno generando una IRQ: quello che viene incontrato per primo nella daisy chain. 32 Vettore di puntatori alle RSI - 1 in un sistema di interrupt vettorizzati, il codice IVN che il processore riceve in risposta al segnale IACK=1 identifica il dispositivo e consente di attivare direttamente la sua RSI; ad esempio, supponendo che IVN sia da 8 bit (max 256 dispositivi diversi), i puntatori (ciascuno da 4 byte) alle 256 RSI potrebbero essere collocati nel primo Kbyte della RAM (vettore di puntatori alle RSI); il puntatore alla RSI associata al dispositivo con IVN = h va situato all indirizzo h 4 della RAM. 33

Vettore di puntatori alle RSI - 2 le operazioni eseguite dall hardware al verificarsi di una interruzione, nel sistema di interrupt vettorizzati descritto, sono: SR push PC push 0 I 1 IACK L[IVN 4] PC e portano ad attivare immediatamente la RSI del dispositivo da servire. 34 Linee di interrupt a priorità diverse - 1 35 Sistema di interrupt con 4 livelli fisici di priorità

Linee di interrupt a priorità diverse - 2 nello schema di figura vi sono 4 linee di interrupt (A, B, C, D, in ordine di priorità decrescente); la logica dello schema assicura che, in presenza di più richieste contemporanee su linee diverse, il processore genera solo l IACK i sul livello della richiesta più prioritaria; inoltre una richiesta di livello k può interrompere una RSI di una richiesta di livello inferiore; a ciascuna linea possono essere collegati più dispositivi, con il medesimo livello di priorità: il relativo segnale IACK i può essere inviato in daisy chain a tutti i dispositivi di quel livello: ciò definisce un ulteriore ordine di priorità all interno di ciascun livello. 36 Interruzioni interne oltre alle interruzioni provocate dai dispositivi esterni, con le quali i dispositivi chiedono un servizio al processore, ve ne sono altre, dette interruzioni interne, che sono provocate da eventi che si verificano all interno del processore; vi sono due tipi di interruzioni interne: le interruzioni provocate da eventi eccezionali (trap), le interruzioni software (system call). 37

Eventi eccezionali che generano trap Hardware failure (parity error, ecc.), Zero divide, Istruzione illecita (violazione di privilegio), Istruzione inesistente, Accesso a word con indirizzo dispari, Esecuzione con modalità trace, Power failure, Bus error, 38 Interruzioni software le interruzioni software sono generate da apposite istruzioni, il cui scopo è solo quello di provocare una interruzione; realizzano il meccanismo di chiamata al sistema operativo e, per questo, vengono chiamate anche system call; rispetto alla modalità normale di richiamare le subroutine per richiedere servizi, per quelli che implicano l accesso a risorse critiche, che non devono essere accessibili ai programmi utente, la system call realizza la necessaria separazione tra il programma richiedente e il SO: non è necessario che nel programma sia specificato l indirizzo della routine del SO da attivare (è bene che non lo conosca e che non possa accedervi); nel momento in cui viene eseguita una system call, il programma perde il controllo del processore.

Fine 07.a Sistemi di interruzione