+ All Categories
Home > Documents > Software di base Software applicativo Il software è un programma o un insieme di programmi in grado...

Software di base Software applicativo Il software è un programma o un insieme di programmi in grado...

Date post: 02-May-2015
Category:
Upload: nicolo-capasso
View: 222 times
Download: 0 times
Share this document with a friend
11
Transcript
Page 1: Software di base Software applicativo Il software è un programma o un insieme di programmi in grado di funzionare su un computer o qualsiasi altro apparato.
Page 2: Software di base Software applicativo Il software è un programma o un insieme di programmi in grado di funzionare su un computer o qualsiasi altro apparato.
Page 3: Software di base Software applicativo Il software è un programma o un insieme di programmi in grado di funzionare su un computer o qualsiasi altro apparato.

Il software è un programma o un insieme di programmi in grado di funzionare su un computer o qualsiasi altro apparato con capacità di elaborazione (smartphone,

console, navigatori satellitari e così via).Il termine è un vocabolo della lingua inglese costituito dall’unione di due parole, soft

(morbido) e ware (manufatto, componente, oggetto, cosa). Il termine si contrappone tradizionalmente a hardware (la componente fisica di un sistema di calcolo). Nel tempo sono entrati nell'uso altri termini che descrivono elementi di un computer, come il firmware. Il suffisso -ware viene usato anche in altri termini che indicano

particolari tipi di programmi: in funzione del ruolo che hanno in un sistema di calcolo (per esempio middleware); del tipo di licenza con cui sono distribuiti (freeware,

shareware); e altroIl termine software ha origine durante la seconda guerra mondiale. I tecnici dell'esercito

inglese erano impegnati nella decrittazione dei codici tedeschi di Enigma, di cui già conoscevano la meccanica interna (detta hardware, componente dura, nel senso di ferraglia) grazie ai servizi segreti polacchi. La prima versione di Enigma sfruttava tre

rotori per mescolare le lettere.Dopo il 1941, ad Enigma venne aggiunto un rotore, e il team di criptanalisti inglesi,

capitanati da Alan Turing, si dovette interessare non più alla sua struttura fisica, ma alle posizioni in cui venivano utilizzati i rotori della nuova Enigma.

Dato che queste istruzioni erano scritte su pagine solubili nell'acqua (per poter essere più facilmente distrutte, evitando in tal modo che cadessero nelle mani del nemico)

furono chiamate software (componente tenera), in contrapposizione all'hardware.Il senso moderno del termine deriva dalle istruzioni date ai computer, ed è stato utilizzato

per la prima volta nel 1957 da John Wilder Tukey, noto statistico statunitense.Dal 1950 l'analogia tra l'hardware ed il corpo umano e quella tra il software e la mente

umana si è fatta molto forte, dal momento che Turing ha sostenuto che il progresso tecnologico sarebbe riuscito a creare, entro il 2000, delle macchine intelligenti (in

grado cioè di "pensare" autonomamente) atte alla risoluzione dei problemi.

Page 4: Software di base Software applicativo Il software è un programma o un insieme di programmi in grado di funzionare su un computer o qualsiasi altro apparato.

In informatica il sistema operativo, abbreviato in SO (in inglese OS, "operating system") è un

particolare software, installato su un sistema di elaborazione, senza il quale non è possibile l'utilizzo di altri software più specifici, come

applicazioni o librerie software, e quindi in ultimo del computer stesso. Esso quindi funge da "base"

al quale si appoggiano gli altri software, che dunque dovranno essere progettati in modo da

essere riconosciuti e supportati da quel particolare sistema operativo. Per sistema operativo intendiamo quindi l'insieme dei

componenti software che hanno il duplice scopo di gestire le risorse hardware e software del

computer, ed interfacciare l'utente con l'hardware.

Page 5: Software di base Software applicativo Il software è un programma o un insieme di programmi in grado di funzionare su un computer o qualsiasi altro apparato.

definizione

Page 6: Software di base Software applicativo Il software è un programma o un insieme di programmi in grado di funzionare su un computer o qualsiasi altro apparato.

È l’insieme dei programmi che svolgono i compiti più disparati . Non può essere utilizzato senza l’esistenza di un software di base

Viene detto Software applicativo (o semplicemente "applicativi") l'insieme dei programmi che non sono compresi nel sistema operativo, ma che

vengono invece installati dall'utente per svolgere compiti specifici. Per esempio sotto Windows il programma di videoscrittura Microsoft Word

è forse l'applicativo più diffuso. Word non fa parte di Windows ma deve essere acquistato a parte e installato sulla macchina dopo che

questa contiene già il sistema operativo. Sono ugualmente degli applicativi i programmi antivirus (Norton, Mc Affee, Panda, ...), i

programmi per la compressione dei file (Winzip, Zip Central, ...), la posta elettronica (Eudora, Outlook Express, ...), il ritocco fotografico

(Photoshop, Paint Shop Pro, ...), la composizione multimediale (Dreamweaver, FrontPage, Flash, Director, ...), i lettori audio/video

(Quick Time Player, Real Player, ...), ecc.

