introduzione ai sistemi operativi -...

48
1 Introduzione ai Sistemi Operativi Sistemi Operativi L-A 2 Cos’e` un Sistema Operativo ? È un programma (o un insieme di programmi) che agisce come intermediario tra l’utente e l’hardware del computer: fornisce un ambiente di sviluppo e di esecuzione per i programmi fornisce una visione astratta dell’HW gestisce le risorse del sistema di calcolo

Upload: lynhi

Post on 18-Feb-2019

232 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

1

Introduzione ai Sistemi Operativi

Sistemi Operativi L-A 2

Cos’e` un Sistema Operativo ?

• È un programma (o un insieme diprogrammi) che agisce comeintermediario tra l’utente el’hardware del computer: fornisce un ambiente di sviluppo e diesecuzione per i programmi

fornisce una visione astratta dell’HW gestisce le risorse del sistema di calcolo

Page 2: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

2

Sistemi Operativi L-A 3

Il Sistema Operativo el’Hardware

Il sistema operativo interfaccia i programmicon le risorse HW:

• CPU• memoria volatile e persistente• dispositivi di I/O• Rete• …

Il S.O. mappa le risorse HW in risorserisorselogichelogiche, accessibili attraverso interfacceben definite:

» processi (CPU)» file (dischi)» Memoria virtuale (memoria)...

Sistemi Operativi L-A 4

