Funzioni principali del sistema operativo - Bootstrap o avvio del computer Gestione della CPU e dei programmi in
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
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 documento di testo elaborato con Word .ppt documento di testo elaborato con Power Point (presentaizioni) .xls documento di tipo foglio elettronico .psp 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 capitolo2.doc tesi 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 capitolo2.doc Alice tesi capitolo3.doc aggiornamenti capitolo1.doc Cap1.doc capitolo2.doc Bob tesi immagini 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 MS- DOS, 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
Puoi anche leggere