Il software: cenni sul sistema operativo Il software

Il software: cenni sul sistema
operativo
Carla Guerrini
Calcolo Numerico e Programmazione
1
Il software
Carla Guerrini
Calcolo Numerico e Programmazione
2
1
IL sistema operativo (I)
Š Il sistema operativo e’ un insieme di programmi che
controllano le funzioni dei dispositivi hardware
disponibili.
Š Isola l’utente dai dettagli dell’architettura e gli fornisce
funzionalita’ di alto livello.
Š Il sistema operativo viene caricato ed eseguito
automaticamente al momento dell’accensione del
computer.
Carla Guerrini
Calcolo Numerico e Programmazione
3
IL sistema operativo (II)
Š Sistema operativo monoutente: se il computer e’
dedicato ad un singolo utente (tipicamente un PC).
Più semplice.
Š Sistema operativo multiutente: se piu’ utenti
condividono le stesse risorse hardware (workstation,
mainframe, PC). In questo caso il SO nasconde ad ogni
utente la presenza degli altri, dando l’impressione che
l’intero sistema gli sia interamente dedicato.Più
complesso.
Carla Guerrini
Calcolo Numerico e Programmazione
4
2
Il sistema operativo (III)
Š Monotasking (una sola applicazione per volta ) oppure
multitasking (piu’ applicazioni per svolgere più funzioni
contemporaneamente).
Š Interfaccia utente a caratteri o grafica
Š Capacita’ di elaborazione (16, 32 o 64 bit)
Š Sicurezza
Š Proprietario (funziona solo con un certo tipo di computer)
o aperto (funziona su computer di marca diversa)
Carla Guerrini
Calcolo Numerico e Programmazione
5
IL sistema operativo (IV)
Per desktop:
Š DOS. E’ stato il primo SO per desktop (1980), con
interfaccia a caratteri, monotasking, a 8 bit, ormai poco
utilizzato.
Š Windows nelle sue diverse versioni: 95, 98, 2000, NT, XP.
Interfaccia grafica, multitasking.
Š Apple Macintosh System 8. Sistema proprietario
installato sui Macitosh della Apple. Interfaccia grafica,
multitasking.
Š Linux: e’ un sistema tipo UNIX. Versioni, a basso costo o
gratuite: Red Hat, Debian, Mandrake …
Carla Guerrini
Calcolo Numerico e Programmazione
6
3
IL sistema operativo (V)
Per I server (collegati in rete con altri computer). Devono
garantire la sicurezza dei collegamenti fra i computer e
dirigere il traffico sulla rete.
Š Windows NT, Windows ME
Š OS/2. Non ha avuto grande diffusione pur essendo
potente.
Š UNIX: Linux, Solaris ….Sviluppato nel 1973,
inizialmente con interfaccia a caratteri, ora con interfaccia
grafica. Sicuro, potente e a basso costo oppure gratis
(LINUX); piu’ difficile da installare e gestire di
Windows, ma piu’ affidabile.
Carla Guerrini
Calcolo Numerico e Programmazione
7
IL sistema operativo (VI)
Per I mainframe:
Š Sistemi proprietari: VMS (Digital), Open MVS (IBM).
Per i computer tascabili:
Š Windows CE
Carla Guerrini
Calcolo Numerico e Programmazione
8
4
L’interfaccia
Š L’interfaccia permette la comunicazione con l’utente. Ci
sono interfacce grafiche (Windows, Linux ….) e a
caratteri (DOS , VMS ….)
Š L’interfaccia grafica e’ costituita da un menu di comandi
selezionabili mediante mouse attraverso icone disposte su
una scrivania (desktop) o “menu a tendina” .
Carla Guerrini
Calcolo Numerico e Programmazione
9
Il BIOS
Š Il BIOS (Basic Input Output System) e’ un piccolo
programma registrato permanentemente sulla memoria
ROM.
Š E’ considerata come un livello intermedio fra hardware e
software ed e’ detto firmware. Collega il software con
l’hardware.
Š E’ il primo programma avviato all’accensione del computer.
Š Funzioni del BIOS: interpreta I dati immessi da tastiera,
visualizza I caratteri sullo schermo, gestisce comunicazioni
attraverso porte del computer ….
Carla Guerrini
Calcolo Numerico e Programmazione
10
5
Organizzazione del SO (I)
Il SO e’ organizzato per strati funzionali, detti “a buccia di
cipolla”.
Carla Guerrini
Calcolo Numerico e Programmazione
11
Organizzazione del SO (I)
Š Ciascuno strato funzionale realizza una macchina
virtuale, cioe’ una macchina che maschera le
caratteristiche hardware e offre ai suoi utenti una serie
di funzionalita’.
Š Struttura modulare del SO: cisacun modulo esporta le
funzionalita’ verso l’esterno e mantiene al suo intenro I
propri meccanismi implementativi.
Š La macchina virtuale e’ dedicata al singolo utente,
mentre la macchina fisica e’ condivisa fra gli utenti.
Carla Guerrini
Calcolo Numerico e Programmazione
12
6
NUCLEO (I)
Compiti del gestore dei processi ( nucleo) sono:
Š Gestire le eventuali interruzioni esterne (gestore degli
interrupt)
Š Gestire i processi facendo eseguire dalla CPU i
programmi
Š Offrire agli strati superiori una macchina virtuale in cui
ciascun programma opera come se avesse a totale
disposizione la CPU
Carla Guerrini
Calcolo Numerico e Programmazione
13
NUCLEO (II)
Š Il programma in esecuzione è basato su una serie di cicli
macchina, accadono degli eventi per cui il ciclo macchina
viene interrotto (Interrupt)
Š Interrupt esterni ( operazioni di I/O ) che utilizzano
periferiche esterne
Š Interrupt interni, si verificano quando< il programma in
esecuzione necessita dell’intervento del S.O. (supervisor
call)
Carla Guerrini
Calcolo Numerico e Programmazione
14
7
Nucleo(III)
diagramma stato transazioni
Carla Guerrini
Calcolo Numerico e Programmazione
15
NUCLEO(IV)
Š Processo: è un concetto dinamico legato all’esecuzione di
un programma
Š Processo è una coppia di elementi (E,S) dove E è il
codice eseguibile ed S è lo stato del processo, ossia
l’insieme di tutti i valori contenuti nella memoria centrale
e nei registri della CPU relativi al processo stesso.
Š Uno dei valori più importanti dello stato S è il registro
contatore di programma (Program Counter) che contiene
l’indirizzo della successiva istruzione da eseguire. Se ad
ogni programma fosse associato un unico processo
Š PROCESSO -in esecuzione,– attesa, -pronto
Carla Guerrini
Calcolo Numerico e Programmazione
16
8
Gestore dei processi (I)
Š Se ci sono piu’ utenti che devono utilizzare la CPU, il
gestore dei processi deve stabilire il processo che, istante
per istante, utilizza la CPU.
Š Rotazione dei processi (round-robin): ad ogni processo
viene assegnato un “quanto” di tempo: quando questo
termina il processo viene interrotto e viene messo in coda
ai processi in attesa di occupare la CPU.
Š Quando un processo viene interrotto, il nucleo si
proeccupa di salvare il suo contesto, cioe’ copiare il
contenuto di tutti I registri del processore.
Carla Guerrini
Calcolo Numerico e Programmazione
17
Gestore della memoria (I)
Š Il gestore della memoria ha la funzione di allocare la
memoria dividendola fra i vari programmi che la
richiedono. E’ opportuno che piu’ programmi siano
presenti in memoria in modo che possano essere
velocemente eseguiti quando e’ il loro turno.
Š Questo strato offre a quelli superiori una macchina virtuale
in cui ciascun programma opera come se avesse tutta la
memoria a sua disposizione.
Carla Guerrini
Calcolo Numerico e Programmazione
18
9
Gestore della memoria (II)
Tecniche di gestione della memoria centrale:
Š Paginazione: la memoria centrale e’ considerata come
partizionata in pagine, contigue, di dimensione fissata.
Anche I programmi vengono partizionati in pagine e viene
fatta una assegnazione dello spazio di memoria sulla bse di
esse.
Š Segmentazione: il programma viene suddiviso in parti che
svolgono diverse funzioni (segmenti) e vengono caricati in
memoria I segmenti in modo indipendente.
Carla Guerrini
Calcolo Numerico e Programmazione
19
Gestore della memoria (III)
Memoria virtuale
Con le tecniche di segmentazione e paginazione il gestore
della memoria offre al programma una memoria virtuale,
che puo’ essere anche maggiore di quella fisica. I segmenti
(o pagine) che non stanno nella memoria centrale e non
sono al momento necessari vengono caricati nella memoria
secondaria e trasferiti nella memoria centrale quando
servono. Rallentamento dell’esecuzione.
Carla Guerrini
Calcolo Numerico e Programmazione
20
10
Gestore delle periferiche (I)
Š I driver sono I programmi del SO che gestiscono le
periferiche.
Š Permettono all’utente di utilizzare le periferiche senza
conoscerne le caratteristiche hardware specifiche.
Š Danno all’utente l’impressione che le periferiche siano
dedicate.
Carla Guerrini
Calcolo Numerico e Programmazione
21
Gestore dei file (File System) (I)
Š L’informazione nella memoria di massa e’ organizzata
in file.
Š Ogni file ha un nome proprio, costituito da due parti:
nome.estensione (l’estensione ha al massimo 3
caratteri).
Esempio: prova.doc
Š I dati possono essere organizzati in vari modi. Alcuni
file possono contenere testi, altri programmi, altri
immagini, altri video ecc.
Carla Guerrini
Calcolo Numerico e Programmazione
22
11
Gestore dei file (File System) (II)
Il file system e’ responsabile della gestione dei file.
Š Li organizza in directory o cartelle (folder). Le directory
sono contenitori di piu’ files.
Š Fornisce all’utente funzioni di alto livello per operare su di
essi.
Š Permette ad ogni utente di organizzarsi una zona della
memoria di massa e garantisce che I file siano protetti da
accessi esterni.
Carla Guerrini
Calcolo Numerico e Programmazione
23
Gestore dei file (File System) (III)
Š Le directory sono organizzate in una gerarchia ad albero.
Š Il file system ha directory che contengono file di sistema
(cioe’ programmi del SO stesso) e quindi eseguiti dal SO e
directory che contengono file degli utenti.(….)
Š A ciascun utente e’ di solito assegnata una directory
specifica, detta home directory. I file creati da un utente
fanno di solito parte della sua home directory, sotto alla
quale puo’ creare altre directory (“sottodirectory”).
Š Home directory in laboratorio:
Carla Guerrini
Calcolo Numerico e Programmazione
24
12
Gestore dei file (File System) (IV)
Š Gli indicatori delle unita’ di memoria: si distinguono di
solito con una lettera (vedi Risorse del Computer).
Š Ciascun file ha un “nome completo” (pathname) che
include l’intero cammino dalla radice dell’abero fino al
file. Esempi:
c:\programmi\winzip\winzip.exe (pathname windows)
/home/guerrini/prova.c (pathname unix)
Carla Guerrini
Calcolo Numerico e Programmazione
25
FILE SYSTEM
Carla Guerrini
Calcolo Numerico e Programmazione
26
13
Gestore dei file (File System) (V)
Š Il carattere ‘ / ‘ separa I nomi delle directory
Š Il simbolo ‘ . ’ indica la directory corrente.
Š Il simbolo ‘ .. ‘ indica la directory immediatamente
superiore alla corrente nell’albero.
Carla Guerrini
Calcolo Numerico e Programmazione
27
Gestore dei file (File System) (VI)
Funzioni disponibili all’utente del file system (fra parentesi
comandi Unix):
Š Comandi per la creazione di file o di directory (mkdir);
Š Comandi per l’elencazione di file nella directory (ls);
Š Comandi per spostarsi nelle directory (cd);
Š Comandi per la copia di un file su un altro (cp);
Š Comandi per rinominare un file (mv);
Š Comandi per cancellare dalle unita’ di memoria file (rm) o
directory (rmdir);
Carla Guerrini
Calcolo Numerico e Programmazione
28
14
Interprete dei comandi
Consente all’utente di attivare I programmi.
1. Accede al programma, di solito residente in memoria
di massa, tramite il file system;
2. Alloca memoria e carica il programma in memoria;
3. Attiva un processo, tramite gestore dei processi.
Sfrutta gli strati sottostanti del SO.
Carla Guerrini
Calcolo Numerico e Programmazione
29
Le utilita’ di sistema
(accessories Æ system Æ tools)
Š
Š
Š
Š
Formattazione di un disco;
Frammentazione del disco;
Scanning del disco;
Utilita’ multimediali (lettore cd).
Carla Guerrini
Calcolo Numerico e Programmazione
30
15
Conclusioni
Š
Š
Š
Il sistema operativo e’ il software che permette all’utente
di utilizzare I dispositivi hardware del calcolatore in
modo trasparente.
Le caratteristiche del SO sono legate al servizio che deve
svolgere nei diversi tipi di computer.
E’ organizzato a strati. Ogni strato realizza una macchina
virtuale cioe’ una macchina che maschera le
caratteristiche hardware e offre ai suoi utenti una serie di
funzionalita’ per l’utente.
Carla Guerrini
Calcolo Numerico e Programmazione
31
Esercizi
Š
Š
Š
Provare le diverse operazioni sui file (creare un file,
rinominarlo, calcellarlo)
Creare una directory di lavoro
Creare nella proria home directory una struttura ad
albero con sottodirectory.
Carla Guerrini
Calcolo Numerico e Programmazione
32
16