Cos’e` un Sistema Operativo ?

Sistema Operativo

Hardware

Programmi Applicativi

Utenti

Page 3: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

3

Sistemi Operativi L-A 5

Cos’è un sistema operativo?• Un programma che allocaalloca le risorse del

sistema di calcolo ai programmi e agliutenti:

» CPU» Memoria» dischi» dispositivi di I/O» ...

• Un programma che controllacontrolla dispositivi eprogrammi allo scopo di garantire unfunzionamento corretto ed efficiente.

Sistemi Operativi L-A 6

Aspetti importanti di un S.O. StrutturaStruttura: come è organizzato un S.O. ? Concorrenza: Concorrenza: è possibile la contemporanea esecuzione

di più programmi ? Condivisione: Condivisione: quali risorse vengono condivise tra utenti

e/o programmi? In che modo? Protezione:Protezione: il S.O. deve impedire interferenze tra

programmi/utenti. Con quali metodi? EfficienzaEfficienza Affidabilità: Affidabilità: come reagisce il S.O. a malfunzionamenti

(HW/SW) ? EstendibilitàEstendibilità:: è possibile aggiungere funzionalità al

sistema ? Conformità a StandardConformità a Standard: : portabilita`, estendibilita`,

apertura

Page 4: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

4

Sistemi Operativi L-A 7

Evoluzione dei Sistemi Operativi

•• Prima generazionePrima generazione (anni ‘50)• linguaggio macchina• dati e programmi su schede perforate• il sistema operativo non è presente

•• Seconda GenerazioneSeconda Generazione (‘55-’65): Sistemi Sistemi batchbatch semplici semplici

• linguaggio di alto livello (fortran)• input mediante schede perforate• aggregazione di programmi in lotti

(batch) con esigenze simili

Sistemi Operativi L-A 8

Sistemi batch sempliciBatch: insieme di programmi (job) da

eseguire in modo sequenziale.

JOB begin$compile

$load$run

JOB end

Page 5: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

5

Sistemi Operativi L-A 9

Sistemi batch sempliciCompito del Sistema Operativo (monitor):

trasferimento di controllo da un job (appenaterminato) al prossimo da eseguire.

Caratteristiche dei sistemi Caratteristiche dei sistemi batchbatch semplici: semplici:• sistema operativo residente in memoria (monitor)• assenza di interazione tra utente e job• scarsa efficienza:durante l’I/O del job corrente, la CPU rimane

inattiva (lentezza dei dispositivi di I/O meccanici)

AttivitàCPU

tI/O I/O

Sistemi Operativi L-A 10

Sistemi batch semplici

In memoria centrale, ad ogniistante, è caricato (al più) un solojob:

Sistemaoperativo

Job

di utente

Configurazione dellamemoria centrale in

sistemi batchsemplici

Page 6: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

6

Sistemi Operativi L-A 11

Spooling(Simultaneous Peripheral Operation On Line)

ObiettivoObiettivo: aumentare l’efficienza del sistema.Avvento dei dischi + DMA: ⇒I/O in paralleloin parallelo con

l’attività della CPU:

Sistemi batch semplici

cpu outputinput

disco

Sistemi Operativi L-A 12

Spooling : contemporaneità di I/O e computazione• il disco viene impiegato come un buffer molto ampio, dove:

leggere in anticipo i datimemorizzare temporaneamente i risultati (in attesa che il

dispositivo di output sia pronto)caricare codice e dati del job successivo: -> possibilità di

sovrapporre I/O di un job con elaborazione di un altro job

Sistemi batch semplici

cpu outputinput

disco

Page 7: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

7

Sistemi Operativi L-A 13

Sistemi Batch semplici

Problemi: finché il job corrente non è terminato, il

successivo non può iniziare l’esecuzione se un job si sospende in attesa di un

evento, la CPU rimane inattivainattiva non c’è interazione con l’utente.

Sistemi Operativi L-A 14

Sistemi Batch multiprogrammati•• Sistemi Sistemi batchbatch semplici semplici: l’attesa di un

evento causa l’inattività della CPU.⇒⇒ MultiprogrammazioneMultiprogrammazione::

Pool di jobPool di job contemporaneamentepresenti su disco:

• il S.O. seleziona un sottoinsieme dei job appartenential pool da caricare in memoria centrale:

più job in memoria centralepiù job in memoria centrale• mentre un job è in attesa di un eventoattesa di un evento, il sistema

operativo assegna la CPU a un altro job

Page 8: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

8

Sistemi Operativi L-A 15

Sistemi Batch multiprogrammatiIl sistema operativo è in grado diportare avanti l’esecuzione di più jobcontemporaneamente: Ad ogni istante:

•• un solo jobun solo job utilizza la CPU•• più jobpiù job (in memoria centrale) attendono di acquisire la

CPU.

Quando il job che sta utilizzando la CPUsi sospende in attesa di un evento:

• il S.O. decide a quale job assegnare la CPU edeffettua lo scambio (schedulingscheduling)

Sistemi Operativi L-A 16

Sistemi Batch multiprogrammatiSchedulingScheduling

Il S.O. effettua delle scelteS.O. effettua delle scelte tra tutti ijob:

quali job caricare in memoria centrale:schedulingscheduling dei job dei job (long term scheduling)

a quale job assegnare la CPU: schedulingschedulingdella CPUdella CPU o (short term scheduling)

Page 9: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

9

Sistemi Operativi L-A 17

Sistemi Batch multiprogrammatiSchedulingScheduling

Memoria

centrale CPUdisco

Schedulingdei job Scheduling

della CPU

Sistemi Operativi L-A 18

Sistemi Batch Multiprogrammati

tt22tt11 t

job1

job2

job3

t0

Attesa di eventi

Page 10: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

10

Sistemi Operativi L-A 19

Sistemi batch multiprogrammatiIn memoria centrale, ad ogni istante,possono essere caricati più job:

Configurazione dellamemoria centrale in

sistemi batchmultiprogrammati

Necessità diNecessità diprotezione !protezione !

Sistemaoperativo

Job 1

Job 2

Job 3

Sistemi Operativi L-A 20

Sistemi Time-Sharing (Multics, 1965)• Nascono dalla necessità di:

•• interattivitàinterattività con l’utente•• multi-utenza: multi-utenza: più utenti interagiscono

contemporaneamente con il sistema.

SistemaOperativo

Hardware

Utente1

Utenten

Utente2

Page 11: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

11

Sistemi Operativi L-A 21

Sistemi Time-Sharing•• MultiutenzaMultiutenza: il sistema presenta ad ogni utente una

macchina virtuale completamente dedicata a lui, per:• l’utilizzo della CPU• l’utilizzo di altre risorse (ad es., file system)

•• InterattivitàInterattività:per garantire un’accettabile velocità di“reazione” alle richieste dei singoli utenti, il S.O.interrompeinterrompe l’esecuzione di ogni job dopo un intervallodi tempo prefissato (quanto di tempo, o time slice),ed assegna la CPU ad un altro job.

Sistemi Operativi L-A 22

Sistemi Time Sharing(oppure, a divisione di tempo)

Sono sistemi in cui:Sono sistemi in cui:• L’attività della CPU è dedicata a job diversi che si

alternano ciclicamente nell’uso della risorsa• La frequenza di commutazione della CPU è tale da

fornire l’illusione ai vari utenti di una macchinacompletamente dedicata (macchina virtuale).

Cambio di contestoCambio di contesto (context switch):operazione di trasferimento del controllo da unjob al successivo ð costo aggiuntivo (overhead).

Page 12: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

12

Sistemi Operativi L-A 23

Sistemi Time Sharing

Estensione dei sistemimultiprogrammati:

Un job può sospendersi:• perchè in attesa di un evento• perchè è terminato il quanto di tempo.

Sistemi Operativi L-A 24

Sistemi Time Sharing

job1job2job3CPU

t

job1

job2

job3

t0 tt22 tt33 tt44 tt55tt11

Δt Δt

Attesa di eventi fine del quanto di tempo

Page 13: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

13

Sistemi Operativi L-A 25

Time Sharing: requisiti•• Gestione/ProtezioneGestione/Protezione della memoria:

trasferimenti memoria-disco separazione degli spazi assegnati ai diversi job molteplicità job + limitatezza della memoria:

⇒⇒ memoria virtualememoria virtuale•• SchedulingScheduling della CPU•• SincronizzazioneSincronizzazione/comunicazionecomunicazione tra Job:

• interazione• prevenzione/trattamento di blocchi critici (deadlock)

•• InterattivitàInterattività: file system on line per permettere agliutenti di accedere semplicemente a codice e dati

Sistemi Operativi L-A 26

Sistemi Operativi Attuali

MSDOSMSDOS: monoprogrammato, monoutente Windows 95, 98Windows 95, 98: multiprogrammato

(time sharing), monoutente Windows NT, 2000,2000,XPXP, Vista.., Vista..:

multiprogrammato, “multiutente” MacOSMacOS: multiprogrammato, multiutente UnixUnix//LinuxLinux:

Multiprogrammato/multiutente

Page 14: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

14

Richiami sul funzionamento di unsistema di elaborazione

Sistemi Operativi L-A 28

Architettura di un sistema dicalcolo

•• ControllerController: interfaccia HW delle perifericheverso il bus di sistema

CPU

Controllerdischi

Controllermemoria

Controllervideo

Controllerstampante

Memoria

bus

Page 15: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

15

Sistemi Operativi L-A 29

Funzionamento di un sistema dicalcolo

Funzionamento a interruzioni:Funzionamento a interruzioni: le varie componenti (HW e SW) del sistema

interagiscono con il S.O. mediante interruzioniasincrone (interrupt)

ogni interruzione è causata da un eventoevento; adesempio:

» richiesta di servizi al S.O.» completamento di I/O» accesso non consentito alla memoria» etc.

ad ogni interruzione è associata una routine diroutine diservizio servizio (handler), per la gestione dell’evento

Sistemi Operativi L-A 30

Funzionamento di un sistema dicalcolo

•• Interruzioni hardwareInterruzioni hardware: i dispositiviinviano segnali alla CPU. Per richiedere l’esecuzione di servizi al S.O.

SistemaOperativo

dispositivo

Segnale diinterruzione

Page 16: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

16

Sistemi Operativi L-A 31

Funzionamento di un sistema dicalcolo

•• Interruzioni softwareInterruzioni software: : i programmi in esecuzionenel sistema possono generare interruzioni SW: quando i programmi tentano l’esecuzione di operazioni non

lecite (ad es., divisione per 0): trap system call: richiedono l’esecuzione di servizi al S.O.

SistemaOperativo

programma

Interruzione SW

(system call)

Sistemi Operativi L-A 32

Gestione delle interruzioniAlla ricezione di un’interruzione, il S.O.:

1] interrompe l'esecuzione del programma corrente =>salvataggio dello stato in memoria (locazione fissa, stackdi sistema..)

2] attiva la routine di servizio all’interruzione (handler)3] ripristina lo stato salvato

Per individuare la routine di servizio il S.O. puòutilizzare un vettore delle interruzioni :

Routine di

servizioi

Vettore delleinterruzioni

Page 17: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

17

Sistemi Operativi L-A 33

Protezione• Nei sistemi che prevedono

multiprogrammazione e multiutenza sononecessari alcuni meccanismi HW peresercitare protezione.protezione.

• Le risorse allocate a programmi/utentidevono essere protette nei confronti diaccessi illecitiaccessi illeciti di altri programmi/utenti:

» dispositivi di I/O» memoria» CPU

Ad esempioAd esempio: accesso a locazioni esterneallo spazio di indirizzi del programma.

Sistemi Operativi L-A 34

Protezione della memoriaIn un sistema multiprogrammatomultiprogrammato o time time sharingsharing:ogni job ha un suo spazio di indirizzi: è necessario impedire al programma in esecuzione di

accedere ad aree di memoria esterne al proprio spazio(ad es., del S.O. oppure di altri Job).

Sistemaoperativo

Job 1

Job 2

Job 3

Se fosse consentito: unprogramma potrebbe modificarecodice e dati di altri programmio del S.O. !

Page 18: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

18

Sistemi Operativi L-A 35

Protezione

Per garantire protezione, moltePer garantire protezione, moltearchitetture prevedono un duplice modo diarchitetture prevedono un duplice modo difunzionamento (funzionamento (dualdual mode): mode): useruser mode kernelkernel mode (supervisorsupervisor, monitor mode)

Realizzazione:Realizzazione: l’architettura prevede un bitdi modo

• kernel: 0• user: 1

Sistemi Operativi L-A 36

Dual modeIstruzioni privilegiate: Istruzioni privilegiate: sono quelle più

pericolose e possono essere eseguitesoltanto se il sistema si trova inkernel mode:

» accesso a dispositivi di I/O (dischi, stampanti,schede di rete, etc.)

» gestione della memoria (accesso a strutturedati di sistema per la gestione della memoria)

» istruzione di shutdownshutdown (arresto del sistema)» etc.

Page 19: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

19

Sistemi Operativi L-A 37

Dual mode

Il S.O. esegue in modo kernel. Ogni programma utente esegue in usermode:

• Quando un programma utente tenta l’esecuzione diuna istruzione privilegiata, viene generato un trap.

• se necessita di operazioni privilegiate:

chiamata a system system callcall

Sistemi Operativi L-A 38

System Call

Per ottenere l’esecuzione di istruzioniprivilegiate, un programma di utente devechiamare una System Call:

» invio di un’interruzione software al S.O.» Salvataggio dello stato (PC, registri, bit di

modo, etc.) del programma chiamante etrasferimento del controllo al S.O.

» Il S.O. esegue in modo kernelkernel l’operazionerichiesta

» al termine dell’operazione, il controllo ritorna alprogramma chiamante (ritorno al modo useruser)

Page 20: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

20

Sistemi Operativi L-A 39

System Call

UserUser mode mode

KernelKernel mode mode

system call: read( )

Interrupt SW(salvataggio dello stato delprogramma utente)

Routine di gestionedell’interruzione

Esecuzione dell’operazione read

ripristino dello statodel programmautente

Programma utente

Sistemi Operativi L-A 40

System Call

La comunicazione tra il programmachiamante ed il sistema operativo avvienemediante i parametri della system call:come vengono trasferiti?

• mediante registri (problema: dimensione limitata)• mediante blocchi di memoria indirizzati da registri• mediante stack di sistema

Page 21: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

21

Sistemi Operativi L-A 41

Protezione della memoriaIl Sistema Operativo deve fornire glistrumenti per separare e proteggere glispazi di indirizzi dei programmi:

Registri base e limite memorizzano, per il programma in esecuzione (se

viene allocato su parole contigue tra loro):• l’indirizzo della prima parola (RB)• la dimensione (RL)

dello spazio degli indirizzi associato al programma. l’Hardware può controllare ogni indirizzo, per

verificare se appartiene all’intervallo [RB, RB+RL]

Sistemi Operativi L-A 42

Protezione della memoria

Registri base e limiteRB

RL

RL

Page 22: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

22

Sistemi Operativi L-A 43

Protezione della CPU

Il S.O. deve evitare che unprogramma utente non monopolizzi laCPU (ad es., loop):

• uso di timer, per interrompere il programma dopoun intervallo di tempo prefissato (time sharing)

• allo scadere dell’intervallo:interrupt ð cambio di contesto

Organizzazione dei SistemiOperativi

Page 23: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

23

Sistemi Operativi L-A 45

Struttura dei S.O.

Quali sono le componenticomponenti di un S.O. ?

Quali sono le relazionirelazioni mutue tra lecomponenti ?

Sistemi Operativi L-A 46

Struttura del Sistema Operativo

Sistema operativo = insieme dicomponenti

• gestione dei processi• gestione della memoria centrale• gestione dei file• gestione dell’I/O• meccanismi di protezione e sicurezza• interfaccia utente/programmatore

Page 24: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

24

Sistemi Operativi L-A 47

Processo

Processo = programma in esecuzione

• il programma è un’entità passiva: uninsieme di byte contenente la codificabinaria delle istruzioni da eseguire.

• il processo è un’entità attiva:• è l’istanza di un programma in esecuzione• è l’unità di lavoro all’interno del sistema: ogni attività

all’interno del S.O. è rappresentata da un processo

Sistemi Operativi L-A 48

Gestione dei ProcessiIn un sistema multiprogrammato:

più processi possono esisterecontemporaneamente

Compiti del Sistema Operativo:creazione/terminazione dei processisospensione/ripristino dei processisincronizzazione/comunicazione dei processigestione del blocco critico (deadlock) di processi

Page 25: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

25

Sistemi Operativi L-A 49

Gestione della Memoria CentraleL’HW di un sistema di elaborazione èequipaggiato con un’unico spazio di memoriaaccessibile direttamente da CPU e dispositivi.

Compiti del Sistema Operativo: separare gli spazi di indirizzi associati ai processi allocare/deallocare memoria ai processi memoria virtuale: offrire spazi logici di indirizzi di

dimensioni indipendenti dalla dimensione effettivadella memoria

Sistemi Operativi L-A 50

Gestione dei FileIl sistema operativo fornisce una visione logicauniforme della memoria secondaria, indipendente daltipo e dal numero dei dispositivi effettivamentedisponibili: realizza il concetto astratto di file, come unità

di memorizzazione logica fornisce opportune astrazioni per

l’organizzazione dei file (direttori, partizioni) realizza i meccanismi per la gestione di file,

direttori e partizioni: creazione/cancellazione di file e direttori manipolazione di file/direttori associazione tra file e dispositivi di memorizzazione secondaria

Page 26: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

26

Sistemi Operativi L-A 51

Gestione dell’I/OIl Sistema Operativo si occupa dellagestione delle periferiche di I/O:

interfaccia tra programmi e dispositivi per ogni dispositivo: device driver

• routine per l’interazione con un particolaredispositivo

• contiene conoscenza specifica sul dispositivo(routine di gestione delle interruzioni)

Sistemi Operativi L-A 52

Protezione e Sicurezza

Processi e utenti possono accedere alle risorsedel sistema contemporaneamente.

Protezione delle risorseProtezione delle risorse:: controllodell’accesso alle risorse del sistema da partedi processi (e utenti), mediante:

• autorizzazioni• modalità di accesso

Risorse da proteggereRisorse da proteggere: file, memoria, processidispositivi, ecc.

Page 27: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

27

Sistemi Operativi L-A 53

Protezione e SicurezzaSicurezza:

• Le tecnologie di sicurezza hanno come scopo laregolamentazione degli accessi al sistema da partedi utenti esterni, mediante meccanismi diautenticazione.

• La sicurezza misura l’affidabilità del sistema neiconfronti di accessi malevoli (attacchi) dal modoesterno.

Sistemi Operativi L-A 54

Interfaccia UtenteIl S.O. presenta un’interfaccia checonsente l’interazione con l’utente: interprete comandiinterprete comandi (shellshell): l’interazione

avviene mediante una linea di comando interfaccia graficainterfaccia grafica (graphical user

interface, GUIGUI): l’interazione avvienemediante click del mouse su elementigrafici; di solito organizzata a finestre.

Page 28: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

28

Sistemi Operativi L-A 55

Interfaccia ProgrammatoreL’interfaccia del SO verso i programmi (API) èrappresentato dalle system call:

• mediante la system call il processo richiede al sistema operativol’esecuzione di un servizio (in modo kernel)

Classi di system Classi di system callcall::» gestione dei processi» gestione di file e di dispositivi (spesso trattati in modo

omogeneo)» gestione informazioni di sistema» comunicazione/sincronizzazione tra processi» ...

Programma di sistemaProgramma di sistema = programma che usa systemcalls

Sistemi Operativi L-A 56

Struttura del Sistema OperativoSistema operativo = insieme di

componenti• gestione dei processi• gestione della memoria centrale• gestione dei file• gestione dell’I/O• protezione e sicurezza• interfaccia utente/programmatore

Le componenti non sono indipendentitra loro, ma interagiscono.

Page 29: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

29

Sistemi Operativi L-A 57

Struttura del Sistema OperativoCome sono organizzate le varie

componenti all’interno del sistemaoperativo?

Varie soluzioni:Varie soluzioni: struttura monolitica struttura modulare microkernel macchine vituali

Sistemi Operativi L-A 58

Struttura MonoliticaIl sistema operativo è costituito da ununico modulo contenente un insieme diinsieme diprocedureprocedure, che realizzano le variecomponenti:

l’interazione tra le diverse componentiavviene mediante il meccanismo di chiamataa procedura.

Esempi: MS-DOS,UNIX, GNU/Linux

Page 30: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

30

Sistemi Operativi L-A 59

Sistemi Operativi MonoliticiPrincipale Vantaggio: : basso costo di interazionetra le componenti.

Svantaggio: : Il SO è un sistema complesso epresenta gli stessi requisiti delle applicazioni in-the-large::

• estendibilità• manutenibilità• riutilizzo• portabilità• affidabilità• ...

SoluzioneSoluzione: : organizzazione modulare

Sistemi Operativi L-A 60

Struttura modulareLe varie componenti del SO vengono organizzate inmoduli caratterizzati da interfacce ben definite.

Sistemi Stratificati (a livelli) (THE, Dijkstra1968)

il sistema operativo è costituito da livelli sovrapposti,ognuno dei quali realizza un insieme di funzionalità:

• ogni livello realizza un’insieme di funzionalità che vengonoofferte al livello superiore mediante un’interfaccia

• ogni livello utilizza le funzionalità offerte dal livellosottostante, per realizzare altre funzionalità

Page 31: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

31

Sistemi Operativi L-A 61

Esempio: THE (5 livelli)

livello 5: programmi di utente

livello 4: buffering dei dispositivi di I/O

livello 3: driver della console

livello 2: gestione della memoria

livello 1: scheduling CPU

livello 0: hardware

Struttura a livelli

Sistemi Operativi L-A 62

Struttura StratificataVantaggi:

• Astrazione: ogni livello è un oggetto astratto,che fornisce ai livelli superiori una visioneastratta del sistema (Macchina Virtuale),limitata alle astrazioni presentatenell’interfaccia.

• Modularità: le relazioni tra i livelli sonochiaramente esplicitate dalle interfacce ðpossibilità di sviluppo, verifica, modifica in modoindipendente dagli altri livelli.

Page 32: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

32

Sistemi Operativi L-A 63

Struttura StratificataSvantaggi:

Organizzazione gerarchica tra le componenti: nonsempre è possibile -> difficoltà di realizzazione.

Scarsa efficienza: : costo di attraversamento deilivelli

Soluzione: limitare il numero dei livelli.

Sistemi Operativi L-A 64

Nucleo del Sistema Operativo (kernel)

“E` la parte del sistema operativo che eseguein modo kernel”

