Il software e il sistema operativo
Il software
Un computer non è costituito solamente da circuiti
elettronici e da parti meccaniche.
Ciò che gli permette di funzionare e di svolgere una
gamma estremamente differenziata di mansioni, è il
Software
Il software rappresenta dunque, in opposizione alle
componenti fisiche della macchina, la sua organizzazione
logica e funzionale, di cui è opportuno mettere in rilievo
due caratteristiche importanti:
1. l’indipendenza dal supporto materiale
2. la non permanenza.
2
Il software
L’indipendenza dal supporto
 Consente di memorizzare gli stessi dati o programmi
su supporti diversi, dalla memoria RAM alle memorie di
massa magnetiche (hard disk, floppy disk) o ottiche
(CD-ROM), senza modificarne le caratteristiche logiche
e funzionali.
La non permanenza
 E’ a fondamento della capacità del computer di
assumere di volta in volta, a seconda del software
trasferito nella sua memoria centrale, architetture
logiche diverse, vale a dire diverse funzionalità e
diverse interfacce con l’utente, pur lasciando invariata
la sua struttura fisica o materiale.
3
Il software
4
Categorie di software

Il software è tradizionalmente suddiviso in tre grandi
categorie: i sistemi operativi, i programmi applicativi
e i linguaggi di programmazione (o sistemi di
sviluppo).

I sistemi operativi garantiscono il funzionamento di
base della macchina, consentendo agli altri programmi di
“dialogare” con l’hardware, cioè di sfruttarne le risorse.

I programmi applicativi sono quelli che determinano di
volta in volta le funzioni specifiche del computer:
videoscrittura, calcolo, grafica, videogame…

