p f aa t · 2018. 5. 22. · attenzione! questo materiale didattico è per uso personale dello...
TRANSCRIPT
-
““IILL SSOOFFTTWWAARREE””
PPRROOFF.. AANNTTOONNIIOO TTUUFFAANNOO
-
Università Telematica Pegaso Il software
Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente
vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore
(L. 22.04.1941/n. 633)
2 di 22
Indice
1 SVILUPPO DEL SOFTWARE ---------------------------------------------------------------------------------------------- 3
1.1. DIAGRAMMA DI FLUSSO ------------------------------------------------------------------------------------------------------ 5
2 TIPI DI SOFTWARE --------------------------------------------------------------------------------------------------------- 10
3 LINGUAGGI DI PROGRAMMAZIONE -------------------------------------------------------------------------------- 12
4 IL SISTEMA OPERATIVO ------------------------------------------------------------------------------------------------ 15
5 I PROGRAMMI APPLICATIVI------------------------------------------------------------------------------------------- 18
6 STRUTTURA E GESTIONE DI UN FILE ------------------------------------------------------------------------------ 20
BIBLIOGRAFIA --------------------------------------------------------------------------------------------------------------------- 22
-
Università Telematica Pegaso Il software
Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente
vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore
(L. 22.04.1941/n. 633)
3 di 22
1 Sviluppo del software
Il software, insieme all’hardware, è una componente essenziale per il funzionamento dei
computer. Senza di esso il PC non è in grado di compiere assolutamente alcuna azione. Il software è
costituito da programmi, cioè da un insieme di istruzioni che la macchina deve seguire per produrre
determinati risultati. Tali programmi nascono da una fase di analisi del problema che il PC dovrà
risolvere ottenendo la definizione di un algoritmo: un insieme finito di istruzioni che, se eseguite
ordinatamente, sono in grado di risolvere il problema di partenza. L’algoritmo dovrà essere
specificato in un linguaggio che l'elaboratore è in grado di interpretare in modo corretto e contenere
istruzioni che possono essere eseguite dal computer stesso.
Un programma può quindi essere definito come un insieme di istruzioni espresse in un
linguaggio formale chiamato linguaggio di programmazione. I computer però non sono in grado di
capire nemmeno il linguaggio programmazione in quanto il microprocessore sa elaborare solo in
linguaggio binario: ecco pertanto che i programmi dovranno essere ulteriormente tradotti da
appositi applicazioni quali interpreti o compilatori.
L’interprete è un programma che traduce, istruzione per istruzione, il programma sorgente.
Ogni istruzione è sottomessa alla CPU appena è stata tradotta. Anche se un’istruzione è contenuta
10 volte in un programma verrà tradotta ogni volta che si presenterà al traduttore.
Il compilatore, invece, traduce tutto il programma in una sola volta e poi lo sottomette alla
CPU. Se una stessa istruzione compare 10 volte, viene tradotta solo la prima volta e poi
memorizzata in maniera tale che possa essere ripresa dal compilatore e inserita nelle restanti nove
righe di programma.
E' possibile così riassumere le diverse fasi che portano dall'analisi del problema
all'ottenimento di una soluzione:
1. Analisi: viene analizzato il problema in tutti i suoi aspetti e si cercano i fattori sui
quali fare leva per risolverlo. Il risultato è una soluzione informale;
-
Università Telematica Pegaso Il software
Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente
vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore
(L. 22.04.1941/n. 633)
4 di 22
2. Formalizzazione: la soluzione trovata nel passo precedente è riformulata in maniera
da utilizzare una sintassi e una semantica corrette, per produrre un algoritmo di
risoluzione (Le relazioni tra costrutti dei linguaggio ed azioni sono univocamente
definite).Il linguaggio utilizzato sarà di tipo formale, ma necessiterà di ulteriori passi
per essere reso utilizzabile dalla macchina. Per formulare un algoritmo possiamo
considerare diversi strumenti:
- DIAGRAMMA DI FLUSSO (descritto nel dettaglio nella sezione 1.1)
rappresenta un formalismo grafico per esprimere un algoritmo (ove ai passi
dell’algoritmo corrispondono i nodi del diagramma);
- PROGRAMMA rappresenta una formulazione di un algoritmo in un
linguaggio di programmazione (ove ai passi dell’algoritmo corrispondono le
istruzioni del programma);
3. Programmazione: il risultato di questa fase è un programma di alto livello che
utilizza un linguaggio di programmazione costituito da segni matematici e parole
chiave e non da una successione indecifrabile di 0 e 1. Questa fase però non produce
ancora un programma che possa essere compreso dalla macchina: si necessita della
fase seguente;
4. Traduzione: in questa fase il programma di alto livello viene tradotto da appositi
software in linguaggio macchina;
5. Esecuzione: il programma viene sottoposto al microprocessore che lo esegue e
fornisce la soluzione al problema.
6. Verifica: tramite un test pratico di funzionamento ed un’analisi teorica del
programma si verifica che il software realizzato corrisponda alle sue aspettative e
svolga le funzioni per cui è stato elaborato.
7. A questo punto è necessaria la formazione degli utenti, per impartire loro le
istruzioni che occorrono per servirsi del nuovo software: essa può avvenire secondo
diverse modalità.
8. Nella fase di implementazione, infine, tutti gli utenti interessati possono servirsi del
programma elaborato (versione beta del programma).
-
Università Telematica Pegaso Il software
Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente
vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore
(L. 22.04.1941/n. 633)
5 di 22
9. Gli aggiornamenti successivi sono detti "versioni", o release, e sono identificati da un
numero progressivo.
1.1. Diagramma di flusso
Un diagramma di flusso (o flow chart) è composto da nodi ed archi. I nodi sono
rappresentati da figure geometriche contenenti stringhe di testo, mentre gli archi sono linee che
collegano i nodi dotate di frecce per indicarne la “direzione” di collegamento.
Ciascun nodo del diagramma di flusso contiene una stringa la quale esprime l’azione che
deve essere eseguita quando, durante l’esecuzione dell’algoritmo, si incontra quel nodo. Le azioni
vengono eseguite utilizzando tra l’altro delle variabili. Una variabile rappresenta un nome
simbolico che rappresenta un valore che può variare durante l’esecuzione dell’algoritmo.
Gli archi sono i tratti di congiunzione tra i nodi, e sono dotati di una freccia la quale indica
la direzione di proseguimento dell’algoritmo.
Figura 1: Tipi di nodi
Elenchiamo i tipi di azioni:
- Assegnazione: azione mediante la quale viene assegnato un valore ad una
variabile. Il valore assegnato diviene valore corrente della variabile e resta
-
Università Telematica Pegaso Il software
Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente
vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore
(L. 22.04.1941/n. 633)
6 di 22
tale finché una successiva assegnazione non cambi il valore stesso. In
generale un’assegnazione ha la seguente forma: VARIABILE ←
ESPRESSIONE ARITMETICA
Figura 2: Esempi dell'azione assegnazione
- Lettura da input: azione mediante la quale viene assegnato ad una variabile
un valore specificato dall’estero. La variabile viene cioè associata ad un dato
di input.
Figura 3: Esempio di azione lettura da input
- Scrittura in output: azione mediante la quale viene restituito all’esterno il
valore corrente di una variabile. Il valore della variabile diviene un risultato
di output.
-
Università Telematica Pegaso Il software
Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente
vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore
(L. 22.04.1941/n. 633)
7 di 22
Figura 4: Esempio dell'azione scrittura in output
- Test booleano: azione mediante la quale viene effettuato un confronto (test)
di tipo logico tra due variabili o, più in generale, tra due espressioni
aritmetiche: il risultato può essere vero o falso. Possono essere eseguiti 6 tipi
di confronto:
o UGUALE =
o DIVERSO ≠
o MINORE <
o MAGGIORE >
o MINORE O UGUALE ≤
o MAGGIORE O UGUALE ≥
Figura 5: Caso generico dell'azione test booleano
Figura 6: Esempi dell'azione test booleano
-
Università Telematica Pegaso Il software
Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente
vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore
(L. 22.04.1941/n. 633)
8 di 22
Mostriamo alcuni esempi di diagramma di flusso.
Problema numero 1: Dati due numeri, calcolare la loro somma
Problema numero 2: Dati due numeri, scegliere il maggiore
Problema numero 3: Dati N numeri, calcolare la loro somma
Figura 7: Diagrammi di flusso, rispettivamente, per i problemi 1 e 2
-
Università Telematica Pegaso Il software
Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente
vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore
(L. 22.04.1941/n. 633)
9 di 22
Figura 8: Diagramma di flusso per il problema 3
-
Università Telematica Pegaso Il software
Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente
vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore
(L. 22.04.1941/n. 633)
10 di 22
2 Tipi di software
L’hardware e il software sono organizzati a livelli (o strati). Ciascun livello corrisponde a
una macchina dotata di un proprio insieme di funzionalità. Ogni macchina è caratterizzata da un
proprio linguaggio, formato dalle istruzioni che quella macchina sa eseguire n ciascun livello
fornisce un linguaggio più semplice da utilizzare rispetto a quello del livello sottostante n ciascun
livello è realizzato in termini del linguaggio del livello immediatamente sottostante.
Il software, poi, può essere diviso in due grandi categorie:
- Il software di base: racchiude in sé sia il software di sistema, necessario a far
funzionare l'elaboratore, sia quello utilizzato dagli sviluppatori di programmi
per facilitare il loro lavoro;
- Il software applicativo: comprende invece tutti quei programmi utilizzati
dagli utenti per gestire, per esempio, la posta, la contabilità di casa, per
redigere una lettera, creare una presentazione, telefonare via Internet, ecc.,
oppure applicativi creati ad hoc per risolvere un determinato problema.
Figura 9: Software e hardware sono organizzati a livelli
Nell’organizzazione a livelli l’hardware rappresenta l’unica macchina reale, mentre gli strati
software corrispondono a cosiddette macchine virtuali. Le diverse macchine e i relativi linguaggi
divengono sempre più astratti, in altre parole il significato di ciascuna operazione è sempre più
vicino alla logica dell’utente e più lontano dalla logica del calcolatore. Pertanto man mano che si
-
Università Telematica Pegaso Il software
Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente
vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore
(L. 22.04.1941/n. 633)
11 di 22
sale nella gerarchia le diverse macchine e i relativi linguaggi diventano anche via via più semplici
da usare.
-
Università Telematica Pegaso Il software
Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente
vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore
(L. 22.04.1941/n. 633)
12 di 22
3 Linguaggi di programmazione
È possibile distinguere tre principali tipi di linguaggi di programmazione:
- Linguaggi Macchina: stringhe di numeri che danno istruzioni che l’hardware
sa eseguire direttamente. È composto da istruzioni estremamente elementari, ma che
l’hardware sa eseguire in modo molto efficiente.
o Esempio: +1300042774 +1400593419 +1200274027
- Linguaggi Assembly: abbreviazioni che rappresentano operazioni di calcolo
elementari (tradotte via assemblatori)
o Esempio: LOAD BASEPAY ADD OVERPAY STORE
GROSSPAY
- Linguaggi ad alto livello: simili all’inglese e usano notazioni matematiche
(tradotti via compilatori)
o Esempio: grossPay = basePay + overTimePay
Presentiamo nella tabella sottostante un elenco di linguaggi ad alto livello.
-
Università Telematica Pegaso Il software
Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente
vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore
(L. 22.04.1941/n. 633)
13 di 22
Figura 10: Alcuni linguaggi di programmazione ad alto livello
Prendiamo ad esempio il linguaggio C ed elenchiamo le fasi che coinvolgono l’esecuzione
di un programma C:
1. Editing;
2. Preproccessing;
3. Compilazione;
4. Linking;
5. Caricamento;
6. Esecuzione.
-
Università Telematica Pegaso Il software
Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente
vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore
(L. 22.04.1941/n. 633)
14 di 22
Figura 11: Fasi di un Programma C
-
Università Telematica Pegaso Il software
Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente
vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore
(L. 22.04.1941/n. 633)
15 di 22
4 Il sistema operativo
Il sistema operativo è il software di base che viene avviato automaticamente all’accensione
della macchina senza il quale è impossibile caricare i programmi desiderati. Infatti, ad esempio,
l’utente può richiede al sistema operativo di eseguire un programma facendo un doppio click
sull’icona di un programma sul desktop del calcolatore. Nell’avviare l’esecuzione di un programma,
il sistema operativo svolge le seguenti operazioni:
- individua il codice eseguibile del programma (memorizzato sul disco);
- alloca al programma le risorse necessarie per la sua esecuzione (ad esempio,
una certa quantità di memoria centrale);
- carica il codice eseguibile del programma in memoria centrale;
- avvia il programma.
I sistemi operativi hanno una struttura alquanto complessa descrivibile attraverso una
gerarchia di macchine virtuali. Ogni livello della gerarchia gestisce una diversa tipologia di risorse:
i processori, la memoria, le periferiche, le memorie secondarie, l’interfaccia utente. Dal canto suo,
l’utente interagisce unicamente con l’interprete comandi del sistema operativo.
Figura 12: Architettura a livelli di un sistema operativo
-
Università Telematica Pegaso Il software
Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente
vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore
(L. 22.04.1941/n. 633)
16 di 22
Il nucleo del sistema operativo (o gestore dei processi) si occupa della gestione della risorsa
“unità centrale di elaborazione” (processore). Fisicamente esiste una sola unità di elaborazione,
pertanto il calcolatore potrebbe svolgere un solo programma alla volta. Ma il nucleo ha, tra le altre
cose, il compito di definire tante unità di elaborazione virtuali, una per ciascun programma che si
vuole eseguire. Ogni programma viene eseguito come se fosse il solo programma in esecuzione nel
calcolatore. Il nucleo ripartisce il lavoro tra le tante unità di elaborazione virtuali. Comunque, il
computer potrebbe essere dotato anche di più unità di elaborazione e il nucleo si occupa di gestire
anche questa eventuale situazione.
Il gestore della memoria consente l’allocazione dinamica della memoria centrale ai
programmi in esecuzione. All’avvio di un programma, a ciascuno viene allocata un’area di memoria
virtuale sufficiente per la sua esecuzione. Il gestore della memoria si occupare di gestire le memorie
virtuali mappandole all’unica memoria reale. In realtà, si può gestire una quantità di memoria
virtuale che ha dimensione anche maggiore di quella reale. Inoltre durante l’esecuzione di un
programma, i dati possono essere mantenuti temporaneamente nella memoria secondaria, prima di
essere richiesti e riportati nella memoria centrale.
Il gestore delle periferiche adatta la modalità d’uso delle singole periferiche che possono
essere estremamente diverse tra loro a quello di poche tipologie di periferiche virtuali. Per tale
motivo un programma riesce ad usare una stampante senza conoscere i dettagli specifici di
funzionamento della stampante fisicamente disponibile.
L’interprete comandi è l’interfaccia utente del sistema operativo. Esso definisce le
operazioni che possono essere eseguite direttamente dall’utente finale, che vengono chiamate
comandi. Possibili comandi sono l’esecuzione di una applicazione o l’apertura di un documento
(eseguendo l’applicazione responsabile della manipolazione di quel tipo di documento. L’interprete
comandi può essere basato su un’interfaccia a caratteri, come nei sistemi operativi Unix o nel
“prompt dei comandi” di Windows, oppure, basato su una interfaccia grafica, come nei sistemi
operativi Windows e nell’ambiente X Window di Unix.
In un computer possono essere presenti più sistemi operativi, utilizzabili singolarmente
poiché un uso contemporaneo creerebbe un conflitto nella gestione delle risorse della macchina. Per
-
Università Telematica Pegaso Il software
Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente
vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore
(L. 22.04.1941/n. 633)
17 di 22
poter installare più sistemi operativi è necessario suddividere l'hard disk in sezioni separate
(partizioni) e assegnare a ognuna un sistema operativo che avrà il compito di gestire il computer
ogni volta che si lavora servendosi di essa.
Un sistema operativo in uso sin dal 1981, in seguito all'introduzione del personal computer
IBM, è l'MS-DOS (Microsoft-Disk Operating System) che, nel corso degli anni ha subito notevoli
modifiche che gli permettono di funzionare sui computer più avanzati.
L'interfaccia testuale dell'MS-DOS si presenta piuttosto scarna, con lo schermo nero e i soli
caratteri del prompt (esempio: C:\> dir;) per dare al computer le opportune istruzioni, l'utente deve
digitare da tastiera una serie di comandi di testo piuttosto complessi.
Introducendo i sistemi operativi Windows-based all'inizio degli anni novanta, la Microsoft
ha diffuso il sistema operativo che è oggi maggiormente utilizzato e ha semplificato notevolmente
la comunicazione tra utente e computer.
La distinzione più importante rispetto tra Windows e MS-DOS è l'interfaccia. Windows
utilizza un'interfaccia grafica, chiamata GUI (Graphic User Interface), tramite la quale l'utente
comunica con il computer attraverso il mouse, servendosi di una serie di icone, di finestre e di menu
a discesa che semplificano notevolmente la scelta dei comandi.
I vantaggi offerti dall'uso di sistemi operativi a interfaccia grafica si possono riassumere
come segue:
- I programmi hanno aspetto e linguaggio comuni, che consentono il rimando da un
programma all'altro in modo immediato.
- La scelta delle opportunità offerte dai comandi e l'accesso alle varie funzioni
avvengono con facilità.
- Il passaggio da un programma a un altro è un'operazione semplificata e lineare.
Alcuni tipi di sistemi operativi Windows sono Windows 95, 98 2000, Millennium edition,
NT, XP, Vista. Inoltre, Microsoft ha promosso la tecnologia Plug & Play pubblicizzandola come
caratteristica saliente del sistema operativo Windows 95. La tecnologia Plug & Play facilita
l'installazione delle periferiche, rendendo automatici il caricamento dei driver e l'allocazione delle
risorse, semplificando quindi l'interazione con l'hardware da parte dell'utente. In pratica quando
viene collegata una nuova periferica al computer non è necessaria una specifica procedura di
installazione.
http://it.wikipedia.org/wiki/Driver
-
Università Telematica Pegaso Il software
Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente
vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore
(L. 22.04.1941/n. 633)
18 di 22
5 I programmi applicativi
I programmi che permettono all'utente di eseguire specifici compiti si chiamano software
applicativi. Tra i software applicativi più diffusi troviamo:
- Gli elaboratori di testo;
- I fogli di calcolo;
- I database;
- I programmi di grafica;
- I programmi di presentazione;
- I videogiochi.
Gli elaboratori di testo, detti anche programmi di videoscrittura o word processor, sono
uno strumento usato comunemente per la gestione di documenti, lettere, manuali, curriculum vitae
ecc., realizzabili in breve tempo e con buona qualità.
I fogli elettronici, o di calcolo, sono programmi che consentono l'esecuzione veloce di
calcoli ripetitivi o anche di complesse funzioni matematiche; sono abitualmente utilizzati dalle
aziende per il calcolo dei preventivi, per la gestione della contabilità di ufficio e per altre
elaborazioni quantitative.
I database, o schedari elettronici, sono strumenti che permettono l'archiviazione di grandi
quantità di informazioni, disposte in modo organizzato, così da facilitarne il successivo reperimento
o le varie forme di elaborazione.
I programmi di grafica consentono la creazione di grafici, la manipolazione di immagini, il
ritocco fotografico ecc.. Essi sono utili per la creazione di documenti di qualità più elevata o per la
realizzazione di semplici volantini pubblicitari, simpatici inviti o biglietti da visita personalizzati.
Esistono anche programmi più professionali, come quelli per la grafica tridimensionale e
l'animazione, che solitamente richiedono l’utilizzo di computer più potenti e costosi.
-
Università Telematica Pegaso Il software
Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente
vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore
(L. 22.04.1941/n. 633)
19 di 22
I programmi di presentazione sono un valido aiuto per docenti e formatori e ancor più per
coloro che devono esporre in pubblico in maniera convincente e immediata i propri progetti di
lavoro. Con questi programmi è semplice realizzare in poco tempo presentazioni di livello
professionale. Le presentazioni si compongono di “diapositive” (slide) che possono essere stampate
su carta, su lucidi o su diapositive vere e proprie, oppure proiettate direttamente mediante il
computer.
I videogiochi sono i programmi che più di tutti mettono alla frusta l'hardware della
macchina, a causa della potenza di calcolo e della quantità di memoria richieste per la gestione di
suoni e immagini in movimento.
-
Università Telematica Pegaso Il software
Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente
vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore
(L. 22.04.1941/n. 633)
20 di 22
6 Struttura e gestione di un file
Un file è un contenitore logico di informazione, caratterizzato da un contenuto (una
sequenza di bit che rappresentano caratteri, numeri, immagini, video, audio o operazioni da
eseguire) e un nome che ne consente l’identificazione. Il nome è composto dal nome del file e da un
percorso (path) - ad esempio C:\Home\Java \Dispense \01_calcolatore. ppt - in cui 01_calcolatore.
ppt è il nome e C:\Home\Java \Dispense \ è il percorso. In particolare il nome di un file è composto
da due parti (separate da un punto): il nome, nell’esempio 01_calcolatore, che viene scelto
dall’utente e l’estensione, nell’esempio .ppt, che ha la funzione di identificare il formato del file o
l’applicazione da cui è stato creato, e quindi di consentire la corretta interpretazione. In DOS il
nome di un file è costituito da una stringa continua di al massimo 8 caratteri, con un’estensione
facoltativa, di al massimo 3 caratteri, attaccata alla prima parte del nome mediante un punto.
L’estensione (“.doc” per i documenti Word, “.exe” o “.bat” per i file eseguibili, “.jpg” o
“gif” per le immagini, ecc…) serve al sistema operativo per sapere quale applicativo utilizzare per
aprire i file in questione.
Figura 13: Alcuni esempi di estensioni di un file
La memoria secondaria viene gestita da una precisa componente del sistema operativo: il
gestore dei file (file system). Il file system presenta all’utente e ai programmi una visione
semplificata ed omogenea dei dispositivi per la memoria secondaria:
- attraverso un’organizzazione logica (directory, volumi);
- mediante operazioni sui dati memorizzati, quali:
- il recupero;
- la cancellazione;
- la modifica;
- la copia.
-
Università Telematica Pegaso Il software
Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente
vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore
(L. 22.04.1941/n. 633)
21 di 22
Pertanto oltre ai dati ed ai programmi degli utenti, la memoria secondaria deve memorizzare
delle informazioni che riguardano il file system stesso:
- aree libere o allocate;
- directory.
L’insieme dei file di un calcolatore non viene gestito in un unico contenitore piatto, ma
vengono organizzati in volumi e cartelle:
- un volume è un contenitore logico di file, corrispondente solitamente a una
unità a disco (ad esempio, il volume a: indica il floppy disk e c: il disco fisso primario)
- una cartella (o directory ) è un contenitore logico di file e di altre cartelle:
- le cartelle sono organizzate gerarchicamente ad albero;
- la radice (root) è la cartella di livello gerarchico più
elevato, corrispondente a un intero volume;
- le cartelle contenute in un’altra cartella vengo chiamate
sottodirectory.
-
Università Telematica Pegaso Il software
Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente
vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore
(L. 22.04.1941/n. 633)
22 di 22
Bibliografia
Curtin Dennis P., Foley Kim, Sen Kunal, Morin Cathleen, Informatica di
base, McGraw Hill, 1999
Silberschatz Abraham, Galvin P. Baer, Gagne Greg, Sistemi operativi,
Pearson Education Italia, 2006
Tanenbaum Andrew S., I moderni Sistemi Operativi, Jackson Libri, 2002
Maurizio Gabbrielli, Simone Martini, Linguaggi di programmazione: principi
e paradigmi. McGraw-Hill Italia, 2006.