• È la parte più interna del sistema operativo,che si interfaccia direttamente conl’hardware della macchina.

• Le funzioni realizzate all’interno del nucleovariano a seconda del Sistema Operativo.

Page 33: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

33

Sistemi Operativi L-A 65

Nucleo del Sistema Operativo(kernel)

• Tipicamente, le funzioni del nucleosono:

• Creazione/terminazione dei processi• scheduling della Cpu• gestire il cambio di contesti• Sincronizzazione/comunicazione tra processi• Gestione della memoria• Gestione dell’I/O• Gestione delle interruzioni• realizzare le system call.

Sistemi Operativi L-A 66

Sistemi Operativi a Microkernel• La struttura del nucleo è ridotta a poche

funzionalità di base.• il resto del SO è rappresentato da processi

di utente

Caratteristiche: affidabilità (separazione tra componenti) possibilità di estensioni e personalizzazioni scarsa efficienza (molte chiamate a system call)

ESEMPI: L4, Mach, Hurd, Windows NT

Page 34: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

34

Sistemi Operativi L-A 67

procproc..clientecliente

procproc..clientecliente

terminalterminalserverserver

printprintserverserver

filefilesystemsystem

microkernelmicrokernel

Organizzazione a Microkernel

Sistemi Operativi L-A 68

