Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Introduzione all'informatica: Storia, Architettura e Concetti Fondamentali, Appunti di Elementi di Informatica

Una panoramica completa dell'informatica, esplorando la sua storia, l'architettura dei computer, i concetti fondamentali come la memoria, la cpu e i linguaggi di programmazione. Il documento copre anche argomenti come i sistemi operativi, i database e i linguaggi di programmazione, offrendo una solida base per comprendere i principi dell'informatica.

Tipologia: Appunti

Pre 2010

Caricato il 25/01/2010

mamoroso84
mamoroso84 🇮🇹

4.4

(65)

19 documenti

1 / 16

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Computer - Un computer, dal latino computare (calcolare) attraverso l'inglese, to compute (calcolare), anche detto
calcolatore o elaboratore, è un dispositivo fisico che implementa il funzionamento di una macchina di Turing.
Questa definizione, sebbene rigorosa, non dice molto su quello che in pratica un computer è o può fare: eseguire
operazioni logiche, come calcoli numerici. Dalla nascita della struttura più elementare, in seguito si sono sviluppati molti
tipi di computer, costruiti e specializzati per vari compiti. Essi vanno da macchine che riempiono intere sale, capaci di
qualunque tipo di elaborazione, a circuiti integrati grandi pochi millimetri che controllano minirobot e orologi da polso. Ma
a prescindere da quanto siano grandi e da che cosa facciano, possiedono tutti quattro cose: (almeno) una unità centrale
di elaborazione o CPU, (almeno) una memoria, e almeno un dispositivo di ingresso/uscita, nonché un canale perché
possano dialogare tra loro, in accordo all'architettura di von Neumann.
Con l'espressione architettura di von Neumann (o macchina di von Neumann) ci si riferisce a uno schema di progettazione di calcolatori elettronici che
prende nome dal matematico John von Neumann
Lo schema si basa su cinque componenti fondamentali:
!1.!CPU o unità di lavoro che si divide a sua volta in
!1.!Unità operativa, nella quale uno dei sottosistemi più rilevanti è l'ALU (Arithmetic Logic Unit)
!2.!Unità di controllo
!2.!Unità di memoria, intesa come memoria di lavoro o memoria principale (RAM, Random Access Memory)
!3.!Unità di input, tramite la quale i dati vengono inseriti nel calcolatore per essere elaborati
!4.!Unità di output, necessaria affinché i dati elaborati possano essere restituiti all'operatore
!5.!Bus, un canale che collega tutti i componenti fra loro
All'interno dell'ALU è presente un registro detto accumulatore, che fa da buffer tra input e output grazie a una speciale istruzione che carica una parola
dalla memoria all'accumulatore e viceversa.
È importante sottolineare che tale architettura, a differenza di altre, si distingue per la caratteristica di immagazzinare all'interno dell'unità di memoria, sia i
dati dei programmi in esecuzione che il codice di questi ultimi.
I moderni computer di uso comune sono progettati secondo l'architettura Von Neumann.
Inoltre, quando si parla di unità di memoria si intende la memoria principale, mentre le memorie di massa sono considerate dispositivi di I/O.
Il motivo di ciò è innanzitutto storico, in quanto negli anni Quaranta, epoca a cui risale questa architettura, la tecnologia non lasciava neanche presupporre
dispositivi come hard disk, CD-ROM, DVD-ROM o anche solo nastri magnetici, ma anche tecnico, se si considera che in effetti i dati da elaborare devono
comunque essere caricati in RAM, siano essi provenienti da tastiera o da hard-disk.
Per realizzare ciò, il calcolatore opera in due fasi:
- LOAD-TIME (tempo di caricamento del programma)
- RUN-TIME (tempo di esecuzione del programma)
Hardware, software, programmazione Il computer è un mero esecutore di compiti o istruzioni impartite dall'esterno
per risolvere determinati problemi d'interesse attraverso un algoritmo di risoluzione del problema stesso. Esso dunque
nasce per eseguire programmi: un computer senza un programma da eseguire è inutile. Il programma di gran lunga più
importante per un computer, se previsto nell'architettura generale, è il sistema operativo, che si occupa di gestire la
macchina, le sue risorse, le altre applicazioni che vi sono eseguite[4]. Fornisce all'utente un'interfaccia per inserire ed
eseguire gli altri programmi. Queste parti immateriali vengono comunemente chiamate software, in contrapposizione
all'hardware che è la parte fisica, nel senso di materiale e tangibile, degli elaboratori.
Il computer, in quanto esecutore, ha bisogno dunque di essere istruito o programmato dall'esterno per mano competente
di un programmatore: questi comunica/interagisce con la macchina attraverso i linguaggi di programmazione ad alto,
medio o basso livello di astrazione (linguaggio macchina), che si differenziano tra loro secondo vari paradigmi di
programmazione.
La macchina di Turing in oggetto è un meccanismo, formale, ma potenzialmente realizzabile concretamente, che
costituisce un modello di calcolo; è retta da regole elementari di natura molto semplice. Ha potere computazionale
massimo, ed è equivalente a ogni altro modello di calcolo molto più complesso.
Tipi di computer I computer possono essere idealmente divisi in alcune categorie molto generali, a seconda delle loro
caratteristiche salienti, dell'uso che in generale se ne fa, del software e dei sistemi operativi che fanno girare e dell'epoca
in cui sono comparse. Le definizioni nel tempo sono molto cambiate e i confini non sono mai così netti.
Mainframe Negli anni 40 i computer occupavano stanze intere, l'energia richiesta per il funzionamento ed il
raffreddamento era elevata e, naturalmente, erano costosissimi; per questo motivo li si tendeva a sfruttare il più possibile
e, quindi, l'utilizzo era suddiviso generalmente fra un numero di utenti piuttosto grande.
I mainframe oggi sono dei computer non molto più grandi del PC di casa ma, nonostante le dimensioni, questi computer
sono molto potenti e possono sopportare centinaia di terminali e utenti connessi. Questi sistemi sono molto onerosi sia in
termini di investimento iniziale che di costi di gestione. Pertanto vengono utilizzati nelle grandi aziende, nelle banche, in
INFORMATICA - Prof.ssa GALASSO
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Anteprima parziale del testo

Scarica Introduzione all'informatica: Storia, Architettura e Concetti Fondamentali e più Appunti in PDF di Elementi di Informatica solo su Docsity!

Computer - Un computer , dal latino computare (calcolare) attraverso l'inglese, to compute (calcolare), anche detto calcolatore o elaboratore , è un dispositivo fisico che implementa il funzionamento di una macchina di Turing. Questa definizione, sebbene rigorosa, non dice molto su quello che in pratica un computer è o può fare: eseguire operazioni logiche, come calcoli numerici. Dalla nascita della struttura più elementare, in seguito si sono sviluppati molti tipi di computer, costruiti e specializzati per vari compiti. Essi vanno da macchine che riempiono intere sale, capaci di qualunque tipo di elaborazione, a circuiti integrati grandi pochi millimetri che controllano minirobot e orologi da polso. Ma a prescindere da quanto siano grandi e da che cosa facciano, possiedono tutti quattro cose: (almeno) una unità centrale di elaborazione o CPU, (almeno) una memoria, e almeno un dispositivo di ingresso/uscita, nonché un canale perché possano dialogare tra loro, in accordo all'architettura di von Neumann.