I linguaggi di programmazione, sono programmi che
consentono di realizzare altri programmi, e sono
progettati per facilitare il lavoro dei programmatori
professionisti, di coloro, cioè, che progettano e scrivono
il codice del software utilizzato dagli utenti finali.
5
Il sistema operativo
6
Il sistema operativo
E’ un insieme di programmi che
gestiscono l’elaboratore e
rendono possibile l’interazione
uomo-macchina.
continua …
7
Il sistema operativo
Cominciamo col dare un’occhiata un po’ più ravvicinata al
sistema operativo…
I dati per essere elaborati devono essere convogliati dalla
RAM all’unità centrale. Dopo l’elaborazione, vengono
ricollocati nella memoria di lavoro, dalla quale saranno
eventualmente prelevati di nuovo, per essere elaborati ancora
o inviati al dispositivo di uscita (video, stampante...).
Questo traffico continuo di pacchetti di informazioni,
contenenti dati e istruzioni operative, che vanno e vengono,
avviene al ritmo di milioni di operazioni ogni secondo.
Per evitare la congestione totale, il “sistema operativo” le
smista ordinatamente.
continua …
8
Il sistema operativo
Il sistema operativo, dunque, è il programma che
stabilisce le regole per l’intero movimento dei dati;
esso fornisce un “guscio”, una base indispensabile perché
possano funzionare gli altri programmi.
Ogni calcolatore ha bisogno di un sistema operativo, che in
genere varia da un tipo all’altro di computer (molti
computer, tuttavia, possono funzionare con sistemi
operativi di volta in volta diversi).
continua …
9
Il sistema operativo
Quando si accende un computer, esso esegue alcune
operazioni e poi va subito a ricercare il sistema operativo.
I programmi, ideati per applicazioni che dovranno “girare” su
un determinato calcolatore, devono essere scritti per quel
particolare sistema operativo che fa funzionare la macchina.
Allo stesso modo, i dischi magnetici (hard disk e floppy disk)
sono formattati, cioè predisposti all’uso, in modo diverso dai
vari sistemi operativi.
Non è generalmente possibile, dunque, usare su un computer
che utilizza un certo sistema operativo un dischetto formattato
con un altro sistema.
continua …
10
Il sistema operativo
Con Mac è possibile, grazie a Apple File Exchange, che
nelle ultime versioni di Mac OS è stato incorporato
direttamente nel sistema, formattare in MS-DOS, leggere e
salvare files in un dischetto MS-DOS. Gli ultimi modelli di
Macintosh hanno inoltre la possibilità di montare schede per
l’emulazione dei PC Pentium.
11
Le funzioni del sistema operativo
12
Le funzioni del sistema operativo
L’insieme dei programmi che definiscono un S.O. è articolato
in una molteplicità di sottoprogrammi che hanno il compito
principale di realizzare alcune funzioni essenziali di ogni
sistema di elaborazione.
Le principali tra queste funzioni riguardano:
- la gestione dei processi;
- la gestione dei meccanismi di ingresso-uscita;
- la gestione dei file.
Per eseguire tali funzioni il SO dovrà fare corrispondere ad
alcuni particolari comandi, prodotti in modo esplicito dall'utente oppure interni ad un particolare programma e poi tradotti
da un compilatore, la «chiamata» di uno specifico modulo che
li rende esecutivi.
continua …
13
Le funzioni del sistema operativo -La gestione
dei processi
Da un punto di vista generale l'attività della macchina è
ricondotta alla nozione di processo. Il termine processo viene
usato nel senso di un programma in esecuzione, tramite un
processore.
La gestione di un processo comporta che alternativamente
alcune risorse del sistema (apparecchiature di I/O, CPU o
altro) vengano rese disponibili in modo dedicato per avviarne
l'esecuzione.
Ad assegnazione avvenuta, il SO deve attivare una sequenza
ordinata di passi strettamente connessa al tipo di processo.
Ad esempio, a caricamento in memoria avvenuto, si dovrà
attivare la fase di compilazione, eseguire propriamente il
lavoro, richiedere periferiche esterne per la scrittura dei
risultati (stampanti o dischi).
continua …
14
Le funzioni del sistema operativo -La gestione
dei meccanismi di ingresso-uscita
Le operazioni di I/O sono organizzate come comandi al SO
per ottenere il servizio corrispondente.
I problemi più rilevanti da risolvere sono dovuti alla presenza
di periferiche di vario genere e quindi le tecniche da adottare
devono essere rese indipendenti dalle periferiche fisiche
disponibili.
Per ottenere questo il SO utilizza istruzioni generali che
eseguono la chiamata di particolari moduli di programma del
SO in modo indipendente dalle periferiche collegate.
L'utente inoltre «non vede» né in che modo vengono
realizzate le operazioni di ingresso o di stampa dei dati, né
come il SO realizza queste due funzioni.
continua …
15
Le funzioni del sistema operativo -La gestione
dei file.
Il lavoro sugli archivi è una delle attività prevalenti in
programmazione. Grandi masse di dati devono essere
conservate integralmente e in modo permanente e su di esse
devono essere continuamente possibili operazioni di lettura e
aggiornamento.
Il SO dovrà pertanto garantire un accesso veloce alle
informazioni archiviate e quindi consentire al programmatore
un lavoro che non richieda la conoscenza da parte sua delle
effettive posizioni fisiche dei singoli dati.
È il SO che, a partire da istruzioni di tipo logico, dovrà
ricercare la collocazione fisica dei dati.
Sono inoltre presenti in ogni SO funzioni che garantiscono
l'integrità e la riservatezza dei dati, mediante particolari
meccanismi di duplicazione dei file o di parole chiave
(password) assegnate ai soli utenti abilitati all'intervento.
16
CLASSIFICAZIONE DEI SISTEMI OPERATIVI
La seguente classificazione fa riferimento alla struttura
hardware delle macchine attualmente più diffuse.
Si possono avere:
- SO in regime di multiprogrammazione; il sistema porta
avanti in modo contemporaneo più processi in quanto la
struttura hardware è dotata almeno di due processori, una
CPU è un canale di I/O.
Il SO assume livelli di notevole complessità in quanto deve
garantire la corretta esecuzione di attività multiple, senza
interferenze distruttrici.
- SO in regime di monoprogrammazione; in questo caso le
macchine sono dotate di un unico processore e quindi può
essere eseguito un solo processo alla volta.
Il SO presenta una struttura semplificata in quanto non deve
occuparsi dell'esecuzione simultanea di più processi.
17
La struttura modulare del sistema operativo
Poiché ogni SO è un insieme di moduli software che devono
essere implementati per poter eseguire una particolare
funzione, la ricerca di questi ultimi anni ha portato ad una
suddivisione del sistema nel suo complesso in una serie di
livelli gerarchicamente distinti.
Questa suddivisione è comunemente detta la «cipolla del
software» poiché, se si esclude l'hardware, ogni suo strato
individua un particolare gruppo di moduli software e
conseguentemente di funzioni che svolgono una attività
specifica.
continua …
18
La struttura modulare del sistema operativo
“a buccia di cipolla”
La struttura di un sistema operativo
prevede un’organizzazione a livelli
con una precisa gerarchia.
Ogni livello è in grado di assolvere
determinati compiti e solo quelli.
Le funzioni di ogni livello vengono
viste solo dal livello immediatamente
superiore.
Il nucleo di questa struttura, detto
anche kernel (nocciolo), è la parte
del sistema operativo più vicina alla
macchina e dipende in modo molto
stretto dall'hardware.
continua …
19
La struttura modulare del sistema operativo
1. Le funzioni del nucleo sono le seguenti:
 creazione e terminazione dei processi (programma in
esecuzione tramite un processore)
 assegnazione della CPU ai diversi processi
 sincronizzazione tra i processi
 sincronizzazione dei processi con l'ambiente esterno.