modoutente

modokernel

I/OManager

ObjectManager

ProcessManager

Applicazioni

Sottosistemiprotetti

Hardware

Microkernel

Windows NT

Page 35: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

35

Sistemi Operativi L-A 69

L4 µkernelhttp://os.inf.tu-dresden.de

• gestione dei thread• allocazione della memoria (pager esterni)• Inter Process Communication

Comunicazione Threads

Memoria

Hardware

IRQ

IPC

Externalpagers Unmap

Mapping

Sistemi Operativi L-A 70

GNU/Hurd

processi utente

µkernel MACH

Server diHurd

spaziokernel

spazioutente

authserver

processserver

filesystemserver

Page 36: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

36

Sistemi Operativi L-A 71

Macchine virtuali

• l'Hardware e` gestito da un componente software, chiamatoVirtual Machine Monitor (VMM) o hypervisor il cui compito èconsentire la condivisione da parte di più macchine virtuali, ognunacon il suo sistema operativo, di una singola piattaforma hardware.

• Ogni macchina virtuale definisce un ambiente di esecuzionedistinto e isolato dalle altre.

• Il VMM si pone come mediatore unico nelle interazioni tra lemacchine virtuali e l’hardware sottostante, garantendo sia unforte isolamento tra esse, sia la stabilità complessiva del sistema .