Con l'espressione architettura di von Neumann (o macchina di von Neumann) ci si riferisce a uno schema di progettazione di calcolatori elettronici che prende nome dal matematico John von Neumann Lo schema si basa su cinque componenti fondamentali:

  1. CPU o unità di lavoro che si divide a sua volta in
  2. Unità operativa, nella quale uno dei sottosistemi più rilevanti è l'ALU (Arithmetic Logic Unit)
  3. Unità di controllo
  4. Unità di memoria, intesa come memoria di lavoro o memoria principale (RAM, Random Access Memory)
  5. Unità di input, tramite la quale i dati vengono inseriti nel calcolatore per essere elaborati
  6. Unità di output, necessaria affinché i dati elaborati possano essere restituiti all'operatore
  7. Bus, un canale che collega tutti i componenti fra loro All'interno dell'ALU è presente un registro detto accumulatore, che fa da buffer tra input e output grazie a una speciale istruzione che carica una parola dalla memoria all'accumulatore e viceversa. È importante sottolineare che tale architettura, a differenza di altre, si distingue per la caratteristica di immagazzinare all'interno dell'unità di memoria, sia i dati dei programmi in esecuzione che il codice di questi ultimi. I moderni computer di uso comune sono progettati secondo l'architettura Von Neumann. Inoltre, quando si parla di unità di memoria si intende la memoria principale, mentre le memorie di massa sono considerate dispositivi di I/O. Il motivo di ciò è innanzitutto storico, in quanto negli anni Quaranta, epoca a cui risale questa architettura, la tecnologia non lasciava neanche presupporre dispositivi come hard disk, CD-ROM, DVD-ROM o anche solo nastri magnetici, ma anche tecnico, se si considera che in effetti i dati da elaborare devono comunque essere caricati in RAM, siano essi provenienti da tastiera o da hard-disk. Per realizzare ciò, il calcolatore opera in due fasi:
  • LOAD-TIME (tempo di caricamento del programma)
  • RUN-TIME (tempo di esecuzione del programma) Hardware, software, programmazione Il computer è un mero esecutore di compiti o istruzioni impartite dall'esterno per risolvere determinati problemi d'interesse attraverso un algoritmo di risoluzione del problema stesso. Esso dunque nasce per eseguire programmi : un computer senza un programma da eseguire è inutile. Il programma di gran lunga più importante per un computer, se previsto nell'architettura generale, è il sistema operativo, che si occupa di gestire la macchina, le sue risorse, le altre applicazioni che vi sono eseguite[4]. Fornisce all'utente un'interfaccia per inserire ed eseguire gli altri programmi. Queste parti immateriali vengono comunemente chiamate software, in contrapposizione all'hardware che è la parte fisica, nel senso di materiale e tangibile, degli elaboratori. Il computer, in quanto esecutore, ha bisogno dunque di essere istruito o programmato dall'esterno per mano competente di un programmatore : questi comunica/interagisce con la macchina attraverso i linguaggi di programmazione ad alto, medio o basso livello di astrazione (linguaggio macchina), che si differenziano tra loro secondo vari paradigmi di programmazione. La macchina di Turing in oggetto è un meccanismo, formale, ma potenzialmente realizzabile concretamente, che costituisce un modello di calcolo; è retta da regole elementari di natura molto semplice. Ha potere computazionale massimo, ed è equivalente a ogni altro modello di calcolo molto più complesso. Tipi di computer I computer possono essere idealmente divisi in alcune categorie molto generali, a seconda delle loro caratteristiche salienti, dell'uso che in generale se ne fa, del software e dei sistemi operativi che fanno girare e dell'epoca in cui sono comparse. Le definizioni nel tempo sono molto cambiate e i confini non sono mai così netti. Mainframe Negli anni 40 i computer occupavano stanze intere, l'energia richiesta per il funzionamento ed il raffreddamento era elevata e, naturalmente, erano costosissimi; per questo motivo li si tendeva a sfruttare il più possibile e, quindi, l'utilizzo era suddiviso generalmente fra un numero di utenti piuttosto grande. I mainframe oggi sono dei computer non molto più grandi del PC di casa ma, nonostante le dimensioni, questi computer sono molto potenti e possono sopportare centinaia di terminali e utenti connessi. Questi sistemi sono molto onerosi sia in termini di investimento iniziale che di costi di gestione. Pertanto vengono utilizzati nelle grandi aziende, nelle banche, in

INFORMATICA - Prof.ssa GALASSO

società di assicurazioni, nella pubblica amministrazione ed in altre strutture che hanno bisogno di una potenza di elaborazione molto elevata per gestire i terminali che gli utenti usano per lavorare. Minicomputer In un secondo tempo, negli anni sessanta, in particolare da Digital e da HP, vennero introdotti elaboratori dal costo abbastanza ridotto da poter essere comprati anche da piccole aziende o da singoli dipartimenti di ricerca e di dimensioni paragonabili ad un armadio. Questo permise un utilizzo più flessibile e quindi le prime sperimentazioni in campo informatico. Per distinguerli dai mainframe venne coniato il termine minicomputer. Microcomputer All'inizio degli anni settanta l'introduzione del primo microprocessore, l'Intel 4004, rese disponibili computer dal prezzo abbastanza ridotto da poter essere acquistati anche da una singola persona. La prima generazione di questi dispositivi era destinata soprattutto agli appassionati, perché di difficile utilizzo. I personal computer possono essere considerati microcomputer. Home computer La seconda generazione di microcomputer, che prende il nome popolare di home computer, fece il suo ingresso nel mercato nella seconda metà degli anni settanta e divenne comune nel corso degli anni ottanta, per estinguersi entro i primi anni novanta con l'ascesa dei personal computer. Gli home computer, macchine a costo contenuto e di utilizzo prevalentemente domestico, contribuirono largamente a diffondere a livello popolare l'uso del computer e all'alfabetizzazione informatica di vasti strati di popolazione (specie giovanile) nei paesi sviluppati. Basati su processori a 8 bit e costruttivamente molto semplici, erano dotati di interfacce esclusivamente testuali e come memorie di massa sfruttavano, almeno inizialmente, le cassette audio. Erano utilizzati prevalentemente come console per videogiochi, oppure per i primi approcci con la programmazione. Con oltre dieci milioni di macchine vendute, il più rappresentativo computer di questa categoria fu il Commodore 64. Anche lo ZX Spectrum della Sinclair ebbe buona diffusione. Per Personal Computer si intende un microcomputer economico destinato, prevalentemente, a un utilizzo personale da parte di un singolo individuo. Si distingue da un Home computer principalmente perché si prestano - grazie alle maggiori risorse hardware e software a disposizione - a utilizzi maggiormente produttivi rispetto a questi ultimi, destinati invece a un utilizzo ludico o didattico. Dato che la definizione di Personal Computer nacque con la diffusione dei computer PC IBM, oggi per Personal Computer (PC) spesso si intende un computer da essi derivato, ma inizialmente il termine andrebbe riferito a macchine con sistemi operativi e tipi di microprocessori del tutto diversi, quali le prime versioni dell'Apple (Apple I e soprattutto l'Apple II). Altre categorie ▪ I supercomputer: dotati di elevatissima capacità elaborativa e distinti dai mainframe perché solitamente destinati ad una singola applicazione come previsioni meteorologiche o simulazioni. ▪ I microcontroller: elaboratori completi totalmente contenuti in singoli circuiti integrati. ▪ I sistemi barebone: personal computer preassemblati, costituiti di solito da case e scheda madre, pronti per ulteriori personalizzazioni da parte di rivenditori o utenti finali. ▪ I computer palmari: computer di ridotte dimensioni, tali da essere portati sul palmo di una mano. Un computer, come premesso, non è altro che l'implementazione fisica, pratica, di una macchina di Turing, secondo l'architettura ideata da Von Neumann. Componentistica (hardware) La macchina in primo luogo viene alimentata elettricamente da un'unità, interna od esterna che fornirà al sistema le tensioni necessarie alle sue diverse componenti, nei termini della potenza e stabilità richieste. Dal punto di vista pratico e costruttivo tutti i computer di questa categoria, hanno almeno:

  1. una CPU,
  2. una certa quantità di memoria di lavoro, generalmente volatile ma piuttosto veloce, attualmente RAM,
  3. una certa quantità di memoria non volatile. Quest'ultima è suddivisa in:
    1. una piccola parte (ROM, PROM, EPROM, EEPROM o Flash) in cui è scritto il primo programma da eseguire all'avvio del computer stesso (firmware). Esempi sono Open Firmware e BIOS, che assolvono comunque anche ad altre funzioni di base, oltre a queste. A seconda dei casi, questo primo programma potrà essere l'unico che la macchina eseguirà oppure servirà a fare da trampolino di lancio per caricare il sistema operativo vero e proprio dalla memoria di massa in memoria di lavoro, o un ulteriore e intermedio programma in grado di decidere quale particolare sistema operativo selezionare: in questo caso si parla di loader.
    2. una memoria di massa, più capiente ma con velocità d'accesso più lenta. Alimentatore L'alimentatore è l'elemento che fornisce energia al PC, che nel caso delle versioni portatili può essere sostituita da alcune batterie. Scheda madre