Page 7: Software di base Software applicativo Il software è un programma o un insieme di programmi in grado di funzionare su un computer o qualsiasi altro apparato.

La gestione dell'Input/Output ovvero delle periferiche di sistema è attuata

attraverso il meccanismo dell'interrupt da parte delle periferiche stesse che

chiamano in causa il sistema operativo il quale opererà un

cambiamento di contesto (contex switch) all'interno del ciclo del

processore assegnando al processore il compito di Input/Output richiesto.

Page 8: Software di base Software applicativo Il software è un programma o un insieme di programmi in grado di funzionare su un computer o qualsiasi altro apparato.

Il gestore di memoria è la componente del sistema operativo che si occupa di gestire ed assegnare la memoria primaria ai processi che ne fanno richiesta immediatamente pima dell'elaborazione. La gestione della memoria è necessaria

anche per tenere traccia di quanta memoria è impegnata e di quanta invece è disponibile per soddisfare nuove

richieste: in mancanza di un sistema di gestione, si avrebbe prima o poi il caso nefasto di processi che ne sovrascrivono

altri, con gli ovvi inconvenienti.Un altro buon motivo per registrare la memoria usata dai vari

processi è il fatto che in caso di errori gravi i processi possono andare in crash e non essere più in grado di

comunicare al sistema che la memoria che occupano può essere liberata: in questo caso è compito del gestore di memoria, dopo la terminazione anomala del processo, marcare come libere le zone di memoria possedute dal processo "defunto", rendendole disponibili per nuove

allocazioni.

Page 9: Software di base Software applicativo Il software è un programma o un insieme di programmi in grado di funzionare su un computer o qualsiasi altro apparato.

Il file system è il modo in cui i file sono immagazzinati e organizzati su un dispositivo di archiviazione, come un hard disk o un CD-ROM. Esistono molti tipi di file system, creati

per diversi sistemi operativi, per diverse unità di memorizzazione e per diversi usi. Si possono identificare due grandi classi di file system: quelli per unità locali, destinate ad

organizzare fisicamente i dati su un disco, e i file system distribuiti, nati per condividere i dati fra più computer collegati attraverso

una rete, superando le differenze fra sistemi operativi e file system locali delle varie

macchine.

Page 10: Software di base Software applicativo Il software è un programma o un insieme di programmi in grado di funzionare su un computer o qualsiasi altro apparato.

Processo: è un programma in esecuzione. programma => statico dinamico <= processo

Un processo incorpora le istruzioni, i dati da elaborare, lo stato dell’elaborazione (context)

 Abbiamo due famiglie di sistemi:

-        MULTITASKING: processo tramite il quale il sistema operativo può realizzare più

operazioni che sembrano contemporanee ma che in realtà avvengono in tempi diversi. Questo lasso di tempo, grazie alla

velocità del processore è minimo, per tanto si ha la sensazione che le operazioni si effettuino nello stesso istante.

-         SCHEDULER: dispositivo che si prefigge di sostituire un processo,      finito o meno,

sostituendolo con un altro poiché il sistema operativo permette di lavorare con un solo processo alla volta.

-         INTERRUPTS: è un segnale di avvertimento che viene mandato al processore per

indicare che qualcosa è avvenuto

Page 11: Software di base Software applicativo Il software è un programma o un insieme di programmi in grado di funzionare su un computer o qualsiasi altro apparato.

Il kernel è il motore di un sistema operativo. Si tratta di un software che ha il compito di fornire ai moduli che compongono il sistema operativo e ai programmi in esecuzione sul computer le funzioni

fondamentali ed un accesso controllato all'hardware, sollevandoli dai dettagli della sua gestione.

Quali funzioni sia opportuno che il kernel debba fornire e quali possano essere demandate a moduli esterni è oggetto di opinioni divergenti: se il kernel di un sistema operativo

implementa soltanto un numero molto ristretto di funzioni, delegando il resto ad altre parti, si parla di microkernel. Il

vantaggio di un sistema operativo microkernel è la semplicità del suo kernel e la possibilità di cambiare facilmente i moduli

e che se un modulo crolla non crolla tutto il sistema; lo svantaggio è l'interazione più complessa e costosa fra il kernel e le altre componenti del S.O. stesso, che spesso

rallenta il sistema. Di solito il kernel di un sistema operativo microkernel è molto piccolo e fornisce solo poche funzioni di base per l'astrazione dall'hardware e la comunicazione fra i

vari moduli, che sono esterni ad esso.Un kernel tradizionale, monolitico e altri, integra invece

dentro di sé la gestione della memoria virtuale, lo scheduler e i gestori di file system, nonché i driver necessari per il

controllo di tutte le periferiche collegate. Questo tipo di kernel è più complesso da progettare, mantenere ed aggiornare, ma

è anche più veloce ed efficiente. Una sua evoluzione è costituita dai kernel "modulari", che mantengono al loro interno lo scheduler e i gestori di file system e memoria

virtuale ma separano alcune funzioni non essenziali in moduli a sé stanti, da caricare in memoria solo in caso di effettivo

uso della funzione o periferica di loro competenza


Recommended