Componenti Lezione III: Concetti fondamentalihomes.di.unimi.it/sisop/lucidi0809/so02-handout.pdf ·...

5
Sistemi Operativi Bruschi Martignoni Monga Arch. di un s.o. Componenti Syscall 1 Sistemi Operativi 1 Mattia Monga Dip. di Informatica e Comunicazione Universit` a degli Studi di Milano, Italia [email protected] a.a. 2008/09 1 c 2009 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia License. http://creativecommons.org/licenses/by-sa/2.5/it/. Immagini tratte da [2] e da Wikipedia. Sistemi Operativi Bruschi Martignoni Monga Arch. di un s.o. Componenti Syscall 60 Lezione III: Concetti fondamentali Sistemi Operativi Bruschi Martignoni Monga Arch. di un s.o. Componenti Syscall 61 Kernel monolitici e micro Kernel monolitico Il kernel ` e un unico grande programma che gira in kernel mode. Le strutture dati e le funzionalit` a sono accessibili da tutto il codice del kernel Microkernel Il codice che gira in kernel mode ` e ridotto al minimo. Molte funzionalit` a (file system, process management, network, device drivers) sono realizzate da moduli user mode che mandano messaggi al microkernel. I microkernel nascono per gestire meglio la complessit` a, ma si ha una perdita di efficienza. Tanenbaum vs. Torvalds Sistemi Operativi Bruschi Martignoni Monga Arch. di un s.o. Componenti Syscall 62 Architettura: MS Windows 2000

Transcript of Componenti Lezione III: Concetti fondamentalihomes.di.unimi.it/sisop/lucidi0809/so02-handout.pdf ·...

Page 1: Componenti Lezione III: Concetti fondamentalihomes.di.unimi.it/sisop/lucidi0809/so02-handout.pdf · funzionalit a ( le system, process management, network, device drivers) sono realizzate

SistemiOperativi

BruschiMartignoni

Monga

Arch. di uns.o.

Componenti

Syscall

1

Sistemi Operativi1

Mattia Monga

Dip. di Informatica e ComunicazioneUniversita degli Studi di Milano, Italia

[email protected]

a.a. 2008/09

1c© 2009 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia License.

http://creativecommons.org/licenses/by-sa/2.5/it/. Immagini tratte da [2] e da Wikipedia.

SistemiOperativi

BruschiMartignoni

Monga

Arch. di uns.o.

Componenti

Syscall

60

Lezione III: Concetti fondamentali

SistemiOperativi

BruschiMartignoni

Monga

Arch. di uns.o.

Componenti

Syscall

61

Kernel monolitici e micro

Kernel monolitico

Il kernel e un unico grande programma che gira in kernel mode.Le strutture dati e le funzionalita sono accessibili da tutto ilcodice del kernel

Microkernel

Il codice che gira in kernel mode e ridotto al minimo. Moltefunzionalita (file system, process management, network, devicedrivers) sono realizzate da moduli user mode che mandanomessaggi al microkernel.

I microkernel nascono per gestire meglio la complessita, ma siha una perdita di efficienza.Tanenbaum vs. Torvalds

SistemiOperativi

BruschiMartignoni

Monga

Arch. di uns.o.

Componenti

Syscall

62

Architettura: MS Windows 2000

Page 2: Componenti Lezione III: Concetti fondamentalihomes.di.unimi.it/sisop/lucidi0809/so02-handout.pdf · funzionalit a ( le system, process management, network, device drivers) sono realizzate

SistemiOperativi

BruschiMartignoni

Monga

Arch. di uns.o.

Componenti

Syscall

63

Architettura: GNU/Linux

SistemiOperativi

BruschiMartignoni

Monga

Arch. di uns.o.

Componenti

Syscall

64

Architettura: MINIX

SistemiOperativi

BruschiMartignoni

Monga

Arch. di uns.o.

Componenti

Syscall

65

Architettura: Mac OS X

SistemiOperativi

BruschiMartignoni

Monga

Arch. di uns.o.

Componenti

Syscall

66

Funzionalita di base

Le componenti fondamentali di un SO

Inizializzazione del sistema

Gestione dei processi

Gestione della memoria

Gestione delle periferiche I/O

Apparati di comunicazione

Gestione dei file

Gestione Syscall/interrupt

Protezione

System Utility

Page 3: Componenti Lezione III: Concetti fondamentalihomes.di.unimi.it/sisop/lucidi0809/so02-handout.pdf · funzionalit a ( le system, process management, network, device drivers) sono realizzate

SistemiOperativi

BruschiMartignoni

Monga

Arch. di uns.o.

Componenti

Syscall

67

Processo

Un processo e l’astrazioneche il s.o. usa perrappresentare unprogramma in esecuzione

SistemiOperativi

BruschiMartignoni

Monga

Arch. di uns.o.

Componenti

Syscall

68

Gestione della memoria

SistemiOperativi

BruschiMartignoni

Monga

Arch. di uns.o.

Componenti

Syscall

69

Gestione I/O

Il s.o. avvia, interrompe e controlla il flusso di dati da e verso idispositivi di I/O

SistemiOperativi

BruschiMartignoni

Monga

Arch. di uns.o.

Componenti

Syscall

70

File system

Page 4: Componenti Lezione III: Concetti fondamentalihomes.di.unimi.it/sisop/lucidi0809/so02-handout.pdf · funzionalit a ( le system, process management, network, device drivers) sono realizzate

SistemiOperativi

BruschiMartignoni

Monga

Arch. di uns.o.

Componenti

Syscall

71

System call

Il sistema operativo e il gestore esclusivo di tutte le risorse diun sistema al fine di:

Garantire una gestione ottimale delle stesse

Evitare collisioni

Fornire modalita semplificate per il loro uso

Per usare una risorsa occorre rivolgersi al s.o. tramite unachiamata di sistema (syscall)

Il formato delle syscall differisce tra le varieimplementazioni dei sistemi operativi

In ambito UNIX e stato fatto uno sforzo distandardizzazione: POSIX

SistemiOperativi

BruschiMartignoni

Monga

Arch. di uns.o.

Componenti

Syscall

72

System call e librerie

Le system call sono generalmente incapsulate in librerie.Un programma applicativo che vuole accedere ad unasyscall deve solitamente:

Chiamare la routine di libreria collegataQuesta provvede a formattare i parametri opportunamentee a richiamare la syscall effettiva

In realta non sono normali chiamate di procedura, mainterruzioni software a cui il s.o. fa fronte svolgendo ilservizio richiesto

1

2 mov eax, 13 int 0x80

SistemiOperativi

BruschiMartignoni

Monga

Arch. di uns.o.

Componenti

Syscall

73

Syscall in un s.o. monolitico

SistemiOperativi

BruschiMartignoni

Monga

Arch. di uns.o.

Componenti

Syscall

74

Syscall in Mac OS X

Page 5: Componenti Lezione III: Concetti fondamentalihomes.di.unimi.it/sisop/lucidi0809/so02-handout.pdf · funzionalit a ( le system, process management, network, device drivers) sono realizzate

SistemiOperativi

BruschiMartignoni

Monga

Arch. di uns.o.

Componenti

Syscall

75

Syscall in MINIX

SistemiOperativi

BruschiMartignoni

Monga

Arch. di uns.o.

Componenti

Syscall

76

Network client-server

Il modello e generalizzabile al caso di ambiente distribuito suuna rete (locale, geografica?)