Con hardware, in ingegneria elettronica e informatica si indica la parte fisica di un personal computer, ovvero tutte quelle parti magnetiche, ottiche, meccaniche ed elettroniche che ne consentono il funzionamento (dette anche strumentario). Più in generale il termine si riferisce a qualsiasi componente fisico di una periferica o di una apparecchiatura elettronica. L'etimologia del vocabolo nasce dalla fusione di due termini della lingua inglese, hard (duro) e ware (manufatto, oggetto), in contrapposizione con il software, la parte logica (e perciò soft, "morbida") che compone il personal computer. Alcuni componenti hardware: ▪ Mouse ▪ RAM (La memoria ad accesso casuale, acronimo RAM (del corrispondente termine inglese Random-Access Memory), è una tipologia di memoria informatica caratterizzata dal permettere l'accesso diretto a qualunque indirizzo di memoria con lo stesso tempo di accesso. La memoria ad accesso casuale si contrappone alla memoria ad accesso sequenziale e alla memoria ad accesso diretto rispetto alle quali presenta tempi di accesso sensibilmente inferiori motivo per cui è utilizzata come memoria primaria. La tipologia di memoria ad accesso casuale più comune attualmente è a stato solido, a lettura-scrittura e volatile, ma rientrano nella tipologia di memoria ad accesso casuale la maggior parte delle tipologie di ROM (inteso nell'accezione più comune e non come memoria a sola lettura), la NOR Flash (una tipologia di memoria flash), oltre a varie tipologie di memorie informatiche utilizzate ai primordi dell'informatica e oggi non più utilizzate come ad esempio la memoria a nucleo magnetico. Esclusivamente l'acronimo RAM (non il termine "memoria ad accesso casuale") ha anche una seconda accezione più ristretta ma attualmente più diffusa secondo cui la RAM è una memoria ad accesso casuale della tipologia più comune cioè a stato solido, a lettura-scrittura e volatile. ▪ Read only memory (ROM) ▪ Hard Disk è una tipologia di dispositivo di memoria di massa che utilizza uno o più dischi magnetici per l'archiviazione dei dati. Il disco rigido è una delle tipologie di dispositivi di memoria di massa attualmente più utilizzate. ▪ Scheda madre ▪ Monitor ▪ Scheda video ▪ Scheda audio ▪ Scheda di rete

▪ CPU (L'unità centrale di elaborazione, in sigla CPU (dal corrispondente termine inglese central processing unit), anche chiamata nella sua

implementazione fisica processore, è uno dei due componenti principali della macchina di von Neumann, il modello su cui sono basati la maggior parte dei moderni computer. Compito della CPU è quello di leggere i dati dalla memoria ed eseguirne le istruzioni; il risultato dell'esecuzione dipende dal dato su cui opera e dallo stato interno della CPU stessa, che tiene traccia delle passate operazioni. In informatica e elettronica, l'unità aritmetica e logica, in sigla ALU (acronimo del corrispondente termine inglese Arithmetic Logic Unit), è l'unità digitale preposta all'esecuzione di operazioni aritmetiche o logiche. Una CPU è un circuito digitale sincrono: vale a dire che il suo stato cambia ogni volta che riceve un impulso da un segnale di sincronismo detto clock, che ne determina di conseguenza la velocità operativa, detta velocità di clock : quindi il tempo di esecuzione di una istruzione si misura in cicli di clock, cioè in quanti impulsi di clock sono necessari perché la CPU la completi. ▪ Tastiera ▪ Lettore CD ▪ Masterizzatore ▪ Modem ▪ Stampante ▪ Scanner ▪ Cavi Il termine software (usato in ambito informatico) è un vocabolo della lingua inglese costituito dallʼunione di due parole, soft (morbido) e ware (manufatto, componente, oggetto). Sta ad indicare un programma o un insieme di programmi in grado di funzionare su un elaboratore. In alcune lingue romanze la parola con la radice latina programmatura è anche usata. INPUT/OUTPUT:

  • In Informatica viene definito Input , dall'Inglese immettere, uno o una sequenza di dati o informazioni, emessi per mezzo di una "Periferica di Input", successivamente elaborati. Il termine, approdato in Italia con la prima informatica degli anni sessanta indicava al contempo i dati di entrata e i supporti che li contenevano. Successivamente, in particolare con l'avvento delle metodologie di gestione per processo, si è diffuso in quasi tutti le discipline, anche non tecniche, nel senso più generale di insieme di elementi in entrata, per realizzare o produrre qualcosa. La fortuna del termine, insieme al suo opposto output, è stata la sua sinteticità e il fatto che era molto semplice schematizzare un qualsiasi processo (non necessariamente fisico, ma anche ad esempio decisionale) con tre soli simboli: una freccia in entrata, un riquadro, una freccia in uscita. Output , dall'inglese messo fuori, indica in senso stretto il risultato di una elaborazione ed in senso più ampio il risultato o l'insieme dei risultati prodotti. Il termine, nato in Italia con la prima informatica degli anni sessanta indicava al contempo i dati in uscita e i supporti che li contenevano.

Successivamente, in particolare con l'avvento delle metodologie di gestione per processo, si è diffuso in quasi tutti le discipline, anche non tecniche, nel senso più generale di insieme di elementi in uscita, come risultato o prodotto anche immateriale di un trattamento fisico o di una attività intelletuale di qualsiasi natura. La fortuna del termine, insieme al suo opposto input, è stata la sua sinteticità e il fatto che era molto semplice schematizzare un qualsiasi processo (non necessariamente fisico, ma per esempio decisionale) con tre soli simboli: una freccia in entrata, un riquadro, una freccia in uscita. MEMORIA - In ambito informatico la memoria è la parte del computer destinata a conservare informazioni per un certo periodo di tempo. La memorizzazione di informazioni in memoria, e il successivo recupero delle medesime, sono funzioni fondamentali nel funzionamento del computer. Una memoria può essere considerata astrattamente come una sequenza finita di celle in cui ogni cella contiene una sequenza finita di bit. Normalmente i bit sono gestiti a gruppi di otto, detti byte. Pertanto lo spazio fisico della memoria può essere immaginato come una sequenza di locazioni, ognuna contenente un byte. Ogni locazione è individuata da un preciso indirizzo, normalmente espresso tramite un numero intero positivo. La memoria informatica si può classificare secondo vari criteri: ▪ ordine di accesso (memorie ad accesso diretto o memorie ad accesso sequenziale); ▪ possibilità di scrittura (memorie a lettura-scrittura, memorie scrivibili una sola volta, memorie a sola lettura); ▪ velocità di lettura; ▪ velocità di scrittura; ▪ costo unitario; ▪ volatilità; ▪ tecnologia (elettronica, magnetica, ottica, magneto-ottica). Le memorie per computer possono usare varie tecnologie che forniscono prestazioni e costi molto variabili. Spesso per le memorie veloci ma dall'alto costo unitario si usa l'espressione "memoria centrale" o "memoria primaria", mentre per le memorie dal basso costo unitario ma lente si usa l'espressione "memoria di massa" o "memoria secondaria". ▪ RAM, l'acronimo per "random access memory", ovvero "memoria ad accesso casuale", è la memoria in cui vengono caricati i dati che devono essere utilizzati dal calcolatore per elaborare. La RAM può essere volatile (si cancella spontaneamente ed ha bisogno di essere aggiornata), statica o tamponata (mantiene l'alimentazione anche a macchina spenta). Il processore identifica le celle della RAM tramite indirizzi preassegnati che ne specificano la posizione: la memoria si presenta, quindi, come un enorme vettore (stringa ordinata di elementi detti byte, ciascuno individuabile con un indirizzo). Il termine "random" evidenzia che non ci sono differenze ad accedere alle varie celle della memoria. Le caratteristiche della RAM vengono ereditate anche da tutte le altre memorie ad accesso casuale (individuabili facilmente dal fatto che contengono RAM alla fine). Sostanzialmente le memorie RAM si suddividono in DRAM (dinamiche), SRAM statiche e che vengono utilizzate per la memoria cache. ▪ Cache RAM, una memoria associativa integrata nel processore, che ha la caratteristica di essere molto veloce; dato l'elevato costo, viene utilizzata esclusivamente per contenere i dati e le istruzioni utilizzati più di frequente (in modo da migliorare notevolmente le prestazioni del processore). ▪ ROM, l'acronimo per "read only memory", ovvero "memoria in sola lettura (o solamente leggibile)", è una memoria permanente (cioè ha un contenuto fisso che non può essere cancellato ed inoltre non è volatile), presente sulla scheda madre, che contiene le istruzioni che la CPU deve caricare per consentire l'avvio del sistema e le routine di base che prendono il nome di BIOS (Basic I/O System). ▪ EPROM, l'acronimo per "eresable programmable read only memory", ovvero "ROM cancellabile e programmabile", che è una memoria in sola lettura, ma ha la particolarità di poter essere cancellata in particolari condizioni. ▪ MRAM, l'acronimo per "magnetic ram", ovvero "RAM magnetica", è una memoria ad accesso casuale di "nuova generazione", che utilizza le proprietà del magnetismo, al posto di una serie di impulsi elettrici, per conservare le informazioni. La memoria di massa , racchiude tutti quei dispositivi che consentono all'utente la memorizzazione in modo permanente, cioè che consentono di contenere dati e programmi in modo stabile (una volta spento il processore i dati non vengono persi). ▪ I dischi magnetici, hard disk e i floppy disk ▪ I dischi ottici, CD, i CD-ROM e i DVD. ▪ I nastri magnetici, servono per svolgere funzioni di back-up e log es. streaming tape. ▪ La Flash memory, memoria elettronica non volatile di tipo EEPROM. Si presenta come Memory Card dall'ingombro ridotto.

INFORMATICA - Prof.ssa GALASSO

espressione viene valutata per produrre un valore, e la sua valutazione può produrre "effetti collaterali" sul sistema e/o sugli oggetti che vi partecipano. ▪ Strutture di controllo, che permettono di governare il flusso dell'esecuzione del programma, alterandolo in base al risultato di una espressione (che può ridursi al contenuto di una variabile, o essere anche molto complessa). ▪ Sottoprogramma: un blocco di codice che può essere richiamato da qualsiasi altro punto del programma. ▪ Strutture dati, meccanismi che permettono di organizzare e gestire dati complessi. Programmare in un dato linguaggio di programmazione significa generalmente scrivere uno o più semplici file di testo ASCII, chiamato codice sorgente. I font, i colori e in generale l'aspetto grafico sono irrilevanti ai fini della programmazione in sé: per questo i programmatori non usano programmi di videoscrittura ma degli editor di testo (come emacs e brief) che invece offrono funzioni avanzate di trattamento testi (espressioni regolari, sostituzioni condizionali e ricerche su file multipli, possibilità di richiamare strumenti esterni ecc). Se un dato editor è in grado di lavorare a stretto contatto con gli altri strumenti di lavoro (compilatore, linker, interprete ecc.: vedi più avanti) allora più che di semplice editor si parla di IDE o ambiente di sviluppo integrato. Va notato che alcuni linguaggi di programmazione recenti consentono anche una forma mista di programmazione, in cui alla stesura di codice sorgente ASCII si associano anche operazioni di programmazione visuale, attraverso le quali il programmatore descrive alcuni aspetti del programma disegnando a video attraverso il mouse; un'applicazione tipica di quest'ultima forma di programmazione è il disegno interattivo della GUI del programma (finestre, menù, e così via). La compilazione è il processo per cui il programma, scritto in un linguaggio di programmazione ad alto livello, viene tradotto in un codice eseguibile per mezzo di un altro programma detto appunto compilatore. La compilazione offre numerosi vantaggi, primo fra tutti il fatto di ottenere eseguibili velocissimi nella fase di run (esecuzione) adattando vari parametri di questa fase all'hardware a disposizione; ma ha lo svantaggio principale nel fatto che è necessario compilare un eseguibile diverso per ogni sistema operativo o hardware sul quale si desidera rendere disponibile l'esecuzione.

____________________________________________________________________________________

In informatica il sistema operativo , in sigla SO o OS (la seconda del sinonimo inglese "operating system"), è un insieme di subroutine e strutture dati responsabile del controllo e della gestione dei componenti hardware che costituiscono un computer e dei programmi che su di esso vengono eseguiti. Solitamente un sistema operativo mette a disposizione dell'utente un'interfaccia software (grafica o testuale) per accedere alle risorse hardware (dischi, memoria, I/O in generale) del sistema. Tale accesso dipende, sui sistemi che prevedono la multiutenza, dai privilegi di ogni utente. Il compito principale del sistema operativo è quello di permettere all'utente, umano o non, di interagire direttamente con la macchina. Un Sistema operativo è un software che fornisce all'utente una serie di comandi e servizi per fruire al meglio della potenza di calcolo di un qualsivoglia elaboratore elettronico, spaziando dal più piccolo dei palmari al più potente tra i Mainframe. I Sistemi Operativi nascondono tutti i dettagli tecnici legati allo specifico hardware e architettura rappresentando le informazioni ad un alto livello, meglio comprensibile dall'uomo. Microsoft Windows è una famiglia di sistemi operativi prodotta da Microsoft a partire dal 1985 per l'utilizzo su personal computer, ma esistono anche versioni di Windows specifiche per server e sistemi embedded. Più precisamente, le versioni a 16 bit non sono sistemi operativi ma ambienti operativi. Windows possiede la maggior parte del mercato dei sistemi operativi client (circa 90%)[1]. L'interfaccia grafica - GUI - graphic user interface [modifica] Windows è sin dall'origine un sistema operativo grafico, pensato per essere utilizzato con il mouse, e a differenza dei sistemi Unix l'interfaccia grafica è un componente essenziale non opzionale. Solo nelle prime versioni di Windows NT il sottosistema grafico operava in user mode, ma a partire dalla versione 4.0 è stato portato a livello kernel per motivi di prestazioni. Microsoft venne accusata di avere copiato l'interfaccia di Windows dal sistema operativo del Macintosh di Apple, il Mac OS, a sua volta ispirata a quella sviluppata dalla Xerox; Apple, tuttavia, aveva stipulato un regolare contratto con Xerox per poter utilizzare le sue risorse all'interno del progetto Macintosh. Per distribuire la prima versione di Windows, Microsoft ottenne una licenza da Apple. Tale versione tuttavia non disponeva della possibilità di avere finestre affiancate, che erano ancora una caratteristica pressoché esclusiva del Macintosh: per questo in Windows 1.0 le finestre occupavano sempre tutto lo schermo. In Windows 2.0 Microsoft introdusse le finestre affiancate e Apple citò in giudizio Microsoft. La causa legale si risolse, molti anni dopo, con una trattativa privata, i cui dettagli non sono completamente noti al pubblico. La shell di Windows fino alla versione 3.1 era divisa in diversi programmi: Executive nelle prime versioni e in seguito Program Manager e File Manager. Il grande passo avanti si ebbe con la shell Explorer di Windows 95 (in

INFORMATICA - Prof.ssa GALASSO

italiano Gestione risorse), caratterizzata in particolare dalla Barra delle applicazioni e dal Menu di avvio. Era inoltre presente un moderno Desktop, come quello presente da anni in altri sistemi operativi. Spesso il precursore di Explorer è considerata la shell di Acorn Archimedes del 1987 , che disponeva di un componente simile alla Barra delle applicazioni. In realtà qualcosa di simile era presente già in Windows 1.0, nel 1985. In ogni caso concetti quali il desktop, il cestino e la navigazione del file system per finestre erano presenti da anni, in varie forme, in altri sistemi operativi. Tuttavia Explorer fu il frutto di una lunga ricerca di ergonomia da parte di Microsoft, che studiò con l'ausilio di esperti il modo in cui gli utenti interagivano con il computer. La diffusione dell'uso del desktop nei personal computer, favorita almeno in parte dalla vasta diffusione di Windows, ha causato un cambiamento significativo nell'interazione tra computer e utente: con esso è possibile svolgere molti compiti (task in inglese) comuni e complessi con una minima conoscenza del computer. D'altro canto, l'interfaccia isola l'utente dai processi interni del sistema.

