1
Note sui sistemi operativi
Ultima modifica: 26/02/2007
2
Hardware
3
Macchina nuda
Il calcolatore di von Neumann possiede tutti i componenti HW necessari per risolvere problemi...
...tuttavia è una macchina nuda con cui sarebbe virtualmente impossibile lavorare direttamente
– l’utente dovrebbe lavorare in binario ed interagire direttamente con l’HW
4
Il sistema operativo
SO è un intermediario tra utente e HW che:
fornisce una visione ad alto livello del calcolatore che consente all’utente un facile accesso alle risorse
disponibili
previene danni accidentali o intenzionali all’HW, ai programmi e ai dati
consente una gestione efficiente e sicura delle risorse
5
Sistema Operativo
Il Sistema Operativo è un programma che
rende la macchina più semplice da usare
• Gestione semplice del disco
• Gestione di I/O (tastiera, schermo, etc.)
• Interprete di comandi
• ...
assicura la corretta operatività
• gli utenti non devono entrare in conflitto tra di loro e con il sistema operativo Hardware
Sistema Operativo
6
Interprete di comandi
Interprete di comandi
1) Segnala “sono pronto”
2) Accetta comando (tastiera e/o mouse) 3) Interpreta comando
4) Esegue comando oppure scrive un messaggio di errore
Esegui il file tetris.exe che sta nella mia directory
Stampa il file esame.doc che sta nella directory del professore
7
Interprete comandi a riga di comando
Directory corrente
sono pronto! (prompt)
comando
8
Interprete grafico a finestre
directory
file di tipo
“testo”
9
File: astrazione del disco
Cara Luisa, oggi è una bella
giornata..
settore
1000011 1100001 1110010 1100001 ...
100001
10
File (II)
FILE
• Collezione di informazioni
• Risiede sul disco
• Ha un nome
• Ha un tipo
OPERAZIONI
• Creare un file vuoto
• Scrivere in un file
• Leggere il contenuto di un file sullo schermo (o sulla stampante)
• Creare un file di contenuto identico ad un altro file
• Cambiare il nome di un file
• Cancellare un file
• Eseguire un file (se il suo tipo lo permette)
• ...
11
File System
“L’insieme delle informazioni strutturate presenti su una memoria di massa” (HD, CDROM, etc.).
File System (in senso lato) di un sistema operativo:
insieme dei file system dei suoi dispositivi.
Un file system si compone di file (archivi) e directory (cartelle, folder).
Una directory è un contenitore che può contenere file e altre directory.
12
Directory
DIRECTORY
• Contenitore di file e/o directory
• Risiede sul disco
• Ha un nome
OPERAZIONI
• Creare una directory vuota
• Spostare un file (o directory) da una directory ad un’altra
• Elencare il contenuto di una directory (nomi) sullo schermo
• Cancellare una directory (vuota)
• ...
13
Esempio di file system
somma.exe
etc bin studenti
mydir radice
fact.C fact.exe fact.exe
somma.exe
somma.C
tetris.exe
letter.doc
friend.doc games
docs bin
fondinf myexe
passwords startup.exe
Directory File
Indirizzamento assoluto
studenti
mydir radice
fact.C fact.exe somma.C
tetris.exe
fact.exe
somma.exe games
myexe fondinf
\studenti\mydir \studenti\mydir\games\tetris.exe
\studenti\mydir\myexe\somma.exe
15
Tabella di Allocazione dei File (semplificata)
Per ogni file, dice quali sono i settori di disco occupati da quel file
Riporta anche quali sono i settori “liberi”, non occupati da nessun file
Deve stare sul disco, in una zona “nota”
Le operazioni sui file (creazione, cancellazione,
salvataggio), comportano anche modifiche sulla tabella
16
Contenuto ed interpretazione di un file
Un file memorizzato sul disco non e’ altro che una sequenza di bit
Chi decide come questi bit vanno interpretati?
– Il programma che apre e gestisce ciascun file – Normalmente, lo stesso programma che lo crea
type fact.exe
Apertura di un file
18
Multi-tasking
Un utente esegue contemporaneamente due o più programmi sullo stesso calcolatore
Due o più utenti utilizzano
contemporaneamente lo stesso calcolatore, eseguendo un programma ciascuno
Possibile su sistemi operativi multiprocesso
19
Desktop e finestre
20
Programma in esecuzione
Elaborazione Attesa
tempo
L’esecuzione di un programma alterna periodi di elaborazione (utilizzo della CPU) a periodi di attesa che i dispositivi di I/O siano pronti
Durante i periodi di attesa la CPU sarebbe inutilizzata
21
Multitasking
programma 1
programma 2 programma 3
Ogni volta che un programma si sospende in attesa di una operazione di I/O,
il SO “passa” la CPU ad un altro programma
22
Multitasking
programma 1
programma 2 Δ
Se entro un predeterminato intervallo di tempo Δ (es. 20 ms), un programma non si sospende, il SO gli revoca la CPU per far progredire
l’esecuzione di un altro programma
23
Memoria Utente e Memoria Sistema
PROG2
PROG1
SISTEMA OPERATIVO
Memoria Utente
Memoria Sistema CPU
24
Protezione della memoria
PROG2
PROG1
SISTEMA OPERATIVO
Ad un programma viene impedito di accedere alla memoria riservata ad un altro programma
CPU
25
Cambio di contesto
PROG2
PROG1
SISTEMA OPERATIVO
CPU CPU
Programma sospeso
Programma ripreso
26
Gestione della memoria
PROG1
PROG2
La memoria ed ogni programma sono “affettati” in
pagine. Quando serve, una pagina di un programma viene memorizzata in una qualunque pagina della memoria
27
Protezione
DIRITTI DI ACCESSO
• Luigi può installare programmi
• Alice può solo mandarli in esecuzione
Sistema Operativo Sono Alice
Provamelo!
Alex10
Utente Password Luigi pxZyK1!
Alice Alex10
… …
28
Avvio (I)
IL PROBLEMA DELL’UOVO E DELLA GALLINA Il SO carica i programmi in memoria per
l’esecuzione...
...ma il SO è a sua volta un programma...
...chi carica il SO in memoria?
29
Avvio (II)
CPU
BIOS
RAM
Boot sector: contiene il boot
loader che carica effettivamente il SO
bootstrap loader
Power-on