© Politecnico di Torino, 2002
Introduzione ai
Sistemi Operativi
Fondamenti di Informatica
Anno Accademico 2001-02
1
Contenuti
© Politecnico di Torino, 2002
Architettura di un PC
Il sistema operativo
Organizzazione dei dischi
Comandi DOS
2
Il calcolatore “fuori”
Monitor
Stampante
© Politecnico di Torino, 2002
Unità
centrale
Lettore
floppy disk
Mouse
Tastiera
floppy disk
3
© Politecnico di Torino, 2002
5
© Politecnico di Torino, 2002
Memoria RAM
 Random Access Memory
È il deposito di dati e programmi durante
l’elaborazione
È suddivisa in piccole celle di dimensione
uniforme, ciascuna capace di contenere un
numero binario
Ogni cella ha “un indirizzo”
Dimensioni: centinaia di milioni di celle
Velocità, tempo di accesso alla singola cella:
decina di nanosecondi
Si cancella allo spegnimento del computer
7
© Politecnico di Torino, 2002
Dischi
Costituiscono il deposito “a lungo termine” del
calcolatore
Possono essere fissi (contenuti all’interno del
calcolatore, hard disk) o rimovibili (dischetti,
floppy disk)
Non si cancellano allo spegnimento
I floppy disk sono lenti (100 ms) e piccoli (1.44
MB)
I dischi fissi sono un po’ più veloci (10 ms) e
molto più capienti (40 GB e oltre)
8
© Politecnico di Torino, 2002
Programmi
Forniscono le direttive di funzionamento alla
CPU
Da un punto di vista logico, sono formati da
sequenze di istruzioni
Fisicamente sono costituiti da sequenze di
numeri binari
Sono memorizzati all’interno dei dischi
Per poter essere eseguiti devono venir trasferiti
nella memoria RAM
9
© Politecnico di Torino, 2002
Dati
Costituiscono l’oggetto dell’elaborazione
Possono risiedere su disco o essere raccolti dalla
periferiche di ingresso (mouse, tastiera, scanner,
microfono, telecamera,…)
Possono essere salvati su disco o trasferiti alle
periferiche di uscita (video, casse, stampante,…)
A seconda dei casi possono rappresentare
numeri, testi, immagini, filmati, suoni, …
Fisicamente, sono costituiti da sequenze di
numeri binari
10
CPU
© Politecnico di Torino, 2002
 Central Processing Unit
Esegue operazioni molto semplici a grande
velocità (somme, confronti, salti di instruzione…)
Ciclo di funzionamento tipico: fetch
(dell’operazione e degli operandi in RAM) e
execute
La velocità delle CPU è difficilmente confrontabile
con la sola frequenza di funzionamento =>
benchmark su problemi comuni
11
Sistema operativo
© Politecnico di Torino, 2002
dati
CPU
dati
12
Sistema operativo
È il programma (o l’insieme di programmi) che
media e coordina l’utilizzo del calcolatore
 da parte degli utenti
 da parte dei singoli programmi applicativi
© Politecnico di Torino, 2002
Ha il compito di:
 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
13
Interfaccia del sistema
operativo
© Politecnico di Torino, 2002
Permette all’utente di interagire
con il calcolatore
consentendogli di impartire
singoli comandi
Due modalità:
 Grafica, basata sul concetti di
“finestra” e di puntatore (mouse)
 Testuale, basata sullo scambio di
messaggi costituiti da righe di
testo
14
Interfaccia grafica
Pregi
 Immediatezza comunicativa
 Intuitività
 Supporto multimediale
© Politecnico di Torino, 2002
Difetti
 Difficoltà nell’automatizzazione dei compiti
ripetitivi
 Richiede molte risorse elaborative
 Può limitare la produttività individuale
16
Interfaccia testuale
Pregi
 Richiede poche risorse elaborative
 Facilita l’automazione di compiti ripetitivi
