P F AA T · 2018. 5. 22. · Attenzione! Questo materiale didattico è per uso personale dello...

22
IL SOFTWAREPROF. ANTONIO TUFANO

Transcript of P F AA T · 2018. 5. 22. · Attenzione! Questo materiale didattico è per uso personale dello...

  • ““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.