Sistemi Operativi 1. Mattia Monga. a.a. 2008/09

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Sistemi Operativi 1. Mattia Monga. a.a. 2008/09"

Transcript

1 1 Mattia Dip. di Informatica e Comunicazione Universita degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia License. Immagini tratte da [?] e da Wikipedia. 1

2 284 Lezione XV: La gestione delle

3 285 di un'interruzione II caso: con cambiamento di stack 1 Salvataggio temporaneo di SS, ESP, EFLAGS, CS e EIP 2 Caricamento dei nuovi SS e ESP da un descrittore (Task State Segment) conservato nella GDT. 3 Push di SS, ESP, EFLAGS, CS e EIP sullo stack 4 Se serve, push di un codice di errore 5 L'interrupt (o trap) gate viene utilizzato per inizializzare il nuovo code segment selector (CS) e EIP 6 Solo se e un interrupt, viene azzerato IF (le eccezioni possono invece essere ulteriormente interrotte) 7 Passa il controllo al gestore (CS:EIP)

4 286 La gestione delle interruzioni La gestione corretta delle interruzioni (sincrone e asincrone) dipende percio dal corretto setup di GTD che viene utilizzata per conservare il Task State Segment che contiene gli interrupt gate

5 287 Segment descriptor Vedi par di \Intel Manual 3A" 1 / kernel/protect.c / 2 struct gatedesc s f 3 u16 t oset low; 4 u16 t selector; 5 u8 t pad; / j000jxxxxxj ig & trpg, jxxxxxxxxj task g / 6 u8 t p dpl type; / jpjdlj0jtypej / 7 u16 t oset high; 8 g; 1 / kernel/protect.c / 2 struct gatedesc s idt[ SIZE];

6 Inizializzazione 1 / kernel/protect.c prot init() / 2 struct gate table s gtp; 3 static struct gate table s f 4 PROTOTYPE( void ( gate), (void) ); 5 unsigned char vec nr; 6 unsigned char privilege; 7 g 8 gate table[] = f 9 f divide error, DIVIDE VECTOR, INTR PRIVILEGE g, 10 f single step exception, DEBUG VECTOR, INTR PRIVILEGE g, 11 f nmi, NMI VECTOR, INTR PRIVILEGE g, 12 f breakpoint exception, BREAKPOINT VECTOR, USER PRIVILEGE g, 13 f overow, OVERFLOW VECTOR, USER PRIVILEGE g, 14 /... / 15 f general protection, PROTECTION VECTOR, INTR PRIVILEGE g, 16 f hwint00, VECTOR( 0), INTR PRIVILEGE g, 17 f hwint01, VECTOR( 1), INTR PRIVILEGE g, 18 /... / 19 f s call, SYS386 VECTOR, USER PRIVILEGE g, / 386 system call / 20 f level0 call, LEVEL0 VECTOR, TASK PRIVILEGE g, 288

7 289 Task-State Segment descrittore di segmento memorizzato nella GDT contiene informazioni sullo stato di un processo in Minix viene usato solo nella fase di gestione di risposta agli interrupt

8 Inizializzazione 1 / kernel/protect.c prot init() / 2 struct tss s f 3 reg t backlink; 4 reg t sp0; / stack pointer to use during interrupt / 5 reg t ss0; / " segment " " " " / 6 /... / 7 reg t ip; 8 reg t ags; 9 reg t ax; 10 reg t cx; 11 reg t dx; 12 /... / 13 reg t ldt; 14 g; tss.ss0 = DS SELECTOR; 17 init dataseg(&gdt[ INDEX], vir2phys(&tss), sizeof(tss), INTR PRIVILEGE); 18 gdt[ INDEX].access = PRESENT j 19 (INTR PRIVILEGE << DPL SHIFT) j TYPE; 290

9 Inizializzazione 1 / kernel/protect.c prot init() / 2 3 / Build descriptors for interrupt gates in. / 4 for (gtp = &gate table[0]; 5 gtp < &gate table[sizeof gate table / sizeof gate table[0]]; 6 ++gtp) f 7 int gate(gtp >vec nr, (vir bytes) gtp >gate, 8 PRESENT j INT GATE TYPE j (gtp >privilege << DPL SHIFT)); 9 g / kernel/protect.c int gate() / 12 void int gate(unsigned vec nr, vir bytes oset, unsigned dpl type)f 13 / Build descriptor for an interrupt gate. / 14 register struct gatedesc s idp; idp = &idt[vec nr]; 17 idp >oset low = oset; 18 idp >selector = CS SELECTOR; 19 idp >p dpl type = dpl type; 20 g 291

10 292 La gestione vera e propria 1 jump allo specico interrupt o exception handler in mpx386.s. 2 Interrupt (per i quali serve interagire col ) ed eccezioni sono trattati in maniera diversa, ma in entrambi si prosegue con: 1 chiamata della routine save in cui 2 si salvano i registri generali 3 si caricano i selettori dei segmenti relativi al kernel 4 l'indirizzo restart viene caricato sullo stack come indirizzo di rientro 3 chiamata alla routine di gestione vera e propria (che e scritta in C: intr handle o exception) 4 ritorno a restart