Sistemi Operativi L-A 72

virtual machine monitor

kernel kernel kernel

HW

Page 37: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

37

Sistemi Operativi L-A 73

Vantaggi della virtualizzazione

• Uso di piu` S.O. sulla stessa macchina fisica: più ambienti diesecuzione (eterogenei) per lo stesso utente: Legacy systems Possibilità di esecuzione di applicazioni concepite per un particolare s.o.

• Isolamento degli ambienti di esecuzione: ogni macchina virtualedefinisce un ambiente di esecuzione separato (sandbox) da quelli dellealtre: possibilita` di effettuare testing di applicazioni preservando l'integrita` degli altri

ambienti e del VMM. Sicurezza: eventuali attacchi da parte di malware o spyware sono confinati alla

singola macchina virtuale

VIRTUAL MACHINE MONITOR

HARDWARE

applicazioni

Windows xp

applicazioni applicazioni

Suse Linux Ubuntu linux

VM1 VM2 VM3

Sistemi Operativi L-A 74

Vantaggi della virtualizzazione• Consolidamento HW: possibilita` di concentrare piu`

macchine (ad es. server) su un'unica architettura HW per unutilizzo efficiente dell'hardware (es. server farm): Abbattimento costi hw Abbattimento costi amministrazione

• Gestione facilitata delle macchine: e` possibile effettuarein modo semplice: la creazione di macchine virtuali (virtual appliances) l'amministrazione di macchine virtuali (reboot, ricompilazione

kernel, etc.) migrazione a caldo di macchine virtuali tra macchine fisiche:

• possibilita` di manutenzione hw senza interrompere i serviziforniti dalle macchine virtuali

