il sistema operativo - Dipartimento di Ingegneria Informatica e delle

Fondamenti di Informatica
1
IL SISTEMA
OPERATIVO
Sistema operativo
2
z
È il programma (o l’insieme di programmi) che
media e coordina l’utilizzo del calcolatore
z
z
z
da parte degli utenti
da parte dei singoli programmi applicativi
Ha il compito di:
z
z
z
z
z
Regolare l’utilizzo del computer
da parte dei suoi utenti
Organizzare dati e programmi sul disco
Gestire accensione e spegnimento
Trasferire i programmi in memoria
ed iniziarne l’esecuzione
Regolare l’accesso alle periferiche
Fondamenti di Informatica
1
Il sistema operativo
3
z
Con il termine sistema operativo si intende l’insieme di
programmi e librerie che opera direttamente sulla
macchina fisica …
z
z
z
… mascherandone le caratteristiche specifiche …
… e fornendo agli utenti un insieme di funzionalità di alto livello
In sintesi, il sistema operativo:
z
z
fornisce all’utente una interfaccia per usare e gestire il calcolatore
in modo semplice
è responsabile della gestione delle risorse del calcolatore, e in
particolare di come le risorse vengono allocate alle applicazioni e
dell’ottimizzazione del loro uso
Fondamenti di Informatica
Funzionalità del sistema operativo
4
z
z
Si consideri, ad esempio, un utente che vuole avviare l’esecuzione
di un programma
z
la richiesta di esecuzione di un programma può avvenire facendo un
doppio click sull’icona del programma sul desktop del calcolatore
z
il desktop del calcolatore fa parte dell’interfaccia grafica del sistema
operativo
per avviare l’esecuzione del programma, il sistema operativo svolge
le seguenti attività
z
individua il codice eseguibile del programma (memorizzato sul disco)
z
alloca al programma le risorse necessarie per la sua esecuzione (ad
esempio, una certa quantità di memoria centrale)
z
carica il codice eseguibile del programma in memoria centrale
z
avvia il programma
Fondamenti di Informatica
2
SO: funzionalità
5
z
SO come GESTORE DELLE RISORSE,
controlla tutte le risorse del calcolatore e le
gestisce in modo efficiente:
z
z
z
z
tiene traccia di chi utilizza la risorse
accetta e soddisfa le richieste di utilizzo di una risorsa
fa da mediatore fra le risorse che risultano in conflitto.
SO come MACCHINA ESTESA:
z
z
costituisce la base su cui è possibile scrivere i
programmi applicativi.
presenta all’utente una macchina estesa più facile da
programmare dell’HW sottostante.
Fondamenti di Informatica
Funzioni di servizio del SO
6
z
Esecuzione di applicazioni
z
z
z
z
z
Accesso ai dispositivi di ingresso/uscita
z
z
z
gestione dei segnali necessari per il trasferimento dei dati,
consente all’utente di ragionare in termini di operazioni astratte di lettura e scrittura;
Archiviazione di dati e programmi
z
z
z
caricamento del programma (istruzioni e dati) nella memoria centrale,
inizializzazione dei dispositivi di ingresso/uscita,
preparazione e gestione di altre risorse come la rete di comunicazione,
…;
fornire un’organizzazione logica dei dati sotto forma di cartelle (directory) e file,
gestire le operazioni di basso livello per il relativo ingresso/uscita;
Controllo di accesso
z
z
condivisione di risorse da parte di più utenti o applicazioni,
meccanismi di protezione e politiche di risoluzione degli eventuali conflitti d’uso;
z
Contabilizzazione
z
Gestione dei malfunzionamenti
z
z
z
ottimizzare il tempo di risposta dei programmi interattivi,
fatturare agli utenti i costi dell’impiego del sistema;
rilevare e, se possibile, di risolvere eventuali malfunzionamenti provocati da guasti hardware, o da
operazioni scorrette compiute dal software applicativo.
Fondamenti di Informatica
3
Vantaggi di un SO
7
z
Sono legati alla possibilità di definire modalità
standard di interfaccia con i dispositivi fisici,
cosicché sia possibile:
z
z
sviluppare programmi in modo semplice,
modulare ed indipendente dallo specifico
calcolatore su cui viene fatto funzionare il sistema
operativo;
aggiornare il software di base e l'hardware in
modo trasparente ai programmi applicativi e
all'utente, ossia senza che vengano influenzati
dall'operazione.
Fondamenti di Informatica
Visioni fornite da un SO
8
z
z
Dall'alto: il sistema operativo fornisce all'utente
un'interfaccia conveniente.
Dal basso: gestisce tutti le parti di un sistema
complesso, allocando in modo ordinato le
diverse risorse della macchina: processori,
memorie, dischi, interfacce di rete, stampanti e
altre periferiche.
Fondamenti di Informatica
4
Il software
SW Applicativo
9
Sistema Operativo
HW
z
SW= Sistema Operativo + SW applicativo
z
Il S.O. come necessario intermediario
Fondamenti di Informatica
Organizzazione a “strati”
10
z
z
z
Ogni macchina virtuale è un insieme di
programmi che realizza delle funzionalità che
utilizzano i servizi forniti a livello inferiore.
Ogni macchina virtuale ha il compito di gestire
risorse specifiche di sistema regolandone l’uso e
mascherandone i limiti.
I meccanismi che garantiscono la correttezza
logica sono separati dalle politiche di gestione
(maggiore flessibilità).
ogni “strato” risolve un problema specifico
Fondamenti di Informatica
5
Elementi di un SO
11
z
Sistema di gestione del processore,
z
z
z
Sistema di gestione della memoria,
z
z
z
garantisce l’accesso ai dispositivi di ingresso/uscita,
maschera i dettagli di basso livello e gli eventuali conflitti che possono insorgere
nel caso che diverse richieste arrivino contemporaneamente a uno stesso
dispositivo;
Sistema di gestione dei file (file system)
z
z
controlla l’allocazione della memoria di lavoro ai diversi programmi che possono
essere contemporaneamente in esecuzione;
Sistema di gestione delle periferiche,
z
z
controlla l’unità centrale di elaborazione (CPU);
definisce quali programmi sono da eseguire e quali compiti sono da assegnare
alla CPU;
consente l’archiviazione e il reperimento dei dati sfruttando le periferiche che
costituiscono la memoria di massa;
Sistema di gestione degli utenti e dei relativi comandi (interprete
comandi),
z
z
interfaccia diretta con gli utenti,
permette agli utenti di accedere in maniera semplice e intuitiva alle funzionalità
disponibili.
Fondamenti di Informatica
Elementi di un SO
12
Utente
Sistema Operativo
Interprete
comandi
Gestione
memoria
Software
applicativo
Gestione
processore
Gestione
periferiche
Hardware
File
system
Fondamenti di Informatica
6
SO vs applicazioni
13
z
Programmi applicativi
z
z
z
z
hanno accesso a un
insieme ridotto di risorse;
possono utilizzare solo un
sottoinsieme delle
istruzioni del processore
(esecuzione in modalità
utente);
non possono decidere
autonomamente quando e
come avere accesso alle
risorse del sistema
(richiedono al sistema
operativo l’esecuzione di
alcuni servizi);
…
z
Sistema operativo
z
z
z
z
ha accesso a tutte le
risorse;
può utilizzare tutte le
istruzioni del processore
(esecuzione in modalità
supervisore);
stabilisce in che ordine e
come le richieste che
riceve devono essere
soddisfatte;
…
Fondamenti di Informatica
Architettura di un Sistema Operativo
14
Programmi applicativi / Utenti
Gestore
della
memoria
Interfaccia
grafica
Gestore
delle
periferiche
Gestore
dei
file
Nucleo (kernel)
Sistema operativo
Interprete
comandi
hardware
Fondamenti di Informatica
7
Tipi di sistemi operativi:
z
z
z
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
15
Processo vs programma
16
z
z
Programma:
entità statica composta dal codice eseguibile dal
processore.
Processo:
entità dinamica che corrisponde al programma in
esecuzione, composto da:
z
z
z
codice (il programma);
dati (quelli che servono per l’esecuzione del
programma);
stato (a che punto dell’esecuzione ci si trova, cosa c’è
nei registri, …).
Fondamenti di Informatica
8
Una (possibile) classificazione dei S.O.
17
z
I moderni sistemi operativi possono essere classificati in:
z
Sistemi monotask
z
z
Permettono l’esecuzione di un solo programma utente per
volta (es. DOS)
Sistemi multitask
z
Permettono l’esecuzione di più programmi utente
contemporaneamente
z
Classificazione ulteriore
ƒ
Multitasking cooperativo (windows 3.1, MacOS prime versioni)
ƒ
Multitasking preemptive (Unix, Windows 95/98/NT/2000/XP,
MacOS ultime versioni)
Fondamenti di Informatica
Multiprogrammazione
18
z
z
Nel sistema sono presenti diversi programmi, ognuno con
un proprio tempo di elaborazione e propri tempi di attesa
per le operazioni di ingresso/uscita.
Per evitare che la CPU venga utilizzata in modo esclusivo
(o per troppo tempo) da parte di un solo programma, il
tempo viene idealmente suddiviso in unità elementari,
dette quanti, da assegnare secondo opportune politiche a
tutti i programmi.
Fondamenti di Informatica
9
Multiprogrammazione
19
z
z
Politica di avvicendamento:
z Round-robin: assegnare a rotazione la disponibilità di un
quanto di tempo della CPU ai vari programmi presenti
contemporaneamente in memoria.
Durata del quanto di tempo
z incide significativamente sia sulle prestazioni del sistema
che sull’efficacia del quasi parallelismo
z tende a scomparire se la durata diviene eccessiva e
degrada nella sequenzializzazione dei programmi.
z un valore molto piccolo può comportare un degrado delle
prestazioni complessive del sistema, qualora il tempo di
commutazione fra programmi sia dello stesso ordine della
durata del quanto di tempo (un valore tipico per il sistema
operativo Unix è 100 ms).
Fondamenti di Informatica
Multiprogrammazione
20
elaborazione
attesa per operazioni di I/O
Tempo
Progr. 1
Progr. 2
Progr. 3
Tempo
elaborazione
attesa per operazioni di I/O
Fondamenti di Informatica
10
Nucleo (kernel)
21
z
Il nucleo del sistema operativo (o kernel) è il componente del
sistema operativo più complesso, che in particolare è responsabile
della gestione della risorsa unità di elaborazione (processore) e dei
processi (ovvero, dei programmi in esecuzione)
z al di sotto il nucleo esiste fisicamente un solo processore
z
z
il nucleo ha (tra l’altro) lo scopo di definire tanti processori virtuali,
uno per ciascun programma che si vuole eseguire
z
z
z
quindi il calcolatore potrebbe svolgere un solo programma alla
volta
ciascun processo in esecuzione ha l’impressione di essere l’unico
processo eseguito dal calcolatore
il nucleo ripartisce la capacità di elaborazione dell’unico
processore reale tra i tanti processori virtuali
Inoltre, il nucleo fornisce un insieme di servizi di base di supporto
agli altri componenti del sistema
operativo
Fondamenti
di Informatica
Concetti di base: i processi
22
z
z
Un processo è un programma in esecuzione
È costituito da:
z
z
z
La relazione tra programma e processo non è
necessariamente biunivoca
z
z
Codice: il programma vero e proprio
Stato: i dati contenuti in memoria e nei registri in un dato istante
Un programma può dar luogo a più processi (programmazione
concorrente)
Un sistema multitasking consente quindi di gestire più
processi in parallelo
z
È più corretto parlare di processi che di programmi in questo
contesto
Fondamenti di Informatica
11
Il gestore dei processi
23
Il gestore dei processi
z
Si appoggia direttamente sulla macchina fisica
z
Si occupa di eseguire i vari processi
z
In un sistema multitasking realizza una macchina virtuale in cui
ad ogni processo è assegnato un processore virtuale
z
Comprende i principali programmi di risposta ad interrupt
z
Realizza le primitive di sincronizzazione e scambio
messaggi tra processi
z
Memorizza i dati di ciascun processo in una struttura dati
chiamata descrittore di processo
Fondamenti di Informatica
Stati di un processo
24
z
In esecuzione (running)
z Al processo è assegnato il processore
z Il processo esegue fino a quando:
z
z
z
z
Non si verifica un evento esterno (interruzione esterna)
O fino a quando il processo richiede l’esecuzione di una operazione di I/O
(interruzione interna)
In attesa (waiting)
z Il processo giunge in questo stato a seguito di una interruzione interna
z Andrà in uno stato di pronto non appena l’operazione richiesta sia
completata
Pronto (ready)
z Il processo giunge in questo stato dallo stato di attesa a seguito del
completamento della operazione di I/O richiesta
z o dallo stato di esecuzione,
z
z
al verificarsi di una interruzione esterna
O allo scadere del quanto di tempo assegnato al processo
(nel caso di S.O. preemptive time-sharing)
Fondamenti di Informatica
12
Ciclo di vita di un processo
25
Fine esecuzione
In esecuzione
Interruzione interna
Primo
processo pronto
Interruzione esterna,
Fine quanto di tempo
Pronto
Inizio esecuzione
In attesa
Evento esterno atteso
Fondamenti di Informatica
Scheduling dei processi
26
z
Per dare l’illusione dell’esecuzione contemporanea di
processi viene utilizzato un meccanismo di scheduling
del processi
z
Una possibilità è il time-sharing:
z
Ad ogni processo attivo è assegnato un quanto di tempo …
z
… allo scadere del quale il processo viene spostato in stato di
pronto ed il processore viene assegnato ad un altro processo
z
Dimensioni tipiche del quanto di tempo sono di
qualche decina di millisecondi
Fondamenti di Informatica
13
Lo scheduler
27
z
Lo scheduler è quella parte del sistema operativo che si occupa di gestire i
processi. Esso deve:
z
z
z
z
z
z
essere efficiente
minimizzare il tempo di risposta
minimizzare il tempo d’attesa dei processi batch
massimizzare il throughput (numero di processi per ora)
garantire che ogni processo abbia la sua giusta parte di
tempo di CPU
Algoritmi di scheduling
z
z
z
z
z
First Come First Served
Algoritmo Round Robin
Priorità
Code multiple
Il più breve prima (shortest job first)
Fondamenti di Informatica
La concorrenza
28
z
z
z
z
Starvation:
Starvation
avviene quando più processi richiedono una
risorsa ma solo alcuni riescono ad ottenela
Deadlock:
Deadlock
avviene quando un gruppo di processi rimane
permanentemente bloccato in attesa di una
risorsa
Cooperazione fra processi:
memoria condivisa, scambio di messaggi
Sezione critica Fondamenti di Informatica
14
Gestore della memoria
29
z
Il gestore della memoria è responsabile dell’allocazione
dinamica della memoria centrale ai programmi in
esecuzione
z
Per ciascun processo viene allocata una area di
memoria virtuale sufficiente per la sua esecuzione
z
Supera i limiti della memoria fisica, mostrando ai
processi uno spazio di memoria virtuale
z
Partiziona la memoria tra i vari processi che la
richiedono
z
Garantendo la protezione delle diverse zone di memoria
Fondamenti di Informatica
Il gestore della memoria
30
È responsabile di:
z
Suddividere la memoria tra i vari processi in esecuzione
z
Rilocare i programmi affinchè possano eseguire
indipendentemente dalla loro effettiva posizione fisica
z
Gestire la politica di assegnamento della memoria ai
processi
z
z
Tale politica deve essere coordinata con la politica di gestione dei
processi svolta dal nucleo
Fornire l’astrazione della memoria virtuale
z
Ciascun processo ha a sua disposizione una quantità di memoria
superiore a quella fisicamente disponibile
Fondamenti di Informatica
15
Il gestore della memoria
31
z
z
z
z
z
Rilocabilità del codice
Swapping
Paginazione
Memoria virtuale
Segmentazione
Fondamenti di Informatica
Strategie di gestione
z
z
z
consentire il caricamento del programma a partire da
un qualunque indirizzo di memoria
tenere in memoria solo una porzione dei dati e dei
programmi
condividere insiemi di istruzioni da parte di processi
facenti parte di uno stesso programma
Il gestore della memoria garantisce ai processi un
spazio di indirizzamento virtuale che può essere
superiore alle dimensioni della memoria fisica
Fondamenti di Informatica
32
16
Rilocabilità del Codice
Sorgente
Compilazione
e
Link
Programma
Eseguibile
4096
Programma
Eseguibile
Registri di rilocazione
Altro Programma
Eseguibile
2048
0
Tutti i nomi simbolici sono risolti.
Le istruzioni sono in formato macchina e
quindi tutti i riferimenti sia alle istruzioni che
ai dati sono in forma di indirizzi
Fondamenti di Informatica
33
Rilocabilità ...
z
Statica
z
z
Dinamica
z
z
z
z
z
il calcolo degli indirizzi è effettuata dal linker a cui il valore di spiazzamento è
fornito dal programmatore.
il calcolo viene effettuato nel momento stesso in cui necessità sapere l’indirizzo
i programmi sono caricati in memoria con gli indirizzi calcolati a partire dal
valore 0
deve essere presente un registro base che fornisce lo spiazzamento
Perché sia possibile creare del codice rilocabile è necessaria la
presenza di opportuni registri hardware
Per permettere una maggiore efficienza spesso il programma viene
diviso nella sezione del codice e in quella dei dati che vengono
copiati in memoria in aree separate
Fondamenti di Informatica
34
17
Partizioni
Variabili
Partizioni
Fisse
Ogni processo viene accodato in
attesa che una partizione di
dimensioni più adeguate è libera
4
C
3
B
2
D
1
A
D
Sist. Operat.
Sist. Operat.
Fondamenti di Informatica
35
Paginazione
La memoria centrale viene divisa in sezioni di
dimensione fissa dette paginelogiche Questa tecnica
1
ha i seguenti vantaggi:
2
z
z
alloca la memoria ad un
processo utilizzando zone di
memoria non contigue
permette di estendere la
memoria allocata ad ogni
processo
Fondamenti di Informatica
3
1
2
3
4
1 2
2 5
3 6
1
2
3
4
4
8
7
1
4
1
1
2
3
1
4
3
5
2
6
3
7
2
8
36
18
Segmentazione
z
z
Quando i programmi condividono elementi,
come nel caso di processi che sono istanze
dello stesso programma è vantaggioso non
creare copie dello stesso codice.
Il programma viene diviso in segmenti:
z
z
z
codice: contiene solo le istruzioni
dati: contiene la parte allocata sia staticamente
che dinamicamente
stack (pila): contiene i dati necessari alla gestione
delle “chiamate di procedura”
Fondamenti di Informatica
37
Memoria Virtuale
z
z
z
z
z
Overloaded:
lo sviluppare creava un codice composto di diversi
elementi e gestiva all’interno del programma quale sezione
debba essere caricata
Swapping in and out:
un intero segmento (contenente un processo) viene
eliminato dalla memoria e trasferito sul file
Con la paginazione è possibile scaricare solo alcune
pagine in memoria di massa (quelle memo utilizzate)
Quando viene indirizzata una pagina che non è in memoria
(paging fault) il sistema operativo si occupa di reperirla in
memoria di massa e renderla di nuovo disponibile
Problemi connessi alla
scelta
delle pagine da scaricare.38
Fondamenti
di Informatica
19
Memoria virtuale: lo swap
z
z
z
Nei sistemi multiprogrammati di uso comune la memoria
non è sufficiente a caricare tutti i programmi !
Il gestore della memoria può usare una parte della
memoria di massa come area di memoria di appoggio
z
Quando un processo è sospeso i suoi segmenti dati, codice e stack
possono essere spostati su disco per liberare memoria centrale
z
Ciò consente di mostrare ai processi una memoria virtuale di
dimensione superiore alla memoria centrale
swapping: il sistema operativo è abilitato a trasferire il
contenuto di un’area di memoria centrale in memoria di
massa (area di swap)
z
z
generalmente vengono trasferiti i processi in stato di wait
il sistema mette in stato di run solo i processi presenti in memoria
Fondamenti di Informatica
39
Gestore delle periferiche
z
Il gestore delle periferiche adatta la modalità d’uso delle singole
periferiche (che possono essere estremamente diverse) a quello di
poche tipologie di periferiche virtuali
z
Maschera le caratteristiche fisiche delle periferiche
z
Fornisce agli strati superiori un insieme di procedure di alto
livello per l’accesso alle diverse periferiche
z
Offre ad ogni processo la visibilità di un insieme di periferiche
virtuali dedicate
z
z
Consente a più processi di condividere la stessa periferica
Gestisce, almeno in parte, i malfunzionamenti delle periferiche
Fondamenti di Informatica
40
20
Gestore dei file
z
Il gestore dei file (o file system) è responsabile della
gestione della memoria secondaria (dischi)
z
z
i dischi sono fisicamente organizzati in superfici,
cilindri e settori
il gestore dei file consente l’uso della memoria
secondaria mediante una organizzazione logica in
volumi, cartelle e file
z
z
z
z
un file è una sequenza di dati di dimensioni variabili, con accesso
sequenziale oppure casuale
una cartella (o direttorio) è un contenitore di un insieme di file e
cartelle
un volume è un contenitore di file e cartelle, solitamente
corrispondente ad una unità a disco
Inoltre, il gestore dei file permette di mostrare anche le
periferiche come dei file, da cui è possibile leggere e/o su cui
Fondamenti didi
Informatica
41
è possibile scrivere sequenze
dati
Il file system: dettagli
z
z
Il sistema operativo gestisce la corrispondenza tra
l’organizzazione logica e l’organizzazione fisica dei dati
z
i dati nelle memorie secondarie sono organizzati
logicamente in volumi, cartelle e file
z
i dati nelle memorie secondarie sono organizzati
fisicamente in dischi, superfici, cilindri e settori
Fornisce agli strati superiori un insieme di procedure per
l’accesso a tali dati
Fondamenti di Informatica
42
21
Il file system: dettagli
z
Un file è un contenitore logico di informazioni,
caratterizzato da:
z
z
z
un contenuto: una sequenza di byte, da interpretare
opportunamente
un nome:
z che ne consente l’identificazione
z il nome è composto dal nome del file e da un percorso, che ne
precisa il posizionamento all’interno delle directory
I file sono un meccanismo di astrazione:
z offrono il modo di memorizzare le informazioni su disco
e ritrovarle in un secondo momento,
indipendentemente da come funziona realmente il
disco.
Fondamenti di Informatica
43
La denominazione dei file
z
z
z
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
regole precise per la denominazione dei file variano
da sistema a sistema:
z
z
ad esempio i file system di Linux e Unix distinguono fra le
maiuscole e le minuscole, quindi tre file diversi possono
chiamarsi maria o Maria o MARIA
i file system di MS-DOS (e dei vari Windows) non fanno
tale distinzione
44
22
La denominazione dei file:
l’estensione
z
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:
z
z
un file chiamato pippo.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:
z
fare doppio click su un file chiamato pippo.doc
fa sicuramente partire Microsoft Word.
45
Formato dei file
z
z
z
Da un punto di vista logico, i file possono
contenere molti tipi di informazioni:
z Testi, immagini, suoni, programmi, filmati, …
Da un punto di vista fisico, un file è costituito
da una sequenza di bit
Per poter essere utilizzato un file ha bisogno di
un programma che lo “capisca” ed interpreti
011
opportunamente i bit
110011
000 0
0100110
Fondamenti di Informatica
46
23
La denominazione dei file
z
Solitamente i nomi dei file sono divisi in due parti,
separate da un punto
z
Il nome:
z aiuta l’utente a ricordare il contenuto
z in DOS, è formato da 1 ad 8 caratteri: lettere (A-Z), cifre (0-9),
alcuni caratteri speciali ( ! $ % & @ # _ - ^ ( ) ‘ )
ƒ
z
z
Maiuscole e minuscole sono considerate uguali
L’estensione
z aiuta ad associare al file il relativo programma che lo
“capisce” e lo sa trattare
z in DOS, è formata da 0 a 3 caratteri (stesse regole del nome)
Nome ed estensione vengono separati da “.”
nome base del file
.
estensione
47
La denominazione dei file:
l’estensione
.txt
.html
.zip
.gif
.jpg
.mpg
.mp3
.c
.cpp
.pdf
file di testo generico
documento HTML
archivio di file compresso
formato per immagini GIF
formato di codifica per immagini JPEG
video codificato con lo standard MPEG
musica codificata in MPEG livello 3, formato
audio
programma scritto in linguaggio C
programma scritto in linguaggio C++
documento formato portabile (Portable
Document Format)
48
24
La denominazione dei file:
l’estensione
formati proprietari
.doc
.ppt
documento di testo elaborato con Word
.xls
.psp
documento di tipo foglio elettronico
documento di testo elaborato con Power
Point (presentaizioni)
formato proprietario per PaintShop Pro
49
Tipi di file
z
Diversi file system hanno tipi di file diversi. Il
file system di Windows ha:
z
z
file regolari contengono dati utenti
directory conservano la struttura del file system
(vedi oltre...)
50
25
Tipi di file
z
Generalmente i file regolari sono di tipo ASCII
o di tipo binario:
z
z
z
z
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
51
casuali
Attributi dei file
z
Oltre al nome e i suoi dati
z
z
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.
52
26
Attributi dei file: esempi
protezione
creatore
flag sola lettura
chi può accedere al file e in che
modo
ID dell’utente che ha creato il
file
0 per lettura e scrittura, 1 per
flag ASCI/bin
lettura
0 per file normali, 1 per file di
sistema
0 per file ASCII, 1 per binari
tempo di creazione
data e ora ...
tempo ultimo accesso
data e ora ...
flag di sistema
tempo ultima modifica data e ora ...
Dimensione
numero di byte del file
su Windows queste info sono raccolte nel menu
proprietà del file
53
Operazioni sui file ed effetto
sul file system
z
Analizziamo alcune importanti operazioni
che possiamo fare sui file (vedremo in
seguito, in particolare in laboratorio, come
eseguirle)
z
z
z
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
54
memoria principale
27
Operazioni sui file ed effetto
sul file system
z
z
z
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.
55
Operazioni sui file ed effetto
sul file system
z
Operazioni molto simili possono essere
eseguite da un programma invece che
dall’utente
z
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.
56
28
Il file system: le directory
z
da queste esigenze è nata l’idea di
organizzare i file in “contenitori” gerarchici
chiamati directory.
z
z
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.
57
Il file system: le directory
z
z
z
z
z
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
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
58
29
Il file system: le directory
una prima idea può essere quella di raggruppare
i file in sottoinsiemi, ad esempio un sottoinsieme
per ogni utente
z questo può non bastare ancora perché anche i
dati di un singolo utente possono crescere a
dismisura
z Una cartella può contenere altre sottocartelle
(subdirectory, subfolder)
‰Si forma una struttura ad “albero rovesciato”
z
59
I dischi
z
z
z
z
Ad un calcolatore possono essere collegati più
dischi
Nel caso del DOS, ogni disco ha un nome,
costituito da una lettera seguita da ‘:’
Esempio
z A:
floppy disk
z C:
hard disk
z D:
CD-ROM
Ogni disco contiene almeno una cartella, detta
di Informatica dal carattere “\” 60
cartella radice edFondamenti
identificata
30
Struttura ad albero (1)
Cartella radice
A:\
ESEMPI
DISEGNI
TESTI
sotto-cartelle
(1° livello)
LETTERE
sotto-cartelle
(2° livello)
ESAMI
ANALISI
FISICA
Fondamenti di Informatica
61
Struttura ad albero (2)
C:\
CASA
SPESE
giugno.xls
luglio.xls
agosto.xls
ricorda.txt
ENTRATE
file
ESAMI
elenco.doc
voti.xls
ANALISI tesina.doc
FISICA
VARIE
testi.doc
tesina.doc
testi.doc
telefono.xls
amici.txt
Fondamenti di Informatica
62
31
Il file system: i cammini o path
z
z
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:
z
z
utilizzando il cammino o path assoluto
utilizzando il cammino o path relativo
63
Percorsi (path)
z
z
Si identifica un file particolare in base alla
posizione in cui è memorizzato
La posizione può essere specificata
z in modo assoluto
z in modo relativo rispetto ad una data
cartella
ssi
Ro
rio rdi, 3
a
M Ve
V i a i no
Tor
Fondamenti di Informatica
64
32
Percorsi assoluti
C:\varie\amici.txt
nome
ssi
Ro
rio rdi, 3
a
M Ve
V i a i no
Tor
via
nome
(sotto-)cartella
città
disco
Fondamenti di Informatica
Esempi
65
C:\CASA\SPESE\luglio.xls
C:\
disco radice
CASA
SPESE
giugno.xls
luglio.xls
agosto.xls
ricorda.txt
C:\ESAMI\elenco.doc
ENTRATE
ESAMI
elenco.doc
voti.xls
C:\VARIE\amici.txt
ANALISI tesina.doc
FISICA
VARIE
testi.doc
tesina.doc
testi.doc
telefono.xls
amici.txt
C:\ESAMI\FISICA\tesina.doc
66
C:\ESAMI\ANALISI\tesina.doc
Fondamenti di Informatica
33
Percorsi relativi
z
z
z
Data una cartella di riferimento, è possibile
specificare la posizione di un file in modo
relativo
Si specifica il percorso in termini di sequenza
di sottocartelle che devono essere attraversate
per giungere al file
Si possono utilizzare alcuni “nomi” predefiniti
z “.” indica la cartella di attualmente individuata
z “..” indica la cartella “genitrice” (ovvero quella
che contiene la cartella attualmente
individuata)
Fondamenti di Informatica
67
Esempi
..\CASA\SPESE\luglio.xls
C:\
cartella di
riferimento
CASA
SPESE
giugno.xls
luglio.xls
agosto.xls
ricorda.txt
elenco.doc
(ma anche
ENTRATE
.\elenco.doc)
ESAMI
ANALISI tesina.doc
elenco.doc
voti.xls
..\VARIE\amici.txt
FISICA
testi.doc
tesina.doc
testi.doc
VARIE
telefono.xls
amici.txt
Fondamenti di Informatica
FISICA\tesina.doc
68
ANALISI\tesina.doc
34
Operazioni sulle directory
z
Per organizzare gerarchicamente i file, il
sistema operativo deve fornire all'utente un
insieme di operazioni per
z
z
z
z
z
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
69
Programmi di utilità
z
z
Il sistema operativo è corredato da un insieme di programmi di
utilità, per la configurazione, l’ottimizzazione e la gestione
ordinaria del sistema:
gestione degli utenti
z
z
per definire gli utenti, i gruppi di utenti e i diritti di
accesso alle varie risorse
gestione delle periferiche
z
ad esempio, programmi per l’installazione e la
configurazione delle periferiche, nonché programmi di
utilità per la gestione dei dischi (come l’utilità di
formattazione e l’utilità di deframmentazione)
z
gestione delle applicazioni
z
altri accessori
z
z
per l’installazione e la disinstallazione di programmi
dall’editor di testi alla
gestione
dei servizi Internet
Fondamenti
di Informatica
70
35
Interprete comandi e interfaccia
grafica
L’interprete comandi è l’interfaccia utente del sistema operativo
z definisce le operazioni che possono essere utilizzate
direttamente dall’utente finale, chiamate comandi
z esempi di comandi sono
z esecuzione di una applicazione
z apertura di un documento (eseguendo l’applicazione
responsabile della manipolazione di quel tipo di documento)
z Nel caso di un sistema multiutente fornisce ai diversi utenti la
visione di una macchina virtuale dedicata
z L’interprete comandi può essere
z
basato su una interfaccia a caratteri
z
z
come nei sistemi operativi Unix, ma anche nel “prompt dei comandi” di
Windows
basato su una interfaccia grafica
z
come nei sistemi operativi Windows e nell’ambiente X Window di Unix
Fondamenti di Informatica
71
Interfaccia del sistema
operativo
z
z
Permette all’utente di
interagire con il calcolatore
consentendogli di impartire
singoli comandi
Due modalità:
z Grafica, basata sul concetti di
“finestra” e di puntatore
(mouse)
z Testuale, basata sullo
scambio di messaggi costituiti
da righe di testoFondamenti di Informatica
72
36
Interfaccia grafica (1)
z
z
z
Il sistema operativo
visualizza un ambiente
virtuale costituito da finestre,
menu, bottoni, icone, …
L’utente impartisce comandi
interagendo con l’ambiente
virtuale tramite il puntatore e
la tastiera
Il risultato dell’esecuzione del
comando si riflette
sull’ambiente virtuale,
modificandolo
Fondamenti di Informatica
73
Interfaccia grafica
‰Pregi
¾ Immediatezza comunicativa
¾ Intuitività
¾ Supporto multimediale
z
Difetti
¾ Difficoltà nell’automatizzazione dei compiti
ripetitivi
¾ Richiede molte risorse elaborative
¾ Può limitare la produttività individuale
Fondamenti di Informatica
74
37
Interfaccia testuale (1)
z
La comunicazione tra
utente e s.o. segue la
py c:\*.txt
mmand done
metafora
> _
richiesta/risposta:
z L’utente impartisce
comandi al s.o. tramite la
tastiera
z Il sistema risponde
visualizzando eventuali
messaggi testuali, poi si
pone in attesa di ulteriori
Fondamenti di Informatica
comandi
75
Interfaccia testuale
‰Pregi
¾ Richiede poche risorse elaborative
¾ Facilita l’automazione di compiti ripetitivi
z
Difetti
¾ Richiede la conoscenza di linguaggi specifici
la cui sintassi/semantica può essere
complessa
¾ Scarsa intuitività
¾ Comunicazione limitata dello stato del
sistema
Fondamenti di Informatica
76
38
Sistemi operativi
‰Di fatto, nei sistemi operativi attuali convivono
le due modalità di interfaccia
‰Nel caso dei sistemi operativi Microsoft
(Windows 95, 98, ME, NT, 2000, …), accanto
alla modalità grafica, è disponibile l’interfaccia
testuale attraverso le finestre MS-DOS
z
All’interno di tali finestre viene
emulato il vecchio sistema
operativo Microsoft
Fondamenti di Informatica
77
MS-DOS
z
z
z
z
z
MicroSoft Disk Operating System
Nato come sistema operativo per i PC IBM
Progettato per computer molto meno potenti di quelli
attuali
Monoutente
z Si ipotizza che un’unica persona lo utilizzi
z Non viene verificata l’identità dell’utente
z Chiunque utilizzi una macchina equipaggiata con MSDOS può eseguire qualsiasi operazione
Monotask
z Può essere eseguito un solo programma per volta
Fondamenti di Informatica
78
39
Organizzazione dei dischi
z
z
z
z
Un disco può contenere da 1’000’000 a più di
10’000’000’000 di caratteri
Fisicamente i dati sono scritti in celle di uguale
dimensione (blocchi)
Per poter trovare le informazioni che servono
all’interno dei dischi occorre organizzarle in
modo logico
Le informazioni sono raggruppate all’interno di
file
Fondamenti di Informatica
79
Caratteri Jolly (1)
z
z
z
A volte è utile indicare un gruppo di file,
piuttosto che un file singolo
Il DOS permette di indicare in modo parziale il
nome/estensione di un file utilizzando i
caratteri jolly (‘?’ e ‘*’)
Quando si utilizzano questi caratteri, il DOS
confronta il nome parziale indicato con i nomi
di tutti i file presenti nella directory e seleziona
quelli che soddisfano i criteri indicati
Fondamenti di Informatica
80
40
Caratteri Jolly (2)
z
z
z
Il confronto avviene carattere per carattere, da
sinistra verso destra, separatamente per nome
e per estensione
Il carattere jolly ‘?’ può corrispondere a
qualsiasi carattere presente nel nome del file,
nella medesima posizione
Il carattere jolly ‘*’ può corrispondere a
qualsiasi sequenza di caratteri, anche di
lunghezza nulla, a partire dalla sua posizione
Fondamenti di Informatica
81
Esempi
z
z
z
z
Prova?.txt identifica i file
prova1.txt, prova2.txt, prova3.txt
ma non il file
prova.txt
prova*.txt identifica i file
prova.txt, prova1.txt, prova2.txt, prova3.txt
tesina.* identifica i file
tesina.doc, tesina.xls
*.* identifica tutti i file della cartella
Fondamenti di Informatica
82
41
Parametri
z
z
z
Indicano il cosa, il dove, … , dell’azione
richiesta
Per lo più sono costituiti da nomi di file e di
cartelle (con i relativi percorsi)
Esempio:
Il
Il volume
volume nell'unità
nell'unità AA èè BACKUP
BACKUP 001
001
z DIR a:\analisi
Directory
Directory di
di A:\analisi
A:\analisi
..
<DIR>
06/07/93
<DIR>
06/07/93 14.42
14.42
..
<DIR>
06/07/93
..
<DIR>
06/07/93 14.42
14.42
ESERCIZ1
88.226
ESERCIZ1 TXT
TXT
88.226 29/06/93
29/06/93 11.11
11.11
RELAZION
92.807
RELAZION DOC
DOC
92.807 29/06/93
29/06/93 11.11
11.11
22 file
181.033
file
181.033 byte
byte
22 dir
758.784
dir
758.784 byte
byte disponibili
disponibili
Fondamenti di Informatica
83
Opzioni
z
z
z
Permettono di specificare eventuali modalità
particolari di esecuzione del comando
Di solito consistono in nomi brevi, preceduti dal
carattere ‘/’
Esempio:
z DIR a:\analisi /w
Il
Il volume
volume nell'unità
nell'unità AA èè BACKUP
BACKUP 001
001
Directory
Directory di
di A:\analisi
A:\analisi
[.]
[..]
ESERCIZ1.TXT
[.]
[..]
ESERCIZ1.TXT RELAZION.DOC
RELAZION.DOC
22 file
181.033
file
181.033 byte
byte
22 dir
758.784
dir
758.784 byte
byte disponibili
disponibili
Fondamenti di Informatica
84
42
I comandi: sintassi
z
z
z
z
Vengono espressi sotto forma di singole righe
di testo
Sintassi:
z NOME_COMANDO [parametri] [opzioni]
Nome_comando indica l’azione che deve
essere eseguita e determina il numero ed il
tipo di parametri ed opzioni disponibili
Il nome del comando, i singoli parametri e le
opzioni sono separati da spazi (“ ”)
Fondamenti di Informatica
85
Parametri di default
z
z
z
In alcuni casi, è possibile invocare comandi
senza indicare esplicitamente dei parametri:
Quando ciò succede, il sistema utilizza, al
posto dei parametri mancanti, alcuni parametri
interni che riflettono lo stato del sistema (valori
di default)
Alcuni comandi richiedono l’indicazione
esplicita di uno o più parametri
Fondamenti di Informatica
86
43
Disco corrente (1)
z
z
z
Quando si nomina un file è necessario
indicarne
z Disco, directory e sottodirectory, nome ed
estensione
Il sistema operativo mantiene al proprio interno
una variabile che indica su quale drive si sta
operando (disco corrente)
Se, nell’indicare un file, si omette il nome del
disco, il sistema provvede a completare il
cammino anteponendo il nome del disco
Fondamenti di Informatica
87
corrente
Disco corrente (2)
DIR \analisi
Disco
corrente
Il
Il volume
volume nell'unità
nell'unità AA èè BACKUP
BACKUP 001
001
Directory
di
A:\analisi
Directory di A:\analisi
..
<DIR>
06/07/93
<DIR>
06/07/93 14.42
14.42
..
<DIR>
06/07/93
..
<DIR>
06/07/93 14.42
14.42
ESERCIZ1
88.226
ESERCIZ1 TXT
TXT
88.226 29/06/93
29/06/93 11.11
11.11
RELAZION
92.807
RELAZION DOC
DOC
92.807 29/06/93
29/06/93 11.11
11.11
22 file
181.033
file
181.033 byte
byte
22 dir
758.784
dir
758.784 byte
byte disponibili
disponibili
Fondamenti di Informatica
88
44
Disco corrente (3)
z
z
È possibile cambiare il disco corrente con il
comando “X:”, dove X deve essere sostituito
dalla lettera che identifica il disco su cui si
intende operare
Il prompt di sistema (se non viene modificato
da altri comandi) indica quale sia il disco
correnteC>
C> a:
a:
A>
A> f:
f:
Unità
Unità specificata
specificata non
non valida
valida
A>
_
A> _
Fondamenti di Informatica
89
Cartella corrente (1)
z
z
z
Per ogni disco collegato al calcolatore, il
sistema identifica una cartella che considera
come cartella di lavoro (o cartella corrente)
Se, nell’indicare un file, si utilizza un percorso
relativo, il sistema utilizza come cartella di
riferimento la cartella corrente del disco
indicato
Se si omette il nome del disco e si usa un
percorso relativo, il sistema usa come cartella
di riferimento la cartella corrente del disco
corrente
Fondamenti di Informatica
90
45
Cartella corrente (2)
Disco
Disco corrente:
corrente: A:
A:
Cartella
Cartella corrente
corrente disco
disco A:
A:
Cartella
corrente
disco
C:
Cartella corrente disco C:
Cartella
Cartella corrente
corrente disco
disco D:
D:
z
\analisi\
\analisi\
\varie\amici\
\varie\amici\
\\
Stato del
sistema
Il comando
z COPY relazion.doc c:..\..\esami\
copia il file
a:\analisi\relazion.doc
nella cartella
c:\esami\ Fondamenti di Informatica
91
Cartella corrente (3)
z
z
z
z
z
Alla partenza, la cartella corrente di tutti i dischi
è la cartella radice
Il comando “CD”, se utilizzato senza parametri,
stampa la cartella corrente del disco corrente
Il comando “CD x:” stampa la cartella corrente
del disco x:
Il comando “CD <nome_cartella>” modifica la
cartella corrente del disco corrente
Il comando “CD x:<nome_cartella>” modifica la
cartella corrente Fondamenti
del disco
x:
di Informatica
92
46
Le categorie di comandi
z
z
z
Comandi “interni”
z Caricati, all’atto del bootstrap, nella memoria centrale per
renderne immediata l’esecuzione
z DIR, COPY, DEL, REN, MD, CD, RD, TYPE, PROMPT
Comandi “esterni”
z Si trovano sul disco e vengono caricati in RAM solo
all’atto della loro invocazione
z Sviluppati dal produttore del sistema operativo
Programmi applicativi
z Come i comandi “esterni”, si trovano sul disco e vengono
caricati quando necessario
z Sviluppati da terze parti
Fondamenti di Informatica
93
I comandi principali
z
z
z
z
z
z
z
z
z
z
z
z
z
DIR – elenca i file presenti in una data cartella
COPY – copia un file da una cartella ad un’altra
DEL – cancella un file
REN – cambia il nome ad un file
MD – crea una cartella
CD – cambia la cartella corrente
RD – elimina una cartella
PROMPT – cambia il prompt di sistema
FORMAT – inizializza un disco
DISKCOPY – copia un disco
EDIT – crea/modifica un file di testo
TYPE – visualizza un file di testo
PRINT – invia un file di testo alla stampante
Fondamenti di Informatica
94
47
Path (1)
z
z
z
z
I comandi esterni ed i programmi applicativi si
trovano sul disco
Per poterli eseguire il sistema deve
conoscerne l’ubicazione
Quando si digita un comando, se non si tratta
di un comando interno, il sistema operativo
cerca sul disco il relativo codice
Per default, il programma viene cercato nella
cartella corrente del disco corrente
Fondamenti di Informatica
95
Path (2)
z
z
Per poter accedere ai comandi esterni quando
la cartella corrente non è quella in cui sono
memorizzati, è possibile indicare al DOS quali
sono le cartelle ulteriori in cui cercare i
comandi da eseguire
Il comando
PATH <percorso_cartella>
indica che la ricerca deve essere
estesa anche alla cartella indicata
(il cui percorso deve essere espresso
96
in modo assoluto)Fondamenti di Informatica
48
Path (3)
z
z
È possibile indicare più cartelle in cui effettuare
la ricerca, separandole con il carattere “;”
Esempio: il comando
z PATH c:\dos;c:\programs
indica che la ricerca dovrà essere effettuata
dapprima nella cartella corrente del disco
corrente, poi nella cartella c:\dos ed infine nella
cartrella c:\programs
Fondamenti di Informatica
97
Prompt (1)
z
z
z
Per invitare l’utente ad introdurre una riga di
comando, il sistema stampa un messaggio di
invito (prompt)
Per default, essa consiste della lettera che
identifica il disco corrente seguita dal simbolo
“>”
Il comando PROMPT permette di modificare
tale messaggio
Fondamenti di Informatica
98
49
Prompt (2)
z
z
z
PROMPT <messaggio>
indica al sistema di utilizzare <messaggio> come prompt
<messaggio> può contenere alcune variabili che, nel
testo stampato, vengono sostituite dal relativo valore.
Queste comprendono
z $n: il disco corrente
z $p: il percorso corrente (disco e cartella)
z $d: la data corrente
z $t: l’ora corrente
z $g: il carattere “>”
z $l: il carattere “<”
z $b: il carattere “|” Fondamenti di Informatica
99
Prompt (3)
C> prompt $p$g
C:\> cd esami
C:\esami> prompt $d$b
Mer 04/10/2000| prompt $n$g
C> cd ..
C> prompt $p$l
C:\< _
Fondamenti di Informatica
100
50
Input e output dei programmi
z
z
z
Se, durante l’esecuzione di un comando,
vengono generati messaggi in uscita, per
default, questi vengono stampati sullo schermo
Alcuni comandi operano alcune trasformazioni
sui dati mandati loro in ingresso: per default,
l’ingresso coincide con i tasti premuti sulla
tastiera durante l’esecuzione dl comando
È possibile modificare queste impostazioni di
base mediante la redirezione dei flussi di
ingresso e uscita
Fondamenti di Informatica
101
Redirezione dei flussi di I/O
z
Per inviare i messaggi stampati da un comando ad un dato file,
si scrive:
COMANDO [parametri][opzioni] > nome_file
‰ Per aggiungere i messaggi stampati da un comando in coda ad un
dato file, si scrive:
COMANDO [parametri][opzioni] >> nome_file
‰ Per indicare ad un comando di ricevere i propri dati da un file,
invece che dalla tastiera, si scrive:
COMANDO [parametri][opzioni] < nome_file
Fondamenti di Informatica
102
51
Catene di comandi
z
z
È possibile concatenare due o più comandi,
indicando che quanto stampato dal primo
venga posto in ingresso al secondo, e così
via…
Si scrive:
CMD1 [par][opz] | CMD2 [par][opz]
103
www.disi.unige.it/person/OdoneF/didattica/FdI/lucidi/lezione1.ppt
I filtri
z
z
Sono comandi che operano trasformazioni sul flusso di
ingresso e inviano il risultato sul flusso di uscita
Esempi
z MORE: suddivide il flusso di ingresso in pagine, formate
da un numero opportuno di righe; invia le pagine in
uscita attendendo, tra una pagina e l’altra, la pressione
di un carattere sulla tastiera
z SORT: ordina le righe in ingresso e le invia in uscita
z FIND: identifica, tra le righe in ingresso, tutte quelle che
soddisfano una data condizione
Fondamenti di Informatica
104
52
Il file system: esempio
struttura delle directory rispetto all’interfaccia
grafica di Windows
105
Il file system: esempio
struttura delle directory rispetto all’interfaccia
grafica di Windows
tramite il programma
explorer di Windows
è possibile visualizzare
in forma riassuntiva la
struttura gerarchica
106
53
Il file system: i cammini o path
z
Come faccio a cambiare la directory
corrente?
z
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 …
z Il comando DOS (e Unix) che permette di cambiare
la propria posizione è cd (Change Directory)
z
107
Il file system: i cammini o path
z
se il sistema ha un’interfaccia grafica
quest’idea dei cammini sembra meno
importante, ma c’è!
108
54
Esecuzione di programmi
z
Quando si manda in esecuzione un
programma, il sistema operativo:
z
z
z
z
cerca il programma sull’hard disk
copia il programma in memoria centrale
imposta uno dei registri dell’unità centrale di
elaborazione con l’indirizzo in memoria centrale
della prima istruzione del programma
Un programma in esecuzione si chiama
processo.
109
Esecuzione di programmi
z
z
Dal punto di vista dell’utente un programma è
un file che si trova sul disco fisso e che noi
possiamo identificare tramite un nome
Ad esempio notepad.exe è un file eseguibile
di Windows, che corrisponde al programma
Notepad, un editor di testi.
110
55
Esecuzione di programmi
z
In Windows esistono vari modi per eseguire
(“lanciare”) un programma:
z
z
il modo più “antico” è usare la finestra di comandi
a carattere (command prompt), andare nella
directory giusta (con il comando CD) digitare
notepad e premere invio.
un modo simile è andare sul menu di avvio di
Windows, scegliere “esegui” e scrivere notepad
(e dare invio)
111
Esecuzione di programmi
z
z
utilizzando le icone, possiamo aprire la
cartella opportuna (sul mi PC è
C:\Windows.NT) e cliccare due volte
sull’icona di notepad.
Il modo più comodo è accedere al menù
applicazioni dal menù di avvio e scegliere
l’opzione notepad
112
56
La finestra dei processi di
Windows
z
Premere
contemporaneamente
CTRL ALT CANC
e scegliere
task manager
113
La finestra dei processi di
Windows
114
57