SOFTWARE - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

SOFTWARE

Description:

... E PROGRAMMI APPLICATIVI SISTEMI OPERATIVI Sono quei programmi, quali MacOs, WINDOWS (95, 98, 2000, XP, Vista), BeOs, OS2, AmigaOS, NetBSD, Linux, ... – PowerPoint PPT presentation

Number of Views:93
Avg rating:3.0/5.0
Slides: 20
Provided by: Univers201
Category:
Tags: software

less

Transcript and Presenter's Notes

Title: SOFTWARE


1
SOFTWARE
  • Lhardware è la parte che si può prendere a
    calci il software quella contro cui si può solo
    imprecare.
  • SOFTWARE
  • E linsieme dei dati e dei programmi che rendono
    possibile linserimento dei dati e dei comandi da
    parte dellutente, volti allelaborazione da lui
    desiderata e perseguita.
  • I programmi si dividono in sistemi operativi (che
    svolgono le funzioni di base) e programmi
    applicativi (nati per funzioni specifiche) .

2
SISTEMI OPERATIVI EPROGRAMMI APPLICATIVI
  • SISTEMI OPERATIVI
  • Sono quei programmi, quali MacOs, WINDOWS (95,
    98, 2000, XP, Vista), BeOs, OS2, AmigaOS, NetBSD,
    Linux, Unix, MS DOS, i quali contengono i
    principali comandi che permettono di rendere
    operativo il personal computer, coordinandone il
    funzionamento dei componenti e gestendo le
    funzioni di base.
  • PROGRAMMI APPLICATIVI
  • Sono tutti quei programmi che svolgono funzioni
    specifiche in base alla natura per cui sono nati,
    quali fogli di calcolo, editori di testo,
    programmi di disegno, ecc..

3
Software device driver
  • I driver di periferica (device driver) sono
    programmi specializzati nella gestione di un
    particolare componente hardware.
  • E il sistema operativo a caricarli in memoria
    durante la procedura di avvio di un computer.
  • Quando si aggiungono nuove periferiche è
    necessario fornire al sistema operativo i
    corrispondenti drivers (di solito presenti sul CD
    in dotazione con la periferica) in modo che la
    periferica divenga utilizzabile dal S.O. e
    conseguentemente anche dai programmi applicativi
    che intendono gestirla.

4
Software Programmi Applicativi
  • Sono tutti quei programmi che svolgono funzioni
    specifiche, e che vengono lanciati dallinterno
    dei sistemi operativi
  • fogli di calcolo
  • elaborazione testi
  • fotoritocco, disegno, grafica 3D
  • editing o riproduzione audio
  • editing o riproduzione video
  • utilities (compressione, antivirus, ecc.)

5
Elaboratore testi (Word Processor)
6
Foglio elettronico (SpreadSheet)
7
Basi di dati (Database)
8
Presentazioni
9
Impaginazione (Desktop Publishing)
10
Agenda, Posta, Calendario, Rubrica
11
PROCEDURA DI AVVIO DI UN COMPUTER
  • Quando si accede un computer la memoria RAM è
    vuota.
  • La memoria ROM contiene il BIOS che permette alla
    macchina di compiere le prime operazioni di
    verifica ed enumerazione dei componenti
    installati (memoria, video, dischi,
    tastiera,ecc) e di comunicazione tra gli stessi.
  • In questa fase viene compiuta unoperazione di
    diagnosi del sistema (conteggio memoria,
    controllo periferiche, assegnazione irq, ecc..)
    ed avviata la procedura di BOOTSTRAP da disco. In
    una particolare traccia del disco fisso (o, se
    presenti, dal floppy o dal cd-rom) è contenuto il
    codice di avvio del sistema operativo installato.
  • Il bootstrap termina con lavvio del caricamento
    dellintero sistema operativo.
  • Una volta terminato il caricamento del sistema
    operativo, il computer è pronto ad essere
    utilizzato, e possono essere avviati i programmi
    applicativi per elaborare i documenti.

12
ALGORITMI
  • Un algoritmo è una sequenza finita, non ambigua,
    di passi eseguibili e ripetibili un numero finito
    di volte per portare alla soluzione di un dato
    problema.
  • Un algoritmo, a partire da informazioni in
    ingresso, produrrà un risultato in uscita.
  • Esempi di algoritmi ricette di cucina,
    istruzioni di montaggio di un oggetto, calcolo
    dellipotenusa dai cateti, calcolo del Massimo
    Comun Divisore, procedura per cambiare una ruota
    forata, ordinamento di una rubrica, pagamento di
    un bollettino postale, ecc...
  • Il metodo più naturale per esprimere un algoritmo
    è descriverne i passi da seguire nel linguaggio
    naturale.
  • Vediamo un esempio di espressione della procedura
    per pagare un bollettino postale
  • recarsi ad un ufficio postale
  • compilare il bollettino di conto corrente postale
  • effettuare il pagamento

13
NON AMBIGUITA DI UN ALGORITMO
  • La sequenza precedentemente vista non rappresenta
    un algoritmo in maniera corretta in quanto non è
    priva di ambiguità. Infatti non indica quale
    ufficio postale, che cifra indicare, non verifica
    che si disponga di tale contante, ecc
  • Lalgoritmo andrebbe riscritto come
  • recarsi al più vicino ufficio postale
  • consultare la tabella degli importi da pagare
  • compilare il bollettino di ccp
  • assicurarsi di avere la cifra necessaria al
    pagamento
  • effettuare il pagamento
  • Tale descrizione è più dettagliata, ma non è
    ancora del tutto priva di ambiguità. Ciò è dovuto
    alla natura stessa del linguaggio naturale. Sono
    stati pertanto definiti dei linguaggi specifici
    per la definizione degli algoritmi, chiamati
    linguaggi di programmazione.