• disaster recovery• workload balancing: alcuni prodotti prevedono anche

meccanismi di migrazione automatica per far fronte in modo“autonomico” a situazioni di sbilanciamento

Page 38: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

38

Sistemi Operativi L-A 75

Vantaggi della virtualizzazione• In ambito didattico: invece di assegnare ad ogni studente un account su una

macchina fisica, si assegna una macchina virtuale.

DEIS Virtual Lab. La Facoltà di Ingegneria (DEIS) sta realizzando unlaboratorio di macchine virtuali che offrirà ad ogni studente una macchinavirtuale personale da amministrare autonomamente: possibilita` di esercitarsi senza limitazioni nelle tecniche di

amministrazione e configurazione del sistema; possibilita` di installazione e testing di nuovi sistemi operativi, anche

prototipali, senza il rischio di compromettere la funzionalita` delsistema.

possibilita` di testing di applicazioni potenzialmente pericolose senza ilrischio di interferire con altri utenti/macchine;

possibilita` di trasferire le proprie macchine virtuali in supporti mobili(es: penne USB, per continuare le esercitazioni sul computer di casa).

Dotazione hw: 4 server Intel-VT xeon (2 processori quadcore), storageunit CORAID 12TB

Software: Vmware o VirtualIron ? Siamo in fase di valutazione..

Sistemi Operativi L-A 76

Host: piattaforma di base sulla quale si realizzano macchine virtuali.Comprende la macchina fisica, l’eventuale sistema operativo ed il VMM.

Guest: la macchina virtuale. Comprende applicazioni e sistemaoperativo

VIRTUAL MACHINE MONITOR

HARDWARE

applicazioni

sistema operativo

applicazioni applicazioni

sistema operativo sistema operativo

VM1 VM2 VM3

guest

host

VMM di Sistema

Page 39: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

39

Sistemi Operativi L-A 77

L'Architettura della CPU prevede, in generale,almeno due livelli di protezione (ring): supervisore eutente.

solo il VMM opera nello stato supervisore, mentre il sistemaoperativo e le applicazioni (la macchina virtuale) operano nellostato utente.

Problemi:• ring deprivileging: il s.o. della macchina virtuale esegue in uno

stato che non gli e` proprio (esecuzione di system call ?)• ring compression: applicazioni e s.o. della macchina virtuale