11 293 1 ; for protected mode. 2 ; This is much simpler than for 8086 mode, because the stack already points 3 ; into the process table, or has already been switched to the kernel stack. 4 5.align 16 6 save: 7 cld ; set direction ag to a known value 8 pushad ; save "general" registers 9 o16 push ds ; save ds 10 o16 push es ; save es 11 o16 push fs ; save fs 12 o16 push gs ; save gs 13 mov dx, ss ; ss is kernel data segment 14 mov ds, dx ; load rest of kernel segments 15 mov es, dx ; kernel does not use fs, gs 16 mov eax, esp ; prepare to return 17 incb ( k reenter) ; from 1 if not reentering 18 jnz set restart1 ; stack is already kernel stack 19 mov esp, k stktop 20 push restart ; build return address for int handler 21 xor ebp, ebp ; for stacktrace 22 jmp RETADR P STACKBASE(eax) 23.align 4 24 set restart1: 25 push restart1 26 jmp RETADR P STACKBASE(eax)

12 294 1 restart: 2 3 ; the current process or the next process if it is set. 4 5 cmp ( next ptr), 0 ; see if another process is scheduled 6 jz 0f 7 mov eax, ( next ptr) 8 mov ( proc ptr), eax ; schedule new process 9 mov ( next ptr), : mov esp, ( proc ptr) ; will assume P STACKBASE == 0 11 lldt P LDT SEL(esp) ; enable process' segment descriptors 12 lea eax, P STACKTOP(esp) ; arrange for next interrupt 13 mov ( tss+3 S SP0), eax ; to save state in process table 14 restart1: 15 decb ( k reenter) 16 o16 pop gs 17 o16 pop fs 18 o16 pop es 19 o16 pop ds 20 popad 21 add esp, 4 ; skip return adr 22 iretd ; continue process

13 La gestione delle eccezioni 1 / kernel/exception.c exception() / 2 3 / If an exception occurs while running a process, the k reenter variable 4 will be zero. Exceptions in interrupt handlers or system traps will make 5 k reenter larger than zero. 6 / 7 if (k reenter == 0 &&! iskernelp(saved proc)) f 8 cause sig(proc nr(saved proc), ep >signum); 9 return; 10 g / kernel/system.c cause sig() / 13 void cause sig(proc nr, sig nr) 14 int proc nr; / process to be signalled / 15 int sig nr; / signal to be sent, 1 to NSIG / 16 f 17 / A system process wants to send a signal to a process. 18 Signals are handled by sending a message to PM. 19 / 20 g 295

14 del Le linee di interrupt passano per prima cosa attraverso il registro IMR (Interrupt Mask Register) che verica se le stesse sono state mascherate Nel caso di interrupt non mascherati, gli stessi sono registrati nel registro IRR (Interrupt Request Register), che li \conserva" nche sono stati opportunamente gestiti Priority Resolver seleziona l' di piu alta priorita Viene inviato al processore il segnale INT 296

15 297 del A sua volta il processore, appena sentito l'interrupt, risponde con il segnale INTA (Interrupt Acknowledge) Alla ricezione del segnale INTA, il segnale che il sta gestendo viene memorizzato nel registro ISR (In Service Register ISR). Il bit corrispondente all' viene anche resettato all'interno di IRR e vengono disabilitati tutti gli interrupt di priorita minore o uguale a quello in corso Il processore invia un altro segnale INTA, a seguito del quale il carica sul data bus un numero di 8 bit che corrisponde al vettore dell'interrupt

16 298 Ci sono in genere due 8259 in un PC, a due diversi indirizzi Il primo controlla gli da 0 a 7 Il secondo controlla gli da 8 a 15 Per ognuno ci sono due registri: Status (risp. port 0x20 e 0xA0) Command (risp. port 0x21 e 0xA1) Ad esempio per abilitare 4: 1 in al, 0x20 ;Read existing bits. 2 and al, 0xef ;Turn on 4 (COM1). 3 out 0x21, al ;Write result back to Al termine della gestione bisogna riabilitare (EOI, end of interrupt)

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

Sistemi Operativi 1. Mattia Monga. 11 aprile Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia 1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it delle 11 aprile 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5

Dettagli

Lezione XII: La gestione delle eccezioni in MINIX

Lezione XII: La gestione delle eccezioni in MINIX 1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 4 aprile 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09 1 Mattia Dip. di Informatica e Comunicazione Universita degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

La gestione dei processi in Minix. Sistemi Operativi Lez. 12

La gestione dei processi in Minix. Sistemi Operativi Lez. 12 La gestione dei processi in Minix Sistemi Operativi Lez. 12 Scheduling Round robin su 16 code di priorità Quando un processo viene bloccato senza aver esaurito il suo quanto di tempo, una volta risvegliato,

Dettagli

Sistemi Operativi 1. Lezione XIX: System call in MINIX. Mattia Monga. 22 aprile 2008