______________________________________________________________________________________

Algebra di Boole In matematica ed informatica, le algebre booleane, o reticoli booleani, sono strutture algebriche che rivestono una notevole importanza per varie ragioni:

  1. "catturano l'essenza" degli operatori logici AND, OR e NOT
  2. consentono di trattare in termini esclusivamente algebrici le operazioni insiemistiche dell'intersezione, dell'unione e della complementazione
  3. permettono di trattare in termini algebrici questioni riguardanti singoli bit (0 e 1), sequenze binarie, matrici binarie (e di conseguenza, attraverso le loro matrici di incidenza i digrafi) e altre funzioni binarie (si tenga presente anche la nozione di funzione indicatrice)
  4. ogni algebra booleana, in quanto reticolo dotato di particolari proprietà, risulta criptomorfa (cioè associata biunivocamente e in modo da risultare logicamente equivalente) ad un insieme parzialmente ordinato reticolato. Inoltre ogni algebra booleana risulta criptomorfa ad un particolare tipo di anello, chiamato anello booleano. Questi collegamenti per criptomorfismo fra reticoli booleani, posets reticolati e anelli booleani è opportuno siano chiariti in modo completo: solo in questo modo si può avere un controllo completo di tutte le applicazioni delle algebre booleane (e delle strutture relazionali e di anello associate). Sono state definite da George Boole, un matematico inglese dell'University College di Cork, che per primo, verso la metà del XIX secolo le ha definite come componenti di un sistema logico. In particolare, l'algebra booleana era un tentativo di usare le tecniche algebriche per elaborare le espressioni nel calcolo proposizionale. Oggi, le algebre booleane trovano molte applicazioni, tra le quali la progettazione dei circuiti elettronici. In primo luogo sono state applicate alla commutazione da Claude Shannon negli anni intorno al 1940. Gli operatori dell'algebra booleana possono essere rappresentati in vari modi. Spesso sono scritti semplicemente come AND, OR e NOT. Nella descrizione dei circuiti, possono anche essere usati NAND (NOT AND), NOR (NOT OR) e XOR (OR esclusivo). In matematica spesso si usa + per OR e per AND (poiché per alcuni versi queste operazioni sono analoghe alla somma ed al prodotto in altre strutture algebriche), mentre si rappresenta il NOT con una barra segnata sopra l'espressione che viene negata. Qui useremo alternativamente la notazione "a parole" e quella comune (o ^ per i browsers che non supportano il precedente carattere) per AND, (o v) per OR ed (o ~) per NOT. Simbologia Gli operatori dell'algebra booleana possono essere rappresentati in vari modi, oltre a quello adottato in precedenza consistente nel servirsi dei loro nomi AND, OR, NOT. Le diverse simbologie sono scelte in base al campo in cui si lavora. I matematici usano spesso il simbolo + per l'OR, e × per l'AND, in quanto per alcuni versi questi operatori lavorano in modo analogo alla somma e alla moltiplicazione. La negazione NOT viene rappresentata spesso da una linea disegnata sopra l'argomento della negazione, cioè dell'espressione che deve essere negata. Nella progettazione di circuiti elettronici, vengono utilizzati anche gli operatori brevi NAND (AND negato), NOR (OR negato) e XNOR (XOR negato); questi operatori, come XOR, sono delle combinazioni dei tre operatori base e quindi non costituiscono un arricchimento della specie di strutture, vengono usati solo per rendere la notazione più semplice. Operatori: ▪ NOT - simboli alternativi: x, ~, ¬,! ▪ AND - simboli alternativi: AND: *, AND, ^, BUT (usato nella logica booleana insieme al NOT) ▪ OR - simboli alternativi: OR: +, OR, v ▪ XOR - simboli alternativi: XOR: +, ⊕, ∨, ^, EOR, orr ▪ NAND - simboli alternativi: NAND, ↑ ▪ NOR - simboli alternativi: NOR, ↓ ▪ XNOR Valori: ▪ vero - simboli alternativi: true, 1, ON, SI (YES) ▪ falso - simboli alternativi: false, 0, OFF, NO