© Politecnico di Torino, 2002
Difetti
 Richiede la conoscenza di linguaggi specifici
la cui sintassi/semantica può essere
complessa
 Scarsa intuitività
 Comunicazione limitata dello stato del
sistema
18
© Politecnico di Torino, 2002
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
All’interno di tali finestre viene
emulato il vecchio sistema
operativo Microsoft
19
MS-DOS
© Politecnico di Torino, 2002
MicroSoft Disk Operating System
Nato come sistema operativo per i PC IBM
Progettato per computer molto meno potenti di
quelli attuali
Monoutente
 Si ipotizza che un’unica persona lo utilizzi
 Non viene verificata l’identità dell’utente
 Chiunque utilizzi una macchina equipaggiata con MSDOS può eseguire qualsiasi operazione
Monotask
 Può essere eseguito un solo programma per volta
20
© Politecnico di Torino, 2002
Organizzazione dei dischi
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
21
File
© Politecnico di Torino, 2002
Dati e programmi sono memorizzati all’interno
dei dischi in file (detti anche documenti)
Ogni file:
 ha un nome ed, eventualmente, un’estensione
 ha un insieme di informazioni collaterali (dimensione,
permessi di accesso, data e ora in cui è stato
modificato l’ultima volta,…)
Da un punto di vista logico, i file possono
contenere molti tipi di informazioni:
 Testi, immagini, suoni, programmi, filmati, …
Da un punto di vista fisico, un file è costituito da
una sequenza di bit
22
Nomi ed estensioni
Il nome:
© Politecnico di Torino, 2002
 aiuta l’utente a ricordare il contenuto
 in DOS, è formato da 1 ad 8 caratteri: lettere (A-Z),
