Parte 3
Sistemi Operativi
Sistema operativo
Il sistema operativo (Operating System - OS):
– offre le operazioni base necessarie per:
♦
l’uso efficace del computer mediante funzionalità che non sono
fornite direttamente dall’hardware
♦
agisce da intermediario fra l’Utente e l’Hardware, per fornire un
ambiente nel quale l’utente possa eseguire i programmi
applicativi in maniera “sicura” ed efficiente
– è un insieme di programmi che gestisce tutte le funzioni
basilari di un computer (gestione disco, tastiera, video,
mouse, reti, ecc.)
– installato nell’hard disk, è un software (di sistema) che
viene caricato nella RAM all’accensione del computer
(fase di boot) e rimane attivo fino allo spegnimento
Informatica - A.A. 2010/2011 - Sistemi operativi
3.1
1
Sistema operativo - funzioni
• Esegue il boot
• Gestisce la memoria centrale (RAM)
• Gestisce i dispositivi di input/output (disco,
stampante, tastiera, video, mouse, ecc.)
• Gestisce l’organizzazione logica dei file
• Gestisce le connessioni alle reti e le relative
comunicazioni di dati
• Gestisce il caricamento e l’esecuzione di
programmi
• Gestisce gli account degli utenti
Informatica - A.A. 2010/2011 - Sistemi operativi
3.2
Sistemi operativi - tipi
Mondo MICROSOFT Windows
Mondo Unix - like
Linux
Macintosh
Hp/UX
Informatica - A.A. 2010/2011 - Sistemi operativi
3.3
2
Sistemi operativi - PC
Sistemi operativi più usati (su pc - marzo 2010):
Rispetto al 2009:
• Windows 7 ha già guadagnato una bella fetta di mercato portando
a un declino di Windows Vista e dell' immortale Windows XP
• In leggera flessione il Sistema Operativo di Apple, Mac OS X
nonostante l'hype mediatico per il lancio del nuovissimo iPad
• Linux invece rimane stabile
Informatica - A.A. 2010/2011 - Sistemi operativi
3.4
Sistemi operativi – Smart Phone
Android (Google) è
il SO più usato
(basato su kernel
Linux), grazie al
supporto di diversi
partner: HTC,
Samsung, LG,
Motorola, Ericsson,
Sony.
A seguire Symbian
(erede di EPOC,
supportato ora
quasi solo da
Nokia)
Poi IOS di Apple, BlackBerry OS di Research In Motion, e Windows
Phone 7 e Windows Mobile di Microsoft forse penalizzati dalla recente
uscita.
Informatica - A.A. 2010/2011 - Sistemi operativi
3.5
3
Microsoft Windows – Le origini
• La prima versione indipendente di Microsoft Windows versione 1.0 del 1985 - non disponeva di un gran
numero di funzionalità ed ebbe scarso successo
• Windows 1.0 non forniva un sistema operativo
completo, ma era un'estensione dell'MS-DOS
• A limitare le funzionalità di Windows erano soprattutto
alcune cause legali con Apple: per esempio, le finestre
dei programmi potevano apparire solo affiancate sullo
schermo e non potevano essere sovrapposte; inoltre
non vi era il "cestino", in quanto Apple sosteneva di
detenere i diritti su questo paradigma
• Microsoft in seguito rimosse entrambe le limitazioni
sottoscrivendo un contratto di licenza
Informatica - A.A. 2010/2011 - Sistemi operativi
3.6
Microsoft Windows – Le versioni
• Venticinque anni di versioni:
– 1.0 (1985) - 2.0 (1987) - 3.0 (1990) – 95 – NT –
98 – 2000 – XP – Vista - 7
Progettato come
• Terzultimo: XP
aggiornamento di
• Penultimo (2007): Vista
Vista: quando la
(gestazione lunga e travagliata)
• Ultimo (2009): Windows 7
Informatica - A.A. 2010/2011 - Sistemi operativi
base di partenza è
buona non si può
sbagliare!
3.7
4
Unix – La storia
Nasce nei Bell Laboratories AT&T all’interno del
Computing Science Research Group
− Idea di K. Thompson nel 1969 – prima versione in
linguaggio assembler
− D. Ritchie, B. Kernigam nel periodo1970-1973
continuano lo sviluppo in linguaggio C
Successo enorme tra i programmatori Bell
Laboratories AT&T
Diffusosi rapidamente in ambito accademico (CMU,
Berkeley, ..., Helsinki) grazie al fatto che i sorgenti
(scritti in linguaggio di programmazione C dal 1973)
venivano inviati a un prezzo simbolico
Informatica - A.A. 2010/2011 - Sistemi operativi
3.8
Unix – La storia
AT&T accusata di violare legge Antitrust nel 1974
−
−
AT&T non poteva più fare affari in campi che non
fossero la telegrafia e la telefonia
UNIX provided “as is”, no support
L'assenza di supporto ufficiale forzò gli utenti
UNIX a scambiarsi informazioni
−
Idee, manuali, programmi, bug fix
Nacque una “diaspora” di varianti UNIX (AT&T, BSD,
SCO – versioni commerciali - e… GNU/Linux!)
• Ora usato principalmente in ambito aziendale e su
computer (server, router) inseriti in rete
• Oggi il SO Unix più diffuso è Sun Solaris
Informatica - A.A. 2010/2011 - Sistemi operativi
3.9
5
Il progetto GNU
Nel 1971, un giovane ricercatore (Richard
Stallman) viene assunto nel Laboratorio di
Intelligenza Artificiale dell'MIT
Era un tipo particolare…
Nel 1983 Stallman decide di
scrivere un nuovo sistema
operativo compatibile con il
modello UNIX ma non
proprietario
GNU: GNU is not UNIX
Nasce il software libero – open
source
1985 Free Software Foundation
Informatica - A.A. 2010/2011 - Sistemi operativi
3.10
Linux - Origini
Un grande problema del progetto GNU è
l'assenza di un kernel
−
−
Il nucleo del sistema operativo
Doveva essere basato su microkernel che non era
ancora pronto a quel tempo
L'ambiente GNU deve appoggiarsi su kernel
preesistenti (UNIX), limitandone di fatto
l'adozione
Nel 1991, un giovane studente universitario di
Helsinki, Linus Torvalds, decide di scrivere il
pezzo mancante (il kernel)
Informatica - A.A. 2010/2011 - Sistemi operativi
3.11
6
Linux - Origini
• Nel settembre 1991 viene completata la versione
0.99 del Kernel Linux
• Il motivo di tanto successo è stato dovuto alla
possibilità di reperire liberamente il codice
sorgente di Linux
• 16 Gennaio 1992: nuova versione che porta novità
a livello legale circa la licenza
– In precedenza era esplicitamente vietato ottenere un
qualsiasi ritorno economico dalla sua diffusione
– Da questa versione viene adottata la GNU General
Public License (GPL): essa concede ai licenziatari il
permesso di modificare il programma, di copiarlo e di
ridistribuirlo con o senza modifiche, gratuitamente o a
pagamento
– > Vincolo di rilascio delle modifiche al pubblico
Informatica - A.A. 2010/2011 - Sistemi operativi
3.12
Free software
Termine coniato da Richard Stallman
Il fatto che il software free sia gratuito non è in
alcun modo garantito
In inglese c'è una ambiguità terminologica
− Free=Libero
− Free=Gratuito
Stallman chiarisce il concetto con il motto:
“Free as in freedom,
not as in free beer”
Informatica - A.A. 2010/2011 - Sistemi operativi
3.13
7
Mac OS
• Mac OS è il sistema operativo dedicato della Apple
per i computer Macintosh a partire dal 1984
• Acronimo di Macintosh Operating System
• Fu il primo sistema operativo ad utilizzare con
successo un'interfaccia grafica
• Mac OS è in realtà riferito a 2 famiglie di sistemi
operativi:
– Mac OS Classic: il SO montato sul primo modello di
Macintosh nel 1984 ed evolutosi, attraverso numerose
versioni, fino al 2001 (attualmente non più supportato)
– L'attuale Mac OS X (pronuncia ten), completamente
riscritto e basato su piattaforma UNIX, commercializzato a
partire dal 2001
Informatica - A.A. 2010/2011 - Sistemi operativi
3.14
Parte 3
Modulo 1:
Struttura del Sistema Operativo
8
Sistemi operativi - componenti
• Kernel (nucleo) – la parte più vicina all’hardware
• Programmi di gestione dei dispositivi (driver)
• Interprete dei comandi
• Gestore della memoria primaria
• Gestore dei processori
• Gestore dell’I/O
• Gestore dei file (File System)
Informatica - A.A. 2010/2011 - Sistemi operativi
3.16
Sistemi operativi - componenti
Hardware
Sistema Op.
• Elementi principali di un sistema operativo e
dei componenti hardware:
Kernel del Sistema Operativo (gestione memoria, CPU)
Sottosistema di gestione Input/Output
Driver
SCSI
Driver
Keyboard
Driver
Mouse
Driver
PCI Bus
Driver
Floppy
Driver
ATAPI
Controller
SCSI
Controller
Keyboard
Controller
Mouse
Controller
PCI Bus
Controller
Floppy
Controller
ATAPI
SCSI Bus
Tastiera
Mouse
PCI Bus
Floppy
ATAPI
Devices
(es. CD-ROM)
Meglio fare un passo indietro…
Informatica - A.A. 2010/2011 - Sistemi operativi
3.17
9
Sistema di Elaborazione + Utente
Hardware
Software
UTENTE
…
APPLICAZIONI
Sistema Operativo
?
Controller
SCSI
Controller
Keyboard
Controller
Mouse
Controller
PCI Bus
Controller
Floppy
Controller
ATAPI
SCSI Bus
Tastiera
Mouse
PCI Bus
Floppy
CD-ROM
Informatica - A.A. 2010/2011 - Sistemi operativi
3.18
Un quadro più preciso
Hardware
Sistema Operativo
SW
UTENTE
…
APPLICAZIONI
Interfaccia utente
Gestione file system
Gestione memoria, Gestione CPU
Sottosistema di gestione Input/Output
Driver
SCSI
Driver
Keyboard
Driver
Mouse
Driver
PCI Bus
Driver
Floppy
Driver
ATAPI
Controller
SCSI
Controller
Keyboard
Controller
Mouse
Controller
PCI Bus
Controller
Floppy
Controller
ATAPI
SCSI Bus
Tastiera
Mouse
PCI Bus
Floppy
(es. CD-ROM)
Informatica - A.A. 2010/2011 - Sistemi operativi
3.19
10
Scopi di un Sistema Operativo
1. Rendere disponibile un’interfaccia user-friendly
(amichevole) per l’interazione uomo-macchina
2. Fornire un supporto interattivo e per utenti multipli (nel
caso di sistema multi-programmato o multi-tasking)
2.1 Gestire i Processi (e l’uso della CPU)
2.2 Gestire la Memoria Centrale
3. Fornire un supporto uniforme per l’Input/Output
4. Gestire la memoria secondaria
Informatica - A.A. 2010/2011 - Sistemi operativi
3.20
Prima impressione
• Se l’impressione che avete avuto è che:
– il Sistema Operativo gestisca tutto,
– senza il Sistema Operativo, la vita degli informatici
professionisti sarebbe molto più complessa
– senza il Sistema Operativo, la vita degli utilizzatori
dell’informatica sarebbe molto più complessa
– l’evoluzione e la diffusione dell’informatica si deve in
larga parte anche ai progressi nel campo dei sistemi
operativi
… siete sulla buona strada per capire
Informatica - A.A. 2010/2011 - Sistemi operativi
3.21
11
Funzioni del Sistema Operativo
• Il Sistema Operativo è un software (di sistema)
sempre attivo, ovvero sempre caricato in
memoria centrale, in tutte le fasi:
– Fase di avvio (bootstrap)
– Fase di funzionamento
– Fase di spegnimento
Informatica - A.A. 2010/2011 - Sistemi operativi
3.22
Fase di avvio: BOOTSTRAP
• Fase iniziale che va dall’accensione del computer
fino al caricamento del Sistema Operativo in
memoria principale (RAM) per poterlo rendere
attivo
• Il bootstrap avviene in fasi successive:
– prima viene caricata una piccola parte di istruzioni
(BIOS) che si trova in un supporto di memoria
elettronica permanente (Read Only Memory (ROM) o
più di recente EEPROM riscrivibili), separata dalla
RAM, che sa dove andare a prendere e caricare
un’altra, ... ,
– … fino a che tutto il Sistema Operativo (necessario) è in
memoria centrale e in esecuzione
Informatica - A.A. 2010/2011 - Sistemi operativi
3.23
12
BIOS
• BIOS (Basic Input Output System)
• Fornisce una serie di funzioni di base per
l'accesso all'hardware e alle periferiche integrate
nella scheda madre
– Controlli preliminari sulla funzionalità dei componenti
fondamentali (RAM, tastiera, dischi, porte)
– Inizializzazione corretta delle periferiche
– Lettura di alcuni parametri (come ora e data correnti) da
una piccola memoria RAM CMOS tamponata
(mantenuta alimentata)
– Caricamento del boot loader (primo settore di un disco
impostato da BIOS), dove c’è indicata la locazione
iniziale del sistema operativo vero e proprio
Informatica - A.A. 2010/2011 - Sistemi operativi
3.24
Bootstrap
Informatica - A.A. 2010/2011 - Sistemi operativi
3.25
13
Fase di spegnimento: SHUTDOWN
• Quando il computer è in funzione, utilizza molti dati
temporanei che (per efficienza) vengono mantenuti in
memoria centrale (RAM) e solo periodicamente o a
richiesta vengono memorizzati su memoria secondaria
(disco)
• Lo shutdown consente di “fare ordine e pulizia”:
– le informazioni utili temporaneamente in RAM vengono
copiate su memoria secondaria che non è volatile
– le informazioni non necessarie vengono eliminate
– i “canali” aperti vengono chiusi, ecc.
• Se lo shutdown non viene effettuato correttamente
(es., guasto, black-out) c’è il rischio di perdere
informazioni utili o di trovarsi con dati incongruenti
Informatica - A.A. 2010/2011 - Sistemi operativi
3.26
Componenti
• I Sistemi Operativi sono generalmente
costituiti da un insieme di moduli, ciascuno
dedicato a svolgere una determinata funzione
• I vari moduli del Sistemi Operativi
interagiscono tra di loro secondo regole
precise al fine di realizzare le funzionalità di
base dalla macchina
Informatica - A.A. 2010/2011 - Sistemi operativi
3.27
14
Componenti
Interfaccia utente
Gestore dell’I/O
Gestore dei Processi
Gestore del File System
Gestore della
Memoria Centrale
*KERNEL
Informatica - A.A. 2010/2011 - Sistemi operativi
3.28
Componenti
• Nucleo (kernel)
• Costituito da quei programmi che realizzano le funzioni più
critiche e più vicine all’hardware come la Gestione dei
programmi “di base”, della memoria primaria e del controllo
dei processi
• File System
• Gestisce la memorizzazione, il reperimento,il trasferimento
delle informazioni contenute nelle memorie di massa.
Consente all'utente di organizzare tali dati servendosi delle
strutture logiche e delle funzioni ad alto livello
• Gestione dell’I/O
• Gestisce l'Input/Output ovvero le periferiche di sistema
• Interfaccia utente (“Shell”)
• Manipolazione (di solito visuale ed amichevole) di file e
directory, Informazioni sullo stato, caricamento ed esecuzione
di programmi
Informatica - A.A. 2010/2011 - Sistemi operativi
3.29
15
Kernel del Sistema Operativo
• Kernel (nocciolo, nucleo)
Contiene i programmi per la gestione delle
funzioni base del calcolatore
• Kernel suddiviso in moduli. Ogni modulo ha una
funzione diversa
• Funzioni più importanti:
– gestione processore
– gestione processi
– gestione memoria (principale e virtuale)
Informatica - A.A. 2010/2011 - Sistemi operativi
3.30
Shell del Sistema operativo
• Shell (guscio): interfaccia tra SO e utenti
• Di solito grafica (GUI – Graphical User
Interface), ma anche testuale
Informatica - A.A. 2010/2011 - Sistemi operativi
3.31
16
Parte 3
Modulo 2:
Interfaccia utente
Componenti
Interfaccia utente
Gestore dell’I/O
Gestore dei Processi
Gestore del File System
Gestore della
Memoria Centrale
*KERNEL
Informatica - A.A. 2010/2011 - Sistemi operativi
3.33
17
Interfaccia utente
• Tutti i Sistemi Operativi implementano dei
meccanismi per rendere agevole l’utilizzo del
sistema da parte degli utente
• L’insieme di questi meccanismi di accesso al
computer prende il nome di Interfaccia Utente
Informatica - A.A. 2010/2011 - Sistemi operativi
3.34
Due tipi di interfaccia
• Interfaccia testuale (o a riga di comando)
– Interprete dei comandi (shell)
– Esempi: Linux/Unix (prime versioni), MS-DOS
• Interfaccia grafica (a finestre) Graphical
User Interface (GUI)
– L’output dei vari programmi viene visualizzato in
maniera grafica all’interno di finestre
– L’utilizzo di disegni rende più intuitivo l’uso del
calcolatore
– Esempi: Linux/Unix, Microsoft WINDOWS, MAC
Informatica - A.A. 2010/2011 - Sistemi operativi
3.35
18
Interfaccia testuale
Informatica - A.A. 2010/2011 - Sistemi operativi
3.36
Interfaccia grafica (GUI)
Informatica - A.A. 2010/2011 - Sistemi operativi
3.37
19
Il desktop come interfaccia
• Desktop = l’immagine visualizzata sul monitor
quando si accende il PC
– è colorata o dotata di sfondo
– l’informazione è visualizzata lungo i bordi esterni
del desktop, sotto forma di icone
– ci sono tre tipi base di icone:
♦ applicazioni
♦ cartelle
♦ file
(programmi)
(directory)
(documenti)
Informatica - A.A. 2010/2011 - Sistemi operativi
3.38
Il desktop (cont.)
• Il “desktop” è una metafora
– ORIGINE: lavorare al PC è come sedere ad
una scrivania
♦ si
possono archiviare lavori (file)
♦ organizzare
♦ usare
gli archivi in raccoglitori (directory)
applicazioni (un programma o la calcolatrice)
– OGGI: stare al PC è molto di più di una
scrivania: riproduzione video e audio, giochi,
apprendimento, navigazione Web, …
Informatica - A.A. 2010/2011 - Sistemi operativi
3.39
20
PC per Ascoltare la musica
• Esempio di metafora per l’interfaccia utente
– il software che riproduce i CD sul computer
sfrutta un’interfaccia grafica (GUI)
– la GUI somiglia a un comune lettore musicale
♦i
pulsanti somigliano a quelli di un tipico lettore CD
♦ l’utente può applicare alla GUI la sua conoscenza
del funzionamento del lettore CD fisico senza avere
bisogno di ulteriori istruzioni perché la simbologia gli
è familiare
Informatica - A.A. 2010/2011 - Sistemi operativi
3.40
Simboli
Ci sono pulsanti, controlli a scorrimento, pulsanti
triangolari, ecc.
Tutte forme che mirano ad essere intuitive
(da usare senza dover consultare il manuale)
Informatica - A.A. 2010/2011 - Sistemi operativi
3.41
21
Esempio: iTunes
Informatica - A.A. 2010/2011 - Sistemi operativi
3.42
Menu
• Lista di operazioni che il software può eseguire
• Quali operazioni sono disponibili (operazioni simili
sono raggruppate)
• Prendono la forma di una barra dei menu
• Tutte le operazioni che un programma può eseguire
sono elencate nei menu
Informatica - A.A. 2010/2011 - Sistemi operativi
3.43
22
Funzionamento dei menu
• I menu che si aprono “scendendo giù” dalla barra si
chiamano menu a tendina
• Quando si clicca il pulsante destro del mouse sono
visualizzati i cosiddetti menu pop-up
• Con un click del mouse si apre il menu, che rivela un
elenco di operazioni disponibili
• Scorrendo il mouse lungo la lista, il comando prescelto
viene evidenziato
• Cliccare o rilasciare il pulsante sul comando
evidenziato fa sì che il computer esegua l’operazione
Informatica - A.A. 2010/2011 - Sistemi operativi
3.44
Informatica - A.A. 2010/2011 - Sistemi operativi
3.45
23
Parte 3
Modulo 3:
Gestione delle Periferiche
(Dispositivi di input/output)
Dispositivi di Input/Output
• I dispositivi sono molto eterogenei per velocità
e funzioni: oggetti complessi da gestire!
– Ad esempio, la maggior parte dei dispositivi sono seriali
(es., stampante) e possono essere usati da un solo
processo alla volta
– Tuttavia, molti dispositivi (es., stampante di rete)
possono ricevere molte richieste contemporaneamente
Servono:
• Meccanismi per la coordinazione delle varie richieste
• Diverse strategie per la gestione dei processi in attesa
di utilizzare una risorsa
Informatica - A.A. 2010/2011 - Sistemi operativi
3.47
24
Necessità per la gestione Input/Output
• Anche detta Gestione delle periferiche
• Il Sistema Operativo deve
– Fornire all’utente
♦ Visione
astratta dei dispositivi (rende trasparenti le
caratteristiche fisiche delle periferiche)
♦ Comandi
per utilizzare i dispositivi
– Ottimizzare l’utilizzo dei dispositivi
♦ Gestire
la comunicazione di segnali verso di loro
♦ Coordinare l’accesso di più utenti (processi)
Informatica - A.A. 2010/2011 - Sistemi operativi
3.48
Gestione Input/Output
• Il SO fornisce un insieme di comandi
(linguaggio d’interazione tra utente e sistema)
che fornisce una visione astratta del
dispositivo
• Es.
– Stampa: per l’utente equivale all’invio di un messaggio,
indipendentemente da come avviene il trasferimento dei
byte
– Lettura dello stato della stampante
– Modifica delle caratteristiche della stampa: l’utente
utilizza un pannello di controllo, senza curarsi dei
dettagli implementativi sottostanti
Informatica - A.A. 2010/2011 - Sistemi operativi
3.49
25
Gestione delle Periferiche di
Input/Output
• Il sottosistema di I/O del sistema operativo è
strutturato in moduli, chiamati driver, che
incapsulano le particolarità e i dettagli dei vari
dispositivi
• Device Driver delle periferiche (uno per ogni
periferica e per ogni sistema operativo!)
– Un driver è specifico sia dal punto di vista dell'hardware
che pilota, sia dal punto di vista del sistema operativo
per cui è scritto Non è possibile utilizzare driver scritti
per un sistema operativo su uno differente, perché
l'interfaccia è generalmente diversa!
Informatica - A.A. 2010/2011 - Sistemi operativi
3.50
Device Driver
• Il controllo dei dispositivi di I/O avviene attraverso
speciali programmi detti Device Driver
• Ogni dispositivo che si connette al computer
(compresi lettori DVD, pen drive, macchina
fotografica, ecc.) ha bisogno di un device driver che
funga da interfaccia tra il dispositivo fisico e l’utente
• I device driver sono spesso realizzati dai
produttori dei dispositivi stessi che ne conoscono
le caratteristiche fisiche in maniera approfondita
Informatica - A.A. 2010/2011 - Sistemi operativi
3.51
26
Device Driver (Cont.)
• Questi programmi implementano normalmente
le seguenti funzioni:
– Rendono trasparenti le caratteristiche fisiche
tipiche di ogni dispositivo
– Gestiscono la comunicazione dei segnali verso i
dispositivi
– Gestiscono i conflitti, nel caso in cui due o più
processi vogliono accedere
contemporaneamente allo stesso dispositivo
Informatica - A.A. 2010/2011 - Sistemi operativi
3.52
Hardware
Sistema Op.
Device Driver (Cont.)
Kernel del Sistema Operativo (gestione memoria, CPU)
Sottosistema di gestione Input/Output
Driver
SCSI
Driver
Keyboard
Driver
Mouse
Driver
PCI Bus
Driver
Floppy
Driver
ATAPI
Controller
SCSI
Controller
Keyboard
Controller
Mouse
Controller
PCI Bus
Controller
Floppy
Controller
ATAPI
SCSI Bus
Tastiera
Mouse
PCI Bus
Floppy
(es. CD-ROM)
Informatica - A.A. 2010/2011 - Sistemi operativi
3.53
27
Interrupt
• Interrupt o interruzione: segnale asincrono che
indica il bisogno dell’attenzione del sistema
operativo
• Generati dai controller dei dispositivi esterni
alla CPU (di solito periferiche - dispositivi di
Input/Output)
• Ogni dispositivo è controllato da un apposito
strumento hardware , detto controller, che ha il
compito di comunicare il verificarsi di eventi
esterni (dati disponibili, periferica libera, etc.)
Informatica - A.A. 2010/2011 - Sistemi operativi
3.54
Spooling
• Simultaneous Peripheral Operations On-Line (Spool)
• Meccanismo che svincola la stampa di un file dal resto
dell’elaborazione: il sistema continua la sua attività
mentre la stampa è in corso
• Stampante più lenta della CPU un file non può
essere trasferito troppo velocemente dalla CPU alla
stampante
• Invece di inviare il file in maniera sincrona:
• Il file viene messo su disco
• Il Sistema Operativo crea un processo di spooling che fa
procedere la stampa
• Il processo che ha richiesto la stampa è svincolato da essa
• Lo spooling può andare in esecuzione anche su un
elaboratore remoto collegato in rete (print server) lo
eseguirà un’altra CPU
Informatica - A.A. 2010/2011 - Sistemi operativi
3.55
28
DMA (Direct Memory Access)
• Meccanismo che permette ad alcune periferiche di
accedere direttamente alla memoria di sistema per
scambiare dati, o leggere o scrivere, senza chiamare in
causa la CPU per ogni byte trasferito tramite il
meccanismo usuale dell'interrupt e la successiva
richiesta di operazione desiderata
• Un singolo interrupt viene generato per un intero
blocco trasferito
• Ha il compito di gestire i dati permettendo a periferiche
che lavorano a velocità diverse di comunicare senza
interrompere continuamente la CPU
• Usato da molti sistemi per unità a disco, schede
grafiche e schede audio
Informatica - A.A. 2010/2011 - Sistemi operativi
3.56
29