Sistemi Operativi 1. Mattia Monga. 11 aprile Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia
|
|
- Guglielmo Marchese
- 7 anni fa
- Visualizzazioni
Transcript
1 1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it delle 11 aprile c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia License. Immagini tratte da [2] e da Wikipedia. 1
2 280 Lezione XV: La gestione delle delle
3 281 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 è un interrupt, viene azzerato IF (le eccezioni possono invece essere ulteriormente interrotte) 7 Passa il controllo al gestore (CS:EIP) delle
4 282 La gestione delle interruzioni La gestione corretta delle interruzioni (sincrone e asincrone) dipende perciò dal corretto setup di GTD che viene utilizzata per conservare il Task State Segment che contiene gli interrupt gate delle
5 283 Segment descriptor 1 / kernel/protect.c / 2 struct gatedesc s { 3 u16 t offset low; 4 u16 t selector; Vedi par di 6 u8 t p dpl type; / P DL 0 TYPE / Intel Manual 3A 7 u16 t offset high; 8 }; delle 5 u8 t pad; / 000 XXXXX ig & trpg, XXXXXXXX task 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 { 4 PROTOTYPE( void ( gate), (void) ); 5 unsigned char vec nr; 6 unsigned char privilege; 7 } 8 gate table[] = { 9 { divide error, DIVIDE VECTOR, INTR PRIVILEGE }, 10 { single step exception, DEBUG VECTOR, INTR PRIVILEGE }, 11 { nmi, NMI VECTOR, INTR PRIVILEGE }, 12 { breakpoint exception, BREAKPOINT VECTOR, USER PRIVILEGE }, 13 { overflow, OVERFLOW VECTOR, USER PRIVILEGE }, 14 /... / 15 { general protection, PROTECTION VECTOR, INTR PRIVILEGE }, 16 { hwint00, VECTOR( 0), INTR PRIVILEGE }, 17 { hwint01, VECTOR( 1), INTR PRIVILEGE }, 18 /... / 19 { s call, SYS386 VECTOR, USER PRIVILEGE }, / 386 system call / 20 { level0 call, LEVEL0 VECTOR, TASK PRIVILEGE }, 284 delle
7 285 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 delle
8 Inizializzazione 1 / kernel/protect.c prot init() / 2 struct tss s { 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 flags; 9 reg t ax; 10 reg t cx; 11 reg t dx; 12 /... / 13 reg t ldt; 14 }; tss.ss0 = DS SELECTOR; 17 init dataseg(&gdt[ INDEX], vir2phys(&tss), sizeof(tss), INTR PRIVILEGE); 18 gdt[ INDEX].access = PRESENT 19 (INTR PRIVILEGE << DPL SHIFT) TYPE; 286 delle
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) { 7 int gate(gtp >vec nr, (vir bytes) gtp >gate, 8 PRESENT INT GATE TYPE (gtp >privilege << DPL SHIFT)); 9 } / kernel/protect.c int gate() / 12 void int gate(unsigned vec nr, vir bytes offset, unsigned dpl type){ 13 / Build descriptor for an interrupt gate. / 14 register struct gatedesc s idp; idp = &idt[vec nr]; 17 idp >offset low = offset; 18 idp >selector = CS SELECTOR; 19 idp >p dpl type = dpl type; 20 } 287 delle
10 288 La gestione vera e propria 1 jump allo specifico 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 è scritta in C: intr handle o exception) 4 ritorno a restart delle
11 289 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 flag 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) delle
12 290 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 delle
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)) { 8 cause sig(proc nr(saved proc), ep >signum); 9 return; 10 } / 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 { 17 / A system process wants to send a signal to a process. 18 Signals are handled by sending a message to PM. 19 / 20 } 291 delle
14 del Le linee di interrupt passano per prima cosa attraverso il registro IMR (Interrupt Mask Register) che verifica 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 finché sono stati opportunamente gestiti Priority Resolver seleziona l di piú alta priorità Viene inviato al processore il segnale INT 292 delle
15 293 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 priorità 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 delle
16 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: delle 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) 294
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,
DettagliAssembly. 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
DettagliSistemi 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
DettagliSistemi 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
DettagliSistemi 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
DettagliSistemi 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
DettagliFamiglia 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
DettagliSistemi 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
DettagliSistemi 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
DettagliSistemi 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
DettagliHardware 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,
DettagliInterazione 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
DettagliArchitettura 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
DettagliSistemi 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
DettagliModi 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
DettagliManualetto. 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
DettagliIl 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
DettagliSistemi di Elaborazione a Microprocessore 8259. (Controllore Program m abile delle Interruzioni) M. Rebaudengo - M. Sonza Reorda
8259 (Controllore Program m abile delle Interruzioni) M. Rebaudengo - M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica 1 M. Rebaudengo, M. Sonza Reorda Generalità L'8259 è stato progettato
DettagliIstruzioni 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
DettagliArchitettura 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
DettagliARCHITETTURA 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
DettagliArchitettura 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)
DettagliMessaggi 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
DettagliSchemi 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
DettagliARCHITETTURA 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
DettagliARCHITETTURA 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
DettagliInterruzioni 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,
DettagliARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088
ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088 microprocessori Intel di terza generazione progetto originario del 1979, ancora oggi interessanti per: 1. motivi didattici: l architettura dei processori
DettagliIPC 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
DettagliTutta la famiglia dei processori Intel (x86) si basa ed e' compatibile con il primo processore di questo tipo: l'8086.
I processori Intel Tutta la famiglia dei processori Intel (x86) si basa ed e' compatibile con il primo processore di questo tipo: l'8086. L'8086 e' un processore a 16 bit quindi i suoi registri potranno
DettagliNel 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
DettagliEsercizi 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
DettagliARCHITETTURA 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
DettagliLaboratorio 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
DettagliL 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
DettagliLinguaggio Assembler Intel -cenni - Calcolatori Elettronici B a.a. 2005/2006 Massimiliano Giacomin
Linguaggio Assembler Intel -cenni - Calcolatori Elettronici B a.a. 2005/2006 Massimiliano Giacomin 1 Un po di storia 1978: architettura 8086, a 16 bit, con registri dati a 16 bit e spazio di indirizzamento
DettagliCenni ad Assembly Intel
Cenni ad Assembly Intel Luca Abeni April 17, 2015 Architerrura Intel Utilizzata sulla maggior parte dei laptop, desktop e server moderni Lunga storia Dagli anni 70 (Intel 8080-8 bit!)......fino ad oggi
DettagliEsercitazione 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
DettagliLezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario
Lezione 2 Principi Fondamentali di SO Interrupt e Caching Sommario Operazioni di un SO: principi fondamentali Una visione schematica di un calcolatore Interazione tra SO, Computer e Programmi Utente 1
DettagliArchitettura degli elaboratori (A)
Laurea in Informatica a.a. 2010-2011 Laboratorio del corso di Architettura degli elaboratori (A) Modulo 1: l Architettura dell 8086 Valeria Carofiglio Linguaggi a vari livelli e loro relazioni Programma
DettagliPeriferiche 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
DettagliGestione 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)
DettagliProgrammazione Assembly Note su Microsoft Assembler
Programmazione Assembly Note su Microsoft Assembler Giacomo Fiumara giacomo.fiumara@unime.it Anno Accademico 2012-2013 1 / 254 Microsoft Assembler Masm32.com installare configurare path perchè contenga
DettagliAssembler di Spim. Assembler di SPIM. Struttura di un programma assembler. Direttive
Assembler di Spim Assembler di SPIM Il programma è organizzato in linee Ogni linea può contenere un commento che parte dal carattere # e si estende fino alla fine della linea Ogni linea che non sia bianca
DettagliStrutture di controllo del flusso di esecuzione in assembler. MC68000: Status Register
Corso di Calcolatori Elettronici I A.A. 2010-2011 Strutture di controllo del flusso di esecuzione in assembler Lezione 25 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di
DettagliArchitettura di un sistema di calcolo
Richiami sulla struttura dei sistemi di calcolo Gestione delle Interruzioni Gestione della comunicazione fra processore e dispositivi periferici Gerarchia di memoria Protezione. 2.1 Architettura di un
DettagliRiassunto. Riassunto. Ciclo fetch&execute. Concetto di programma memorizzato. Istruzioni aritmetiche add, sub, mult, div
MIPS load/store word, con indirizzamento al byte aritmetica solo su registri Istruzioni Significato add $t1, $t2, $t3 $t1 = $t2 + $t3 sub $t1, $t2, $t3 $t1 = $t2 - $t3 mult $t1, $t2 Hi,Lo = $t1*$t2 div
DettagliPASSI DI SVILUPPO DI UN PROGRAMMA: ESEMPIO
PASSI DI SVILUPPO DI UN PROGRAMMA: ESEMPIO Programma diviso in due moduli: MA.ASM: programma pricipale e funzioni di utilità MB.ASM: sottoprogramma di elaborazione Primo modulo: MA.ASM EXTRN alfa: BYTE
DettagliSeminario di Sicurezza Informatica. Reference Monitors. Docente: Studente: FALLERI FILIPPO STEFANO BISTARELLI
Seminario di Sicurezza Informatica Reference Monitors Studente: FALLERI FILIPPO Docente: STEFANO BISTARELLI Reference Monitor (RM) Reference monitor: Concetto di controllo degli accessi, che fà riferimento
DettagliSistema Operativo - Gestione della Memoria lista argomenti di studio
Sistema Operativo - Gestione della Memoria lista argomenti di studio Istruzioni assembly salti assoluti salti relativi Linking Rilocazione Statica Istruzioni rilocabili (salti relativi) Istruzioni Non
DettagliBlocchi funzione: FbModbusAsciiMs
Pagina 1 di 6 ELSIST Srl, www.elsist.it Blocchi funzione MNL041Q000 FbModbusAsciiMs Questo blocco funzione permette lo scambio di dati tra due sistemi, uno master ed uno slave, utilizzando una connessione
DettagliLinguaggio macchina e linguaggio assembly
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Università degli Studi di Udine Linguaggio macchina e linguaggio assembly Formato delle istruzioni 15 8 7 0 gruppo modo di indirizzamento codice dell
DettagliCalcolatori Elettronici Lezione A2 Architettura i8086
Calcolatori Elettronici Lezione A2 Architettura i8086 Ing. Gestionale e delle Telecomunicazioni A.A. 2007/08 Gabriele Cecchetti Architettura i8086 Sommario: L i8086 Registri Accesso alla memoria: indirizzi
DettagliArchitettura 8086/8088
Architettura 8086/8088 M. Rebaudengo - M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica 1 M. Sonza Reorda, M. Rebaudengo - a.a. 2007/08 Caratteristiche generali dell'8086 Usa la tecnologia
DettagliIntroduzione ai Sistemi Operativi
Introduzione ai Sistemi Operativi Scopo di questa parte del corso e : introdurre i concetti principali dei sistemi operativi, identificare i requisiti hardware necessari alla gestione dei processi e del
DettagliStruttura dei Sistemi di Calcolo
Università di Udine Facoltà di Scienze MM.FF.NN. A.A. 2009-2010 Copyright c 2000 04 Marino Miculan (miculan@dimi.uniud.it) La copia letterale e la distribuzione di questa presentazione nella sua integrità
DettagliInterrupts e System calls
by Salvatore D'Angelo Table of contents 1 Introduzione... 2 2 Interrupts & Eccezioni... 2 2.1 Interrupts & Eccezioni: che cos'è un interrupt... 2 2.2 Interrupts & Eccezioni: Programmable Interrupt Controller
DettagliIl sistema di I/O. Calcolatori Elettronici 1. Architettura a bus singolo. Memoria. Unità di I/O. Interfaccia. Unità di I/O.
Il sistema di I/O Calcolatori Elettronici 1 Architettura a bus singolo Memoria CPU Interfaccia Unità di I/O Interfaccia Unità di I/O Calcolatori Elettronici 2 1 Interfaccia Svolge la funzione di adattamento
DettagliCOMPITINO #1 di CALCOLATORI ELETTRONICI 1 del 03-11-09 COGNOME NOME
MATRICOLA COGNOME NOME 1) [28/40] Trovare il codice assembly MIPS corrispondente dei seguenti micro-benchmark (utilizzando solo e unicamente istruzioni dalla tabella sottostante), rispettando le convenzioni
DettagliMemoria virtuale e Sistema operativo. In riferimento all architettura x86 e al sistema operativo Linux
Memoria virtuale e Sistema operativo In riferimento all architettura x86 e al sistema operativo Linux 1 Premessa Questa NON è una lezione di un corso di Sistemi Operativi, né tantomeno di Linux Lo scopo
DettagliArchitettura x86 a 64 bit
Architettura x86 a 64 bit Ovvero come l architettura x86 a 32 bit è stata portata a 64 bit 1 Per cominciare Contenuto Storia L architettura a 32 bit L architettura a 64 bit Avvertenza Per abitudine ci
DettagliLinguaggio Assembler Intel 80x86. Calcolatori Elettronici B a.a. 2004/2005 Massimiliano Giacomin
Linguaggio Assembler Intel 80x86 Calcolatori Elettronici B a.a. 2004/2005 Massimiliano Giacomin 1 Scopi principali Studiare un ulteriore esempio di linguaggio assembler Saper svolgere semplici programmi
DettagliL insieme delle istruzioni (6)
L insieme delle istruzioni (6) Architetture dei Calcolatori (lettere A-I) Alcune note conclusive I due principi dell architettura a programma memorizzato Uso di istruzioni indistinguibili dai dati Uso
DettagliIl livello architettura e set di istruzioni
Corso di Informatica 2 Prof. Sciuto Il livello architettura e set di istruzioni Daniele Paolo Scarpazza Dipartimento di Elettronica e Informazione Politecnico di Milano 7 Giugno 2004 Daniele Paolo Scarpazza
DettagliInterrupt-Driven I/O Gli Interrupts sono segnali hardware: - generati da device periferici es. fine di un operazione di I/O -oppure generati dalla CPU, a fronte di eccezioni i es. divisione per zero, stack
DettagliI Processi nel Sistema Operativo Unix. Gerarchie di processi Unix. Stati di un processo Unix. Stati di un processo Unix.
I Processi nel Sistema Operativo Unix Processi Unix Unix è un sistema operativo multiprogrammato a divisione di tempo: l unità di computazione è il processo. Caratteristiche del processo Unix: processo
DettagliSET/CLEAR LOAD DATA FROM STRING
SET/CLEAR STD CLD AZIONE: Imposta ad 1 (STD) o a zero (CLD) il valore del flag DF. Sono istruzioni senza parametri. Vanno sempre messi!! FLAG di cui viene modificato il contenuto: Nessuno (a parte DF).
DettagliElementi di sicurezza e Privatezza. Lezione 8: memory error exploit
Elementi di sicurezza e Privatezza Lezione 8: memory error exploit Situazione I meccanismi di controllo degli accessi consentono un controllo particolarmente efficace su chi può fare cosa in un sistema
DettagliCalcolatori Elettronici Parte VII: il Livello delle Istruzioni Macchina
Anno Accademico 2013/2014 Calcolatori Elettronici Parte VII: il Livello delle Istruzioni Macchina Prof. Riccardo Torlone Universita Roma Tre Instruction Set Architecture Il livello ISA è l interfaccia
DettagliLe procedure. L insieme delle istruzioni (4) Prima della chiamata di una procedura. Le procedure (2) Architetture dei Calcolatori (lettere A-I)
Le procedure L insieme delle istruzioni (4) Architetture dei Calcolatori (lettere A-I) In ogni linguaggio di programmazione si struttura il proprio codice usando procedure (funzioni, metodi, ) L utilizzo
DettagliParte V. Il Livello delle Istruzioni Macchina
Parte V Il Livello delle Istruzioni Macchina V.1 Instruction Set Architecture Il livello ISA è l interfaccia tra HW e SW È il livello più basso a cui il processore è programmabile Criteri di scelta: Semplicità
DettagliCorso Sistemi Operativi
Corso Sistemi Operativi Ing. Pierfrancesco Bellini pierfrancesco.bellini@unifi.it Laboratorio DISIT Dip. Ingegneria dell Informazione Via S. Marta, 3 Programma a.a. 2016/17 Introduzione Struttura di un
DettagliProgrammazione Assembly per 8088: Esercizi svolti
Programmazione Assembly per 8088: Esercizi svolti Marco Di Felice 13 dicembre 2006 1 Esercizio 1 (esercizio 1 del Tanenbaum, Appendice C) TESTO. Dopo l esecuzione dell istruzione MOV AX, 702 qual è il
DettagliParte VI. Istruzioni ed indirizzamento
Parte VI Istruzioni ed indirizzamento VI.1 Instruction Set Architecture Il livello ISA è l interfaccia tra HW e SW È il livello più basso a cui il processore è programmabile Criteri di scelta: Semplicità
DettagliMULTIPROGRAMMAZIONE E PROTEZIONE. G. Frosini Multiprogrammazione e Protezione Slide 1
MULTIPROGRAMMAZIONE E PROTEZIONE G. Frosini Multiprogrammazione e Protezione Slide 1 SISTEMI MULTIPROGRAMMATI Sistema di elaborazione con un solo processore: può eseguire un solo programma alla volta;
DettagliINTERRUPT ed ECCEZIONI
INTERRUPT ed ECCEZIONI Un interrupt viene definito di solito come un evento che altera la sequenza delle istruzioni eseguite da un processore. Gli eventi corrispondono a segnali elettrici generati da circuiti
DettagliProcessore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)
Processore Memoria Control (Parte di controllo) Datapath (Parte operativa) I/O Parte di Controllo La Parte Controllo (Control) della CPU è un circuito sequenziale istruzioni eseguite in più cicli di clock
DettagliLezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario
Lezione 2 Principi Fondamentali di SO Interrupt e Caching Sommario Operazioni di un SO: principi fondamentali Una visione schematica di un calcolatore Interazione tra SO, Computer e Programmi Utente 1
DettagliArchitetture dei Calcolatori
Architetture dei Calcolatori Lezione 11 -- 10/12/2011 Procedure Emiliano Casalicchio emiliano.casalicchio@uniroma2.it Fattoriale: risparmiamo sull uso dei registri q Rispetto alla soluzione precedente
DettagliPrincipali periferiche
Principali periferiche Timer Periferica per il conteggio esatto del tempo Esempio: 8254 3 contatori "indietro" da 16 bit: si può impostare un valore iniziale fino a 0xFFFF in ciascuno dei tre contatori;
DettagliComponenti di un sistema operativo
Componenti di un sistema operativo Dipartimento di Informatica Università di Verona, Italy Componenti di un S.O. Gestione dei processi Gestione della memoria primaria Gestione della memoria secondaria
DettagliCLASSIFICAZIONE DEI SISTEMI DI ELABORAZIONE AUTOMATICA DELL INFORMAZIONE
APPUNTI DI SISTEMI rancesco Longo 4 ISC CLASSIICAZIONE DEI SISTEMI DI ELABORAZIONE AUTOMATICA DELL INORMAZIONE 1 SISTEMI CONVENZIONALI (Von Neumann) Sistemi che eseguono un programma già memorizzato nella
DettagliLezione E12. Sistemi operativi open-source, embedded e real-time
Lezione E12 Sistemi operativi open-source, embedded e real-time 17 dicembre 2013 Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata SOSERT 13 E12.1 Di
DettagliElettronica dei Sistemi Programmabili A.A. 2013-2014. Microcontrollori. Introduzione allo sviluppo di progetti
Elettronica dei Sistemi Programmabili A.A. 2013-2014 Microcontrollori Introduzione allo sviluppo di progetti Premessa Qualunque sistema basato su microcontrollore deve eseguire un codice memorizzato in
DettagliConsegne estive per gli studenti con sospensione del giudizio nella materia Sistemi per l'elaborazione e la trasmissione dell'informazione.
Consegne estive per gli studenti con sospensione del giudizio nella materia Sistemi per l'elaborazione e la trasmissione dell'informazione. Facendo esclusivamente uso delle istruzioni del linguaggio macchina
DettagliIl microprocessore DMC8
Il microprocessore DMC8 Fig. 1: Registri ed elementi di calcolo del DMC8 PC 16 bit Program Counter In altri contesti è chiamato anche Instruction Pointer. Questo registro a 16 bit contiene l indirizzo
DettagliGESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI
GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI Compiti del sottosistema di I/O Architettura del sottosistema di I/O Gestore di un dispositivo di I/O Gestione e organizzazione dei dischi COMPITI
DettagliDesiderata: memoria capiente e veloce. Connessioni tra livelli di memoria. Memoria cache, struttura. Tecniche impiegate. Ad ogni accesso alla memoria
Connessioni tra livelli di memoria Tape Registers Cache Main memory Magnetic disk Optical disk (Architettura degli Elaboratori) Gerarchie di memorie / 58 Metodo: Desiderata: memoria capiente e veloce i
DettagliIl microprocessore 8086
1 Il microprocessore 8086 LA CPU 8086 Il microprocessore 8086 fa parte della famiglia 80xxx della INTEL. Il capostipite di questa famiglia è stato l 8080, un microprocessore ad 8 bit che ha riscosso un
Dettagli1 Esercizi con architettura a 1 bus
1 Esercizi con architettura a 1 bus 1.1 Fetch dell istruzione NOTA: l istruzione ClearY azzera il registro Y mentre l istruzione CB imposta a 1 il bit di riporto/prestito in modo da sommare/sottrarre 1.
DettagliUno sguardo al codice chiarificherà i dettagli. La tabella di invio interrupt intmap è definita nel file io.h.
CAPITOLO 9 - ELABORAZIONE DEGLI INTERRUPT L interrupt hardware è un meccanismo potente per fornire il supporto di molti servizi del sistema operativo. Come descritto nel capitolo 2, una richiesta di interrupt
DettagliLinguaggio macchina e linguaggio assembler
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Linguaggio macchina e linguaggio assembler 2000 Pier Luca Montessoro (si veda la nota di copyright
DettagliUNITA PERIFERICA DI TIPO PARALLELO - PIA MC 6821
UNITA PERIFERICA DI TIPO PARALLELO - PIA MC 6821 Indirizzamento interno dei registri: Registro di controllo CRA: Bit 7 Bit 6 Bit 5,4,3 Bit 2 Bit 1,0 IRQA1 IRQA2 CA2 DDRA CA1 Significato dei singoli bit:
DettagliIntroduzione agli interrupt
Corso di laurea in Ingegneria dell Informazione Indirizzo Informatica Reti e sistemi operativi Introduzione agli interrupt Le interruzioni (interrupt) I sistemi operativi attuali si basano sugli interrupt
DettagliSottoprogrammi in linguaggio assembly del Motorola 68000
Sottoprogrammi in linguaggio assembly del Motorola 68000 Daniele Paolo Scarpazza daniele.scarpazza@elet.polimi.it Politecnico di Milano Ultimo aggiornamento: 10 Maggio 2005 Bibliografia Sezioni 4.9, 5.6
DettagliMemoria cache. Memoria cache. Miss e Hit. Problemi. Fondamenti di Informatica
FONDAMENTI DI INFORMATICA Prof PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Memoria cache, interrupt e DMA 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide
DettagliIl set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini
Architettura degli Elaboratori e delle Reti Il set istruzioni di MIPS Modalità di indirizzamento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
DettagliArchitettura x86 a 64 bit
Architettura x86 a 64 bit Ovvero come l architettura x86 a 32 bit è stata portata a 64 bit 1 Per cominciare Contenuto Storia L architettura a 32 bit L architettura a 64 bit Avvertenza Per abitudine ci
DettagliIl sottosistema di I/O. Input Output digitale
Il sottosistema di I/O Il sottosistema di I/O consente la comunicazione fra il calcolatore ed il mondo esterno. Fanno parte del sottosistema i dispositivi (Unità di I/O) per la comunicazione uomo/macchina
Dettagli