eseguono allo stesso livello: necessita` di protezione traspazio del s.o. e delle applicazioni.

VMM di sistema: realizzazione

Sistemi Operativi L-A 78

Ring deprivileging:Le istruzioni privilegiate richieste dal sistemaoperativo nell’ambiente guest non possono essereeseguite (richiederebbero lo stato supervisore).

Possibile Soluzione:• Se il guest tenta di eseguire un’istruzione privilegiata,

la CPU notifica un’eccezione al VMM e gli trasferisce ilcontrollo (trap): il VMM controlla la correttezza dellaoperazione richiesta e ne emula il comportamento.

Le istruzioni non privilegiate possono essere eseguitedirettamente dall’hardware senza alcun intervento daparte della CPU (esecuzione diretta).

Page 40: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

40

Sistemi Operativi L-A 79

Esempio: tentativo di esecuzione dell’istruzione privilegiatache disabilita le interruzioni da parte del S.O. guest.

• Il VMM riceve la notifica di tale richiesta e ne emula ilcomportamento atteso sospendendo la consegna degli interruptsolamente per la macchina virtuale (emulazione).

• Se la richiesta della macchina virtuale fosse eseguita direttamentesul processore sarebbero disabilitati gli interrupt per tutti i sistemied il VMM non potrebbe riguadagnare il controllo della CPU.

• Le istruzioni non privilegiate sono eseguite direttamentedall’hardware senza alcun intervento da parte della CPU (esecuzionediretta).

Un’architettura CPU si dice naturalmente virtualizzabile se prevedel’invio di notifica allo stato supervisore per ogni istruzioneprivilegiata eseguita dallo stato utente.

Sistemi Operativi L-A 80

Se l'architettura della CPU e` naturalmente virtualizzabile:• la realizzazione del VMM e` semplificata: per ogni trap generato

dal tentativo di esecuzione di istruzione privilegiata dal guestviene eseguita una routine di emulazione

• supporto nativo all'esecuzione diretta.

Non tutte le architetture sono naturalmente virtualizzabili ! IA32:• Alcune istruzioni privilegiate di questa architettura eseguite in stato

utente non provocano una trap, ma vengono ignorate non consentendoquindi l’ intervento trasparente del VMM, o in alcun casi provocano ilcrash del sistema.

• Ring Aliasing: Alcune istruzioni non privilegiate, eseguite in statoutente, permettono di accedere in lettura alcuni registri del sistemala cui gestione dovrebbe essere riservata al VMM: possibilità dirilevare il proprio livello di protezione-> possibili inconsistenze.

Page 41: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

41

Sistemi Operativi L-A 81

Architetture non virtualizzabiliSoluzioni:

Virtualizzazione pura: fast binary translation Paravirtualizzazione

Fast binary translation. (es.Vmware): il VMM scansionadinamicamente il codice prima della sua esecuzione persostituire a run time blocchi contenenti istruzioniproblematiche in blocchi equivalenti dal punto di vistafunzionale e contenenti istruzioni per la notifica di eccezionial VMM.

• I blocchi tradotti sono eseguiti direttamente sull’hw econservati in una cache apposita per riusi futuri

Sistemi Operativi L-A 82

applicazioni applicazioni applicazioni

S.O. S.O. S.O.

hardware virtualebinary translation

VMM

Hardware

Virtualizzazione pura mediante Fast Binary Translation (architetturanon virtualizzabile)

Pro:ogni macchina virtuale è una esatta replica della macchina fisica --> possibilità di installare gli stessi s.o. di architetture non virtualizzateContro: la traduzione dinamica è costosa

Page 42: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

42

Sistemi Operativi L-A 83

Paravirtualizzazione (es. xen): il VMM (hypervisor) offre alsistema operativo guest un’interfaccia virtuale (hypercall API)alla quale i S.O. guest devono riferirsi per aver accesso allerisorse:• i kernel dei S.O. guest devono quindi essere modificati per

aver accesso all'interfaccia del particolare VMM.• la struttura del VMM è semplificata perché non deve più

preoccuparsi di tradurre dinamicamente i tentativi dioperazioni privilegiate dei S.O. guest.

• per ottenere un servizio che richiede l’esecuzione di istruzioniprivilegiate (es. accesso a dispositivi) non vengono generateinterruzioni al VMM, ma viene invocata la hypercallcorrispondente.

Sistemi Operativi L-A 84

applicazioni applicazioni applicazioni

S.O. S.O. S.O.

Hardware

ParavirtualizzazionePro: prestazioni migliori rispetto a fast binary translationContro: necessità di porting dei S.O. guest (le applicazionirimangono invariate): soluzione preclusa a molti sistemi operativicommerciali non open source.

hypercall API

VMM

Page 43: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

43

Sistemi Operativi L-A 85

Architetture Virtualizzabili• La recente uscita sul mercato di processori con supporto

nativo alla virtualizzazione (Intel VT, AMD-V) ha datol’impulso allo sviluppo di VMM semplificati, basati suvirtualizzazione pura: Ring Deprivileging: ogni istruzione privilegiata richiesta dal s.o.

guest genera un trap gestito dal VMM. No Ring Compression/Aliasing: il s.o. guest esegue in un ring

separato (livello di protezione intermedio) da quello delleapplicazioni

Pro: Efficienza: non c’è bisogno di bynary translation; Trasparenza: l’API presentata dall’hypervisor è la stessa

offerta dal processore.Contro: Meno efficienti della paravirtualizzazione.

Sistemi Operativi L-A 86

Architetture Virtualizzabili

Prodotti:Xen e Vmware: hanno già rilasciato nuove versioni

compatibili con architetture virtualizzabili.VirtualIron: prodotto derivato da xen, esplicitamente

sviluppato per architetture Intel VT & AMD-V.

Page 44: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

44

Unix & Linux

Sistemi Operativi L-A 88

Storia di Unix• 1969: AT&T, sviluppo di un ambiente di

calcolo multiprogrammato e portabile permacchine di medie dimensioni.

• 1970: prima versione di UNIX(multiprogrammata e monoutente)interamente sviluppata nel linguaggioassembler del calcolatore PDP-7.

• Anni 1970: nuove versioni, arricchite conaltre caratteristiche e funzionalità.Introduzione del supporto alla multiutenza.

Page 45: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

45

Sistemi Operativi L-A 89

Unix e il linguaggio C• 1973: Unix viene realizzato nel linguaggio di

programmazione C: Elevata portabilità Leggibilità Diffusione presso la comunità scientifica e accademica.

• Anni 80: la grande popolarità di Unix ha determinato ilproliferare di versioni diverse. Due famiglie: Unix System V (AT&T Laboratories) Unix Berkeley Software Distributions, o BSD (University of

California at Berkeley)

Sistemi Operativi L-A 90

Organizzazione di Unix

hardware

Kernel del Sistema Operativo:gestione processi, memoria, file sytem, I/O, etc

Libreria standard di sistema(open, close, fork, exec...)

Utilità di sistema(shell, editor, compilatori,..)

utenti

System call

Funzioni di libreriastandard

Modo kernel

Modo user

Page 46: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

46

Sistemi Operativi L-A 91

Caratteristiche di Unix

multi-utente time sharing kernel monolitico Ambiente di sviluppo per programmi in

linguaggio C Programmazione mediante linguaggi

comandi portabilità

Sistemi Operativi L-A 92

POSIX• 1988: POSIX (Portable Operating Systems

Interface) è lo standard definito dall’IEEE.Definisce le caratteristiche relative allemodalità di utilizzo del sistema operativo.

• 1990: POSIX viene anche riconosciutodall' International Standards Organization(ISO).

• Anni 90: Negli anni seguenti, le versionisuccessive di Unix SystemV e BSD(versione 4.3), si uniformano a POSIX.

Page 47: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

47

Sistemi Operativi L-A 93

Introduzione a GNU/Linux• GNU project:

1984: Richard Stallman avvia un progetto di sviluppo di unsistema operativo libero compatibile con Unix:

"GNU is Not Unix" Furono sviluppate velocemente molte utilita` di sistema:

