Lez.7– IlSistemaOperativo
Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1
Dott. Pasquale De Michele
Dott. Raffaele Farina
Dipartimento di Matematica e Applicazioni
Università di Napoli “Federico II”
Compl. Univ. Monte S.Angelo
Via Cintia, I-80126, Napoli
[email protected]
[email protected]
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
2
• La Programmazione
• Il Sistema Operativo
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
3
Il Sistema Operativo (S.O.) è un insieme di
programmi
finalizzati
a
rendere utilizzabile
l’elaboratore.
Le funzioni principali del S.O. sono:
1.Nascondere all ’ utente i dettagli dell ’ hardware
della macchina presentando una interfaccia
“amichevole”;
2.Gestire e controllare l’utilizzo di tutte le risorse
dell’elaboratore.
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
4
La parte del S.O. che interpreta i comandi forniti dall’utente e
attiva i programmi corrispondenti rappresenta l ’ interfaccia tra
utente e sistema.
Funzioni di servizio tipicamente fornite dal S.O. per svolgere il
ruolo di interfaccia:
• Creazione ed esecuzione di programmi;
S.O. offre servizi per la stesura dei programmi (editor e
de-bugger) e per il caricamento.
• Accesso ai dispositivi di I/O;
S.O. maschera i dettagli di basso livello del controllo delle
periferiche, come la gestione dei segnali per trasferimento
dati …
• Archiviazione dati e programmi;
S.O. fornisce una organizzazione logica dei dati sotto
forma di cartelle e file per particolari dispositivi di
memorizzazione come i dischi rigidi.
• Controllo di accesso alle risorse;
• Gestione dei malfunzionamenti;
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
5
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
6
Interfaccia
Mezzo di interazione, tramite dispositivi di input e di output, tra
utente ed elaboratore.
Tipi di interfaccia
•Interfaccia a caratteri
Offre la possibilità di eseguire un comando
esclusivamente mediante l’uso della tastiera
Usata nei primi sistemi operativi (es. DOS)
Le interfacce a caratteri sono più rapide e richiedono meno
memoria rispetto alle interfacce grafiche, ma sono più difficili
da utilizzare.
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
7
Interfaccia
•Interfaccia grafica
•Caratterizzata da finestre, ognuna delle quali può
contenere un programma applicativo o un documento
(es. windows).
•Offre la possibilità di eseguire un comando puntando
e cliccando l’icona che lo rappresenta mediante l’uso
del mouse.
•Impiega la tecnologia WYSIWYG (What You See Is
What You Get) che consente di visualizzare sullo
schermo i documenti nel modo in cui saranno
stampati.
Le prime interfacce grafiche utente (GUI) vennero sviluppate allo
Xerox PARC (Palo Alto Research Center) negli anni settanta e
furono utilizzate per la prima volta nel 1980 su un computer
chiamato Xerox Star.
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
8
•Interfaccia a stilo
Usa uno schermo sensibile al tatto su cui si può
scrivere o puntare un comando usando uno stilo
(usata nei sistemi operativi palmari).
•Interfaccia a touchscreen
Consente di operare puntando con un dito le
immagini o le icone presenti sullo schermo.
•Interfaccia conversazionale
Consente di eseguire comandi vocali o immettere dati
mediante programmi di riconoscimento vocale.
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
9
Il S.O. è responsabile della gestione delle risorse.
E ’ composto da diverse parti interagenti fra loro che
consentono di gestire l’uso di tutte le risorse da parte degli
utenti e del software applicativo.
Risorse
•Le risorse possono essere sia componenti fisici quali CPU,
memoria, dispositivi di I/O sia componenti logici quali file,
cartelle o programmi.
•La gestione di una risorsa comprende:
1.Tener traccia dello stato della risorsa;
2.Stabilire la politica che determina a quale programma in
esecuzione (processo) assegnare la risorsa, quando e per
quanto tempo;
3.Allocare e deallocare la risorsa.
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
10
Sistemi Monoprogrammati
Monoprogrammazione: in memoria centrale risiede, oltre al
sistema operativo, un solo programma.
Sistemi Multiprogrammati
Multiprogrammazione o Multitasking: in memoria centrale
risiedono più programmi utente.
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
11
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
12
Sistemi a condivisione di tempo
Time-sharing
• Suddivisione del tempo di CPU in unità elementari,
dette quanti, da assegnare secondo opportune
politiche, a tutti i programmi che definiscono il carico
del sistema.
• La partizione di tempo consente le elaborazione
interattiva.
• Più utenti hanno accesso simultaneo al calcolatore.
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
13
14
Anche i programmi elaborano i dati e i comandi in ordine
sequenziale.
Ogni operazione si snoda come un singolo filo (Thread).
Nei sistemi multithreading i programmi applicativi
possono svolgere più operazioni contemporaneamente.
Per esempio, un programma di video-scrittura, può
leggere i dati immessi dall ’ utente tramite tastiera,
visualizzarli sullo schermo e stampare il documento nello
stesso tempo.
15
Sistemi multitasking monoutente
Microsoft Windows, Linux, Macintosh OS
Sistemi multitasking multiutente
Unix
Sistemi Distribuiti e Sistemi di rete
•Cliente/server
•Windows NT, OS/2, Unix
•Linux: costo di base nullo, pochi programmi disponibili,
poche periferiche supportate, facilità d’uso più bassa di
windows.
•Cluster
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
16
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
17
1. Nucleo (Kernel o Supervisore)
Strato più interno del S.O. che risiede in memoria principale
ed ha il compito di gestire i processi corrispondenti ai
programmi che sono attivi contemporaneamente.
2. Gestore della memoria
Strato del S.O. che ha il compito di gestire l’accesso alla
memoria centrale.
3. Gestore delle periferiche
Parte del S.O. che consente di operare su dispositivi I/O in
maniera trasparente all’utente.
• Le caratteristiche fisiche delle periferiche e le specifiche
operazioni di I/O vengono mascherate all’utente e alla
applicazioni.
• L ’ utente usa comandi di alto livello per leggere e
scrivere dati, senza preoccuparsi dei problemi di
indirizzamento e di sincronizzazione delle periferiche
stesse.
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
18
4. Gestore di file
Parte del S.O. che si occupa di gestire e strutturare le
informazioni memorizzate su memorie di massa.
• Consente all’utente di organizzare l’informazione in
strutture logiche (organizzazione logica)
• Traduce le strutture logiche create dall ’ utente in
strutture fisiche di dati memorizzate su memorie
secondarie (Implementazione)
• Controlla l ’ uso delle strutture fisiche da parte dei
processi permettendo l ’ accesso solo ai processi
autorizzati (Protezione).
File: Unità logica di informazione.
• Può contenere informazioni di vario tipo: documenti (file
di testo), programmi in codice sorgente (file binari
eseguibili), immagini (bitmap).
• È in genere costituito da più blocchi fisici.
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
19
5. Shell o Interprete dei comandi
Rappresenta l’interfaccia tra utente e sistema
Modulo direttamente accessibile dall’utente
• Ha la funzione di interpretare i comandi forniti dall’utente,
tipicamente da tastiera, e di attivare i programmi
corrispondenti;
• Mostra sullo schermo il risultato dell’esecuzione.
Il sistema operativo è definito dai primi 5 livelli.
Al di sopra di questi, si hanno:
•
Programmi di utilità
Programmi che consentono di ottimizzare l ’ utilizzo del
calcolatore da parte degli utenti sia degli amministratori di
sistema.
•
Compilatori, debugger, editor di sistema;
•
Programmi per il backup dei dati;
•
Programmi per la gestione dei dischi.
•
Gestore della rete
Software necessario per la gestione delle reti, locali e
geografiche, di calcolatori.
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
20
Oltre alle funzioni descritte precedentemente, il S.O.
svolge anche questi compiti:
- Controlla continuamente il sistema e in caso di
disfunzioni avvisa l’utente con un messaggio di
errore;
- Assegna a ogni programma uno spazio proprio in
modo che se un ’ applicazione presenta un
problema, questo non influisce sul funzionamento
degli altri programmi;
- Regola l’alimentazione di energia del sistema in
base alle necessità;
- E’ in grado di supportare le nuove applicazioni
multimediali, come la visualizzazione di video e
animazioni, l’audio e la realtà virtuale.
17/11/16
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.6– IlSistemaOperativo
21
21
Confronto tra sistemi operativi
-
17/11/16
Monotaskinng o multitasking
Monothreading o multithreading
Interfaccia a caratteri o grafica
Sicurezza alta o bassa
Capacità di elaborazione (8, 16, 32 o 64 bit)
Portabilità
Proprietario o aperto
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.6– IlSistemaOperativo
22
22
Interfaccia a linea di comando
I primi S.O. erano di tipo a linea di comando: L’utente
doveva immettere attraverso la tastiera il comando
voluto e il sistema lo eseguiva.
L’interfaccia a riga di comando è ancora presente nella
gran parte dei S.O. a fianco delle moderne GUI.
Vantaggi:
Operazioni complesse possono essere eseguite più
semplicemente.
L ’ utente dopo la difficoltà iniziale acquisisce
“naturalmente” una conoscenza più approfondita del
calcolatore.
Svantaggi:
Difficile l’interazione a “prima vista”
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
23
• Sviluppata nel 1981 da Microsoft per supportare il primo PC
di IBM
• È un sistema monoutente e monotask
• La Shell è a linea di comando
• Ha equipaggiato la quasi totalità dei PC prodotti fino al 1995
• È disponibile solo per processori INTEL
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
24
UNIX
Nati negli anni 60 questi S.O. sono ancora oggi
(ovviamente nelle loro versioni più moderne e
aggiornate) i sistemi più utilizzati negli ambiti
dove è critica la sicurezza e l’affidabilità del
sistema (enti di ricerca, banche, strutture
militari, etc, etc).
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
25
Linux
La versione oggi più diffusa di UNIX è la sua versione per PC, nata
nel 1991 ad opera di Linus Torvalds: Linux. Le sue principali
caratterisitiche:
•Multitasking
•Multiutente
•Open Source
•Diverse shell grafiche (KDE, Gnome)
•Diverse “distribuzioni” (es. Ubuntu)
Le “doti minime” richieste a un computer con Linux sono in genere
molto minori rispetto a quelle richieste da un Windows.
Elevata sicurezza contro attacchi di virus
26
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
27
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
28
Mac OS
Apple Macintosh è stato il primo prodotto a presentare
nel 1984 (!) una interfaccia di tipo grafico. Per molti
anni Mac OS è stato legato ad una famiglia di
processori diversa da quella INTEL ma l ’ ultima
versione (dal 2005) è sviluppata per processori Intel.
Forse non tutti sanno che n realtà, dal 2001 (Mac OS
X) è … un sistema UNIX !!!!
E’ il sistema operativo più utilizzato nel campo della
grafica
professionale,
musica,
video
editing
(montaggio ed effetti speciali).
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
29
S.O. Windows
•Prodotto dalla Microsoft
•Multitasking
•User-friendly
Intrfaccia grafica evoluta, cartelle e risorse
•Plug-and-play
Connessione facile di dispositivi esterni
•Supporto di Internet
•Ampia diffusione
Decine di milioni di computer con Windows.
Sistema Operativo più diffuso al mondo.
•Facilità d’uso
Utilizzabile sia da utenti esperti e non.
Elevato numero di applicazioni software
La maggior parte del software è scritto per Windows
La maggior parte delle software house sviluppa
software per Wndows.
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
30
Windows 9x, ME: utenza domestica/scolastica
Windows NT, 2000: utenza professionale,
gestione di più utenti, gestione della sicurezza.
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
31
32
In Windows le risorse sono rappresentate da icone e hanno un nome
Il Desktop di Windows è una risorsa speciale di Windows
E’ un contenitore di risorse e le presenta in modo grafico
E’ realizzato come cartella
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
33
Cartelle
•Sono
risorse
che
contengono altre risorse.
•Utilizzando le cartelle, e
possibile organizzare in
forma gerarchica le risorse.
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
34
Finestre e barre
Una finestra è una regione rettangolare con vari elementi grafici
di controllo e una zona interna di lavoro. Le barre principali che
contraddistinguono una finestra sono:
Barra del titolo
Barra dei menù
Barre di scorrimento
Barra di stato
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
35
Operazioni di base
La “cornice” esterna di una finestra (inclusa la barra del titolo)
contiene gli elementi grafici che permettono di effettuare operazioni di
base quali:
•Ridurre a icona
•Ingrandire/ripristinare
•Chiudere
•Spostare la finestra
•Cambiare dimensione
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
36
Drag and drop
Una delle interazioni fondamentali con gli oggetti di
un sistema operativo a finestre è la possibilità di
spostare oggetti da una posizione all’altra tramite il
drag and drop:
• Spostare il puntatore del mouse sull’oggetto;
• Premere il tasto sinistro del mouse per “prendere”
l’oggetto;
• Tenendolo premuto spostare il puntatore nella
posizione desiderata;
• Rilasciare il tasto del mouse.
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
37
Scrolling
Quando non tutto il contenuto di una finestra
è visibile, è possibile utilizzare le barre di
scorrimento (o scrolling) orizzontali e verticali
facendo drag and drop su di esse per
spostarle. Se il mouse possiede una rotellina
di scorrimento si può utilizzarla alla scopo.
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
38
Il Desktop
All ’ avvio del sistema operativo Windows
(nell’esempio ci riferiremo a Windows Xp)
dopo una schermata di selezione dell’utente
viene visualizzato il desktop (= scrivania) con
i suoi elementi fondamentali:
• Risorse
• Cestino
• Menù avvio (Start)
• Barra delle applicazioni
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
39
Il menù Start
È il vero e proprio “cruscotto”
del nostro elaboratore, e
permette di accedere alle
informazioni più utili quali:
• Utente
• Ultimi programmi utilizzati
• Menù scelta programmi
• Pannello controllo
• Ricerca files
• Cambio
utente/spegnimento
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
40
Esistono essenzialmente due modi per eseguire un programma:
Selezionare la voce corrispondente al programma nel sottomenù di
scelta dei programmi del menù start
Eseguire un “doppio click” con il tasto sinistro del mouse sull’icona
corrispondete al programma.
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
41
Che significa “Aprire” un file? In generale significa accedere
all’informazione che è contenuta nel file. Se il file è un semplice
file ASCII un apposito programma (text editor) mi mostrerà la
sequenza di caratteri che contiene. Se è un ’ immagine un
programma di visualizzazione lo mostrerà sullo schermo. Se è un
audio un programma lo farà suonare dalle casse del computer
etc.
In generale a seconda del tipo di file dovrò eseguire un tipo
diverso di programma per aprirlo. Per facilitare il riconoscimento
del tipo di file vengono comunemente utilizzate le estensioni
ovvero gruppi di lettere (tipicamente tre) poste dopo un punto alla
fine del nome del file stesso.
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
42
.exe (es. explorer.exe) files eseguibili ovvero programmi
.html
Hypertext Markup Language ovvero
pagine Web. Visualizzati dal broser
Web come Internet Explorer o Firefox
.txt
Files ASCII (testo non formattato).
Visualizzati da semplici text editor
come Notepad (Blocco Note)
.doc
Documenti di testo formattato di tipo di
quelli creati da Microsoft Word.
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
43
.bmp, .tiff, .jpg
Files Immagini compresse
.mp3
Files audio compressi. Apribili con
WinAmp o Windows Media Player,…
.mpg, .mpeg, .avi
Files video compressi. Aprobili con
Windows Media Player
.xls
Fogli di lavoro nel formato del tipo di
quelli creati da Microsoft Excel
.ppt
presentazioni Power Point come quella
che state vedendo
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
44
Una volta individuato un file nel file system posso manipolarlo in vari
modi, tutti visualizzabili usando il tasto di DESTRA del mouse dopo
averlo selezionato cliccando una volta con quello di sinistra. Tra le
azioni più importanti:
• Aprirlo (anche con doppio click)
• Spostarlo un un’latra cartella (anche drag and drop)
• Copiarlo in un’altra cartella (anche drag and drop con tasto
Ctrl)
• Rinominarlo (anche cliccando sul nome)
• Creare un collegamento al file
• Eliminarlo (anche premendo il tasto Del)
• Visualizzarne le proprietà
• Inviarlo via posta elettronica o stamparlo
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
45
Per installare un’applicazione tipicamente bisogna eseguire un
programma di installazione (che in genere si chiama setup.exe o
similare) che si trova tipicamente insieme al programma stesso (ad
esempio sullo stesso CD). Una volta installato il programma
comparirà nel menù dei programmi di Start.
Per disinstallarlo non è una buona idea limitarsi a cancellare
l ’ eseguibile (.exe). Occorre invece utilizzare l ’ apposito
programma di disinstallazione (se fornito) o selezionare:
Start-> Pannello di Controllo -> Installazione applicazioni
Cercarlo nell’elenco e rimuoverlo
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
46
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
47
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
48
Prof.RaffaeleFarina– Gruppo1
Prof.PasqualeDeMichele– Gruppo2
Lez.7– IlSistemaOperativo
49