Sistemi Operativi 1. Lezione XIX: System call in MINIX. Mattia Monga. 22 aprile 2008 1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 22 aprile 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

La gestione dei processi in Minix

La gestione dei processi in Minix La gestione dei processi in Minix Sistemi Operativi Lez. 28 Scheduling Round robin su 16 code di priorità Quando un processo viene bloccato senza aver esaurito il suo quanto di tempo, una volta risvegliato,

Dettagli

Sistemi operativi. Lez. 18 Interrupt ed Eccezioni in IA-32. Corso: Sistemi Operativi Danilo Bruschi A.A. 2010/2011

Sistemi operativi. Lez. 18 Interrupt ed Eccezioni in IA-32. Corso: Sistemi Operativi Danilo Bruschi A.A. 2010/2011 Sistemi operativi Lez. 18 Interrupt ed Eccezioni in IA-32 1 Il ciclo fetch-decode-execute Il processore opera costantemente sotto il controllo del seguente ciclo: 1) Fetch the next instruction from ram

Dettagli

Interrupts and Exceptions

Interrupts and Exceptions s and Exceptions Da Understanding Linux Kernel Daniel P. Bovet, Marco Cesati Gli interrupts sono generati da timer e da periferiche sono asincroni Le exception sono sincrone Errori di programma Condizioni

Dettagli

Intel x 86. Prof. B.Fadini a.a. 2006/2007

Intel x 86. Prof. B.Fadini a.a. 2006/2007 Intel x 86 Prof. B.Fadini (fadini@unina.it) a.a. 2006/2007 La CPU 8086 e la gestione segmentata della memoria Prof. B.Fadini (fadini@unina.it) a.a. 2006/2007 % #&' 3 Intel 8086/8088 Registri a 16-bit Bus

Dettagli

Assembly. Modello x86

Assembly. Modello x86 Assembly Modello x86 1 Il microprocessore Un MICROPROCESSORE è un circuito integrato dotato di una struttura circuitale in grado di attuare un prefissato SET di ISTRUZIONI 2 Caratteristiche del microprocessore

Dettagli

Sistemi Operativi. Introduzione all architettura IA-32 Lez. 16. Corso: Sistemi Operativi Danilo Bruschi A.A. 2010/2011

Sistemi Operativi. Introduzione all architettura IA-32 Lez. 16. Corso: Sistemi Operativi Danilo Bruschi A.A. 2010/2011 Sistemi Operativi Introduzione all architettura IA-32 Lez. 16 1 Microprocessori Intel Nel 1979 Intel introduce la famiglia dei microprocessore 8086 8086, 8087, 8088, e 80186 Processori a 16-bit con registri

Dettagli

Sistemi Operativi. Lezione 13 Il context switch in MINIX. Corso: Sistemi Operativi Danilo Bruschi A.A. 2009/2010

Sistemi Operativi. Lezione 13 Il context switch in MINIX. Corso: Sistemi Operativi Danilo Bruschi A.A. 2009/2010 Sistemi Operativi Lezione 13 Il context switch in MINIX Context switch Possiamo ora predisporre una routine per il context switch tra processi, che possiamo supporre sia risvegliata da un interrupt di

Dettagli

Interruzioni (1) Periferiche I/O 2 1

Interruzioni (1) Periferiche I/O 2 1 Interruzioni () Un interrupt è un evento inatteso che interrompe il normale flusso di esecuzione del programma e causa il trasferimento del controllo ad una apposita procedura di servizio in grado di gestire

Dettagli

Interruzioni (1) Interruzioni (2)

Interruzioni (1) Interruzioni (2) Interruzioni () Un interrupt è un evento inatteso che interrompe il normale flusso di esecuzione del programma e causa il trasferimento del controllo ad una apposita procedura di servizio in grado di gestire

Dettagli

Le syscall in Minix. Sistemi Operativi Lez. 11

Le syscall in Minix. Sistemi Operativi Lez. 11 Le syscall in Minix Sistemi Operativi Lez. 11 System Call Interfaccia tra le applicazioni ed il sistema operativo, per lo svolgimento di operazioni che coinvolgono dispositivi o strutture di memoria gestite

Dettagli

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia 1 Mattia Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

Sistemi Operativi. Bruschi Martignoni Monga. La gestione. MINIX Architettura I device driver Block device. Memory driver Implementazione

Sistemi Operativi. Bruschi Martignoni Monga. La gestione. MINIX Architettura I device driver Block device. Memory driver Implementazione 1 Mattia Lezione XXVII: Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi allo stesso

Dettagli

Sistemi Operativi. Bruschi Martignoni Monga. Send/Receive mini send Enqueue e dequeue mini receive mini notify. System call in MINIX

Sistemi Operativi. Bruschi Martignoni Monga. Send/Receive mini send Enqueue e dequeue mini receive mini notify. System call in MINIX 1 Mattia Lezione XIX: Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi allo stesso modo

Dettagli

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia 1 Mattia Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

Sistemi Operativi 1. Lezione III: Concetti fondamentali. Mattia Monga. 7 marzo 2008

