Università degli Studi di Catania
FACOLTA‘ DI MEDICINA E CHIRURGIA
Elementi di
Informatica
Anno accademico: 2008/2009
Docente: Dr. Angelo
Nicolosi
[email protected]
Software (tutto ciò che non e’ tangibile)
Il calcolatore ed un software possono essere paragonati
rispettivamente ad un attore e ad un copione:
“Come l’attore recita ruoli diversi
a seconda del copione che gli viene dato,
il calcolatore svolge funzioni diverse
a seconda del programma utilizzato”.
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Il software
Il programma
La
creazione di programmi consente agli
elaboratori di essere utilizzati per scopi differenti:
dalla creazione di testi, alla gestione di immagini,
dalla visione di filmati, all’uso di videogiochi, alla
creazione di musica...
Il software è particolarmente importante perché
rende la macchina flessibile
L’hardware la puoi prendere a
calci
Il software la puoi solo imprec
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Il software
• È un insieme di istruzioni
• È una procedura, o meglio un algoritmo, che, eseguito
dalla macchina, le permette di portare a termine le
operazioni che le abbiamo richiesto
• Per essere comprensibile il programma deve dare
istruzioni o fare dichiarazioni usando un linguaggio che la
macchina possa capire
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Il programma
Rappresenta un metodo per la soluzione di un problema
adatto a essere implementato sotto forma di programma.
È alla base della programmazione
È una procedura per eseguire compiti
Più rigorosamente:
• È un insieme finito e ordinato di passi strutturati in
modo non ambiguo
• È un procedimento che serve a risolvere in tempo
finito un problema o una classe di problemi
• Utilizza dati iniziali e ottiene alla fine dei risultati
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
L’algoritmo
• finitezza; la procedura deve terminare dopo un
intervallo finito di tempo
• assenza di ambiguità; la procedura non deve
contenere contraddizioni
• generalità; è in grado di risolvere tutti i problemi dello
stesso tipo
Muhammad ibn Musaal Khwarizmi
“padre” dell’algoritmo
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
caratteristiche di un algoritmo
I blocchi elementari
blocco iniziale
blocco finale
blocco di lettura/scrittura blocco azione
blocco di controllo
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Rappresentazione grafica di un algoritmo
I blocchi elementari
Una combinazione di blocchi elementari descrive un algoritmo se:
• viene usato un numero finito di blocchi
• lo schema inizia con un blocco iniziale e termina con un blocco finale
• ogni blocco soddisfa delle condizioni di validità
condizioni sui blocchi:
• blocco azione e blocco lettura/scrittura: ogni blocco di questi due tipi ha
una sola freccia entrante e una sola freccia uscente
• blocco di controllo: ogni blocco di questo genere ha una sola freccia
entrante e due frecce uscenti
condizioni sulle frecce:
• ogni freccia o entra in un blocco o confluisce in un'altra freccia
condizioni sui percorsi:
• dal via dev'essere possibile raggiungere ogni blocco
• da ogni blocco dev'essere possibile raggiungere il blocco finale
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Rappresentazione grafica di un algoritmo
torta di cioccolato
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
algoritmo per la preparazione di una
Un software, in definitiva, non e’ nient’altro che un insieme
di comandi (istruzioni) da impartire al calcolatore al fine
di fargli svolgere un particolare compito
Le istruzioni che costituiscono il programma vengono
dette istruzioni macchina
Le istruzioni vengono lette dalla CPU ed eseguite in un
ordine ben preciso
Tutto ciò che si vuol far fare ad un computer deve essere
espresso attraverso le istruzioni macchina
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Da cosa e’ costituto un software?
Ogni istruzione macchina e’ costituita da una stringa di bit
(proprio come i dati)
Le istruzioni macchina sono caratteristiche delle CPU e
sono in numero finito (poche centinaia):
Si parla di set delle istruzioni (insieme di istruzioni
eseguibili dalla CPU)
Tutti i compiti che il calcolatore deve svolgere devono
essere espressi utilizzando questo insieme di istruzioni
Le istruzioni macchina devono essere pre-caricate
in memoria centrale per poter essere
eseguite (architettura di Von Neumann)
Istruzione macchina 100010110101
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Le istruzione macchina
Alla base di ogni calcolatore si trova un semplice algoritmo:
• Leggi un istruzione
• Decodifica l’istruzione appena letta
• Esegui l’istruzione
• Torna all’inizio
Tale algoritmo e’ intrinseco nell’UNITA’ DI CONTROLLO e
viene detto ciclo della macchina
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Comportamento
base di un calcolatore
Una volta che un processore e’ in grado di eseguire
alcune operazioni molto semplici (istruzioni macchina)
l’aggiunta di altre funzioni non aumenta le sue capacità di
calcolo teoriche
L’aggiunta di funzioni complesse può semplificare l’utilizzo
del calcolatore senza aggiungere nulla alla capacità base
della macchina
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Scelta del set di
istruzioni
La CPU deve essere progettata per eseguire solo un
insieme minimo di istruzioni macchina molto semplici
RISC (Riduced Instruction Set computer)
• CPU molto rapide
• CPU dei telefoni
• Microcontrollori
La CPU deve essere in grado di eseguire molte
istruzioni complesse anche se queste sono
tecnicamente ridondanti
CISC (Complex Instruction Set Computer)
• CPU facili da programmare
• Pentium
• AMD Athlon
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Politiche di progettazione delle CPU
Sono uno strumento per impartire istruzioni al calcolatore,
facendogli eseguire determinati compiti
E’ necessario che siano definiti la semantica e la sintassi
es.:
printf(“Ciao a tutti)
(“Ciao a tutti”)printf --> Errore di sintassi
stampa(“Ciao a tutti”) Errore sematico
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
I Linguaggi di programmazione(1)
Linguaggi di alto livello: più vicini al nostro modo di
comprendere e impostare problemi, più facili da imparare e
da trasferire e da ‘portare’ su un altro computer (esempio:
HTML, Java, C++, Visualbasic ecc.)
Linguaggi di basso livello: vicini al linguaggio macchina e
all’architettura fisica del computer (esempio: Assembler)
Linguaggio macchina: usa solo 0 e 1 ed è comprensibile
direttamente dall’hardware, ma molto
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
I Linguaggi di programmazione(2)
Si avrà bisogno di una “traduzione” nel linguaggio
comprensibile dalla CPU
Esistono due forme di traduzione:
• gli interpreti, che traducono il codice del
programma, linea per linea,mentre viene eseguito
• i compilatori, che, una volta realizzato il
programma in un linguaggio di alto livello, lo
compilano, trasformandolo una volta per tutte in
linguaggio macchina o in linguaggio di più basso
livello, controllando errori ed efficacia prima
di eseguirlo
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
I Linguaggi(3)
Possiamo dividere il software in due grandi gruppi:
• Software di base: Sistemi operativi: (Windows
Linux, Mac OS).
• Software applicativo: Access, Excel, Word,
Explorer, Photoshop, ecc
• Software di rete: condivisione di risorse e
comunicazione tra computer
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Il software
E’ un programma :
• che si occupa della gestione di tutto il sistema
permettendo l’interazione con l’utente e facilitandone
l’utilizzo.
• che controlla l'esecuzione di programmi applicativi
• che agisce come interfaccia tra le applicazioni e
l'hardware del calcolatore
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Il sistema operativo(1)
Caratteristiche e Vantaggi principali
Definire modalità standard di interfaccia con i dispositivi
fisici, cosicché sia possibile:
• sviluppare programmi in modo semplice, modulare
ed indipendente dallo specifico calcolatore su cui viene
fatto funzionare;
• aggiornare il software di base e l'hardware in
modo trasparente ai programmi applicativi e all'utente,
ossia senza che vengano influenzati dall'operazione.
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Il sistema operativo(2)
• Gestisce l’esecuzione dei programmi dell’utente
• Gestisce la memoria principale
• Gestisce i file memorizzati nella memoria di massa (file
system)
• Gestisce le periferiche di I/O
• Fornisce un’interfaccia di comunicazione intuitiva
attraverso la quale l’utente impartisce i comandi al
calcolatore
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Il sistema operativo(3)
SO vs applicazioni
Programmi applicativi
• hanno accesso a un insieme
ridotto di risorse;
• possono utilizzare solo un
sottoinsieme delle istruzioni
del processore (esecuzione in
modalità utente);
• non possono decidere
autonomamente quando e
come avere accesso alle
risorse del sistema (richiedono
al sistema operativo
l’esecuzione di alcuni servizi);
Dr. Angelo Nicolosi
[email protected]
Sistema operativo
• ha accesso a tutte le risorse;
• può utilizzare tutte le
istruzioni del processore
(esecuzione in modalità
supervisore);
• stabilisce in che ordine e come
le richieste che riceve devono
essere soddisfatte
INFORMATICA
Il sistema operativo(4)
Evoluzione: Multiprogrammazione
• multitasking permette di eseguire più programmi
contemporaneamente
• multithreading è una tecnica che permette di avere più
flussi di esecuzione contemporanei di uno stesso
programma, in esecuzione su CPU differenti o sulla stessa.
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Il sistema operativo(5)
Multiprogrammazione: Vantaggi
• il processore non viene lasciato inattivo (idle) durante
operazioni di I/O molto lunghe
• la memoria viene utilizzata al meglio, caricando il maggior
numero di operazioni possibili
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Il sistema operativo(6)
MS-DOS
Windows
Macintosh (Mac OS)
Unix
Linux
Symbian
Windows CE
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Sistema operativo:
Esempi
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Componenti di un sistema operativo(1)
Kernel = “nocciolo”: è il cuore del sistema operativo e
gestisce le funzioni di base del calcolatore
I/O driver = “conducenti”: unità software che si occupano
di dialogare con i controller delle periferiche
Memory manager = “gestore della memoria”: coordina
l’utilizzo della memoria principale
File Manager = “gestore file”: gestisce la memoria di
massa (memorizzazione e lettura dei file) – File System
Scheduler = “pianificatore”: gestisce l’ordine di esecuzione
dei diversi programmi lanciati contemporaneamente
Dispatcher = “smistatore”: controlla i programmi in
esecuzione
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Componenti di un sistema operativo(2)
Shell = “guscio”: interfaccia tra il sistema operativo e gli
utenti (riga di comando)
GUI (Graphical User Interface) = “Interfaccia grafica”:
interfaccia intuitiva per la gestione del sistema
Windows manager = “gestore delle finestre”: genera le
finestre sullo schermo e le associa ai programmi
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Componenti di un sistema operativo(3)
• Si occupa del caricamento (copia) dei programmi
dalla memoria di massa alla memoria principale nel
momento in cui l’utente ne richiede l’esecuzione
• Assegna uno spazio nella memoria principale ad
ogni programma che deve essere eseguito
• Provvede ad indirizzare il contatore di programma
alla zona di memoria che contiene il programma che
si desidera eseguire
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Gestione dei programmi in esecuzione
memory manager:
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Esecuzione di programmi
Con il termine processo si identifica un programma in
esecuzione, mentre per programma si intende un
insieme di istruzioni macchina statiche e memorizzate
su qualche supporto
In un determinato istante lo stesso computer può
seguire diversi processi (Word, Windows Media Player,
stampa di file,ecc)
Un processo porta informazioni di stato che individuano
il punto di esecuzione e lo stato del calcolatore
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Il concetto di processo
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Distinzione tra programma e processo
Com’è possibile eseguire “contemporaneamente” più
processi se la CPU è una sola ?
Il sistema operativo è progettato in modo tale da alternare
l’esecuzione dei diversi processi mediante una tecnica
chiamata time-sharing (condivisione di tempo)
Il tempo viene diviso in time-slice = fette di tempo
Ogni processo viene eseguito per una time-slice e poi si
passa l’esecuzione all’altro processo
Alternando rapidamente i processi si crea l’illusione che
siano stato eseguiti più processi simultaneamente
Una time-slice è fissata normalmente a
non più di 50 millisecondi
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Gestione dei processi
Lo scheduler è il componente del sistema operativo
responsabile di mettere in atto le tecniche di time-sharing
Per ogni processo attivo lo scheduler memorizza le
informazioni di stato del processo in una tabella dei
processi
I vari processi vengono ordinati dallo scheduler in una
struttura dati detta CODA
Lo scheduler preleva un processo dalla coda e lo manda in
esecuzione. Terminato il quanto di tempo il processo viene
bloccato e inserito alla fine della coda e il nuovo
processo che si trova in cima alla coda comincia
ad essere eseguito In questo modo si ottiene la
rotazione di tutti i processi
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Scheduler e time-sharing
Il dispatcher è lo strumento che controlla che ogni
processo faccia effettivamente il proprio dovere
rispettando i quanti di tempo
ha il compito di portare il processo dallo stato pronto a
quello esecuzione.
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Dispatcher e time-sharing
Stato di un processo
Un processo in esecuzione passa ad un altro stato per i
seguenti motivi:
•
il processo aspetta il completamento di un'operazione
di I/O quindi viene portato in stato di attesa, al fine di
sincronizzarsi con altri processi;
• un processo viene rimosso d'autorità dalla CPU,
passando dallo stato esecuzione a quello pronto, per lo
scadere del quanto di tempo a disposizione di ogni
processo oppure per la richiesta di un processo a
priorità elevata;
• il processo termina;
Dr. Angelo Nicolosi
[email protected]
Un compito importante del sistema operativo è quello di
assegnare le risorse (memoria, spazio su disco, CPU,
periferiche, ecc) ai vari processi.
In un sistema basato sulla tecnica time-sharing è
importante gestire i possibili conflitti tra i diversi processi:
• Due processi accedono alla stessa periferica
• Due processi accedono allo stesso file
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Competizione tra processi
La gestione dei conflitti avviene utilizzando dei
SEMAFORI che indicano quando per un processo è
possibile utilizzare o meno una risorsa
Un semaforo è un segnale binario associato ad una
risorsa che ne indica lo stato di LIBERA o OCCUPATA
Un processo che intende usare una risorsa che si trova
nello stato di OCCUPATO si mette in attesa per la risorsa
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
I Semafori
file system (o file manager)
La memoria di massa viene gestita suddividendo le
informazioni in essa contenute in file, directory e
sottodirectory (cartelle) secondo una struttura ad albero
Il file manager ha il compito di individuare all’interno della
memoria di massa un particolare file e renderlo
disponibile per la lettura e per la scrittura
Il file manager memorizza le informazioni relative ai file in
una struttura detta descrittore del file
Il descrittore del file contiene informazioni
quali dimensione del file e percorso di
memorizzazione
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Gestione della memoria di massa:
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Organizzazione dei file
file e directory
Ciascun file o directory all’interno di una particolare
directory e’ identificato da un nome univoco
• Path = indica la sequenza di directory per identificare
una directory o un file
•“assoluto” se inizia dalla “radice” dell’albero
• “relativo” se considera come punto di partenza la
directory corrente
• ”..” e’ un nome speciale che identifica “il contenitore
padre”.
• ”.” e’ un nome speciale che identifica
“il contenitore corrente”
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
File System
In Windows
• Ad ogni dispositivo di memorizzazione dati e’ associata
una lettera (es. A per il floppy, C per l’HD)
• Un path assoluto inizia sempre con l’identificatore del
dispositivo, seguito da “:\” (es. A:\ per il floppy, C:\ per
l’HD)
• Il carattere “\” serve per separare i vari elementi che
compongono un path. Es:
– abc\efg\hil.txt e’ un path relativo composto da 3
elementi (le directory abc ed efg, e il file hil.txt)
– .. e’ un path relativo che individua la directory
padre
– C:\abc\ e’ un path assoluto composto da 2
elementi (il dispositivo e la directory abc)
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
File System
• Path assoluto
– C:\Testo.txt
– C:\Libri\Informatica
• Path relativo
– Libri\Elenco.doc (dir. Corrente = c: )
– ..\Libri\Elenco.doc (dir. Corrente = Musica )
– .\Informatica (dir. Corrente = Libri )
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
File System
Nome file
Dà un’indicazione del “tipo” di informazione in esso
contenuta. Questa si trova nell’ultima parte del
nome (quella che segue il . ) e viene chiamata
“estensione” del file.
– Nome.txt file di testo
– Nome.gif immagine
– Nome.doc documento di MS Word
– Nome.java file java
– Nome.mp3 file audio
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
File System
l’interfaccia è un elemento
determinante per l’interazione
uomo - macchina
La struttura dell’interfaccia non è un
elemento neutro, ma influenza la
fruizione dei contenuti
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
L’interfaccia
Carattere
• La comunicazione tra uomo e
computer avviene attraverso un
LINGUAGGIO (set di comandi)
• L’utente impartisce comandi scritti
tramite la tastiera
Grafica
• Associa ad ogni funzione un simbolo
o un’ICONA, ottenendo la stilizzazione
grafica di un comando eseguibile
• Uso intuitivo della macchina
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
L’interfaccia
Le interfacce basate sulle shell sono
interfacce di prima generazione che
mettono a disposizione una riga di
comando per impartire ordini al
calcolatore
L’interazione tra uomo e calcolatore
avviene inserendo comandi tramite
tastiera (es. shell di DOS)
Prompt dei comandi
O
Prompt di MS-DOS
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Interfaccia di comunicazione: shell
Alcuni comandi
• dir elenca il contenuto della directory
• cd nome_directory permette di spostarsi nella
directory selezionata.
• mkdir nome_directory permette creare la
cartella selezionata (si puo’ usare anche md)
• rmdir nome_directory permette di eliminare
la cartella selezionata
• del nome_file rimuove il file selezionato
• copy nome_file destinazione_file permette
copiare il file scelto nella cartella/file di destinazione
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Prompt di MS-DOS
Alcuni comandi
• move nome_file destinazione_file permette
spostare il file scelto nella cartella/file didestinazione
• Per spostarsi da un dispositivo all’altro si deve usare il
comando composto dalla lettera del dispositivo seguito
dai 2 punti. a: c: e:
• Per spostarsi da qualsiasi posto alla radice del
dispositivo corrente, si puo’ usare cd \
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Prompt di MS-DOS
La Graphical User Interface è un’interfaccia intuitiva che
consente all’utente di interagire con il calcolatore
L’interfaccia è costituita da diverse finestre in cui i
programmi ed i file vengono rappresentati in modo grafico
attraverso delle icone
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Interfaccia di comunicazione: GUI
Windows: Esplora risorse
Windows permette di visualizzare e modificare il file
system attraverso un’interfaccia grafica, richiamabile in
vari modi:.
• “Esplora risorse” all’interno del menu’ “start”
• Doppio click su “Risorse del computer”
• Tasto di windows + e (2 tasti da premere insieme)
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Interfaccia di comunicazione: GUI
Windows: Esplora risorse
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Interfaccia di comunicazione: GUI
Identificazione dei file
L’estensione (insieme all’icona) identifica il tipo di file e
l’applicazione associata:
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Windows: Esplora risorse
Operazioni sui file
taglia, copia e incolla
Operazioni richiamabili attraverso
• la barra dei menù dell’applicazione o di esplora risorse
• il menù contestuale (tasto dx del mouse)
• combinazioni rapide tastiera
Modalità di comando
Taglia
Copia
Incolla
Barra dei menu
Modifica> taglia
Modifica>copia
Modifica>incolla
Click dx
Taglia
Copia
incolla
Tastiera
Ctrl + x
Ctrl + c
Ctrl + v
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Windows: Esplora risorse
Viene definito tutto il software che non sia il sistema
operativo.
E’ l'insieme dei programmi che non sono compresi nel
S.O., ma che vengono invece installati dall'utente per
svolgere compiti specifici.
Fanno parte anche alcune utilità che si installano assieme
al S.O. che non sono essenziali per il funzionamento della
macchina ma offrono all'utente alcune semplici
applicazioni di base.
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Il software applicativo(1)
Si possono raggruppare in 5 categorie:
- Utilità di Sistema: antivirus, oppure programmi per l'ottimizzazione delle
risorse, per il controllo dello stato del sistema, la ripulitura dell'hard disk, ecc.
Office Automation: programmi di ausilio nei normali lavori d'ufficio, quindi
creazione e elaborazione di testi (word processor), gestione di basi di dati
(database), fogli di calcolo, posta elettronica, navigazione in Internet, ecc.
Applicazioni aziendali : programmi creati per le necessità specifiche delle
aziende, come ad esempio i programmi per la fatturazione o per la gestione
del personale, dei magazzini, dei macchinari industriali. Spesso si tratta di
programmi creati ad hoc da aziende di produzione software.
Strumenti di sviluppo : programmi per la creazione di oggetti multimediali
(pagine Web, animazioni e CD interattivi), elaborazione audio/video/immagini,
programmi che servono per la creazione di nuovi applicativi .
Giochi e svago : giochi, emulatori, lettori audio e video. .
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Il software applicativo(2)
• Elaboratori di testi (Microsoft Word)
• Creazione di banche dati (Microsoft Access)
• Stesura di bilanci (Microsoft Excel)
• Creazione di slide (Microsoft Powerpoint)
• Creazione pubblicazioni – Desktop Publishing(CorelDraw)
• Elaborazioni immagini (Photoshop, Paint Shop Pro)
• Invio posta elettronica (Microsoft Outlook)
• Navigazione internet (Microsoft Explorer)
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Il software applicativo(3)
Il BIOS (Basic Input Output System) e’ appunto un
software di sistema che gestisce le operazioni fondamentali
di input output
E’ il primo programma che viene eseguito quando si
accende il computer.
Si trova all’interno di una memoria ROM e
viene scritto al momento della produzione
del calcolatore.
Ha il compito di:
• Interpretare i dati delle periferiche di I/O
• Controllare l’integrità del sistema ogni volta
che questo viene avviato
• Fornisce un collegamento (interfaccia) tra
’hardware ed il software
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
BIOS
Si riferisce al modo in cui una metodologia di sviluppo
scompongono l'attività di realizzazione di prodotti software
in sottoattività fra loro coordinate, il cui risultato finale è il
prodotto stesso e tutta la documentazione a esso
associato.
Si può far coincidere con la nascita dell‘ ingegneria del
software, in quanto rappresenta un passaggio storico dallo
sviluppo del software inteso come attività "artigianale"
(ovvero affidata alla libera creatività dei singoli individui) a
un approccio più industriale, in cui la creazione di
programmi e sistemi software viene considerata come un
processo complesso che richiede pianificazione,
controllo, e documentazione appropriati
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Ciclo di vita del software(1)
• analisi, ovvero l'indagine preliminare sul contesto in cui il prodotto software
deve inserirsi, sulle caratteristiche che deve esibire, ed eventualmente su costi
e aspetti logistici della sua realizzazione
• progetto, in cui si definiscono le linee essenziali della struttura del sistema da
realizzare, in funzione dei requisiti evidenziati dall'analisi e dal documento
finale da essa creato
• implementazione o codifica del sistema, ovvero la sua realizzazione concreta;
• collaudo, volta a misurare in che modo il sistema realizzato soddisfa i requisiti
stabiliti nella fase di analisi, ovvero a valutarne la correttezza rispetto alle
specifiche
• manutenzione, che comprende tutte le attività di modifica del software
successive al suo rilascio presso il cliente o la sua immissione sul mercato.
Queste attività possono essere volte a correggere errori del software
adattarlo a nuovi ambienti operativi, o estenderne le funzionalità.
Dr. Angelo Nicolosi
[email protected]
INFORMATICA
Ciclo di vita del software(2)