sistemi operativi (laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · sistemi...

36
Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione Universit` a degli Studi di Milano, Italia [email protected] a.a. 2008/09 Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 1

Upload: others

Post on 30-Jun-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

Sistemi Operativi (Laboratorio)

Lorenzo Martignoni

Dipartimento di Informatica e ComunicazioneUniversita degli Studi di Milano, [email protected]

a.a. 2008/09

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 1

Page 2: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

Lezione I: Introduzione laboratorio

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 2

Page 3: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

Things A Computer Scientist Rarely Talks About

“When I talk about computer science as a possible basis forinsights about God, of course I’m not thinking about Godas a super-smart intellect surrounded by large clusters ofultrafast Linux workstations and great search engines.That’s the user’s point of view.” [Donald E. Knuth]

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 3

Page 4: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

La macchina di Von Neumann

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 4

Page 5: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

La macchina di Von Neumann

Esecuzione di un’istruzione sulla macchina di Von Neumann:

1. Fetch istruzione

2. Decodifica istruzione

3. Fetch operandi

4. Esecuzione istruzione

5. Aggiornamento instruction pointer

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 4

Page 6: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

La macchina di Von Neumann

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 5

Page 7: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

La macchina i386

I Macchina CISC (Complex Instruction Set Computer)

I Little-endianI Registri a 32 bit

I General purpose: EAX, EBX, ECX, EDXI String: ESI, EDII Stack: EBP, ESPI Instruction pointer: EIPI Status: EFLAGS

I Registri a 16 bit (segment registers):I CS, DS, SSI ES, FS, GS

I Registri di controllo:I CR0, CR1, ... CR4

I Real, protected, e virtual mode

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 6

Page 8: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

Linguaggio macchina

I Si possono indirizzare direttamente porzioni di 8 bit, 1 byte(AX = AH+AL, EAX = 16bit+AX)

I Il registro eflags

I Programmable Interrupt Controller (PIC): i8259 compatibile

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 7

Page 9: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

Protezioni hardware

I processori moderni hanno modalita di funzionamento in cui sonopermesse operazioni diverse (ring)

i386 permette 4 ring diversi, di cui normalmente vengono usatisolo 2 (Minix ne usa 3 e DOS ne usa 1):

1. kernel (supervisor) mode

2. user mode

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 8

Page 10: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

Real mode, Protected mode e Virtual Mode

Real mode 32-bit Protected modeProtezioni hw no sıSpazio di indirizzamento 220 232

I Real mode: memoria max 220 byte, indirizzo ottenuto con dueregistri a 16 (SS:OFFSET) indirizzo = 16 ∗ selettore + offset

I ci sono piu modi riferirsi allo stesso indirizzo: 07C0:0000 e0000:7C00 sono la stessa locazione fisica.

I A20 gate

I Protected mode: il segmento e stabilito da un descrittore (chepuo essere cambiato solo in kernel mode)

I Virtual mode: una “sporca” per fare andare programmi chenecessitano il real mode in protected mode (es. fare funzionareprogrammi DOS in Windows)

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 9

Page 11: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

Real mode, Protected mode e Virtual Mode

Real mode 32-bit Protected modeProtezioni hw no sıSpazio di indirizzamento 220 232

I Real mode: memoria max 220 byte, indirizzo ottenuto con dueregistri a 16 (SS:OFFSET) indirizzo = 16 ∗ selettore + offset

I ci sono piu modi riferirsi allo stesso indirizzo: 07C0:0000 e0000:7C00 sono la stessa locazione fisica.

I A20 gate

I Protected mode: il segmento e stabilito da un descrittore (chepuo essere cambiato solo in kernel mode)

I Virtual mode: una “sporca” per fare andare programmi chenecessitano il real mode in protected mode (es. fare funzionareprogrammi DOS in Windows)

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 9

Page 12: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

Assembly (i386)

I NASM, http://nasm.sourceforge.org

I PC Assembly Language, by Paul A. Carterhttp://www.drpaulcarter.com/pcasm/

I Minix usa un altro assemblatore (x86) http://ozark.hendrix.edu/~burch/csbsju/cs/350/handouts/x86.html

1 mov eax, 3 ; eax = 32 mov bx, ax ; bx = ax3 add eax, 4 ; eax = eax + 44 add al, ah ; al = al + ah5 L8 db ”A” ; ∗L8 = ’A’6 mov al, [L8] ; al = ∗L8

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 10

Page 13: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

Assembly (i386)

Addr Opcode Mnemonic0000 66B803000000 mov eax, 3 ; eax = 30006 89C3 mov bx, ax ; bx = ax0008 660504000000 add eax, 4 ; eax = eax + 4000E 00E0 add al, ah ; al = al + ah0010 41 L8 db "A" ; *L8 = ’A’0011 A0[1000] mov al, [L8] ; al = *L8

Che confusione!

I Le istruzioni hanno lunghezza variabile

I Codice e dati sono mischiati

I Little-endian

I Sotto-registri

I Piu di 200 istruzioni

Demo

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 11

Page 14: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

Assembly (i386)

Addr Opcode Mnemonic0000 66B803000000 mov eax, 3 ; eax = 30006 89C3 mov bx, ax ; bx = ax0008 660504000000 add eax, 4 ; eax = eax + 4000E 00E0 add al, ah ; al = al + ah0010 41 L8 db "A" ; *L8 = ’A’0011 A0[1000] mov al, [L8] ; al = *L8

Che confusione!

I Le istruzioni hanno lunghezza variabile

I Codice e dati sono mischiati

I Little-endian

I Sotto-registri

I Piu di 200 istruzioni

Demo

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 11

Page 15: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

Assembly (i386)

Addr Opcode Mnemonic0000 66B803000000 mov eax, 3 ; eax = 30006 89C3 mov bx, ax ; bx = ax0008 660504000000 add eax, 4 ; eax = eax + 4000E 00E0 add al, ah ; al = al + ah0010 41 L8 db "A" ; *L8 = ’A’0011 A0[1000] mov al, [L8] ; al = *L8

Che confusione!

I Le istruzioni hanno lunghezza variabile

I Codice e dati sono mischiati

I Little-endian

I Sotto-registri

I Piu di 200 istruzioni

Demo

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 11

Page 16: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

I/O

Ogni periferica e dotata di un controller. Il controller avra registriche conservano lo stato della periferica. Come accedere (leggere oscrivere) al contenuto dei registri?

1. Spazi di indirizzamento separati chiamati port. Vi si accede conistruzioni particolari:

I out port, eaxI in eax, port

Es. la porta seriale COM1 e’ accessibile all’indirizzo 0x3F8

2. Memory-mapped I/O, lo spazio di indirizzamento e unicoI mov [address], eaxI mov eax, [address]

Es. la memoria video VGA e mappata a partire dall’indirizzo0xB8000000

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 12

Page 17: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

Hardware virtuale

Qemu http://fabrice.bellard.free.fr/qemu PC (x86 orx86 64 processor)

I i440FX host PCI bridge and PIIX3 PCI to ISA bridge

I Cirrus CLGD 5446 PCI VGA card

I PS/2 mouse and keyboard

I 2 PCI IDE interfaces with hard disk and CD-ROM support

I Floppy disk

I NE2000 PCI network adapters

I Serial ports

I PCI UHCI USB controller and a virtual USB hub.

Demo

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 13

Page 18: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

Hardware virtuale

Qemu http://fabrice.bellard.free.fr/qemu PC (x86 orx86 64 processor)

I i440FX host PCI bridge and PIIX3 PCI to ISA bridge

I Cirrus CLGD 5446 PCI VGA card

I PS/2 mouse and keyboard

I 2 PCI IDE interfaces with hard disk and CD-ROM support

I Floppy disk

I NE2000 PCI network adapters

I Serial ports

I PCI UHCI USB controller and a virtual USB hub.

Demo

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 13

Page 19: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

Hardware virtuale

Qemu http://fabrice.bellard.free.fr/qemu PC (x86 orx86 64 processor)

I i440FX host PCI bridge and PIIX3 PCI to ISA bridge

I Cirrus CLGD 5446 PCI VGA card

I PS/2 mouse and keyboard

I 2 PCI IDE interfaces with hard disk and CD-ROM support

I Floppy disk

I NE2000 PCI network adapters

I Serial ports

I PCI UHCI USB controller and a virtual USB hub.

Demo

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 13

Page 20: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

Sequenza di boot

Cosa succede quando si accende un PC?

1. Inizia l’esecuzione del programma contenuto nel firmware(BIOS)

2. Il BIOS carica il programma contenuto nel boot sector

3. Il programma di boot carica il sistema operativo

4. A questo punto il controllo della macchina e affidato al s.o., acui dovranno essere richiesti i caricamenti di altri programmi

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 14

Page 21: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

Sequenza di boot

Cosa succede quando si accende un PC?

1. Inizia l’esecuzione del programma contenuto nel firmware(BIOS)

2. Il BIOS carica il programma contenuto nel boot sector

3. Il programma di boot carica il sistema operativo

4. A questo punto il controllo della macchina e affidato al s.o., acui dovranno essere richiesti i caricamenti di altri programmi

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 14

Page 22: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

Sequenza di boot

Cosa succede quando si accende un PC?

1. Inizia l’esecuzione del programma contenuto nel firmware(BIOS)

2. Il BIOS carica il programma contenuto nel boot sector

3. Il programma di boot carica il sistema operativo

4. A questo punto il controllo della macchina e affidato al s.o., acui dovranno essere richiesti i caricamenti di altri programmi

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 14

Page 23: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

Sequenza di boot

Cosa succede quando si accende un PC?

1. Inizia l’esecuzione del programma contenuto nel firmware(BIOS)

2. Il BIOS carica il programma contenuto nel boot sector

3. Il programma di boot carica il sistema operativo

4. A questo punto il controllo della macchina e affidato al s.o., acui dovranno essere richiesti i caricamenti di altri programmi

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 14

Page 24: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

Sequenza di boot

Cosa succede quando si accende un PC?

1. Inizia l’esecuzione del programma contenuto nel firmware(BIOS)

2. Il BIOS carica il programma contenuto nel boot sector

3. Il programma di boot carica il sistema operativo

4. A questo punto il controllo della macchina e affidato al s.o., acui dovranno essere richiesti i caricamenti di altri programmi

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 14

Page 25: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

Programming the iron

What I cannot create I do not understand. [R. Feynman]

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 15

Page 26: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

Programming the iron

1 ;Copyright (C) 2008 by Mattia Monga <[email protected]>2 bits 16 ; 16 bit real mode3 org 0x7C00 ; origine indirizzo 0000:7C004

5 start:6 mov bx, 0xb800 ; indirizzo base memoria video7 mov ds, bx8 mov eax, 109 write:

10 cmp eax, 011 jz end12 mov byte [eax], ’m’ ; scrivi ’m’ all’indirizzo DS:EAX13 mov byte [eax+1], 0x0F ; attrib = bianco su nero14 sub eax, 215 jmp write16 end:17 hlt18

19 times 510−($−$$) db 0 ; 0−padding20 dw 0xAA55

Demo

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 16

Page 27: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

Programming the iron

1 ;Copyright (C) 2008 by Mattia Monga <[email protected]>2 bits 16 ; 16 bit real mode3 org 0x7C00 ; origine indirizzo 0000:7C004

5 start:6 mov bx, 0xb800 ; indirizzo base memoria video7 mov ds, bx8 mov eax, 109 write:

10 cmp eax, 011 jz end12 mov byte [eax], ’m’ ; scrivi ’m’ all’indirizzo DS:EAX13 mov byte [eax+1], 0x0F ; attrib = bianco su nero14 sub eax, 215 jmp write16 end:17 hlt18

19 times 510−($−$$) db 0 ; 0−padding20 dw 0xAA55

Demo

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 16

Page 28: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

Interruzioni

Un’interruzione (interrupt request (IRQ)) e un segnale(tipicamente generato da una periferica, ma non solo) che vienenotificato alla CPU. La CPU, secondo le politiche programmate nelPIC, rispondera all’interruzione eseguendo il codice del gestoredell’interruzione (interrupt handler).Dal punto di vista del programmatore la generazione di un’IRQ eanaloga ad una chiamata di procedura, ma:

I Il codice e completamente disaccoppiato, potenzialmente inuno spazio di indirizzamento diverso (permette le protezioni)

I Non occorre conoscere l’indirizzo della procedura

I La tempistica dell’esecuzione e affidata alla CPU

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 17

Page 29: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

BIOS (1/3)

1 ;Copyright (C) 2008 by Mattia Monga <[email protected]>2 bits 16 ; 16 bit real mode3 org 0x7C00 ; origine indirizzo 0000:7C004

5 start:6 cld ; clears direction flag (index regs incremented)7 mov si, boot8 call message9 working:

10 mov si, work11 call message12

13 call waitenter14 jmp working

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 18

Page 30: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

BIOS (2/3)

16 message:17 lodsb ; carica un byte da [DS:SI] in AL e inc SI18 cmp al, 019 jz done20 mov ah, 0x0E ; write char to screen in text mode21 mov bx, 0 ; BH page number BL foreground color22 int 0x10 ; write AL to screen (BIOS)23 jmp message24 done: ret25

26 boot: db ”Loading unuseful system....” , 10, 13, 027 work: db ”I’ve done my unuseful stuff!” , 10, 13, 028 cont: db ”Hit ENTER to continue...”, 10, 13, 029 wow: db ”Great! Hello world!” , 10, 13, 0

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 19

Page 31: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

BIOS (3/3)

31 waitenter: mov si, cont32 call message33 mov ah, 034 int 0x16 ; Wait for keypress (BIOS)35 cmp al, ’m’36 jz egg37 cmp al, ’b’38 jz basic39 cmp al, 1340 jnz waitenter41 ret42 egg: mov si, wow43 call message44 jmp waitenter45 basic: int 0x18 ; basic (BIOS)46 hlt47

48 times 510−($−$$) db 049 dw 0xAA55

Demo

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 20

Page 32: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

BIOS (3/3)

31 waitenter: mov si, cont32 call message33 mov ah, 034 int 0x16 ; Wait for keypress (BIOS)35 cmp al, ’m’36 jz egg37 cmp al, ’b’38 jz basic39 cmp al, 1340 jnz waitenter41 ret42 egg: mov si, wow43 call message44 jmp waitenter45 basic: int 0x18 ; basic (BIOS)46 hlt47

48 times 510−($−$$) db 049 dw 0xAA55

Demo

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 20

Page 33: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

Cos’e un sistema operativo

Sistema Operativo

Un s.o. e un programma che rende conveniente l’uso dellohardware

I fornendo astrazioni che semplificano l’uso delle periferiche edella memoria

I gestendo opportunamente le risorse fra tutte le attivita in corso

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 21

Page 34: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

Astrazioni fornite dal s.o.

Le principali sono:

I System call

I Memoria virtuale

I Processo

I File

I Shell

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 22

Page 35: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

Bibliografia

Dijkstra, E. W.My recollections of operating systems design.http://www.cs.utexas.edu/users/EWD/ewd13xx/EWD1303.PDF,2001.EWD-1303.

Tanenbaum, A., and Woodhull, A.Operating Systems Design and Implementation, III ed.Prentice Hall, 2006.

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 23

Page 36: Sistemi Operativi (Laboratorio)homes.dico.unimi.it/sisop/lucidi0809/solab01b.pdf · Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione

Copyright

c© 22009 Mattia Monga & Lorenzo Martignoni

Creative Commons Attribuzione-Condividi allo stesso modo 2.5Italia License.http://creativecommons.org/licenses/by-sa/2.5/it/.

Immagini tratte da [2] e da Wikipedia.

Bruschi Martignoni Monga Sistemi Operativi (Laboratorio) 24