Sistemi Operativi 1. Lezione III: Concetti fondamentali. Mattia Monga. 7 marzo 2008 1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 7 marzo 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

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

Sistemi Operativi 1. Mattia Monga. 7 marzo Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia 1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 7 marzo 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

Tabella IDT. File di intestazione «int.h» e file delle routine di interruzione «isr.s»

Tabella IDT. File di intestazione «int.h» e file delle routine di interruzione «isr.s» Tabella IDT File di intestazione «int.h» e file delle routine di interruzione «isr.s».............................................. 4519 Funzioni per definire la tabella IDT.................... 4532 Gestione

Dettagli

Sistemi Operativi 1. Lezione IV: Processi e thread. Mattia Monga. 11 marzo 2008

Sistemi Operativi 1. Lezione IV: Processi e thread. Mattia Monga. 11 marzo 2008 1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 11 marzo 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

Architettura del Pentium

Architettura del Pentium PENTIUM Architettura interna del Pipeline interna (U e V) Branch Prediction Logic Registri interni Registri di sistema Operating mode nel Real Mode Protected Mode Livelli di privilegio Segmentazione Selettori

Dettagli

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

Sistemi Operativi 1. Mattia Monga. 6 marzo Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia 1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 6 marzo 2007 1 c 2007 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

Lezione XXVII: La gestione dell I/O in MINIX

Lezione XXVII: La gestione dell I/O in MINIX 1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 20 maggio 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

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

Sistemi Operativi 1. Mattia Monga. 20 maggio Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia 1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 20 maggio 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

Si pone allora il problema fondamentale: come far dialogare la CPU con le periferiche nel modo più efficiente possibile CPU

Si pone allora il problema fondamentale: come far dialogare la CPU con le periferiche nel modo più efficiente possibile CPU Sistemi Roberta Gerboni 1 Un computer è un sistema complesso costituito da: - una Unità Centrale di Elaborazione (CPU) - e da un insieme più o meno numeroso di dispositivi periferici chiamati, semplicemente,

Dettagli

Eccezioni. Università degli Studi di Milano Corso di Laurea in Informatica, A.A

Eccezioni. Università degli Studi di Milano Corso di Laurea in Informatica, A.A Università degli Studi di Milano Corso di Laurea in Informatica, A.A. 2018-2019 Eccezioni Turno A Nicola Basilico Dipartimento di Informatica Via Comelico 39/41-20135 Milano (MI) Ufficio S242 nicola.basilico@unimi.it

Dettagli

Sistemi Operativi. Bruschi Martignoni Monga. La gestione del clock in MINIX Il clock Gestione clock MINIX Clock task IRQ Handler Message handler

Sistemi Operativi. Bruschi Martignoni Monga. La gestione del clock in MINIX Il clock Gestione clock MINIX Clock task IRQ Handler Message handler 1 Mattia Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it Lezione XXII: a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi allo stesso modo

Dettagli

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia 1 Mattia Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

Sistemi Operativi. Introduzione all architettura IA-32 Lez. 15. Corso: Sistemi Operativi Danilo Bruschi A.A. 2014/2015

Sistemi Operativi. Introduzione all architettura IA-32 Lez. 15. Corso: Sistemi Operativi Danilo Bruschi A.A. 2014/2015 Sistemi Operativi Introduzione all architettura IA-32 Lez. 15 1 Microprocessori Intel Nel 1979 Intel introduce la famiglia dei microprocessore 8086 8086, 8087, 8088, e 80186 Processori a 16-bit con registri

Dettagli

Università degli Studi di Cassino e del Lazio Meridionale

Università degli Studi di Cassino e del Lazio Meridionale Università degli Studi di Cassino e del Lazio Meridionale di Calcolatori Elettronici Eccezioni ed Interruzioni Anno Accademico 2013/2014 Alessandra Scotto di Freca Si ringrazia il prof.francesco Tortorella

Dettagli

Manualetto. Aggiornato al 31/07/2014

Manualetto. Aggiornato al 31/07/2014 Sistema emulato Periferiche 8086 Manualetto s165178 @ studenti.polito.it Aggiornato al 31/07/2014 Canali del sistema emulato Routine Descrizione Canale Indice IVT ISR_PA_IN L 8086 riceve un dato dalla

Dettagli

Università degli Studi di Cassino

Università degli Studi di Cassino Corso di Gestione eccezioni nel MIPS Interruzioni Anno Accademico 2007/2008 Francesco Tortorella Modi di esecuzione user / kernel Due modi di esecuzione: User kernel Per ognuno dei due modi di esecuzione

Dettagli

Università degli Studi di Cassino

Università degli Studi di Cassino Corso di Gestione eccezioni nel MIPS Interruzioni Anno Accademico 2004/2005 Francesco Tortorella Modi di esecuzione user / kernel Due modi di esecuzione: User kernel Per ognuno dei due modi di esecuzione

Dettagli

Modi di esecuzione user / kernel

