Appunti di Sistemi Operativi A, Università degli Studi di Brescia

Documento dall'Università degli Studi di Brescia su Appunti di Sistemi Operativi A. Il Pdf, utile per studenti universitari di Informatica, esplora la gestione della memoria, i processi, la comunicazione inter-processo, il dual mode, l'input/output, i thread e lo scheduling, con sezioni dedicate alla protezione e sicurezza.

Mostra di più

65 pagine

!""#$%&'(&')&*%+,&'-"+./%&0&'!
!"#$%&'#()*+%,-#*'(!+#*+#*.&%'/#0
10/2-()*+#*#",%,"%&#0
!""#$%&'(&')&)%*+&',"*-!%&.&'!
34565*.7664879:7*00*;<<=>;<<?
@8A7BC59DE4F55GC:
!"##$%&"
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112
3'4'5/%+.&/6+'/77&#$%&08'+'&$%.8(#9&8$+:1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111;
2'4'<6')&*%+,/'-"+./%&0811111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111;
213'4'=/./%%+.&*%&>?+'(+6')-1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111@
212'4'=6/**&A&>/9&8$+111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111B
21;'4'<6'CD!E'5-CF111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111B
21;13'4'G88%*%./"1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111B
21;12'4')?#%(8H$1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111I
21;1;'4'J#$9&8$/,+$%8'K8.,/6+1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111I
21;1@'4'L.8>+**')H&%>?11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111M
21;1B'4'N+*%&8$+'(+76&'&$%+..#"%111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111M
21@'4'!.>?&%+%%#.+'(+&')-11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111O
21@13'4'F*+,"&8:'5&>.8*8A%'P&$(8H*'KQ1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111R
;'4'<$"#%S-#%"#%111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111132
;13'4'<S-'>8$'6T#%+$%+11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111113;
;1313'4'Q/*%&+./'>8$'0&(+8'/6A/$#,+.&>8111111111111111111111111111111111111111111111111111111111111111111111111111111111111111113;
;1312'4N./A&>/11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111113;
@'4'L.8>+**&111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111113@
@13'4'=&>68'(&'0&%/'(&'#$'L.8>+**81111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111113B
@12'4')%.#%%#./'&$',+,8.&/'(&'#$'L.8>+**811111111111111111111111111111111111111111111111111111111111111111111111111111111111111111113I
@1213'4'L.8>+**'=8$%.86'G68>U'VL=GW11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111113I
@1;'4'Q?.+/(111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111113M
@1;13'4'=&>68'(&'0&%/'(&'#$'DEQ11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111113R
@1;12'4)%/%&'(&'#$'XEQ1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111113R
@1@'4'N+$+./9&8$+'(&'".8>+**&'A&76&'&$'DK<Y1111111111111111111111111111111111111111111111111111111111111111111111111111111111111112Z
@1B'4')>?+(#6&$7'V/'[.+0+'%+.,&$+W1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112Z
@1B13'4'!678.&%,&1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111123
@1I'4')&*%+,&'\+/64Q&,+111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112B
@1I13'4)>?+(#6&$7'\+/6'Q&,+11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112I
@1I12'4'=/./%%+.&*%&>?+'(+&'*&*%+,&'\+/6'Q&,+11111111111111111111111111111111111111111111111111111111111111111111111111111111112M
@1I1;'4')%.#%%#./'7+$+./6+'&$%+.$/'(+&')-'\+/6'Q&,+111111111111111111111111111111111111111111111111111111111111111111111112M
@1M'4'=8,#$&>/9&8$+'%./'L.8>+**&111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112O
@1M13'4'=8,#$&>/9&8$+'>8$',+,8.&/'>8$(&0&*/1111111111111111111111111111111111111111111111111111111111111111111111111111112O
@1M12'4'ET/678.&%,8'(&'L+%+.*8$1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111;3
@1M1;'4'<*%.#9&8$&']P'/('/%8,&>&%^'+*%+*/111111111111111111111111111111111111111111111111111111111111111111111111111111111111111;3
@1M1;'4'<')+,/A8.&1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111;;
3
!""#$%&'(&')&*%+,&'-"+./%&0&'!
@1M1@4'<'58$&%8.111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111;@
@1M1B'4'=8,#$&>/9&8$+'>8$'*>/,[&8'(&',+**/77&111111111111111111111111111111111111111111111111111111111111111111111111111;I
@1M1I'4'C+/(68>U111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111;O
B'4'N+*%&8$+'(+66/'5+,8.&/1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111@Z
B13'4'G&$(&$7'(+76&'&$(&.&99&1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111@Z
B12'4'E/'5+,8.&/'_&.%#/6+1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111@Z
B1213'4'!668>/9&8$+'>8$%&7#/11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111@Z
B1212'4'E/'L/7&$/9&8$+11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111@2
B1;1;1'4')+7,+$%/9&8$+11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111@@
B1;1@'4'N+*%&8$+'(+&'"/7+'A/#6%11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111@I
B1;1B'4'<6'P8.U&$7')+%111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111BZ
B1;1I'4'L.&$>&"&8'(&'68>/6&%^1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111B3
B1;1I'4'N+*%&8$+'(+668'*"/9&8'E&[+.8'1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111B3
B1;1I'4'\&/**#,+$(811111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111B2
B'4'<6'J&6+')`*%+,11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111B;
B13'4'<,"6+,+$%/9&8$+:'(/'K8,+'/'.&A+.&,+$%8'A&*&>81111111111111111111111111111111111111111111111111111111111111111111111111BB
B1313'4'J!Q:'J&6+'!668>/%&8$'Q/[6+1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111BI
B1312'4'!668>/9&8$+'&$'DK<Y:'76&'&$8(+111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111BM
B131;'4'KQJ):'KQ'J&6+')`*%+,11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111BO
B131@'4&,"6+,+$%/9&8$+'*#'(&*>81111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111BR
B131@'4'!>>8.7&,+$%&'A&*&>&'"+.',&76&8./.+'6+'".+*%/9&8$&1111111111111111111111111111111111111111111111111111111111111111IZ
B131B'4')>?+(#6&$7'(+6'(&*>8111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111I2
I'4'L.8%+9&8$+'+')&>#.+99/111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111I;
I13'4'E/'5/%.&>+'(T/>>+**81111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111I;
I12'4'L86&%&>?+'(T/>+**8:'!=E'+'=/"/[&6&%`111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111I@
I12'4'\+08>/'(+&'"+.,+**&11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111I@
2

Visualizza gratis il Pdf completo

Registrati per accedere all’intero documento e trasformarlo con l’AI.

Anteprima

Appunti di Sistemi Operativi A

UNIVERSITÀ DEGLI STUDI DI BRESCIA FACOLTÀ DI INGEGNERIA APPUNTI DI SISTEMI OPERATIVI A

Paolo Bellagente AA 2006/2007 bgkerion@yahoo.it

Sommario

Materiale aggiuntivo e introduzione

1 - Materiale aggiuntivo e introduzione: 3

Il Sistema Operativo

2 - Il Sistema Operativo. 3

Caratteristiche del SO

2.1 - Caratteristiche del SO 4

Classificazione del SO

2.2 - Classificazione. "

Il DUAL MODE

2.3 - Il DUAL MODE "

Bootstrap

2.3.1 - Bootstrap "

Shutdown

2.3.2 - Shutdown )

Funzionamento Normale

2.3.3 - Funzionamento Normale. )

Process Switch

2.3.4 - Process Switch -

Gestione degli interrupt

2.3.5 - Gestione degli interrupt. -

Architetture dei SO

2.4 - Architetture dei SO /

Esempio: Microsoft Windows NT

2.4.1 - Esempio: Microsoft Windows NT 2

Input/Output

3 - Input/Output. 12

I/O con l'utente

3.1 - I/O con l'utente 13

Tastiera con video alfanumerico

3.1.1 - Tastiera con video alfanumerico 13

Grafica

3.1.2 -Grafica. 13

Processi

4 - Processi 14

Ciclo di vita di un Processo

4.1 - Ciclo di vita di un Processo. 15

Struttura in memoria di un Processo

4.2 - Struttura in memoria di un Processo 16

Process Control Block (PCB)

4.2.1 - Process Control Block (PCB). 16

Thread

4.3 - Thread. 17

Ciclo di vita di un ULT

4.3.1 - Ciclo di vita di un ULT. 19

Stati di un KLT

4.3.2 -Stati di un KLT 19

Generazione di processi figli in UNIX

4.4 - Generazione di processi figli in UNIX 20

Scheduling (a breve termine)

4.5 - Scheduling (a breve termine) 20

Algoritmi

4.5.1 - Algoritmi. 21

Sistemi Real-Time

4.6 - Sistemi Real-Time. 25

Scheduling Real Time

4.6.1 -Scheduling Real Time. 26

Caratteristiche dei sistemi Real Time

4.6.2 - Caratteristiche dei sistemi Real Time. 27

Struttura generale interna dei SO Real Time

4.6.3 - Struttura generale interna dei SO Real Time. 27

Comunicazione tra Processi

4.7 - Comunicazione tra Processi. 28

Comunicazione con memoria condivisa

4.7.1 - Comunicazione con memoria condivisa. 28

L'algoritmo di Peterson

4.7.2 - L'algoritmo di Peterson 31

Istruzioni HW ad atomicità estesa

4.7.3 - Istruzioni HW ad atomicità estesa 31

I Semafori

4.7.3 - I Semafori. 33

2 1Appunti di Sistemi Operativi A

I Monitor

4.7.4- I Monitor. 34

Comunicazione con scambio di messaggi

4.7.5 - Comunicazione con scambio di messaggi. 36

Deadlock

4.7.6 - Deadlock. 38

Gestione della Memoria

5 - Gestione della Memoria 40

Binding degli indirizzi

5.1 - Binding degli indirizzi 40

La Memoria Virtuale

5.2 - La Memoria Virtuale. 40

Allocazione contigua

5.2.1 - Allocazione contigua 40

La Paginazione

5.2.2 - La Paginazione. 42

Segmentazione

5.3.3. - Segmentazione. 44

Gestione dei page fault

5.3.4 - Gestione dei page fault. .46

Il Working Set

5.3.5 - Il Working Set. 50

Principio di località

5.3.6 - Principio di località 51

Gestione dello spazio Libero

5.3.6 - Gestione dello spazio Libero 51

Riassumendo

5.3.6 - Riassumendo 52

Il File System

5 - Il File System 53

Implementazione: da Nome a riferimento fisico

5.1 - Implementazione: da Nome a riferimento fisico 55

FAT: File Allocation Table

5.1.1 - FAT: File Allocation Table. 56Appunti di Sistemi Operativi A

Allocazione in UNIX: gli inode

5.1.2 - Allocazione in UNIX: gli inode. 57

NTFS: NT File System

5.1.3 - NTFS: NT File System. 58

Implementazione su disco

5.1.4 -implementazione su disco 59

Accorgimenti fisici per migliorare le prestazioni

5.1.4 - Accorgimenti fisici per migliorare le prestazioni. 60

Scheduling del disco

5.1.5 - Scheduling del disco. 62

Protezione e Sicurezza

6 - Protezione e Sicurezza. 63

La Matrice d'accesso

6.1 - La Matrice d'accesso. 63

Politiche d'acesso: ACL e Capability

6.2 - Politiche d'acesso: ACL e Capability. .64

Revoca dei permessi

6.2 - Revoca dei permessi .64

2 1 - Materiale aggiuntivo e introduzione: Oltre ai presenti appunti è possibile trovare uteriore materiale:

  • nei file allegati.
  • sul sito del corso: tritone.ing.unibs.it/soa
  • su libri di testo, consigliati: "Sistemi Operativi - Stallings", "Sistemi Operativi - Tanenbau" entrambi in lingua inglese.

Lo scopo del corso è quello di dare una panoramica generale sull'architettura e il funzionamento dei sistemi operativi.

Il Sistema Operativo

2 - Il Sistema Operativo Come detto sopra in questo corso si parlerà di Sistemi operativi, ma cosa vuol dire sistema operativo (SO da qui in poi)? Il nome in sè non dice molto; andando a leggere alcuni libri di informatici teorici molto famosi si nota che anche loro fanno fatica a definire un concetto così astratto; mettiamoci allora d'accordo su cosa intendiamo quando parliamo di SO: "Definizione": un SO è un software che fa da intermediario tra l'hardware (HW di seguito) e il Software (SW di seguito) il cui scopo è rendere possibile il passaggio da Programmi a Processi. La differenza tra Programma e processo è abbastanza immediata:

APPLICAZIONI COMPILATORI INTERPRETI ETC ..

Diamo un'occhiata all'architettura generale, essa presenta una struttura a livelli:

SO

ISTRUZIONI NORMALI ISTRUZIONI PRIVILEGIATE

INSTRUCTION SET ARCHITECTURE (ISA)

Questa struttura presenta grossi vantaggi in termini di: facilità ed efficienza: istruzioni complesse e delicate già risolte ed ottimizzate dai prgrammatori del SO

HARDWARE

  • Programma: specifica di un algoritmo scritta in un determinato linguaggio, entità statica ed astratta. .

Processo: Programma in esecuzione su un esecutore; è un'entità concreta, dinamica e collocata nel tempo. Le applicazioni utente vengono tradotte dai compilatori (interpreti etc .. ) in un linguaggio più vicino alla macchina ma non prendono mai il controllo completo dell'hardware. Il SO maschera parzialmente l'ISA (insieme delle istruzioni tipiche di ogni processore) che viene così diviso in due parti: le istruzioni poco delicate e semplici vengono eseguite direttamente mentre quelle più complesse o più delicate vengono eseguite dal SO.

  • protezione: procesi che tentano di usare istruzioni privilegiate (volendo eludere i controlli) vengono bloccate.

3Appunti di Sistemi Operativi A Riassumendo, un'applicazione utente per accedere al disco lo chiede al sistema operativo (tramite una Chiamata di Sistema o System Call. syscall da ora in poi) il quale eseguirà la lettura e restituirà il dato all'applicazione. (operazione molto delicata: individua la traccia poi il settore, muovi la testina, leggi il dato .... se ogni volta il programmatore deve pensare a tutto questo ... ) Oltre all'interfaccia con l'HW il SO gestisce anche la convivenza tra programmi diversi ed utenti diversi. il problema risulta dalla necessità di suddividere e condividere le risorse in maniera regolata evitando le interferenza dannose e permettendo le comunicazioni utili. Se esistono utenti diversi, essi vanno identificati per poter poi assegnare a ciascuno gli opportuni diritti d'accesso. Visto in quest'ottica il SO è fondamentalmente un:

  • fornitore di servizi: "dimmi quello che ti serve e poi ci penso io"
  • gestore delle risorse: un padrone rigido, decide lui chi fa cosa, quando e come.

definizione unitaria: VIRTUALIZZATORE. Maschera una realtà facendo credere all'entità di livello superiore che ne esiste un'altra diversa.

FRUITORE DELLA VIRTUALIZZAZIONE

VIRTUALIZZATORE

REALTÀ VIRTUALE

REALTÀ "VERA"

Uomo

LSD

mondi fantastici

reazioni chimiche (dannose) nel cervello

Uomo

Sistemi di realtà virtuale

scenari 3D

caschi, guanti, ...

Uomo

SO

macchina dedicata

macchina condivisa

Processi

SO

CPU dedicata

CPU condivisa

Processi

SO

Spazio in memoria continuo e dedicato (memoria virtuale)

memoria allocata a pezzi ed in parte su disco

Processi

SO

File

dispositivi HW diversi

grazie a questo ci si può concentrare su concetti astratti (processi, file) ignorando la più complessa relatà.

Caratteristiche del SO

2.1 - Caratteristiche del SO

fruitore

virtualizzatore

realtà "vera"

realtà virtuale

virtualizzatore

realtà

Vediamo di stilare una rapida "Carta d'identità" di un SO:

  • nome: SO
  • età: circa 50 anni
  • sesso: SW (ma molto vicino all' HW)
  • professione: virtualizzatore, può essere a più livelli dove la "realtà vera" è una virtuale generata dal livelo inferiore. Separa gli utenti

4Appunti di Sistemi Operativi A creando più macchine virtuali sulle quali si può fare tutto (es. JVM Java Virtual Machine)

  • domicilio: sistemi di elaborazione
  • segni particolari: dual mode

Classificazione dei Sistemi Operativi

2.2 - Classificazione I SO possono essere suddivisi in 5 categorie a seconda delle loro caratteristiche:

  • SO: su un singolo calcolatore
  • SO con supporto di rete: SO su un singolo calcolatore con suporto di rete (distinzione tradizionale) £
  • SO distribuiti: presa una rete, sfruttando la virtualizzazione, da l'impressione di avere un unico calcolatore enorme.
  • SO Cluster: preso un insieme di calcolatori dà l'illusione i avere un unico calcolatore somma dei tanti (come i distribuiti ma di dimensioni più ridotte)
  • SO embedded: utilizzo nei sistemi su calcolatori NON general purpose (cellulari, elettrodomestici, automazione industriale con problemi real time

Il DUAL MODE di funzionamento

2.3 - Il DUAL MODE Come dice il nome il dual mode è un doppio modo di funzionamento:

  • modo Kernel: (o privilegiato o superuser) in questo modo praticamente gira solo il SO, il calcolatore esegue qualsiasi tipo di istruzione.
  • modo Utente: in questo modo girano le applicazioni. Se durante l'esecuzione viene richiesta l'esecuzione di codice privilegiato (istruzioni alle quali sarebbe opportuno sostituire una syscall) viene generata un'eccezione.

Nei processori moderni esiste un flag che tiene memoria del modo corrente. Il passaggio da un modo ad un'altro è regolamentato dalle mode switch; la vita di un calcolatore può quindi essere rappresentata come una sequenza di mode switch:

|bootstrap U K U 8 K U K U shutdown OFF accensione

Bootstrap: sequenza di accensione

2.3.1 - Bootstrap Il bootstrap è la sequenza di accensione di un calcolatore. La CPU è programmata per copiare un po' di codice da una ROM (Read Only Memory), chiamata BIOS (Basic Input Outpu System) nei PC, in memoria centrale. Questo codice effettua in ordine una fase di diagnostica e di rilevamento dell'HW (lettura di informazioni sui dispositivi), un'inizializzazione dell'HW e la preparazione delle routine di interrupt. Tutto questo non ha ancora nulla a che vedere con il SO. A questo punto viene identificato il dispositivo di Boot dal quale viene letta una locazione fissata dello stesso. Questa locazione fissata contiene un programmino di boot (bootloader) diverso a seconda del SO il quale può leggere altre parti del disco, inoltre contiene le informazioni sulle partizioni del disco. É possibile avere installati più sitemi operativi, in questo caso il bootloader chiederà al'utente quale SO vuole venga caricato, una volta scelto per un processo "a valanga" verrà caricato tutto il SO, verranno avviati processi di sistema e processi utente utili (es: login&password). "Appunti di Sistemi Operativi A Se il processo di Boot si blocca con il SO esiste una modalità provvisoria (un boot semplificato) che carica meno cose possibili (per es. invece del driver di accelerazione grafica avvierà il driver grafico più smplice che conosce) sperando di escludere la parte che genera l'errore consegnando all'utente una macchina brutta ma funzionale per correggere gli errori.

Shutdown: procedura di spegnimento

2.3.2 - Shutdown Procedura di spegnimento, salva le informazioni sullo stato del SO e termina ordinatamente i processi per evitare la perdita di dati.

Funzionamento Normale del calcolatore

2.3.3 - Funzionamento Normale

interrupt disabilitati

start

fetch

execute

check for interrupt

halt

interrupt abilitati

Nella figura a sx viene rappresentato il normale ciclo di funzionamento di un calcolatore elettronico. Ogni volta che avviene un interrupt il SO deve intervenire per gestire l'eccezione, avviene quindi un mode switch. Esistono circa 3 categorie di eventi che possono causare un mode switch:

  • INTERRUPT: Eventi esterni all'esecuzione dell'istruzione corrente (eventi asincroni). Possono essere "cattivi" (eventi indesiderati come errori HW, segnale di restart etc ... ) oppure "Buoni" (eventi compresi nel normale funzionamento come il clock, il sgnale di I/O completato, page fault, orologio di sistema etc ... )
  • TRAP (eccezioni): eventi legati all'istruzione corrente, sempre "Cattivi" (divisione per zero, codice errato, violazione memoria altrui, istruzione privilegiata in modo utente)
  • SUPERVISOR CALL: Chiamata di sistema (syscall) legate all'istruzione corrente ma voluti (detti anche interrupt software, sincroni)

Quando avviene un mode switch vengono eseguite alcune azioni HW:

  • viene rilevato ed identificato l'evento (tramite polling o interrupt vettorizzati),
  • viene salvato il program counter (PC) e il Program Status Word (PSW, un altro registro). . Dopodichè viene identificato il nuovo valore del Program Counter e viene cambiato il modo.
  • Ora, o viene avviata una Routine, che sceglie quale routine di gestione avviare, oppure viene letto un vettore di interrupt creato in fase di boot, (metodo più veloce ma più complesso) con una locazione per ogni interrupt dove vengono specificate le routine di gestione.

ed alcune azioni SW:

  • viene salvato lo stato dei registri della CPU. I registri da salvare sono solo quelli che il SO utilizzerà (quindi sovrascriverà) nella routine di gestione degli interrupt, gli altri verranno lasciati inalterati.
  • viene eseguita la risposta specifica all'evento.

tutto questo ad ogni mode switch. )

Non hai trovato quello che cercavi?

Esplora altri argomenti nella Algor library o crea direttamente i tuoi materiali con l’AI.