Sistemi Operativi Definizioni iniziali Tipi di software Sistema Operativo

Transcript

Sistemi Operativi Definizioni iniziali Tipi di software Sistema Operativo
Definizioni iniziali
Programma: una sequenza di istruzioni
elementari
Sistemi Operativi
Processo: un programma in esecuzione
Software: insieme dei programmi
2 / 32
Informatica - M. Falda, A. A. 2007 - 2008
Tipi di software
Sistema Operativo
Base: lavora sull’hardware e fornisce le
funzioni essenziali
Ha due funzioni principali
gestisce le risorse fisiche (hardware)
Applicativo: si basa sul
software di base e
soddisfa esigenze
dell’utente
controlla i processi e mette a disposizione
un’interfaccia per l’utente
3 / 32
Informatica - M. Falda, A. A. 2007 - 2008
4 / 32
Informatica - M. Falda, A. A. 2007 - 2008
Avvio del calcolatore
Tipi di Sistemi Operativi
La memoria ROM contiene il software
necessario all’avvio (firmware)
monotasking: non più usati (DOS)
multitasking: permettono l’esecuzione di più
processi in parallelo (Windows)
carica il Sistema Operativo in memoria
controlla l’integrità delle componenti interne
real-time: oltre al parallelismo, garanzie
sull'esecuzione
verifica le periferiche collegate (ora plug & play)
5 / 32
Informatica - M. Falda, A. A. 2007 - 2008
6 / 32
Informatica - M. Falda, A. A. 2007 - 2008
Sistemi multitasking
Interfacce
Sono i più usati: Windows, Linux, Mac OS X
A caratteri: i comandi sono stringhe di testo
DOS
UNIX / Linux
Sfruttano la tecnica di time-sharing
Grafiche: sfruttano metafore
grafiche e contesti
Windows
Mac OS X
7 / 32
Informatica - M. Falda, A. A. 2007 - 2008
8 / 32
Informatica - M. Falda, A. A. 2007 - 2008
Interfacce a caratteri
Interfacce grafiche
Svantaggi
Svantaggi
molte risorse
poco flessibili
difficili
Vantaggi
veloci
flessibili
richiedono poche risorse
Vantaggi
facili
maggior trasparenza rispetto all’hardware
9 / 32
Informatica - M. Falda, A. A. 2007 - 2008
10 / 32
Informatica - M. Falda, A. A. 2007 - 2008
Software applicativo
Esempio di interfaccia di un programma
Si cerca di costruirlo con interfacce
amichevoli
Ciascun programma può fornire interfacce
aggiuntive rispetto a quelle fornite dal S.O.
Tipologie
ambienti di sviluppo (programmazione)
produttività personale (e.g. elaborazione di testi)
programmi verticali “specializzati” (e.g.
biblioteche)
11 / 32
Informatica - M. Falda, A. A. 2007 - 2008
12 / 32
Informatica - M. Falda, A. A. 2007 - 2008
Macchine virtuali
Macchine virtuali
Si nascondono le
funzionalità non
necessarie
Anche il Sistema Operativo è organizzato in
maniera simile
Si uniforma
l’accesso alle
risorse
13 / 32
Informatica - M. Falda, A. A. 2007 - 2008
14 / 32
Informatica - M. Falda, A. A. 2007 - 2008
Gestore dei processi (kernel
(kernel))
Lo stallo
Processo 1
Pronto
Pronto
Coordina l’esecuzione di più processi
in esecuzione (tanti quanti le CPU)
pronto
in attesa (di dati o risorse)
InInesecuzione
esecuzione
InInattesa
attesa
sta usando
Risorsa
Risorsa11
sta aspettando
Dato
Dato11
sta aspettando
sta usando
InInattesa
attesa
Pronto
Pronto
Processo 2
InInesecuzione
esecuzione
Pronto
Pronto
InInattesa
attesa
Informatica - M. Falda, A. A. 2007 - 2008
15 / 32
InInesecuzione
esecuzione
16 / 32
Informatica - M. Falda, A. A. 2007 - 2008
Esempio di gestore di processi
Gestione della memoria centrale
In Windows esiste un
programma chiamato
Task Manager
Assicura l’accesso corretto alla memoria
RAM da parte dei programmi
memoria RAM
Interagisce con la
memoria secondaria per
aumentare la capacità:
memoria virtuale
CTRL + ALT + CANC
2. Il processo 1
(attivo) ha il
doppio di
memoria
Processo
Processo11
Processo
Processo22
1. Il processo 2
(non attivo)
viene messo da
parte
Processo
Processo22
memoria di massa
17 / 32
Informatica - M. Falda, A. A. 2007 - 2008
18 / 32
Informatica - M. Falda, A. A. 2007 - 2008
Esempio
Gestore della memoria secondaria (filesystem
(filesystem))
I dati nella memoria secondaria sono
organizzati in file
Windows permette di gestire la memoria
virtuale, anche se la “nasconde” all’utente
usuale
unità di aggregazione (importanza del contesto)
si misurano in byte
hanno un nome univoco (con limitazioni)
ulteriori proprietà: dimensione, tipo, date,
permessi di lettura/scrittura et c.
19 / 32
Informatica - M. Falda, A. A. 2007 - 2008
20 / 32
Informatica - M. Falda, A. A. 2007 - 2008
Organizzazione dei file
Tipi di file (estensione)
I file sono organizzati in cartelle
Per individuare il tipo di
file ci sono vari metodi
Sono individuati da un percorso
Fotografie
Fotografie
fotografie/vacanze/mare
Vacanze
Vacanze
Mare
Mare
Animali
Animali
Amici
Amici
aggiungere una
proprietà
riconoscerne la struttura
aggiungere un
“simbolo”
convenzionale
(estensione) al nome
Estensione
Tipo
bmp, jpg, gif
exe, com
wav, mp3
immagine
eseguibile
suono
mpg, mov
video
...
...
Montagna
Montagna
21 / 32
Informatica - M. Falda, A. A. 2007 - 2008
22 / 32
Informatica - M. Falda, A. A. 2007 - 2008
Esempio
Tipi di filesystem e formattazione
traccia
settore
Il disco fisso viene formattato
In Windows “Risorse del computer”
rappresenta una interfaccia per il filesystem
fisicamente in tracce e settori
logicamente in partizioni di vario tipo
Ci sono vari tipi di filesystem
23 / 32
Informatica - M. Falda, A. A. 2007 - 2008
Windows: FAT, NTFS
Linux: Ext2, Ext3, ReiserFS et c.
Mac OS X: HFS+
CD: ISO9660
Informatica - M. Falda, A. A. 2007 - 2008
cilindro
24 / 32
Integrità
Integrità e frammentazione
Esempio
I dischi fissi sono maggiormente soggetti ad
usura
In Windows ci sono due programmi appositi
controlli di integrità sui file
Disposizione iniziale (non frammentato)
Le operazioni sui file tendono
a disperderli in pezzettini
sempre più piccoli
file1
file2
file3 spazio libero
ScanDisk si occupa del controllo dell’integrità
Defrag si occupa della “deframmentazione”
Dopo diverso tempo (frammentato)
file1
file2
file1
file3
deframmentazione (Windows)
Informatica - M. Falda, A. A. 2007 - 2008
è necessario più
tempo per leggerlo
25 / 32
26 / 32
Informatica - M. Falda, A. A. 2007 - 2008
Gestione delle periferiche
Coda di stampa
Nasconderne ed uniformarne il
funzionamento
La stampa è una delle periferiche più lente
Lo spooler
Gestire gli errori (e.g. carta mancante) e gli
accessi
costruisce una coda di richieste (di stampa)
invia i documenti alla periferica
permette ai programmi di continuare ed essere
“avvertiti” quando il documento è pronto
Esistono programmi specifici per ogni
periferica, i driver
27 / 32
Informatica - M. Falda, A. A. 2007 - 2008
28 / 32
Informatica - M. Falda, A. A. 2007 - 2008
Interprete dei comandi
Terminale dei comandi
Ogni Sistema Operativo ha un interprete che
riconosce le richieste degli utenti (comandi)
avvio di programmi
funzioni del Sistema Operativo
1.
Pronto per ricevere un comando
C:\>
2.
L’utente digita il comando
C:\> ren *.jpg *.jpeg
Le interfacce a caratteri prevedono un
linguaggio specifico
3.
Il S.O. controlla la sintassi ed esegue
29 / 32
Informatica - M. Falda, A. A. 2007 - 2008
30 / 32
Informatica - M. Falda, A. A. 2007 - 2008
Sintassi di un comando
Comandi più
più comuni
Un comando è formato da
un nome (* indica qualsiasi serie di caratteri)
una serie di opzioni
una serie di argomenti
dir
/p /od
nome
nome
opzioni
opzioni
*.jpg
argomento
argomento
Windows
Linux / Mac OS X
elenco dei file
creazione cartella
eliminazione cartella
copia
spostamento
dir
md
rd
copy
move
ls -la
mkdir
rmdir
cp
mv
eliminazione di file
del
rm
ridenominazione
ren
mv
31 / 32
Informatica - M. Falda, A. A. 2007 - 2008
32 / 32
Informatica - M. Falda, A. A. 2007 - 2008