Modi di esecuzione user / kernel Corso di Gestione eccezioni nel MIPS Interruzioni Anno Accademico 2006/2007 Francesco Tortorella Modi di esecuzione user / kernel Due modi di esecuzione: User kernel Per ognuno dei due modi di esecuzione

Dettagli

Famiglia dei processori INTEL

Famiglia dei processori INTEL Famiglia dei processori INTEL 1975 2002 8080-8086 - 80286-80386 - 80486 - Pentium - Pentium II-III-IV - Itanium Compatibilità del SW (assemby) 8086 80286 80386 80486 Pentium Pentium III Perché studiare

Dettagli

Sistemi Operativi (Laboratorio)

Sistemi Operativi (Laboratorio) Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione Università degli Studi di Milano, Italia lorenzo@security.dico.unimi.it a.a. 2008/09 Bruschi Martignoni Monga

Dettagli

Il sistema delle interruzioni nel processore MC68000 (cenni)

Il sistema delle interruzioni nel processore MC68000 (cenni) Corso di Calcolatori Elettronici I A.A. 2011-2012 Il sistema delle interruzioni nel processore MC68000 (cenni) Lezione 33 Prof. Antonio Pescapè Università degli Studi di Napoli Federico II Facoltà di Ingegneria

Dettagli

Sistemi Operativi. Bruschi Martignoni Monga

Sistemi Operativi. Bruschi Martignoni Monga 1 Mattia Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it Lezione XVIII: a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi allo stesso

Dettagli

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia 1 Mattia Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

Sistemi Operativi. Introduzione all architettura IA-32 Lez. 17. Corso: Sistemi Operativi Danilo Bruschi A.A. 2012/2013

Sistemi Operativi. Introduzione all architettura IA-32 Lez. 17. Corso: Sistemi Operativi Danilo Bruschi A.A. 2012/2013 Sistemi Operativi Introduzione all architettura IA-32 Lez. 17 1 Microprocessori Intel Nel 1979 Intel introduce la famiglia dei microprocessore 8086 8086, 8087, 8088, e 80186 Processori a 16-bit con registri

Dettagli

15 April INTERRUPT ED ECCEZIONI I. Frosio

15 April INTERRUPT ED ECCEZIONI I. Frosio 15 April 2011 1 INTERRUPT ED ECCEZIONI I. Frosio SOMMARIO Eccezioni ed interrupt Esempi Gestione SW delle eccezioni: i dettagli 2 CICLO DI ESECUZIONE DI UN ISTRUZIONE Fecth (prelievo istruzione dalla RAM)

Dettagli

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

Sistemi Operativi 1. Mattia Monga. 11 marzo Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia 1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it e 11 marzo 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

7 May INTERRUPT ED ECCEZIONI I. Frosio

7 May INTERRUPT ED ECCEZIONI I. Frosio 1 INTERRUPT ED ECCEZIONI I. Frosio SOMMARIO Eccezioni ed interrupt Esempi Gestione SW delle eccezioni: i dettagli 2 CICLO DI ESECUZIONE DI UN ISTRUZIONE Fecth (prelievo istruzione dalla RAM) Decodifica

Dettagli

ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088

ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088 ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088 microprocessori Intel di terza generazione progetto originario del 1979, ancora oggi interessanti per: motivi didattici: l architettura dei processori Intel

Dettagli

Interrupt ed Eccezioni

Interrupt ed Eccezioni Interrupt ed Eccezioni Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@di.unimi.it Università degli Studi di Milano Riferimento al Patterson, versione 5: 4.9, 5.4 e A.7 1/27 http:\\borghese.di.unimi.it\

Dettagli

Programmazione in linguaggio assembly per architetture Intel 8088

Programmazione in linguaggio assembly per architetture Intel 8088 Programmazione in linguaggio assembly per architetture Intel 8088 Marco Di Felice 1 Università of Bologna Dipartimento di Scienze dell Informazione Corso di Architettura degli Elaboratori mail: difelice@cs.unibo.it

Dettagli

La gestione della memoria su IA-32. Lez. 32 Sistemi Operativi

La gestione della memoria su IA-32. Lez. 32 Sistemi Operativi La gestione della memoria su IA-32 Lez. 32 Sistemi Operativi Preliminari In protected mode, IA-32 prevede uno spazio di memoria fisica di 4 Gbyte (2 32 bytes) È uno spazio lineare (non segmentato) con

Dettagli

ARCHITETTURA DEL MICROPROCESSORE INTEL 8086 (iapx86/10)