cifre (0-9), alcuni caratteri speciali ( ! $ % & @ # _ ^()‘)
 Maiuscole e minuscole sono considerate uguali
L’estensione
 aiuta ad associare al file il relativo programma che lo
“capisce” e lo sa trattare
 in DOS, è formata da 0 a 3 caratteri (stesse regole
del nome)
Nome ed estensione vengono separati da “.”
24
© Politecnico di Torino, 2002
Alcune estensioni
.txt:
.exe
.jpg
.c
.bas
.doc
.bat
file di testo
programma eseguibile
immagine compressa
programma in linguaggio C
programma in linguaggio basic
documento di testo con impaginazione
file di testo contenente una sequenza
di comandi MS-DOS
25
File e cartelle (2)
© Politecnico di Torino, 2002
I file sono raggruppati all’interno di cartelle o
directory
Ogni cartella:
 Può contenere più file (con nomi e/o estensioni
diversi)
 Ha un proprio nome ed, eventualmente,
un’estensione 1
01 0
11 0 1
0 0 0 10
01001 1 0
0110
11 0 1
0 0 0 10
01001 1 0
0110
11 0 1
0 0 0 10
01001 1 0
0110
11 0 1
0 0 0 10
01001 1 0
26
Cartelle e sottocartelle
© Politecnico di Torino, 2002
Una cartella può contenere altre sottocartelle
(subdirectory, subfolder)
Si forma una struttura ad “albero rovesciato”
11
1001
00
11
0
010010100
11
1001
00
11
0
010010100
11
1001
00
11
0
010010100
11
1001
00
1010
0
0
1
1
1
0
0
1
0011
1001
1001
1
11001
0
0
0
1
1
0
1
000 0
1000101100
0
11
1001
00
11
0
010010100
11
1001
00
11
0
010010100
11
001
101 01001
1
0
1010
010 0100101100
0
0100110
11
1001
00
11
0
010010100
11
1001
00
11
0
010010100
27
I dischi
© Politecnico di Torino, 2002
 Ad un calcolatore possono essere collegati più dischi
 Nel caso del DOS, ogni disco ha un nome, costituito da
una lettera seguita da ‘:’
 Esempio
 A:
 C:
 D:
floppy disk
hard disk
CD-ROM
 Ogni disco contiene almeno una cartella, detta cartella
radice ed identificata dal carattere “\”
28
Struttura ad albero (1)
Cartella radice
A:\
ESEMPI
© Politecnico di Torino, 2002
sotto-cartelle
(1° livello)
sotto-cartelle
(2° livello)
DISEGNI
TESTI
LETTERE
ESAMI
ANALISI
FISICA
29
Struttura ad albero (2)
C:\
CASA
SPESE
giugno.xls
luglio.xls
agosto.xls
ricorda.txt
ENTRATE
© Politecnico di Torino, 2002
file
ESAMI
elenco.doc
voti.xls
ANALISI tesina.doc
FISICA
VARIE
testi.doc
tesina.doc
testi.doc
telefono.xls
amici.txt
30
Percorsi
© Politecnico di Torino, 2002
Si identifica un file particolare in base alla
posizione in cui è memorizzato
La posizione può essere specificata
 in modo assoluto
 in modo relativo rispetto ad una data
cartella
31
Percorsi assoluti
C:\varie\amici.txt
© Politecnico di Torino, 2002
nome
via
nome
(sotto-)cartella
città
disco
32
Esempi
C:\CASA\SPESE\luglio.xls
C:\
disco radice
CASA
SPESE
giugno.xls
luglio.xls
agosto.xls
ricorda.txt
C:\ESAMI\elenco.doc
ENTRATE
© Politecnico di Torino, 2002
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
C:\ESAMI\ANALISI\tesina.doc 33
© Politecnico di Torino, 2002
Percorsi relativi
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
 “.” indica la cartella di attualmente individuata
 “..” indica la cartella “genitrice” (ovvero quella che
contiene la cartella attualmente individuata)
34
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)
© Politecnico di Torino, 2002
ESAMI
elenco.doc
voti.xls
..\VARIE\amici.txt
ANALISI tesina.doc
FISICA
testi.doc
tesina.doc
testi.doc
VARIE
telefono.xls
amici.txt
FISICA\tesina.doc
ANALISI\tesina.doc
35
© Politecnico di Torino, 2002
Caratteri Jolly (1)
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
36
© Politecnico di Torino, 2002
Caratteri Jolly (2)
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
37
© Politecnico di Torino, 2002
Esempi
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
38
Il DOS – diagramma di
flusso
Inizio
Bootstrap
© Politecnico di Torino, 2002
Stampa
prompt
Leggi
comando
Esegui
comando
39
I comandi: vista funzionale
Parametri
© Politecnico di Torino, 2002
input
Messaggi
generati
Opzioni
Comando
output
Agisce
sui dischi
40
Parametri
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:
© Politecnico di Torino, 2002
 DIR a:\analisi
Il volume nell'unità A è BACKUP 001
Directory di A:\analisi
.
<DIR>
06/07/93 14.42
..
<DIR>
06/07/93 14.42
ESERCIZ1 TXT
88.226 29/06/93 11.11
RELAZION DOC
92.807 29/06/93 11.11
2 file
181.033 byte
2 dir
758.784 byte disponibili
41
Opzioni
© Politecnico di Torino, 2002
Permettono di specificare eventuali modalità
particolari di esecuzione del comando
Di solito consistono in nomi brevi, preceduti dal
carattere ‘/’
Esempio:
 DIR a:\analisi /w
Il volume nell'unità A è BACKUP 001
Directory di A:\analisi
[.]
[..]
ESERCIZ1.TXT RELAZION.DOC
2 file
181.033 byte
2 dir
758.784 byte disponibili
42
I comandi: sintassi
Vengono espressi sotto forma di singole righe di
testo
Sintassi:
© Politecnico di Torino, 2002
 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 (“ ”)