▪ ogni possibile relazione tra elementi dello stesso insieme o di insiemi diversi verrà indicata tramite un archetto che indica fra quali elementi sussiste la relazione. L'informazione è ciò che, per un osservatore o un recettore posto in una situazione in cui si hanno almeno due occorrenze possibili, supera un'incertezza e risolve un'alternativa, cioè sostituisce il noto all'ignoto, il certo all'incerto. In altre parole, essa riguarda il contesto in cui i dati sono raccolti, la loro codifica in forma intelligibile ed in definitiva il significato attribuito a tali dati. La parola deriva dal sostantivo latino informatione(m) (confronta il verbo informare, nel significato di "dare forma alla mente", "disciplinare", "istruire", "insegnare"). Già in latino la parola veniva usata per indicare un "concetto" o un'"idea", ma non è chiaro se questa parola possa avere influenzato lo sviluppo della parola informazione. Inoltre la parola greca corrispondente era "μορφή" (morfè, da cui il latino forma per metatesi), oppure "εἶδος" (éidos, da cui il latino idea), cioè "idea", "concetto" o "forma", "immagine"; la seconda parola fu notoriamente usata tecnicamente in ambito filosofico da Platone e Aristotele per indicare l'identità ideale o essenza di qualcosa (vedi Teoria delle idee). Eidos si può anche associare a "pensiero", "asserzione" o "concetto".[1] Misura dell'informazione In una comunicazione, che avviene attraverso un dato alfabeto di simboli, l'informazione viene associata a ciascun simbolo trasmesso e viene definita come la riduzione di incertezza che si poteva avere a priori sul simbolo trasmesso. In particolare, l'informazione collegata ad un simbolo è definita come dove Pi è la probabilità di trasmissione di quel simbolo. La quantità di informazione associata ad un simbolo è misurata in bit. La quantità di informazione così definita è una variabile aleatoria discreta, il cui valor medio, tipicamente riferito alla sorgente di simboli, è detto entropia della sorgente, misurata in bit/simbolo. La velocità di informazione di una sorgente, che non coincide con la frequenza di emissione dei simboli, dato che non è detto che ogni simbolo trasporti un bit di informazione "utile", è il prodotto dell'entropia dei simboli emessi dalla sorgente per la frequenza di emissione di tali simboli (velocità di segnalazione). Quanto sopra può essere generalizzato considerando che non è assolutamente obbligatorio che ogni simbolo sia codificato in maniera binaria (anche se questo è ciò che accade più spesso). Quindi l'informazione collegata ad un simbolo codificato in base a è per definizione pari a con Pi pari alla probabilità di trasmissione associata a quel simbolo. L'entropia della sorgente è per definizione pari alla sommatoria, estesa a tutti i simboli della sorgente, dei prodotti tra la probabilità di ciascun simbolo e il suo contenuto informativo. Nei casi particolari in cui a sia 10 l'entropia della sorgente è misurata in hartley, se invece a è pari al Numero di Eulero e si misura in nat. Codifica dell'informazione La codifica dell'informazione consiste nel trasformare una informazione generica in una informazione comprensibile da un dispositivo o che sia adatta alla successiva elaborazione. Il primo problema da affrontare nei processi di elaborazione dell'informazione è la rappresentazione dell'informazione. L'informazione consiste nella ricezione di un messaggio tra un insieme di possibili messaggi. La definizione esatta è che l'informazione si rappresenta usando un numero finito di simboli affidabili e facilmente distinguibili. All'interno delle apparecchiature digitali l'informazione è rappresentata mediante livelli di tensione o mediante magnetizzazione di dispositivi appropriati. Le richieste di affidabilità ci impongono che tali simboli per una maggiore efficienza siano due o al massimo tre: nel primo caso si hanno solo 0 e 1, corrispondenti a 2 livelli di tensione (standard TTL: 0/5 V; standard RS-232: +12 / -12 V) che vanno a formare la numerazione binaria; nel secondo caso si ha un terzo stadio che è indicato come HZ (alta impedenza) che non è altro che un livello indeterminato causato dal filo "scollegato". BIT - In informatica ed in teoria dell'informazione, la parola bit ha due significati molto diversi, a seconda del contesto in cui rispettivamente la si usa: ▪ un bit è l'unità di misura dell'informazione (dall'inglese "binary unit"), definita come la quantità minima di informazione che serve a discernere tra due possibili alternative equiprobabili. ▪ un bit è una cifra binaria, (in inglese "binary digit") ovvero uno dei due simboli del sistema numerico binario, classicamente chiamati zero (0) e uno (1); La differenza di significato tra le due definizioni, può riassumersi con una frase come: "la ricezione degli ultimi 100 bit (simboli binari) di messaggio ha aumentato la nostra informazione di 40 bit (quantità di informazione)" (la quantità di informazione portata da un simbolo dipende dalla probabilità a priori che si ha di riceverlo). Il bit come quantità di informazione [modifica] In questo contesto, un bit rappresenta l'unità di misura della quantità d'informazione. Questo concetto di bit è stato introdotto dalla teoria dell'informazione di Claude Shannon nel 1948 , ed è usato nel campo della compressione dati e delle trasmissioni numeriche.