ARCHITETTURA DEL MICROPROCESSORE INTEL 8086 (iapx86/10) ARCHITETTURA DEL MICROPROCESSORE INTEL 8086 (iapx86/10) Chip con 40 piedini e 29000 transistori Progettato a metà degli anni 70, periodo in cui la densità di integrazione era relativamente bassa ( solo

Dettagli

Gestione delle eccezioni.

Gestione delle eccezioni. Gestione delle eccezioni nicola.basilico@unimi.it http://homes.di.unimi.it/basilico/teaching/ Eccezioni Fetch Decodifica Calcolo Lettura / scrittura Eccezione (es. istruzione non riconosciuta) Eccezione

Dettagli

Interazione con il DOS e il BIOS

Interazione con il DOS e il BIOS Interazione con il DOS e il BIOS ARGOMENTI PRESENTATI IN QUESTI LUCIDI Routine di BIOS e DOS Due modalità diverse di restituire il controllo al DOS L interazione con le routine del DOS: l interrupt 21H

Dettagli

Sistemi Operativi 1. Mattia Monga. a.a. 2015/16. Dip. di Informatica Università degli Studi di Milano, Italia

Sistemi Operativi 1. Mattia Monga. a.a. 2015/16. Dip. di Informatica Università degli Studi di Milano, Italia 1 Mattia Monga Dip. di Informatica Università degli Studi di Milano, Italia mattia.monga@unimi.it di base a.a. 2015/16 1 cba 2008 16 M. Monga. Creative Commons Attribuzione Condividi allo stesso modo 4.0

Dettagli

Introduzione. Architettura

Introduzione. Architettura Introduzione Questo simulatore fornisce una versione semplificata dell assemblatore sfruttato dal processore 8088 trasformando il codice inserito in input in codice eseguibile e ne simula l esecuzione

Dettagli

Hardware di un Computer

Hardware di un Computer Hardware di un Computer Monitor Mouse Tastiera Printer Disk CPU Graphics Adapter USB Controller Parallel Port Disk Controller BUS Memoria RAM Memoria ROM (BIOS) DMA CPU esegue istruzioni, effettua calcoli,

Dettagli

ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088

ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088 ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088 microprocessori Intel della terza generazione progetto del 1978/79 address bus: 20 bit 1M byte data bus: 8 bit per l'8088, 16 bit per l'8086 identico formato

Dettagli

Schemi di paginazione nell architettura 86 (32 e 64 bit)

Schemi di paginazione nell architettura 86 (32 e 64 bit) Paginazione X86 1 Schemi di paginazione nell architettura 86 (32 e 64 bit) Questo documento mette insieme figure dai manuali Intel che illustrano gli aspetti salienti della gestione della memoria nell

Dettagli

ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088

ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088 ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088 microprocessori Intel di terza generazione progetto originario del 1979, ancora oggi interessanti per: motivi didattici: l architettura dei processori Intel

Dettagli

Microcontrollori 12/03/2014. Progettazione Sistemi Elettronici 2013/2014 1

Microcontrollori 12/03/2014. Progettazione Sistemi Elettronici 2013/2014 1 Microcontrollori 2013/2014 1 Microcontrollori 2013/2014 2 Microcontrollori CPU Instruction set -CISC Complex Instruction Set Computing (Intel x86 family; Motorola 680x0) -RISC Reduced Instruction Set computer

Dettagli

BIU - Bus Interface Unit. EU - Execution Unit. indipendente e asincrono: Costituito da due unità che operano in modo parzialmente

BIU - Bus Interface Unit. EU - Execution Unit. indipendente e asincrono: Costituito da due unità che operano in modo parzialmente Sistemi Roberta Gerboni Introdotto sul mercato nel giugno 1978 Primo processore a 16 bit Costituito da due unità che operano in modo parzialmente indipendente e asincrono: EU - Execution Unit BIU - Bus

Dettagli

Architettura di una CPU

Architettura di una CPU Massimo VIOLANTE Politecnico di Torino Dipartimento di Automatica e Informatica Sommario Organizzazione di un processore Linguaggio macchina Modi di indirizzamento Tipi di istruzioni 2 M. Violante 1.1

Dettagli

Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a Docente: H. Muccini

Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a Docente: H. Muccini [http://www.di.univaq.it/muccini/labarch] Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a. 2005-2006 Docente: H. Muccini Lecture 15: - Macro - Eccezioni e interruzioni

Dettagli

Linguaggio Assemblativo della famiglia 80x86

Linguaggio Assemblativo della famiglia 80x86 Linguaggio Assemblativo della famiglia 80x86 Dr. Luciano Capitanio BOZZA PRELIMINARE Assembler 80x86 Dr. Luciano Capitanio 1 Linguaggio Assemblativo della famiglia 80x86 Obiettivo Verranno forniti gli

Dettagli

Sistemi Operativi 1. Mattia Monga. a.a. 2016/17. Dip. di Informatica Università degli Studi di Milano, Italia

Sistemi Operativi 1. Mattia Monga. a.a. 2016/17. Dip. di Informatica Università degli Studi di Milano, Italia 1 Mattia Monga Dip. di Informatica Università degli Studi di Milano, Italia mattia.monga@unimi.it di base a.a. 2016/17 1 cba 2008 17 M. Monga. Creative Commons Attribuzione Condividi allo stesso modo 4.0

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Corso di Laurea Triennale in Informatica Università degli Studi di Bari Laboratorio lez1: il processore 8086/88 Prof. S.Pizzutilo Microprocessori INTEL per il PC 8080 (1974)

Dettagli

ESERCITAZIONE Operandi Architettura ad 1 operando Architettura a 2 operandi Architettura a 3 operandi

ESERCITAZIONE Operandi Architettura ad 1 operando Architettura a 2 operandi Architettura a 3 operandi ESERCITAZIONE 9 Sommario Operandi Registri dedicati Gestione di sottoprogrammi Meccanismi di interruzione 1. Operandi Le prestazioni di una CPU possono variare considerevolmente a seconda del numero di

Dettagli

Esercitazione 8 Eccezioni & Interruzioni in MIPS 32 Claudia Raibulet raibulet@disco.unimib.it Eccezioni Le eccezioni = variazioni delle condizioni normali di funzionamento della CPU Conseguenze delle eccezioni

Dettagli

Note su. Interruzioni. e Multi Rate Timer

Note su. Interruzioni. e Multi Rate Timer Introduzione alla progettazione di sistemi embedded a microcontrollore Note su Interruzioni e Multi Rate Timer prof. Stefano Salvatori A.A. 2017/2018 Eccetto dove diversamente specificato, i contenuti

Dettagli

Trasparenze del Corso di Sistemi Operativi

Trasparenze del Corso di Sistemi Operativi Università di Udine Facoltà di Scienze MM.FF.NN. Laurea in Informatica A.A. 2018/19 Trasparenze del Corso di Sistemi Operativi Marina Lenisa Università di Udine Copyright c 2000-04 Marino Miculan (miculan@dimi.uniud.it)

Dettagli

Elettronica dei Sistemi Programmabili A.A Microcontrollori. Architettura degli ARM CORTEX TM -M0 (1a parte)

Elettronica dei Sistemi Programmabili A.A Microcontrollori. Architettura degli ARM CORTEX TM -M0 (1a parte) Elettronica dei Sistemi Programmabili A.A. 2013-2014 Microcontrollori Architettura degli ARM CORTEX TM -M0 (1a parte) Programmer's model del Cortex-M0 2/24 Modi operativi e stati Due modi operativi Thread

Dettagli

Messaggi in Minix. Sistemi operativi Lez. 10. Corso: Sistemi Operativi Danilo Bruschi A.A. 2006/2007

Messaggi in Minix. Sistemi operativi Lez. 10. Corso: Sistemi Operativi Danilo Bruschi A.A. 2006/2007 Messaggi in Minix Sistemi operativi Lez. 10 1 Comunicare in Minix I processi in Minix comunicano tra di loro attraverso scambio di messaggi I processi possono comunicare solo con processi al proprio livello

Dettagli

Interruzioni o eccezioni? 1

Interruzioni o eccezioni? 1 0 Eccezioni in ARM C.Fantozzi, M.Moro Interruzioni o eccezioni? 1 In ARM si usa il termine eccezione (exception) per indicare una generica interruzione, in una delle tante diverse forme (esterna, software,

Dettagli

Istruzioni di controllo del flusso

Istruzioni di controllo del flusso Istruzioni di controllo del flusso Il flusso di esecuzione è normalmente sequenziale Le istruzioni di controllo cambiano la prossima istruzione da eseguire Istruzioni di salto condizionato branch if equal

Dettagli

Sistemi Operativi e Reti 1

Sistemi Operativi e Reti 1 Sistemi Operativi e Reti 1 Dip. di Informatica Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2014/15 1 cba 2015 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo

Dettagli

Sistemi x86 CALCOLATORI ELETTRONICI LM

Sistemi x86 CALCOLATORI ELETTRONICI LM Sistemi x86 CALCOLATORI ELETTRONICI LM 1 Registri x86 31 15 8 7 AH AX AL EAX 31 IP BH BX BL EBX CH CX DH DX CL DL ECX EDX 31 FLAGS EF SI ESI DI EDI BP EBP 15 8 7 SP CS SS DS ESP Sono presenti anche i registri

Dettagli

Rivediamo alcuni concetti fondamentali: note sulle interruzioni e sul Multi Rate Timer

Rivediamo alcuni concetti fondamentali: note sulle interruzioni e sul Multi Rate Timer Introduzione alla progettazione di sistemi embedded a microcontrollore Rivediamo alcuni concetti fondamentali: note sulle interruzioni e sul Multi Rate Timer prof. Stefano Salvatori A.A. 2016/2017 Eccetto

Dettagli

Architettura dei sistemi di elaborazione (Input/Output parte 2)

Architettura dei sistemi di elaborazione (Input/Output parte 2) Architettura dei sistemi di elaborazione (Input/Output parte 2) Gestione dell I/O Il processore può comunicare con uno o più dispositivi esterni secondo schemi temporali imprevedibili che dipendono dalle

Dettagli

; ; Definizione costanti

; ; Definizione costanti 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 TITLE

Dettagli

Interfacciamento a periferiche

Interfacciamento a periferiche Interfacciamento a periferiche Periferica controller o interfaccia CPU/RAM. In genere la periferica è elettromeccanica e l interfaccia digitale (scheda sul bus o integrata su motherboard). Ma l esatta

Dettagli

Sistemi di Elaborazione a Microprocessore (interfaccia parallela) M. Rebaudengo - M. Sonza Reorda

Sistemi di Elaborazione a Microprocessore (interfaccia parallela) M. Rebaudengo - M. Sonza Reorda 8255 (interfaccia parallela) M. Rebaudengo - M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica 1 M. Rebaudengo, M. Sonza Reorda Generalità L'Intel 8255 implementa un interfaccia di

Dettagli

RIKAYA Operating System

RIKAYA Operating System RIKAYA Operating System Specifiche di Progetto FASE 2 v.0.1 Anno Accademico 2018-2019 (da un documento di Marco di Felice) RIKAYA OS Sistema Operativo in 6 livelli di astrazione. Livello 6: Shell interattiva

Dettagli

ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088

ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088 ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088 microprocessori Intel della terza generazione progetto del 1978/79 address bus: 20 bit Ä 1M byte data bus: 8 bit per l 8088, 16 bit per l 8086 identico

Dettagli

IPC in Minix. Sistemi operativi Lez. 17-18. Corso: Sistemi Operativi Danilo Bruschi A.A. 2009/2010

IPC in Minix. Sistemi operativi Lez. 17-18. Corso: Sistemi Operativi Danilo Bruschi A.A. 2009/2010 IPC in Minix Sistemi operativi Lez. 17-18 1 Comunicare in Minix I processi in Minix comunicano tra di loro attraverso scambio di messaggi I processi possono comunicare solo con processi al proprio livello

Dettagli

Gestione ad interrupt del pulsante S3

Gestione ad interrupt del pulsante S3 Esercitazione 4 - Interrupt Gestione ad interrupt del pulsante S3 L4 S Congiu, Tabella dei vettori di eccezione 1 Indirizzo Descrizione Modo 0x00000000 Reset SVC 0x00000004 Undefined Instruction (UDEF)

Dettagli

Istruzioni di trasferimento dati

Istruzioni di trasferimento dati Istruzioni di trasferimento dati Leggere dalla memoria su registro: lw (load word) Scrivere da registro alla memoria: sw (store word) Esempio: Codice C: A[8] += h A è un array di numeri interi Codice Assembler:

Dettagli

Istruzioni di modifica della sequenza di elaborazione

Istruzioni di modifica della sequenza di elaborazione Istruzioni di modifica della sequenza di elaborazione Permettono di modificare la sequenza di esecuzione delle istruzioni di un programma, normalmente controllata dal meccanismo automatico di avanzamento

Dettagli

L architettura Intel

L architettura Intel Architettura degli Elaboratori e delle Reti Lezione 33 L architettura Intel Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 33 1/30 Le prime

Dettagli

Esercizi per il recupero del debito formativo:

Esercizi per il recupero del debito formativo: ANNO SCOLASTICO 2005/2006 CLASSE 4 ISC Esercizi per il recupero del debito formativo: Facendo esclusivamente uso delle istruzioni del linguaggio macchina mnemonico del microprocessore INTEL 8086 viste

Dettagli

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

Periferiche CPU. Misure e Sistemi Microelettronici Sistemi 6-1 SREG. Data Bus Address Bus Control Bus Periferiche Interface Interface Interface Interface CPU SREG CREG DREG Il processore scambia informazioni con le periferiche attraverso dei registri. Tipicamente: Control REGister; Status REGister; Data

Dettagli

L architettura Intel

L architettura Intel Architettura degli Elaboratori e delle Reti Lezione 33 L architettura Intel Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 33 1/29 Le prime

Dettagli

La gestione del clock in Minix

La gestione del clock in Minix La gestione del clock in Minix Sistemi Operativi Lez. 29 1 La periferica Il cristallo di quarzo sottoposto a tensione genera un segnale con frequenza che varia da 5 a 200 MHz Ad ogni ciclo il contatore

Dettagli

Manualino minimale MIPS

Manualino minimale MIPS Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Manualino minimale MIPS Marco Tarini Operazioni aritmetiche Nome Comando completo Esempio Sintassi (es) Significato Semantica

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Corso di Laurea Triennale in Informatica Università degli Studi di Bari Anno Accademico 2009-2010 Laboratorio lez1: il processore 8086/88 Prof. S.Pizzutilo I processori Intel

Dettagli

Nel microprocessore 8086 abbiamo una gran quantità di registri

Nel microprocessore 8086 abbiamo una gran quantità di registri I registri del microprocessore 8086 Nel microprocessore 8086 abbiamo una gran quantità di registri AH AL AX 1 1 1 1 1 1 1 0 0 1 0 1 1 1 0 1 B H B L BX 1 0 1 0 1 0 0 1 1 1 0 1 1 0 1 0 C H C L CX 1 0 1 1

Dettagli

Sistemi Operativi. Bruschi Martignoni Monga. Strutture dati per la gestione dei processi Context switch Thread. Scheduling

Sistemi Operativi. Bruschi Martignoni Monga. Strutture dati per la gestione dei processi Context switch Thread. Scheduling 1 Mattia Lezione VI: Lo Dip. di Informatica e Comunicazione Universita degli Studi di Milano, Italia mattia.monga@unimi.it batch batch a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi

Dettagli