Fondamenti di Informatica Funzioni principali del sistema...
Transcript of Fondamenti di Informatica Funzioni principali del sistema...
1
241
Fondamenti di Informatica
Funzioni principali del sistemaoperativo
• 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
242
Fondamenti di Informatica
Fase di bootstrap
• Il bootstrap (o boot o avvio) è il processo dicaricamento di un sistema operativo nellamemoria principale del computer.
• Il boot viene eseguito grazie all’intervento di unprogramma memorizzato in modo permanente neichip del computer (solitamente la ROM) all’attodell’accensione del calcolatore
2
243
Fondamenti di Informatica
Fase di bootstrap
• una parte del sistema operativo deve esseresempre mantenuta in memoria principale e deveessere sempre pronta all’esecuzione
• Questo significa che parte della memoriaprincipale è dedicata a mantenere i programmi e idati relativi al sistema operativo
244
Fondamenti di Informatica
Fase di boot
• Per alcuni sistemi operativi durante la fase diavvio sono anche eseguiti dei programmi cheverificano l’eventuale presenza di virus
• I virus sono programmi pericolosi che vengonoinstallati sul disco fisso e provocano effettiinattesi e indesiderati, come la distruzione e ildanneggiamento dei dati.
• Si possono ricevere infezioni di virus in moltimodi, principalmente tramite dischetti e tramite larete.
3
245
Fondamenti di Informatica
Tipi di sistemi operativi:
• monoutente o multiutente: sistemi operativirealizzati per gestire un unico utente o più utenticontemporaneamente
• mono o multi programmati: in grado dieseguire un unico programma alla volta oppure ingrado di eseguire più comandicontemporaneamente
• locali o di rete: gestiscono le risorse di unamacchina o di una rete di calcolatori
246
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 ildisco.
4
247
Fondamenti di Informatica
La denominazione dei file
• quando un processo crea un file esso da un nomeal file;
• quando il processo termina, tale file continua adesistere ed altri processi possono accedere allestesse informazioni usando lo stesso nome del file
248
Fondamenti di Informatica
La denominazione dei file
• regole precise per la denominazione dei filevariano da sistema a sistema:– ad esempio i file system di Linux e Unix distinguono
fra le maiuscole e le minuscole, quindi tre file diversipossono chiamarsi massimo o Massimo o MASSIMO
– i file system di MS-DOS (e dei vari Windows) nondistinguono
5
249
Fondamenti di Informatica
La denominazione dei file
• Solitamente i nomi dei file sono divisi indue 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 informazioniaggiuntive relativamente al file
250
Fondamenti di Informatica
La denominazione dei file:l’estensione
programma scritto in linguaggio C++.cpp
documento formato portabile (PortableDocument Format)
programma scritto in linguaggio C.c
musica codificata in MPEG livello 3, formatoaudio
.mp3
video codificato con lo standard MPEG.mpg
formato di codifica per immagini JPEG.jpg
formato per immagini GIF.gif
archivio di file compresso.zip
documento HTML.html .htmfile di testo generico.txt
6
251
Fondamenti di Informatica
La denominazione dei file:l’estensione
formati proprietari
formato proprietario per PaintShop Pro.pspdocumento di tipo foglio elettronico.xls
documento di testo elaborato con PowerPoint (presentaizioni)
.pptdocumento di testo elaborato con Word.doc
252
Fondamenti di Informatica
La denominazione dei file:l’estensione
• In alcuni file system (quello di Unix e Linux adesempio) l’estensione è solo una convenzione trautenti 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.
7
253
Fondamenti di Informatica
Tipi di file
• Diversi file system hanno tipi di file diversi. Il filesystem di Windows ha:– file regolari contengono dati utenti– directory conservono la struttura del file system (vedi
oltre...)
254
Fondamenti di Informatica
Tipi di file
• Generalmente i file regolari sono di tipo ASCII odi 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 nonhanno l’estensione .txt)
– I file binari non sono formattati internamente in unmodo leggibile
– se cerco di visualizzarli con un editore di testo ottengouna sequenza illeggibile di caratteri ASCII casuali
8
255
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ù vengonochiamate attributi dei file.
• la lista degli attributi varia considerevolmente dasistema a sistema.
256
Fondamenti di Informatica
Attributi dei file: esempi
numero di byte del filedimensione
data e ora ...tempo ultima modifica
data e ora ...tempo ultimo accesso
data e ora ...tempo di creazione
0 per file ASCII, 1 per binariflag ASCI/bin
0 per file normali, 1 per file di sistemaflag di sistema
0 per lettura e scrittura, 1 per letturaflag sola lettura
ID dell’utente che ha creato il filecreatore
chi può accedere al file e in che modoprotezione
su Windows queste info sono raccolte nel menu proprietà del file
9
257
Fondamenti di Informatica
Operazioni sui file ed effettosul file system
Analizziamo alcune importanti operazioni chepossiamo fare sui file
– creazione: il file è creato senza dati. Il file system notaquesta operazione e annota degli attributi di default (dibase).
– cancellazione: il file non serve più, quindi decidiamodi cancellarlo.
– apertura: vogliamo modificare un file esistente. Loapriamo con un applicativo opportuno (e il file systemviene informato di questa operazione e si segna che ilfile è stato aperto e lo “carica” in memoria principale)
258
Fondamenti di Informatica
Operazioni sui file ed effettosul file system
– chiusura: quando abbiamo finito le nostre modifichechiudiamo il file. Il file system viene informato,aggiorna gli attributi (tipo la data dell’ultimamodifica), lo toglie dalla memoria principale.
– salvataggio: mentre sto modificando un file possodecidere di salvare le modifiche fatte senza chiudere ilfile stesso. In questo modo chiedo al sistema operativodi salvare la versione corrente del file su disco fisso,anche se questa rimane anche in memoria principale inattesa di ulteriori modifiche.
– ridenominazione: cambiamo il nome del file.
10
259
Fondamenti di Informatica
Operazioni sui file ed effettosul file system
• Operazioni molto simili possono essere eseguite da unprogramma 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, eseguemolte operazioni di creazione, apertura e chiusura di file.
260
Fondamenti di Informatica
Il file system: le directory
• il numero di file che devono essere memorizzatisu un disco può essere estremamente elevato
• è quindi necessario mantenere i file in una formaordinata
• se i file fossero tutti riuniti nel disco fisso senzastruttura, le operazioni di ricerca di un file ecreazione di un file (in particolare scegliere ilnome del file) diventerebbero estremamentedifficili
11
261
Fondamenti di Informatica
Il file system: le directory
• le cose si complicano ancora di più nei sistemimultiutente
• occorre una struttura che distingua i miei file daquelli di qualcun altro e che protegga il miolavoro da eventuali errori o azioni altrui
262
Fondamenti di Informatica
Il file system: le directory
• una prima idea può essere quella di raggruppare ifile in sottoinsiemi, ad esempio un sottoinsiemeper ogni utente
• questo può non bastare ancora perché anche i datidi un singolo utente possono crescere a dismisura
12
263
Fondamenti di Informatica
Il file system: le directory
• da queste esigenze è nata l’idea di organizzare ifile in “contenitori” gerarchici chiamati directory.– I nomi dei file sono locali alle directory.
• Nel mondo di Windows viene usato un nomediverso per un concetto molto simile. In quel casosi parla di cartelle o folder.
264
Fondamenti di Informatica
Il file system: esempio
• Alice sta scrivendo la tesi. Sul computer hasalvato i primi tre capitoli:– capitolo1.doc– capitolo2.doc– capitolo3.doc
13
265
Fondamenti di Informatica
Il file system: esempio
• Recentemente ha provato a riscrivere il capitolo 1in modo molto diverso ma non è ancora sicura diquale sia la versione migliore.
• Siccome nella stessa directory non possonorisiedere due file con lo stesso nome ha provatoad organizzare il suo lavoro nel seguente modo
266
Fondamenti di Informatica
Il file system: esempio
tesi
capitolo1.doc
capitolo2.doc
capitolo3.doc
capitolo1.doc aggiornamenti
14
267
Fondamenti di Informatica
Il file system: esempio
• sullo stesso computer a volte lavora anche Bob eanche lui sta scrivendo la tesi
• se pensiamo di creare una directory per ogniutente, Bob non si deve preoccupare di assegnareai suoi file lo stesso nome dei file di Alice
268
Fondamenti di Informatica
Il file system: esempiocapitolo1.doc
tesi capitolo2.doc
capitolo3.doc
capitolo1.doc aggiornamenti
Alice
Cap1.doc
tesi capitolo2.doc Bob
immagini foto di gruppo.jpg
15
269
Fondamenti di Informatica
Il file system: directory
• Questo tipo di strutture gerarchiche viene anchechiamato ad albero.
• il punto di partenza di questo albero è unadirectory che viene chiamata radice (root ininglese)
Bob Alice
radice
270
Fondamenti di Informatica
Operazioni sulle directory
• Per organizzare gerarchicamente i file, il sistemaoperativo deve fornire all'utente un insieme dioperazioni 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
16
271
Fondamenti di Informatica
Il file system: i cammini o path
• quando il file system è organizzato come unalbero di directory è necessario essere capaci dispecificare i nomi dei file in relazione alla loroposizione nell’albero.
• questo può essere fatto in due modi diversi:– utilizzando il cammino o path assoluto– utilizzando il cammino o path relativo
272
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 (inLinux si usa il carattere “/”)
\Bob\TESI\cap1.doc
questo primo backslash indica la directory radice
17
273
Fondamenti di Informatica
Il file system: i cammini o path
• i cammini relativi, invece, si usanocongiuntamente al concetto di directory dilavoro (detta anche directory corrente)
• se Bob si trova già dentro la propria directory, ilcammino relativo per arrivare al suo primocapitolo è TESI\cap1.doc
274
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 unaconvenzione: in ogni punto dell’albero esistono dueelementi speciali “.” e “..”
• il punto indica la directory corrente• il punto punto la directory genitore..\Alice\TESI
18
275
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)
276
Fondamenti di Informatica
Il file system: i cammini o path
• Se la directory corrente è immagini (di Bob) e iovoglio spostarmi nella directory tesi di Aliceposso farlo con uno dei seguenti comandi:
– cd ..\..\ALICE\tesi
– cd \ALICE\tesi
La visualizzazione dello stato attuale avviene attraverso il PROMPT:C:\BOB\Tesi\>
19
277
Fondamenti di Informatica
Il file system: i cammini o path
• se il sistema ha un’interfaccia grafica quest’ideadei cammini sembra meno importante, ma c’è!
278
Fondamenti di Informatica
Il file system: i cammini o path
• In più, nel caso di file system derivati da MS-DOS, esiste il concetto di unità di disco, ognunadelle quali è idenficata da una lettera– solitamente il floppy è indicato con la A:– il disco fisso con la C:– il CD-ROM con la D:
20
279
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 questiconcetti sembrano superati (mi muovo cliccandosu icone e copio facendo drag & drop) ma sonosempre alla base di tutto.
280
Fondamenti di Informatica
Il file system:dimentichiamo l’interfaccia per qualche lucido
(comandi stile MS-DOS)
• Bob non ha ancora scritto il terzo capitolo dellasua tesi e decide di copiare quello di Alice(sempre che gli attributi di protezione del fileglielo permettano!)
– la sua directory corrente è la sua TESIcopia il file scrivendo (sul command prompt, ad es.) copy ..\..\Alice\TESI\capitolo3.doc .
– oppure fa almeno lo sforzo di uniformare i nomicopy ..\..\Alice\TESI\capitolo3.doc cap3.doc
21
281
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
282
Fondamenti di Informatica
Il file system:dimentichiamo l’interfaccia per qualche lucido
(comandi stile MS-DOS)
• per passare da un punto all’altro della gerarchiadei file ( e quindi modificare la directorycorrente) si può utilizzare il comando cd:– Se mi trovo nella directory Bob:
cd ..\TESImi porta nella directory Alice
Facciamo qualche esercizio ....