Intuitivamente, equivale alla scelta tra due valori (sì/no, vero/falso, acceso/spento), quando questi hanno la stessa probabilità di essere scelti. In generale, per eventi non necessariamente equiprobabili, la quantità d'informazione di un evento rappresenta la "sorpresa" nel constatare il verificarsi di tale evento; per esempio, se un evento è certo, il suo verificarsi non sorprende nessuno, quindi il suo contenuto informativo è nullo; se invece un evento è raro, il suo verificarsi è sorprendente, quindi il suo contenuto informativo è alto. Matematicamente, la quantità d'informazione in bit di un evento è l'opposto del logaritmo in base due della probabilità di tale evento. La scelta del numero 2 come base del logaritmo è particolarmente significativa nel caso elementare di scelta tra due alternative (informazione di un bit), ma è possibile usare anche e (numero di Nepero), usando dunque il logaritmo naturale; in tal caso l'unità di misura dell'informazione si dice "Nat". Nel caso di due eventi equiprobabili, ognuno ha probabilità 0,5, e quindi la loro quantità di informazione è -log2(0,5) = 1 bit. Se la probabilità di un evento è zero, cioè l'evento è praticamente impossibile, la sua quantità di informazione è infinita. Se la probabilità di un evento è uno, cioè l'evento è praticamente certo, la sua quantità di informazione è -log2(1) = 0 bit. Se ci sono due possibili eventi, uno con probabilità 25% e l'altro con probabilità 75%, il verificarsi del primo evento convoglia l'informazione di -log2(0,25) = 2 bit, mentre il verificarsi del secondo evento convoglia l'informazione di -log2(0,75) =~ 0,415 bit. Il contenuto informativo (o entropia) di un generatore di eventi (detto "sorgente") è la media statistica dei contenuti informativi di ogni possibile valore, ovvero la somma delle informazioni pesate per la probabilità del corrispondente valore. Il bit come numero binario In questo contesto il bit rappresenta l'unità di definizione di uno stato logico. Definito anche unità elementare dell'informazione trattata da un elaboratore. La rappresentazione logica del bit è rappresentata dai soli valori { 0 , 1 }. Ai fini della programmazione è comune raggruppare sequenze di bit in entità più vaste che possono assumere valori in intervalli assai più ampi di quello consentito da un singolo bit. Questi raggruppamenti contengono generalmente un numero di stringhe binarie pari ad una potenza binaria, pari cioè a 2n; il più noto è il byte (chiamato anche ottetto), corrispondente ad 8 bit, che costituisce l'unità di misura più utilizzata in campo informatico. Un byte , il cui nome deriva dalla parola inglese "bite" (boccone)[1], è una sequenza di bit, il cui numero dipende dall'implementazione fisica della macchina sottostante. Per convenzione negli ultimi anni lo si intende formato da 8 bit, ed è pertanto in grado di assumere 28 = 256 possibili valori. Gli informatici di lingua francese utilizzano il più preciso termine octet (ovvero ottetto): distinzione utile soprattutto quando erano ancora diffusi computer con byte di dimensione diversa. I valori dei multipli del Byte rispetto ad esso Bit (b): 1 bit (=1/8 B) Byte (B): 8 bit Kilobyte (KB): 1024 B Megabyte (MB): 1024 KB, 1048576 B Gigabyte (GB): 1024 MB, 1048576 KB, 1073741824 B Terabyte (TB): 1024 GB, 1048576 MB, 1073741824 KB, 1099511627776 B Petabyte (PB): 1024 TB, 1048576 GB, 1073741824 MB, 1099511627776 KB, 1125899906842624 B Il sistema numerico binario è un sistema numerico posizionale in base 2, cioè che utilizza 2 simboli, tipicamente 0 e 1, invece dei 10 del sistema numerico decimale tradizionale. Di conseguenza, la cifra in posizione n (da destra) si considera moltiplicata per 2(n − 1) anziché per 10(n − 1) come avviene nella numerazione decimale. Il sistema numerico binario è usato in informatica per la rappresentazione interna dei numeri, grazie alla semplicità di realizzare fisicamente un elemento con due stati anziché un numero di stati superiore, ma anche per la corrispondenza con i valori logici di vero e falso. Il sistema numerico esadecimale (spesso abbreviato come esa o hex) è un sistema numerico posizionale in base 16, cioè che utilizza 16 simboli invece dei 10 del sistema numerico decimale tradizionale. Per l'esadecimale si usano in genere simboli da 0 a 9 e poi le lettere da A a F, per un totale di 16 simboli. ASCII è l'acronimo di American Standard Code for Information Interchange (ovvero Codice Standard Americano per lo Scambio di Informazioni), pronunciato in inglese askey /ˈæski/, mentre in italiano è comunemente pronunciato asci /ˈaʃʃi/. È un sistema di codifica dei caratteri a 7 bit[1] comunemente utilizzato nei calcolatori.

INFORMATICA - Prof.ssa GALASSO

