Fondamenti di Informatica Funzioni principali del sistema...

21
1 241 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 242 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

Transcript of Fondamenti di Informatica Funzioni principali del sistema...

Page 1: Fondamenti di Informatica Funzioni principali del sistema ...mguarnera.altervista.org/documents/parte9.pdf · indipendentemente da come funziona realmente il disco. 4 247 ... utenti

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

Page 2: Fondamenti di Informatica Funzioni principali del sistema ...mguarnera.altervista.org/documents/parte9.pdf · indipendentemente da come funziona realmente il disco. 4 247 ... utenti

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.

Page 3: Fondamenti di Informatica Funzioni principali del sistema ...mguarnera.altervista.org/documents/parte9.pdf · indipendentemente da come funziona realmente il disco. 4 247 ... utenti

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.

Page 4: Fondamenti di Informatica Funzioni principali del sistema ...mguarnera.altervista.org/documents/parte9.pdf · indipendentemente da come funziona realmente il disco. 4 247 ... utenti

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

Page 5: Fondamenti di Informatica Funzioni principali del sistema ...mguarnera.altervista.org/documents/parte9.pdf · indipendentemente da come funziona realmente il disco. 4 247 ... utenti

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)

.pdf

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

Page 6: Fondamenti di Informatica Funzioni principali del sistema ...mguarnera.altervista.org/documents/parte9.pdf · indipendentemente da come funziona realmente il disco. 4 247 ... utenti

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.

Page 7: Fondamenti di Informatica Funzioni principali del sistema ...mguarnera.altervista.org/documents/parte9.pdf · indipendentemente da come funziona realmente il disco. 4 247 ... utenti

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

Page 8: Fondamenti di Informatica Funzioni principali del sistema ...mguarnera.altervista.org/documents/parte9.pdf · indipendentemente da come funziona realmente il disco. 4 247 ... utenti

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

Page 9: Fondamenti di Informatica Funzioni principali del sistema ...mguarnera.altervista.org/documents/parte9.pdf · indipendentemente da come funziona realmente il disco. 4 247 ... utenti

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.

Page 10: Fondamenti di Informatica Funzioni principali del sistema ...mguarnera.altervista.org/documents/parte9.pdf · indipendentemente da come funziona realmente il disco. 4 247 ... utenti

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

Page 11: Fondamenti di Informatica Funzioni principali del sistema ...mguarnera.altervista.org/documents/parte9.pdf · indipendentemente da come funziona realmente il disco. 4 247 ... utenti

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

Page 12: Fondamenti di Informatica Funzioni principali del sistema ...mguarnera.altervista.org/documents/parte9.pdf · indipendentemente da come funziona realmente il disco. 4 247 ... utenti

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

Page 13: Fondamenti di Informatica Funzioni principali del sistema ...mguarnera.altervista.org/documents/parte9.pdf · indipendentemente da come funziona realmente il disco. 4 247 ... utenti

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

Page 14: Fondamenti di Informatica Funzioni principali del sistema ...mguarnera.altervista.org/documents/parte9.pdf · indipendentemente da come funziona realmente il disco. 4 247 ... utenti

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

Page 15: Fondamenti di Informatica Funzioni principali del sistema ...mguarnera.altervista.org/documents/parte9.pdf · indipendentemente da come funziona realmente il disco. 4 247 ... utenti

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

Page 16: Fondamenti di Informatica Funzioni principali del sistema ...mguarnera.altervista.org/documents/parte9.pdf · indipendentemente da come funziona realmente il disco. 4 247 ... utenti

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

Page 17: Fondamenti di Informatica Funzioni principali del sistema ...mguarnera.altervista.org/documents/parte9.pdf · indipendentemente da come funziona realmente il disco. 4 247 ... utenti

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

Page 18: Fondamenti di Informatica Funzioni principali del sistema ...mguarnera.altervista.org/documents/parte9.pdf · indipendentemente da come funziona realmente il disco. 4 247 ... utenti

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\>

Page 19: Fondamenti di Informatica Funzioni principali del sistema ...mguarnera.altervista.org/documents/parte9.pdf · indipendentemente da come funziona realmente il disco. 4 247 ... utenti

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:

Page 20: Fondamenti di Informatica Funzioni principali del sistema ...mguarnera.altervista.org/documents/parte9.pdf · indipendentemente da come funziona realmente il disco. 4 247 ... utenti

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

Page 21: Fondamenti di Informatica Funzioni principali del sistema ...mguarnera.altervista.org/documents/parte9.pdf · indipendentemente da come funziona realmente il disco. 4 247 ... utenti

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 ....