14
RAPPRESENTAZIONE DI UN ALGORITMO
  • Per rappresentare il flusso di esecuzione di un
    algoritmo può essere utile ricorrere ai diagrammi
    a blocchi che indicano graficamente la sequenza
    di operazioni da eseguire. Vediamo due modi
    equivalenti di esprimere lo stesso algoritmo (di
    Euclide) per il calcolo del M.C.D.
  1. Prendi i valori da tastiera VAL1 e VAL2
  2. Se VAL1ltVAL2 allora scambiali
  3. Metti in RESTO il resto tra VAL1 e VAL2
  4. Ripeti finchè RESTOltgt0
  5. Metti in VAL1 il contenuto di VAL2
  6. Metti in VAL2 il contenuto di RESTO
  7. Metti in RESTO il resto tra VAL1 e VAL2
  8. Fine Ripeti
  9. Mostra il MCD che è pari a VAL2

15
LINGUAGGI DI BASSO LIVELLO
  • Come esprimere un algoritmo affinché un computer
    possa interpretarlo ed eseguirlo?
  • In realtà la CPU è in grado di eseguire un numero
    molto ristretto di operazioni estremamente
    semplici. E tali istruzioni sono espresse in
    termini numerici, cioè ad ogni istruzione
    corrisponde un numero.
  • Il linguaggio di programmazione le cui istruzioni
    hanno una corrispondenza biunivoca con le
    operazioni svolte dal microprocessore si chiama
    LINGUAGGIO MACCHINA.
  • Questo linguaggio si dice di BASSO LIVELLO in
    quanto è strettamente legati alle istruzioni
    della CPU, quindi poco naturale per luomo.

16
LINGUAGGI DI ALTO LIVELLO
  • Fortunatamente, per facilitare limplementazione
    degli algoritmi, a partire dalla metà degli anni
    50, sono stati creati anche dei linguaggi di
    programmazione più evoluti, più simili al
    linguaggio umano, e non legati allarchitettura
    dellelaboratore sul quale vengono utilizzati.
    Tali linguaggi si dicono di alto livello.
  • Tali linguaggi devono essere convertiti in
    linguaggio macchina affinché la cpu possa
    eseguirli. Tuttavia, essendo le istruzioni di
    questi linguaggi molto potenti e simili al
    linguaggio umano, a ognuna corrispondono molte
    istruzioni in linguaggio macchina.

17
CALCOLO DEL MCD IN PASCAL
  • Questo programma, scritto nel linguaggio ad alto
    livello Pascal viene trasformato, grazie al
    COMPILATORE, in linguaggio macchina.
  • Si ottiene così un FILE ESEGUIBILE (estensione
    .EXE nei sistemi windows) formato da migliaia di
    istruzioni direttamente comprensibili per la CPU.

18
Filosofie di utilizzo del Software (1)
  • Proprietario È software messo a disposizione a
    pagamento. Al momento dellacquisto NON si
    dispone della proprietà software acquistato, ma
    solo della licenza ad usarlo, sotto le condizioni
    indicate dal produttore. La licenza più diffusa
    per questo tipo di sofware è la EULA (End User
    License Agreement)
  • Demoware È una versione dimostrativa del
    software a pagamento permette di valutare il
    software ma non di usarlo in modo proficuo e
    continuativo, infatti normalmente prevede la
    disabilitazione delle funzioni di stampa e
    salvataggio, un numero massimo di utilizzi, o un
    tempo massimo di utilizzo giornaliero (es. 10
    minuti).
  • Shareware - È software reso disponibile
    gratuitamente per un breve periodo (per
    consentire delle valutazioni). A conclusione di
    tale lasso temporale, sarà necessario
    corrispondere una somma in denaro per proseguirne
    lutilizzo. Una volta pagato e registrato, sono
    spesso rese disponibili funzionalità aggiuntive
    non incluse nella versione di valutazione.

19
Filosofie di utilizzo del Software (2)
  • Adware È software che prevede delle sezioni
    pubblicitarie inamovibili. In tal modo è gratuito
    per lutilizzatore, ma lo sviluppatore è pagato
    dallo sponsor.
  • Freeware - È software reso disponibile lutilizzo
    gratuitamente dal produttore, ma non è
    liberamente riutilizzabile, e non sono resi
    disponibili i codici sorgenti.
  • Pubblico Dominio È un software gratuito che non
    prevede alcun tipo di licenza, pertanto, mancando
    chi può difenderlo, chiunque può riuscire ad
    accamparvi dei diritti, e qualsiasi copia o
    variante potrebbe non essere più gratuita.
  • CopyLeft È software gratutito, ma protetto da
    una licenza che difende il diritto dautore e la
    sua volontà di mantenere libera la sua opera. Il
    copyleft impedisce che chi ridistribuisce il
    software (originale o modificato) possa
    aggiungere delle restrizioni ulteriori. Un
    esempio di questo tipo di licenza è GNU-GPL.
Write a Comment
User Comments (0)
About PowerShow.com