Esistono varie forme di iterazione; le più conosciute sono il MENTRE (in inglese: while..do), il RIPETI (in inglese: repeat..until o do..while), ed il PER (comunemente detto Ciclo for). Il "ciclo infinito", o "loop infinito", è spesso dovuto ad un errore di programmazione, mentre alcune tecniche di programmazione soprattutto con microcontrollori è utilizzato per iterare infinitamente all'interno del programma. Editor è il termine inglese utilizzato per indicare i programmi di composizione di testi. Dunque una traduzione non letterale in italiano potrebbe essere compositore. Un semplice editor è generalmente incluso in ogni sistema operativo. Scopo di un editor è facilitare la scrittura di un testo. Poiché la scrittura di un testo è pratica comune a parecchie attività, esistono editor di ogni sorta: dai semplici editor di testo (come ad esempio il Notepad di Microsoft) che consentono di scrivere testo puro, ovvero senza formattazione alcuna, ai più complessi programmi di videoscrittura (come ad esempio Word sempre di Microsoft) che, oltre alla battitura del testo, consentono di formattare, inserire immagini, produrre documenti, pagine web, opuscoli, articoli, eccetera e vengono propriamente chiamati elaboratori di testo. Vi sono poi molte altre situazioni in cui è necessario scrivere e per le quali i due strumenti (editor di testo e programma di videoscrittura) risultano inadeguati. Ad esempio nella programmazione alcuni editor suggeriscono la sintassi e aiutano nel debug La catalogazione consiste nella classificazione, registrazione e descrizione di un bene culturale; lʼinsieme delle schede di catalogazione costituiscono un catalogo. Per catalogare vengono utilizzati degli standard specifici per ogni tipologia di bene catalogato: patrimonio archeologico, architettonico, storico artistico, librario, etnoantropologico. Il catalogo è un elenco ordinato e sistematico di più oggetti della stessa specie, come per esempio libri, opere d'arte, prodotti artigiani o industriali, con le indicazioni atte a individuarli e talora, come nei cataloghi di vendita, con il prezzo segnato. La Classificazione decimale Dewey (anche DDC, acronimo dalla dizione inglese Dewey Decimal Classification o Dewey Decimal System) è uno schema di classificazione, inizialmente rivolto all'ambiente bibliotecario, sviluppato da Melvil Dewey ( 1851 - 1931 ) nel 1876 , da allora più volte modificato ed espanso in occasione delle ventidue revisioni principali di cui è stato oggetto fino al 2004. Nelle biblioteche pubbliche si utilizza frequentemente un'edizione ridotta, dal momento che non servono notazioni molto specifiche. Punto di rilievo del sistema è la scelta di un impiego intelligente delle cifre decimali per le sue categorie. Ciò permette di mantenere puramente numerica la classificazione, facilitando la possibilità di ordinare e gerarchizzare in più modi le informazioni. Vi è anche la possibilità di realizzare una classificazione su più fronti diversi (faceted classification), combinando elementi da parti diverse della struttura e costruendo un numero che rappresenta nell'insieme un contenuto oggettivo (spesso a sua volta ottenuto combinando due argomenti collegando i numeri degli elementi geografici e temporali) e gli elementi formali di un oggetto. Questo tipo di classificazione è più efficiente rispetto all'uso di liste contenenti ogni singola classificazione e il relativo significato. Il tipo di classificazione, ad esclusione delle opere generali e della narrativa, è basato principalmente sull'argomento, con estensioni per le correlazioni, luoghi, tempo, tipo di opera, dando così luogo a classificazioni mai più brevi di tre cifre, ma di lunghezza indeterminata, con un punto che precede la quarta cifra, quando questa è presente. Per esempio 330 indica l'economia + 94 per l'Europa = 330.94 Economia europea; 973 per gli Stati Uniti + 005 che contraddistingue i periodici = 973.005, pubblicazioni periodiche in genere relative agli Stati Uniti; le classificazioni devono essere lette e ordinate come numeri: 050, 220, 330.973, 331 e così via. Il sistema utilizza dieci classi fondamentali, che a loro volta hanno ulteriori suddivisioni. Spesso si pensa erroneamente che tutti i libri possano essere classificati con il sistema Dewey tranne quelli di narrativa, mentre in realtà l'utilizzo di una sezione separata in molte biblioteche risponde ad esigenze di altro tipo. Se le regole di classificazione Dewey venissero seguite, la narrativa italiana, ad esempio, dovrebbe essere classificata come 853 (quella contemporanea con 853.914): la maggior parte delle biblioteche creano una sezione separata per la narrativa, dal momento che la presenza e la richiesta di libri al riguardo è numericamente molto elevata. La classificazione decimale Dewey è molto utilizzata nel sistema bibliotecario pubblico ed anche nelle librerie scolastiche in tutto il mondo, specialmente negli Stati Uniti, ma anche in Italia, dove è stata adottata dall'Istituto Centrale per il Catalogo Unico delle Biblioteche Italiane e per le Informazioni Bibliografiche per la classificazione centralizzata SBN. La classificazione ha sicuramente degli squilibri di ordine geografico che sono in qualche modo dovute alle origini del XIX secolo: Il solo Nord Africa, per esempio è classificato nell'intervallo 961-965, mentre il resto del continente ha solo 966-969. La copertura è largamente sbilanciata verso la religione cristiana a scapito delle altre religioni, dal momento che la prima copre le posizioni numeriche 200-289, mentre alle rimanenti rimane l'intervallo 290-299. Versioni recenti permettono ad un'altra religione di occupare le posizioni 200-289, relegando le pubblicazioni sulla religione cristiana all'ultimo intervallo della classe 200: 290-299, questa facoltà viene utilizzata prevalentemente per le biblioteche allestite da gruppi di religione non cristiana, spesso ad esempio nelle biblioteche ebraiche. I numeri utilizzati per il sistema di classificazione decimale Dewey hanno costituito la base per il sistema di Classificazione Decimale Universale, sviluppato da Paul Otlet e Henri La Fontaine, senz'altro più completo ma anche molto più difficile da utilizzare e che prevede, tra l'altro, la combinazione del sistema di base Dewey con

INFORMATICA - Prof.ssa GALASSO