• editor Emacs,• Compilatori: gcc,• shell: bash,• ...

lo sviluppo del kernel (Hurd), invece, subi` moltevicissitudini e vide la luce molto piu` tardi (1996)

Sistemi Operativi L-A 94

GNU/Linux

• 1991: Linus Tornvalds realizza un kernel Unix-compatibile (Minix) e pubblica su web i sorgenti

• In breve tempo, grazie a una comunita` di hackerin rapidissima espansione, Linux acquista lecaratteristiche di un prodotto affidabile e incontinuo miglioramento.

• 1994: Linux viene integrato nel progetto GNUcome kernel del sistema operativo: nasce il sistemaoperativo GNU/Linux

Page 48: Introduzione ai Sistemi Operativi - LIAlia.deis.unibo.it/Courses/sola0708-auto/materiale/1.Introduzione.pdf · 5 Sistemi Operativi L-A 9 Sistemi batch semplici Compito del Sistema

48

Sistemi Operativi L-A 95

GNU/LinuxCaratteristiche: Open Source / Free software multi-utente, multiprogrammato e

multithreaded Kernel monolitico con possibilita` di

caricamento dinamico di moduli estendibilita` affidabilita`: testing in tempi brevissimi da

parte di migliaia di utenti/sviluppatori portabilità