43
© Politecnico di Torino, 2002
Parametri di default
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
44
Disco corrente (1)
Quando si nomina un file è necessario indicarne
© Politecnico di Torino, 2002
 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
corrente
45
Disco corrente (2)
© Politecnico di Torino, 2002
DIR \analisi
Disco
corrente
Il volume nell'unità A è BACKUP 001
Directory di A:\analisi
.
<DIR>
06/07/93 14.42
..
<DIR>
06/07/93 14.42
ESERCIZ1 TXT
88.226 29/06/93 11.11
RELAZION DOC
92.807 29/06/93 11.11
2 file
181.033 byte
2 dir
758.784 byte disponibili
46
© Politecnico di Torino, 2002
Disco corrente (3)
È 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 corrente
C> a:
A> f:
Unità specificata non valida
A> 
47
© Politecnico di Torino, 2002
Cartella corrente (1)
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
48
Cartella corrente (2)
Disco corrente: A:
Cartella corrente disco A: \analisi\
Cartella corrente disco C: \varie\amici\
Cartella corrente disco D: \
Stato del
sistema
© Politecnico di Torino, 2002
 Il comando
 COPY relazion.doc c:..\..\esami\
copia il file
a:\analisi\relazion.doc
nella cartella
c:\esami\
49
© Politecnico di Torino, 2002
Cartella corrente (3)
 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 del disco x:
50
Le categorie di comandi
 Comandi “interni”
 Caricati, all’atto del bootstrap, nella memoria centrale per
renderne immediata l’esecuzione
 DIR, COPY, DEL, REN, MD, CD, RD, TYPE, PROMPT
© Politecnico di Torino, 2002
 Comandi “esterni”
 Si trovano sul disco e vengono caricati in RAM solo all’atto della
loro invocazione
 Sviluppati dal produttore del sistema operativo
 Programmi applicativi
 Come i comandi “esterni”, si trovano sul disco e vengono caricati
quando necessario
 Sviluppati da terze parti
51
© Politecnico di Torino, 2002
I comandi principali
 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
52
© Politecnico di Torino, 2002
Path (1)
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
53
© Politecnico di Torino, 2002
Path (2)
 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
in modo assoluto)
54
Path (3)
È possibile indicare più cartelle in cui effettuare
la ricerca, separandole con il carattere “;”
Esempio: il comando
© Politecnico di Torino, 2002
 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
55
© Politecnico di Torino, 2002
Prompt (1)
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
56
Prompt (2)
 PROMPT <messaggio>
indica al sistema di utilizzare <messaggio> come
prompt
© Politecnico di Torino, 2002
 <messaggio> può contenere alcune variabili che, nel
testo stampato, vengono sostituite dal relativo valore.
 Queste comprendono







$n: il disco corrente
$p: il percorso corrente (disco e cartella)
$d: la data corrente
$t: l’ora corrente
$g: il carattere “>”
$l: il carattere “<”
$b: il carattere “|”
57
© Politecnico di Torino, 2002
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:\< 
58
© Politecnico di Torino, 2002
Input e output dei
programmi
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
59
Redirezione dei flussi di I/O
Per inviare i messaggi stampati da un comando
ad un dato file, si scrive:
COMANDO [parametri][opzioni] > nome_file
© Politecnico di Torino, 2002
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
60
Catene di comandi
È possibile concatenare due o più comandi,
indicando che quanto stampato dal primo venga
posto in ingresso al secondo, e così via…
Si scrive:
© Politecnico di Torino, 2002
CMD1 [par][opz] | CMD2 [par][opz]
61
I filtri
© Politecnico di Torino, 2002
Sono comandi che operano trasformazioni sul
flusso di ingresso e inviano il risultato sul flusso
di uscita
Esempi
 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
 SORT: ordina le righe in ingresso e le invia in uscita
 FIND: identifica, tra le righe in ingresso, tutte quelle
che soddisfano una data condizione
62
Scarica

1 - Politecnico di Torino