della punteggiatura predefinita (virgole, punti, parentesi etc.). Nonostante le frequenti revisioni, il sistema Dewey viene classificato teoricamente inferiore rispetto ad altri sistemi più moderni che fanno uso dei caratteri alfanumerici, ma la diffusione e l'espressività del formato decimale ne fanno uno strumento molto utilizzato, anche rispetto a sistemi alternativi, anche sviluppati in periodi successivi, come ad esempio la Classificazione della Library of Congress in uso presso la Biblioteca del Congresso negli Stati Uniti d'America. Il Codice ISBN (International Standard Book Number) è un codice numerico (salvo l'ultima cifra che può anche essere una lettera X) usato internazionalmente per la classificazione dei libri. È definito da uno standard ISO, derivato dallo standard SBN inglese del 1967. Ogni codice ISBN identifica un'edizione di un libro (escluse le semplici ristampe). Il codice ISBN è formato da una stringa di 13 cifre, divise in 5 settori:

  1. Gruppo EAN - sono tre cifre introdotte nell'ISBN-13 per ampliarne i numeri usufruibili
  2. Gruppo - identificativo del paese, dell'area o del linguaggio, composto da 1 a 5 cifre
  3. Editore - identificativo della casa editrice, composto da 1 a 7 cifre
  4. Titolo - identificativo del libro, composto da 1 a 6 cifre
  5. Controllo - una cifra da 0 a 10 (quest'ultimo indicato però dalla cifra romana "X") utilizzata per verificare che il codice non sia stato letto o trascritto erroneamente (cosa che può accadere specialmente quando si usano strumenti automatici come i lettori di codici a barre). La lunghezza delle prime due stringhe è inversamente proporzionale al numero di pubblicazioni, rispettivamente nel paese e dell'editore, mentre la terza è tanto più grande quanti più libri si pubblicano. Ovviamente, la somma delle prime tre parti deve essere di 9 cifre. Ad esempio, il primo campo è 0 oppure 1 per la lingua inglese, 3 per gli editori tedeschi, 982 per l'area Sud Pacifico; il prefisso corrispondente ai libri in lingua italiana è 88. L'ISSN (International Standard Serial Number) è il numero internazionale che identifica pubblicazioni in serie come quotidiani e periodici stampati o elettronici, e permette di standardizzare le classificazioni, ad esempio nelle biblioteche. L'ISSN si differenzia dall'ISBN dei libri ed è attribuito da specifici organismi. L'ISSN è regolato dal testo ISO 3297 (ICS n° 01.140.20) del 1975. Un ipertesto è un insieme di documenti messi in relazione tra loro tramite parole chiave. Può essere visto come una rete; i documenti ne costituiscono i nodi. La caratteristica principale di un ipertesto è che la lettura può svolgersi in maniera non lineare: qualsiasi documento della rete può essere "il successivo", in base alla scelta del lettore di quale parola chiave usare come collegamento. È possibile, infatti, leggere all'interno di un ipertesto tutti i documenti collegati dalla medesima parola chiave. La scelta di una parola chiave diversa porta all'apertura di un documento diverso: all'interno dell'ipertesto sono possibili praticamente infiniti percorsi di lettura. L'ipertesto informatico è la versione di ipertesto più usata e più diffusa oggi. Il computer ha automatizzato il passaggio da un documento all'altro. I documenti sono leggibili a video grazie a un'interfaccia elettronica, le parole chiave in esso contenute appaiono marcate (sottolineate oppure evidenziate, ecc) in maniera da renderle riconoscibili. L'azione del clic con il mouse su una parola chiave ha come conseguenza l'apertura di un altro documento. Quindi le parole chiave funzionano come collegamenti ipertestuali (hyperlink in inglese). Il memex è un calcolatore analogico dotato di un sistema di archiviazione, ideato dallo scienziato e tecnologo statunitense Vannevar Bush negli anni trenta e mai realizzato, da molti considerato il precursore del personal computer e degli ipertesti. As We May Think (lett. "Come potremmo pensare" Il progetto Xanadu ( in onore del poema Kubla Khan di Samuel Taylor Coleridge) è stato il primo progetto di ipertesto. Fondato nel 1960 da Ted Nelson, il progetto, secondo il suo sito web, è in contrasto con la concezione di ipertesto cartaceo: "I software più utilizzati di oggi simulano i supporti cartacei. Il World Wide Web (un'altra imitazione cartacea) banalizza il nostro modello di ipertesto originale con collegamenti monodirezionali in continua interruzione e senza possibilità di gestione della versione o dei contenuti." La Wired lo ha definito la "più lunga storia di vaporware nella storia dell'industria informatica". Il primo tentativo di implementazione è iniziato nel 1960, ma il software completo fu rilasciato soltanto nel 1998. Il World Wide Web (nome di origine inglese), in sigla WWW, più spesso abbreviato in Web,[3] anche conosciuto come Grande Ragnatela Mondiale,[4] è un servizio di Internet[5] consistente in un insieme vastissimo di contenuti multimediali e di servizi accessibili a tutti o ad una parte selezionata degli utenti di Internet. Caratteristica principale del Web è che i suoi contenuti e i suoi servizi possono essere resi disponibili dagli stessi utenti di Internet.[6] Per quanto riguarda i contenuti quindi, essendo Internet una rete di computer ad accesso pubblico, il Web possiede la straordinaria peculiarità di offrire a chiunque la possibilità di diventare editore e, con una spesa estremamente esigua, di raggiungere un pubblico vastissimo distribuito in tutto il mondo.[7]

System" o "DBMS"). Uno dei vantaggi di questi sistemi è la possibilità di non agire direttamente sui dati, ma di vederne una rappresentazione concettuale. Le basi di dati possono avere varie strutture, tipicamente, in ordine cronologico:

  1. gerarchica (rappresentabile tramite un albero - anni sessanta),
  2. reticolare (rappresentabile tramite un grafo - anni sessanta),
  3. relazionale (attualmente il più diffuso, rappresentabile mediante tabelle e relazioni tra esse - anni settanta),
  4. ad oggetti (estensione alle basi di dati del paradigma "Object Oriented", tipico della programmazione a oggetti - anni ottanta),
  5. semantica (rappresentabile con un grafo relazionale - inizio anni duemila). La funzionalità di un database dipende in modo essenziale dalla sua progettazione: la corretta individuazione degli scopi del database e quindi delle tabelle, da definire attraverso i loro campi e le relazioni che le legano, permette poi una estrazione dei dati più veloce e, in generale, una gestione più efficiente. Linguaggi per basi di dati ▪ Data Definition Language (DDL) - consente di definire la struttura della base di dati e le autorizzazioni per l'accesso. ▪ Device Media Control Language (DMCL) - permette alla struttura fisica del database di far riferimento alle particolari unità di memoria di massa utilizzate dal sistema. ▪ Data Manipulation Language (DML) - consente di interrogare e aggiornare le istanze della base di dati. ▪ Data Control Language (DCL) - permette la gestione dell'accesso al database con relative restrizioni di operazioni come aggiornamento, selezione e cancellazione. ▪ Query language (QL) - permette di interrogare il database al fine di ritrovare i dati relativi alla chiave di ricerca impostata dall'utente. Inoltre è possibile suddividere i linguaggi come: ▪ Linguaggi testuali interattivi, come l'SQL, di cui sono stati pubblicati diversi standard, che attualmente è il linguaggio più utilizzato. ▪ Linguaggi testuali interattivi immersi in linguaggi di programmazione comuni, quali C, Basic ecc. ▪ Linguaggi testuali interattivi immersi in linguaggi di programmazione proprietari. ▪ Linguaggi grafici e user-friendly, come QBE (Query By Example), che possono essere utilizzati anche dai meno esperti. Tra i più diffusi DBMS open source troviamo, in ordine alfabetico: ▪ Firebird SQL ▪ MySQL ▪ PostgreSQL I più diffusi sistemi commerciali sono: ▪ IBM DB ▪ Microsoft SQL Server ▪ Oracle In informatica, un Database Management System (abbreviato in DBMS) è un sistema software progettato per consentire la creazione e manipolazione efficiente di database (ovvero di collezioni di dati strutturati) solitamente da parte di più utenti. I DBMS svolgono un ruolo fondamentale in numerose applicazioni informatiche, dalla contabilità, la gestione delle risorse umane e la finanza fino a contesti tecnici come la gestione di rete o la telefonia. Se in passato i DBMS erano diffusi principalmente presso le grandi aziende e istituzioni (che potevano permettersi l'impegno economico derivante dall'acquisto delle grandi infrastrutture hardware necessarie per realizzare un sistema di database efficiente), oggi il loro utilizzo è diffuso praticamente in ogni contesto. L'espressione applicazione enterprise, che nel gergo informatico si riferisce ad applicazioni legate al business delle aziende che le utilizzano, implica quasi "per definizione" la presenza di una o più basi di dati amministrate da uno o più DBMS. La teoria dei database, e dei DBMS, rappresenta da sempre uno dei filoni più solidi e importanti dell'informatica. Un DBMS è differente dal concetto generale di applicazione sulle banche dati, in quanto è progettato per sistemi multi- utente. A tale scopo, i DBMS si appoggiano a kernel che supportano nativamente il multitasking e il collegamento in rete. Una tipica applicazione per la gestione dei database non includerebbe, infatti, tali funzionalità, ma si appoggerebbe al sistema operativo per consentire all'utente di fruirne dei vantaggi.