Funzioni principali del sistema operativo Fase di bootstrap

Transcript

Funzioni principali del sistema operativo Fase di bootstrap
Fondamenti di Informatica
Funzioni principali del sistema
operativo
• Bootstrap o avvio del computer
• Gestione della CPU e dei programmi in
esecuzione
• Gestione della memoria
• Gestione dei file (file system)
• Gestione dei dispositivi di I/O
• Interazione con l’utente
241
Fondamenti di Informatica
Fase di bootstrap
• Il bootstrap (o boot o avvio) è il processo di
caricamento di un sistema operativo nella
memoria principale del computer.
• Il boot viene eseguito grazie all’intervento di un
programma memorizzato in modo permanente nei
chip del computer (solitamente la ROM) all’atto
dell’accensione del calcolatore
242
1
Fondamenti di Informatica
Fase di bootstrap
• una parte del sistema operativo deve essere
sempre mantenuta in memoria principale e deve
essere sempre pronta all’esecuzione
• Questo significa che parte della memoria
principale è dedicata a mantenere i programmi e i
dati relativi al sistema operativo
243
Fondamenti di Informatica
Fase di boot
• Per alcuni sistemi operativi durante la fase di
avvio sono anche eseguiti dei programmi che
verificano l’eventuale presenza di virus
• I virus sono programmi pericolosi che vengono
installati sul disco fisso e provocano effetti
inattesi e indesiderati, come la distruzione e il
danneggiamento dei dati.
• Si possono ricevere infezioni di virus in molti
modi, principalmente tramite dischetti e tramite la
rete.
244
2
Fondamenti di Informatica
Tipi di sistemi operativi:
• monoutente o multiutente: sistemi operativi
realizzati per gestire un unico utente o più utenti
contemporaneamente
• mono o multi programmati: in grado di
eseguire un unico programma alla volta oppure in
grado di eseguire più comandi
contemporaneamente
• locali o di rete: gestiscono le risorse di una
macchina o di una rete di calcolatori
245
Fondamenti di Informatica
Il file system: i file
• i file sono un meccanismo di astrazione:
– offrono il modo di memorizzare le informazioni su
disco e ritrovarle in un secondo momento,
indipendentemente da come funziona realmente il
disco.
246
3
Fondamenti di Informatica
La denominazione dei file
• quando un processo crea un file esso da un nome
al file;
• quando il processo termina, tale file continua ad
esistere ed altri processi possono accedere alle
stesse informazioni usando lo stesso nome del file
247
Fondamenti di Informatica
La denominazione dei file
• regole precise per la denominazione dei file
variano da sistema a sistema:
– ad esempio i file system di Linux e Unix distinguono
fra le maiuscole e le minuscole, quindi tre file diversi
possono chiamarsi massimo o Massimo o MASSIMO
– i file system di MS-DOS (e dei vari Windows) non
distinguono
248
4
Fondamenti di Informatica
La denominazione dei file
• Solitamente i nomi dei file sono divisi in
due parti, separate da un punto
nome base del file
.
estensione
• il nome base può essere scelto a caso, per esempio
considerando il contenuto del file stesso
• anche l’estensione può essere scelta a caso, ma
solitamente la si sceglie in modo che dia informazioni
aggiuntive relativamente al file
249
Fondamenti di Informatica
La denominazione dei file:
l’estensione
.txt
file di testo generico
.html .htm
documento HTML
.zip
archivio di file compresso
.gif
formato per immagini GIF
.jpg
formato di codifica per immagini JPEG
.mpg
video codificato con lo standard MPEG
.mp3
musica codificata in MPEG livello 3, formato
audio
.c
programma scritto in linguaggio C
.cpp
programma scritto in linguaggio C++
.pdf
documento formato portabile (Portable
Document Format)
250
5
Fondamenti di Informatica
La denominazione dei file:
l’estensione
formati proprietari
.doc
.ppt
.xls
.psp
documento di testo elaborato con Word
documento di testo elaborato con Power
Point (presentaizioni)
documento di tipo foglio elettronico
formato proprietario per PaintShop Pro
251
Fondamenti di Informatica
La denominazione dei file:
l’estensione
• In alcuni file system (quello di Unix e Linux ad
esempio) l’estensione è solo una convenzione tra
utenti che non ha alcun valore per il sistema:
– un file chiamato prova.txt è molto probabilmente un
file di testo, ma non è detto che lo sia
• Al contrario Windows fa caso alle estensioni e dà
loro un significato:
– fare doppio click su un file chiamato prova.doc fa
sicuramente partire Microsoft Word.
252
6
Fondamenti di Informatica
Tipi di file
• Diversi file system hanno tipi di file diversi. Il file
system di Windows ha:
– file regolari contengono dati utenti
– directory conservono la struttura del file system (vedi
oltre...)
253
Fondamenti di Informatica
Tipi di file
• Generalmente i file regolari sono di tipo ASCII o
di tipo binario:
– i file ASCII sono formati da linee di testo
– i file ASCII possono essere visualizzati da un
qualunque programma editore di testo (anche se non
hanno l’estensione .txt)
– I file binari non sono formattati internamente in un
modo leggibile
– se cerco di visualizzarli con un editore di testo ottengo
una sequenza illeggibile di caratteri ASCII casuali
254
7
Fondamenti di Informatica
Attributi dei file
• ogni file possiede un nome e i suoi dati
• inoltre i sistemi operativi associano informazioni
aggiuntive; queste informazioni in più vengono
chiamate attributi dei file.
• la lista degli attributi varia considerevolmente da
sistema a sistema.
255
Fondamenti di Informatica
Attributi dei file: esempi
protezione
chi può accedere al file e in che modo
creatore
ID dell’utente che ha creato il file
flag sola lettura
0 per lettura e scrittura, 1 per lettura
flag di sistema
0 per file normali, 1 per file di sistema
flag ASCI/bin
0 per file ASCII, 1 per binari
tempo di creazione
data e ora ...
tempo ultimo accesso
data e ora ...
tempo ultima modifica
data e ora ...
dimensione
numero di byte del file
su Windows queste info sono raccolte nel menu proprietà del file
256
8
Fondamenti di Informatica
Operazioni sui file ed effetto
sul file system
Analizziamo alcune importanti operazioni che
possiamo fare sui file
– creazione: il file è creato senza dati. Il file system nota
questa operazione e annota degli attributi di default (di
base).
– cancellazione: il file non serve più, quindi decidiamo
di cancellarlo.
– apertura: vogliamo modificare un file esistente. Lo
apriamo con un applicativo opportuno (e il file system
viene informato di questa operazione e si segna che il
file è stato aperto e lo “carica” in memoria principale)
257
Fondamenti di Informatica
Operazioni sui file ed effetto
sul file system
– chiusura: quando abbiamo finito le nostre modifiche
chiudiamo il file. Il file system viene informato,
aggiorna gli attributi (tipo la data dell’ultima
modifica), lo toglie dalla memoria principale.
– salvataggio: mentre sto modificando un file posso
decidere di salvare le modifiche fatte senza chiudere il
file stesso. In questo modo chiedo al sistema operativo
di salvare la versione corrente del file su disco fisso,
anche se questa rimane anche in memoria principale in
attesa di ulteriori modifiche.
– ridenominazione: cambiamo il nome del file.
258
9
Fondamenti di Informatica
Operazioni sui file ed effetto
sul file system
• Operazioni molto simili possono essere eseguite da un
programma invece che dall’utente
– ad esempio un programma che elabora in modo automatico una
lista di numeri, ne calcola la media e la salva su un file, esegue
molte operazioni di creazione, apertura e chiusura di file.
259
Fondamenti di Informatica
Il file system: le directory
• il numero di file che devono essere memorizzati
su un disco può essere estremamente elevato
• è quindi necessario mantenere i file in una forma
ordinata
• se i file fossero tutti riuniti nel disco fisso senza
struttura, le operazioni di ricerca di un file e
creazione di un file (in particolare scegliere il
nome del file) diventerebbero estremamente
difficili
260
10
Fondamenti di Informatica
Il file system: le directory
• le cose si complicano ancora di più nei sistemi
multiutente
• occorre una struttura che distingua i miei file da
quelli di qualcun altro e che protegga il mio
lavoro da eventuali errori o azioni altrui
261
Fondamenti di Informatica
Il file system: le directory
• una prima idea può essere quella di raggruppare i
file in sottoinsiemi, ad esempio un sottoinsieme
per ogni utente
• questo può non bastare ancora perché anche i dati
di un singolo utente possono crescere a dismisura
262
11
Fondamenti di Informatica
Il file system: le directory
• da queste esigenze è nata l’idea di organizzare i
file in “contenitori” gerarchici chiamati directory.
– I nomi dei file sono locali alle directory.
• Nel mondo di Windows viene usato un nome
diverso per un concetto molto simile. In quel caso
si parla di cartelle o folder.
263
Fondamenti di Informatica
Il file system: esempio
• Alice sta scrivendo la tesi. Sul computer ha
salvato i primi tre capitoli:
– capitolo1.doc
– capitolo2.doc
– capitolo3.doc
264
12
Fondamenti di Informatica
Il file system: esempio
• Recentemente ha provato a riscrivere il capitolo 1
in modo molto diverso ma non è ancora sicura di
quale sia la versione migliore.
• Siccome nella stessa directory non possono
risiedere due file con lo stesso nome ha provato
ad organizzare il suo lavoro nel seguente modo
265
Fondamenti di Informatica
Il file system: esempio
capitolo1.doc
tesi
capitolo2.doc
capitolo3.doc
aggiornamenti
capitolo1.doc
266
13
Fondamenti di Informatica
Il file system: esempio
• sullo stesso computer a volte lavora anche Bob e
anche lui sta scrivendo la tesi
• se pensiamo di creare una directory per ogni
utente, Bob non si deve preoccupare di assegnare
ai suoi file lo stesso nome dei file di Alice
267
Fondamenti di Informatica
Il file system: esempio
capitolo1.doc
Alice
tesi
capitolo2.doc
capitolo3.doc
aggiornamenti
capitolo1.doc
Cap1.doc
Bob
tesi
immagini
capitolo2.doc
foto di gruppo.jpg
268
14
Fondamenti di Informatica
Il file system: directory
• Questo tipo di strutture gerarchiche viene anche
chiamato ad albero.
• il punto di partenza di questo albero è una
directory che viene chiamata radice (root in
inglese)
radice
Bob
Alice
269
Fondamenti di Informatica
Operazioni sulle directory
• Per organizzare gerarchicamente i file, il sistema
operativo deve fornire all'utente un insieme di
operazioni per
–
–
–
–
–
creare una nuova directory
rimuovere una directory
ridenominare una directory
elencare il contenuto di una directory
copiare o spostare i file da una directory ad un'altra
270
15
Fondamenti di Informatica
Il file system: i cammini o path
• quando il file system è organizzato come un
albero di directory è necessario essere capaci di
specificare i nomi dei file in relazione alla loro
posizione nell’albero.
• questo può essere fatto in due modi diversi:
– utilizzando il cammino o path assoluto
– utilizzando il cammino o path relativo
271
Fondamenti di Informatica
Il file system: i cammini o path
• i cammini assoluti partono dalla radice
– il cammino assoluto per arrivare al capitolo 1 della tesi
di Bob è (notazione à la MS-DOS):
\Bob\TESI\cap1.doc
• Il carattere “\” (backslash) viene usato comeseparatore (in
Linux si usa il carattere “/”)
\Bob\TESI\cap1.doc
questo primo backslash indica la directory radice
272
16
Fondamenti di Informatica
Il file system: i cammini o path
• i cammini relativi, invece, si usano
congiuntamente al concetto di directory di
lavoro (detta anche directory corrente)
• se Bob si trova già dentro la propria directory, il
cammino relativo per arrivare al suo primo
capitolo è TESI\cap1.doc
273
Fondamenti di Informatica
Il file system: i cammini o path
• A proposito dei path relativi:
– cosa succede se io mi trovo nella directory Bob e
voglio indicare un file nella directory TESI di Alice?
(dovrei tornare indietro nell’albero...)
– La maggior parte dei file system ha adottato una
convenzione: in ogni punto dell’albero esistono due
elementi speciali “.” e “..”
• il punto indica la directory corrente
• il punto punto la directory genitore
..\Alice\TESI
274
17
Fondamenti di Informatica
Il file system: i cammini o path
• Come faccio a cambiare la directory corrente?
– In pratica questo corrisponde a muoversi lungo la
struttura ad albero.
• In Windows è tutto gestito in modo trasparente tramite i
concetti di cliccare su icone …
• Il comando DOS (e Unix) che permette di cambiare la propria
posizione è cd (Change Directory)
275
Fondamenti di Informatica
Il file system: i cammini o path
• Se la directory corrente è immagini (di Bob) e io
voglio spostarmi nella directory tesi di Alice
posso farlo con uno dei seguenti comandi:
– cd ..\..\ALICE\tesi
– cd \ALICE\tesi
La visualizzazione dello stato attuale avviene attraverso il PROMPT:
C:\BOB\Tesi\>
276
18
Fondamenti di Informatica
Il file system: i cammini o path
• se il sistema ha un’interfaccia grafica quest’idea
dei cammini sembra meno importante, ma c’è!
277
Fondamenti di Informatica
Il file system: i cammini o path
• In più, nel caso di file system derivati da MSDOS, esiste il concetto di unità di disco, ognuna
delle quali è idenficata da una lettera
– solitamente il floppy è indicato con la A:
– il disco fisso con la C:
– il CD-ROM con la D:
278
19
Fondamenti di Informatica
Il file system: i cammini o path
• a cosa serve quest’idea dei cammini?
–
–
–
–
a creare una gerarchia di file sensata
a muoversi dentro la gerarchia dei file
a copiare file da una parte all’altra della gerarchia
...
• con la metafora delle interfacce grafiche questi
concetti sembrano superati (mi muovo cliccando
su icone e copio facendo drag & drop) ma sono
sempre alla base di tutto.
279
Fondamenti di Informatica
Il file system:
dimentichiamo l’interfaccia per qualche lucido
(comandi stile MS-DOS)
• Bob non ha ancora scritto il terzo capitolo della
sua tesi e decide di copiare quello di Alice
(sempre che gli attributi di protezione del file
glielo permettano!)
– la sua directory corrente è la sua TESI
copia il file scrivendo (sul command prompt, ad es.)
copy ..\..\Alice\TESI\capitolo3.doc .
– oppure fa almeno lo sforzo di uniformare i nomi
copy ..\..\Alice\TESI\capitolo3.doc cap3.doc
280
20
Fondamenti di Informatica
Il file system:
dimentichiamo l’interfaccia per qualche lucido
(comandi stile MS-DOS)
• se ha paura che Alice si accorga del furto può
copiare il capitolo sul floppy e portarselo a casa...
copy ..\..\Alice\TESI\capitolo3.doc A:\cap3.doc
281
Fondamenti di Informatica
Il file system:
dimentichiamo l’interfaccia per qualche lucido
(comandi stile MS-DOS)
• per passare da un punto all’altro della gerarchia
dei file ( e quindi modificare la directory
corrente) si può utilizzare il comando cd:
– Se mi trovo nella directory Bob:
cd ..\TESI
mi porta nella directory Alice
Facciamo qualche esercizio ....
282
21