2. Il livello successivo è quello che si occupa della gestione
della memoria centrale, vale a dire della sua organizzazione
e sfruttamento; normalmente essa viene divisa in blocchi
logici chiamati pagine o segmenti.
continua …
20
La struttura modulare del sistema operativo
3. Il modulo di gestione delle periferiche consente l'utilizzo
delle periferiche da parte degli utenti gestendo le loro
caratteristiche fisiche ed ottimizzando i tempi di accesso e di
utilizzo in caso di condivisione da parte di più utenti.
4. Il modulo File System è la parte del sistema operativo che
gestisce l'organizzazione dei dati nelle memorie di massa.
Le sue funzioni principali sono:
 mantiene la traccia dei lavori memorizzati su una memoria
di massa ricordando la posizione, la lunghezza in byte ed
altre informazioni di utilità
 assegna le protezioni ed i diritti di accesso ad un lavoro
continua …
secondo le richieste dell'utente
21
La struttura modulare del sistema operativo
 predispone le funzioni di utilità, quali la lista dei lavori
memorizzati, la loro cancellazione, duplicazione
 predispone e gestisce l'organizzazione di una memoria
di massa.
5. Il modulo programmi applicativi è l'insieme di tutti quei
programmi che facilitano l'utente nello svolgimento di lavori
di uso comune; fra questi ricordiamo:
 l'editor di testi che consente di scrivere programmi, ma
anche lettere, promemoria o altro
 il programma di formattazione dei dischi
 il programma di copiatura di dischi o per lavori particolari
continua …
sugli archivi registrati
22
La struttura modulare del sistema operativo

