Funzioni principali del sistema operativo - Bootstrap o avvio del computer Gestione della CPU e dei programmi in

Pagina creata da Nicole Borghi
 
CONTINUA A LEGGERE
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