i programmi per la gestione della data e dell'ora del
computer e così via.
6. L‘interprete dei comandi, a volte indicato anche con il
termine inglese shell, è il modulo del sistema operativo più
vicino all'utente.
Quando l'utente vuole ordinare al computer di compiere una
certa operazione, deve esprimere il comando con un
linguaggio e con modalità precise; il controllo della
correttezza sintattica (con eventuale comunicazione degli
errori) e l'attivazione della funzione richiesta dal comando
sono affidati all'interprete.
23
Interfaccia utente
Interfaccia utente: Interfaccia a linea di comando
L'evoluzione dei sistemi operativi ha modificato le modalità di
espressione dei comandi (interfaccia utente):
1. le linee di comando → espressioni verbali scritte in
linguaggio specifico che l'utente digita e che vengono
accettate ed analizzate dall'interprete solo quando si preme il tasto INVIO; sono di questo tipo i sistemi operativi
DOS e UNIX;
continua …
25
Interfaccia utente: Interfaccia a linea di comando
Interfaccia testuale MS-DOS (1981)
26
MS-DOS: L’interfaccia a linea di comando
Per anni il più diffuso dei sistemi operativi per personal
computer è stato l’MS-DOS della Microsoft.
L’MS-DOS è caratterizzato da una spartana interfaccia a
linea di comando o a caratteri, basata sulla metafora del
dialogo uomo-macchina. In pratica, ogni comando impartito
al sistema operativo deve essere scritto alla tastiera e
“inviato” al sistema stesso con l’apposito tasto di conferma
(“Invio”).
Il sistema risponde a sua volta, a conclusione delle
operazioni richieste, con brevi messaggi di conferma o, in
caso di problemi di natura sintattica o di qualsiasi altro tipo
di malfunzionamento, con altrettanto brevi, e spesso
sibillini, messaggi d’errore.
I comandi più importanti dell’MS-DOS servono a
manipolare i “files”.
continua …
27
MS-DOS: COMANDI INTERNI
I comandi interni del DOS risiedono permanentemente
in memoria e sono sempre disponibili fino allo spegnimento
della macchina.
28
MS-DOS: COMANDI INTERNI
29
MS-DOS: COMANDI ESTERNI
Molti comandi vengono caricati in memoria dall’indice
dell’hard disk su cui sono stati registrati solo quando se ne ha
bisogno. Per tale motivo vengono solitamente chiamati
comandi esterni.
30
Interfaccia utente: Interfaccia a menu
2. i menu → comandi già predisposti sul video in particolari
zone ed attivabili mediante la pressione di un tasto specifico
normalmente evidenziato
31
Interfaccia utente: Interfaccia grafica
3. le icone → gli elementi più importanti di una interfaccia
grafica. Sono segni grafici (normalmente dei disegni) che
indicano un particolare comando che viene selezionato da
un puntatore che scorre sullo schermo comandato da un
mouse.
Interfaccia grafica
Macintosh (1984)
continua …
32
Interfaccia utente: Interfaccia grafica
Interfaccia grafica Windows 3.1 (1990)
continua …
33
Interfaccia utente: Interfaccia grafica
Interfaccia grafica Windows 95 (1995)
continua …
34
Interfaccia utente: Interfaccia grafica
Interfaccia grafica Windows XP (2001)
continua …
35
Windows: Le interfacce grafiche
Il successo, a partire dalla metà degli anni ‘80, dei sistemi
operativi basati sulla grafica, tipici dei Macintosh della
Apple e degli Amiga della Commodore, ha convinto la
Microsoft a dotare anche l’MSDOS di un’interfaccia grafica,
battezzata come Windows.
Le prime due versioni di Windows, tuttavia, non riuscirono
ad imporsi. Con la versione 3, invece, il successo è stato
travolgente: quasi tutti i produttori di computer basati su
processori Intel vendono ora le loro macchine con
Windows preinstallato.
Il successo, infine, ha spinto la Microsoft a fare di Windows
(a partire da Windows NT e Windows 95) un sistema
operativo del tutto indipendente e non più un semplice
rivestimento grafico di MS-DOS, il quale è mantenuto come
opzione interna solo per garantire la compatibilità con le
vecchie applicazioni.
continua …
36
La metafora della scrivania
Le interfacce grafiche si basano sulla metafora della
scrivania: lo schermo del computer rappresenta la
superficie di una scrivania “virtuale”, sulla quale sono
collocati diversi “oggetti”, direttamente manipolabili
mediante il puntatore del mouse.
Alla metafora del dialogo uomo-macchina, tipica delle
interfacce a caratteri, si sostituisce un ambiente che simula
la manipolazione di oggetti astratti, rappresentati
graficamente, attraverso il mouse, o meglio il suo
puntatore, costituito generalmente da una piccola freccia
che si sposta sullo schermo.
L’interazione con il sistema operativo della macchina
diventa muta e gestuale, ma molto più semplice ed
intuitiva.
continua …
37
La metafora della scrivania
Gli oggetti manipolabili rappresentati sulla scrivania
appartengono a 3 categorie principali: le icone, le finestre, i
menu.
Per questo si usa anche, a proposito delle interfacce grafiche,
l’acronimo WIMP:
“Windows Icons Mouse Pull-down menu”.
Un altro vantaggio delle interfacce grafiche, rispetto a quelle a
caratteri come MS-DOS, è di poter visualizzare i documenti
sullo schermo esattamente con lo stesso aspetto che
assumeranno sulla carta, una volta stampati.
Per questo motivo si parla anche di interfacce WYSIWYG
(“What You See Is What You Get”, quello che vedi è quello che
ottieni).
38
Il sistema operativo - I file
Gestione dei file e dei dati
L'insieme dei file, detto anche file system, è tipicamente
organizzato in una struttura ad albero, i cui nodi sono detti
directory (o cartelle) e le cui foglie contengono i singoli file.
Il percorso di accesso ad un oggetto (file o programma) parte
dall'indirizzo del disco (C ad esempio) e segue la struttura
gerarchica delle cartelle sino all'oggetto voluto:
40
C:\Docenti\Tempo Parziale\Rossini.doc.
Gestione dei file e dei dati
In Windows il percorso può essere visualizzato anche in
forma di struttura ad albero attivando la funzione gestione o
esplora risorse (a seconda della versione) o il File Manager
(nelle prime versioni).
41
I file e il codice ASCII -Tabella ASCII estesa
I caratteri si
ottengono
tenendo
premuto il
tasto Alt e
digitando col
tastierino
numerico il
codice
decimale
corrispondente
Esempio: la È
si ottiene
digitando 212
mentre si tiene
premuto il
tasto Alt
42
Utilità di sistema
Utilità di sistema
Oltre al componente per la gestione di file, i sistemi operativi
comprendono programmi di utilita' (o utility di sistema) che
realizzano varie funzionalita' utili alla gestione
dell'elaboratore.
1. Formattazione.
Un programma di utilita' è adibito alla formattazione dei dischi,
che consiste nella suddivisione del disco in tracce circolari e
settori a spicchio. Tale programma crea anche la tabella di
collocazione dei file (FAT) che permette la localizzazione dei
file fornendo la corrispondenza nome-indirizzo sul disco.
44
Struttura meccanica dei dischi.
traccia
testina
settore
cilindro
piatto
braccio
rotazione
45
Struttura meccanica dei dischi.
settori
tracce
gap tra settori
gap tra tracce
46
Struttura meccanica dei dischi.
47
Struttura meccanica dei dischi.
Nei SO Microsoft i settori del disco sono raggruppati in cluster.
Un cluster è quindi un insieme di settori e costituisce l’unità
elementare (costituita da N settori contigui) di memorizzazione
per il computer.
Il numero di settori che forma un cluster dipende dal tipo di
computer.
I cluster sono numerati e la corrispondenza tra cluster e settori
è riportata in una lista, gestita dal SO, chiamata FAT .
La FAT (File Allocation Table): è una tabella usata dal S.O. per
localizzare i cluster assegnati a ciascun file.
Il DOS e le prime versioni di Windows usavano una FAT con
elementi da 16 bit (max 64K cluster nella partizione).
Da Windows 95 in poi è usata una FAT da 32-bit (FAT32) che
consente partizioni da 2TB
Da Widows NT in poi NTFS usa cluster da 0.5 a 4 KB (1 8
48
settori).
La FAT – Esempio
49
Utilità di sistema - Scanning
Questo programma di utilita' effettua una scansione del
disco per individuare eventuali porzioni di memoria rovinate e
marcarle in modo tale che non siano poi usate dal sistema
operativo.
Inoltre permette entro certi limiti di localizzare eventuali dati
persi a causa di guasti del sistema.
Fare …
Risorse del computer → hdd → File → Proprietà →
Strumenti → Esegui ScanDisk
50
Utilità di sistema – Deframmentazione (defrag)
Quando un disco è vuoto i file vengono memorizzati in cluster
adiacenti. Tuttavia, successive cancellazione e aggiunte di file
possono rendere sempre piu' piccoli gli spazi liberi adiacenti,
cosi che un singolo file puo' venire memorizzato su cluster
non piu' adiacenti ma sparsi sul disco. Questo crea un
rallentamento delle funzioni del calcolatore perchè i tempi
necessari per le operazioni di lettura e scrittura vengono ad
essere aumentati..
Si puo' ovviare a questo problema usando una utility di
deframmentazione, che sposta i dati sul disco in modo tale da
memorizzare i dati di uno stesso file su cluster contigui e da
ricompattare lo spazo vuoto.
Fare …
Start → Programmi → Accessori → Utilità di sistema →
Utilità di deframmentazione dischi
51
File frammentati e deframmentati
52
Utilità di sistema - Backup.
Dato che i dischi sono soggetti ad errori e malfunzionamenti,
per evitare la perdita irrimediabile di dati è utile eseguire
periodicamente il salvataggio dei dati su dispositivi di
memoria ausiliari (hard disk, floppy, DVD o nastri). Tale
salvataggio, detto backup, puo' essere fatto utilizzando un
opportuno programma di sistema che di solito provvede
anche alla compressione dei dati per ottimizzare l'uso dello
spazio di memoria.
Fare …
Start → Programmi → Accessori → Utilità di sistema →
Backup
53
Fine
54