Computer: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica |
m v2.05 - Corretto utilizzando WP:WPCleaner (Wikilink uguali alla propria descrizione) |
||
Riga 1:
[[File:20080831-R0012506.JPG|
Un '''computer''' (pronuncia italiana: {{IPA|/komˈpjuter/}}<ref>{{Dipi|computer}}</ref>), in italiano anche noto come '''
Concepito come una [[macchina]] per automatizzare alcune capacità della [[mente]] umana, come ad esempio il [[calcolo (matematica)|calcolo]] e la capacità di [[memoria|memorizzazione]] potenziandone la portata e applicandole alla soluzione di particolari problemi [[scienza|scientifici]] e [[ingegneria|ingegneristici]],<ref>''Mente e Macchina'' - 1958, John Von Neumann</ref>
a partire dalla seconda metà del [[XX secolo]], evolve in macchina in grado di eseguire le elaborazioni dati più varie. Ci si riferisce comunemente al computer come ad un dispositivo [[elettronica|elettronico]] e [[Digitale (informatica)|digitale]], [[Programma (informatica)|programmabile]] [[General purpose|a scopo generico]], costruito secondo il modello teorico-computazionale della cosiddetta [[macchina di Turing]] e la cosiddetta [[architettura di von Neumann]], anche se oggi tuttavia il termine assume il significato più generico di sistema elettronico di elaborazione programmabile e [[General purpose|non programmabile]], includendo dunque una vasta gamma di tipologie di dispositivi:
sebbene i ''computer'' programmabili a scopo generico siano oggi i più diffusi, esistono infatti in specifici ambiti di applicazione modelli di computer dedicati a vari campi e settori come [[automazione]] industriale, [[domotica]], [[computer grafica]].
Nel corso della storia, l'implementazione tecnologica di questa macchina si è modificata profondamente sia nei meccanismi di funzionamento (meccanici, elettromeccanici ed elettronici), sia nelle modalità di rappresentazione dell'informazione ([[Computer analogico|analogica]] e [[digitale (informatica)|digitale]]) sia in altre caratteristiche ([[architettura (computer)|architettura]] interna, [[programmazione (informatica)|programmabilità]], ecc.). In questa forma e al pari della [[televisione]], esso rappresenta il mezzo tecnologico simbolo che
==
=== Etimologia ===
[[File:KayMcNultyAlyseSnyderSisStumpDifferentialAnalyzer.jpg|min|[[Analizzatore differenziale]]]]
Il termine ''computer'' è il [[Nomen agentis|nome d'agente]] del verbo [[lingua inglese|inglese]] ''to compute'', che deriva dal [[lingua francese|francese]] ''computer''.<ref>{{cita web|url=http://www.etymonline.com/index.php?term=computer|titolo=Online Etymology Dictionary |lingua= |data= |accesso=|}}</ref> L'etimo latino è composto da ''com = cum'' (insieme) e ''putare'' (tagliare, rendere netto – da cui ''potare'' in [[Lingua italiana|italiano]]) e significa propriamente: «confrontare (o comparare) per trarre la somma netta».<ref>[[Ottorino Pianigiani]], ''Vocabolario Etimologico'', Polaris, 1993 [http://www.etimo.it/?term=computare&find=Cerca Etimologia: computare;]</ref> In inglese, il termine indicava originariamente un essere umano,<ref>[http://plato.stanford.edu/entries/computing-history/ J. Copeland, ''The Modern History of Computing'']</ref> incaricato di eseguire dei calcoli. Il primo utilizzo nel senso moderno è attestato nel 1947,<ref>Oxford English Dictionary, s.v. "Computer"</ref><ref>M. Campbell-Kelly e W. Aspray, ''Computer: a history of the information machine'', Westview Press, Boulder, 2004, p.3</ref> ma bisognerà attendere la metà degli anni 1950 perché questa accezione diventi di uso comune (si notino, a questo proposito, i diversi acronimi dei computer [[Harvard Mark I|ASCC]] ed [[ENIAC]]).
===
[[File:Hollerith_card.jpg|min|[[Scheda perforata]]]]
Come per gran parte della terminologia [[informatica]], tra il termine [[lingua italiana|italiano]] «elaboratore» e il termine «computer» usato in [[Lingua inglese|inglese]], nel [[linguaggio comune]] prevale nettamente l'uso del termine «computer».<ref>«Anch'io gioco con le "net - parole"» - Intervista a Francesco Sabatini, Presidente dell'Accademia della Crusca [http://www.cititraduzioni.it/it/accademia_crusca.htm CITI Traduzioni | Cooperativa Italiana di Traduttori e Interpreti | Accademia della Crusca] {{webarchive|url=https://web.archive.org/web/20110920054532/http://www.cititraduzioni.it/it/accademia_crusca.htm |data=20 settembre 2011 }}</ref> In altre lingue europee accade diversamente: nella [[lingua francese]] si usa il termine ''ordinateur''; nella [[lingua spagnola]] si usano i termini ''computadora'' e ''ordenador''. La tendenza a usare parole inglesi è spesso biasimata in una diatriba sull'esterofilia della lingua italiana recente,<ref>[http://forum.corriere.it/scioglilingua/12-09-2008/esterofilia_linguistica-1114522.html Corriere della Sera.it - Scioglilingua - Forum]</ref><ref>[http://www.corriere.it/Rubriche/Scioglilingua/2004/14maggio.shtml Corriere della Sera.it - Scioglilingua]</ref> ma le proposte alternative, come il «computiere»<ref>Arrigo Castellani ''Morbus anglicus'', Studi linguistici italiani, n. 13, pp. 137-153</ref><ref>{{DOP|id=1017348|lemma=computiere}}</ref> del professore [[Arrigo Castellani]], [[Accademia della Crusca|accademico della Crusca]] e fondatore degli Studi Linguistici Italiani, non hanno riscosso sufficiente applicazione. Negli anni 1960 e 1970 è stato utilizzato anche il termine «ordinatore», oggi in disuso, [[calco linguistico]] sul francese ''ordinateur''.
In italiano esiste anche il termine «[[calcolatore]]», che però ha un significato più ampio: può indicare anche una macchina non automatizzata (come ad esempio un [[regolo calcolatore]]), oppure una macchina automatizzata in grado di eseguire esclusivamente semplici calcoli matematici (come ad esempio una [[macchina addizionatrice]]). Nel secolo scorso poteva indicare anche un essere umano: la figura di «calcolatore» era un ruolo presso alcuni osservatori astronomici italiani.
=== Storia ===
{{vedi anche|Storia del computer}}
[[File:AnalyticalMachine_Babbage_London.jpg|min|La [[macchina analitica]] di [[Charles Babbage]]]]
Il computer è la versione più evoluta di una serie di strumenti di calcolo inventati sin dall'antichità tra i quali l'[[abaco]], la [[macchina di Anticitera]], i [[bastoncini di Nepero]]; gli esemplari di macchine calcolatrici più famosi in [[età moderna]] sono forse la [[Pascalina|macchina di Pascal]] ([[1645]]) e la [[Stepped Reckoner|macchina di Leibniz]] ([[1672]]), ma va ricordata anche la [[Wilhelm Schickard#La macchina calcolatrice di Wilhelm Schickard|macchina calcolatrice di Wilhelm Schickard]], del [[1623]], della quale sono rimasti soltanto i progetti.
Il passaggio da macchina calcolatrice a vero e proprio computer (nel senso di dispositivo programmabile) si deve a [[Charles Babbage]]: la sua [[Macchina analitica]], progettata nel [[1833]], anche se mai realizzata, è considerato il primo esempio di computer della storia; si trattava di una colossale macchina a ingranaggi, alimentata a vapore e dotata di input, output, unità di [[Memoria (informatica)|memoria]], di unità di calcolo decimale con [[Registro (informatica)|registro]] dell'accumulo dei dati e di un sistema di collegamento tra le varie parti e contrariamente a quanto si potrebbe pensare, era interamente digitale.<ref>[http://www.history-computer.com/Babbage/AnalyticalEngine.html G. Dalakov, "The Analytical Engine of Charles Babbage"]</ref>
Nel corso dei decenni successivi il computer è passato attraverso vari stadi evolutivi: il computer analogico (ne è un esempio l'[[analizzatore differenziale]] di [[Vannevar Bush]] del [[1927]]), la [[macchina di Turing]], i computer digitali meccanici ed elettromeccanici (la Serie Z di [[Konrad Zuse]], la macchina di [[Stibitz]] e l'[[Harvard Mark I|ASCC]] di [[Howard Aiken]]) ed infine quelli digitali ed elettronici (l'[[Atanasoff Berry Computer|ABC]] di [[John Vincent Atanasoff]] e [[Clifford Berry]], l'[[ENIAC]] di [[John Presper Eckert]] e [[John Mauchly]], il [[Colossus]] britannico); nel corso del [[XX secolo]], inoltre, importanti progressi nel campo dell'[[elettronica]] - come il [[transistor]] e il [[circuito integrato]] - e dell'[[informatica]] hanno contribuito all'evoluzione del computer nella sua forma attuale passando da dispositivo elettronico presente solo in aziende e centri di ricerca a dispositivo ad uso comune e consumo di massa per gli utenti comuni.
== Descrizione ==
La componentistica ''[[hardware]]'', generalmente racchiusa all'interno di un contenitore denominato ''[[case (hardware)|case]]'', comprende la [[scheda madre]], la [[CPU]], l'[[alimentatore elettrico]], la [[RAM|memoria]] primaria e la [[memoria di massa]], più eventualmente altre [[Scheda elettronica|schede]] preposte a funzioni accessorie o complementari,<ref>P.e. la sezione audio e video può essere su scheda o integrata nella scheda madre o nella CPU.</ref> come ad esempio una o più [[scheda video|schede video]] o una [[scheda audio]].<ref>{{cita web|url=https://www.lifewire.com/what-is-a-computer-case-2618149|autore=Tim Fisher|titolo=What Is a Computer Case?|data=22 marzo 2018|accesso=27 maggio 2018|lingua=en}}</ref>
Sostanzialmente, i calcolatori si dividono in analogici e digitali:
* un [[calcolatore analogico]] è un tipo di calcolatore che elabora i problemi per analogia, o in termini più scientifici, per quantità [[Discreto e continuo|continue]];
* un [[calcolatore digitale]] è un tipo di calcolatore che elabora i problemi digitalizzando, ovvero le quantità che considera sono [[Discreto e continuo|discrete]].
I [[Dato|dati]] cioè, possono essere rappresentati in due modi, analogico o digitale:<ref name=":3">{{Cita libro|nome=Nell|cognome=Dale|nome2=John|cognome2=Lewis|titolo=Computer Science Illuminated|url=https://www.amazon.it/Computer-Science-Illuminated-Nell-Dale/dp/1284055914/ref=sr_1_1?ie=UTF8&qid=1506712564&sr=8-1&keywords=computer+science+illuminated|accesso=29 settembre 2017|edizione=6|data=31 dicembre 2014|editore=Jones & Bartlett Pub|lingua=en|ISBN=978-1-284-05591-7}}</ref> un dato analogico è una rappresentazione continua, analoga all'[[informazione]] effettiva che rappresenta, mentre un dato digitale è una rappresentazione discreta, che spezza l'informazione in elementi distinti poiché l'elaborazione viene eseguita per passi finiti (vedi ''[[algoritmo]]''). L'informatica, per come si è sviluppata, ha preso maggiormente in considerazione la seconda categoria di calcolatori. La prova è che i computer contemporanei funzionano secondo l'[[Algebra di Boole|algebra booleana]], ovvero la logica di funzionamento di un normale computer ammette due stati precisi, rappresentati dalle cifre 0 e 1. Esempi di calcolatori analogici odierni sono il [[Termometro a mercurio|termometro]] e l'[[orologio]] tradizionali: nonostante vi siano gli indicatori dei gradi o delle ore, in realtà essi non sono sufficienti per astrarre la posizione esatta del mercurio o delle lancette.<ref name=":3" /><ref>{{Cita libro|nome=Marisa|cognome=Addomine|nome2=Daniele|cognome2=Pons|titolo=Informatica. Ediz. arancione. Metodi e fondamenti. Per le Scuole superiori. Con DVD. Con espansione online|url=https://www.amazon.it/Informatica-arancione-fondamenti-superiori-espansione/dp/880831278X/ref=sr_1_2?s=english-books&ie=UTF8&qid=1506713131&sr=8-2&keywords=addomine+pons|accesso=29 settembre 2017|edizione=Arancione|data=13 gennaio 2014|editore=Zanichelli|ISBN=978-88-08-31278-5}}</ref> Il mercurio nel termometro sale con continuità lungo le tacche, mentre un termometro digitale calcola la temperatura secondo una [[logica binaria]] e discreta.
=== Struttura logica ===
{{vedi anche|Architettura (computer)}}
[[File:Von Neumann.gif|min|verticale=1.2|[[Architettura di von Neumann]]]]
La struttura logica del ''computer'' attuale può ricondursi alla presenza di almeno cinque elementi fondamentali o sottosistemi:
* [[CPU|Unità centrale di elaborazione]] (UCE o CPU, acronimo di ''Central Processing Unit'');
* [[Memoria (informatica)|Memoria]];
* [[Scheda elettronica|Schede elettroniche]] di espansione;
Riga 30 ⟶ 51:
* [[Bus (informatica)|Canale di comunicazione dei dati]] (o Bus).
Questo schema venne proposto per la prima volta dal matematico [[John von Neumann]] all'interno di uno scritto informale del 1945 noto come ''First draft of a report on the [[EDVAC]]'' e va sotto il nome di [[architettura di von Neumann]].<ref>{{cita web |url=http://qss.stanford.edu/~godfrey/vonNeumann/vnedvac.pdf
Va inoltre ricordato che von Neumann era stato profondamente influenzato da [[Alan Turing]],<ref>[http://www.turing.org.uk/turing/scrapbook/computer.html Alan Turing Scrapbook - Who invented the computer?]</ref>
Premesso il contributo degli altri progettisti dell'ENIAC e quello di Alan Turing, a von Neumann va il merito di aver approfondito, arricchito e messo a sistema gli spunti raccolti: motivo per il quale la struttura logica sopra indicata è oggi nota come [[architettura di von Neumann]].
=== Hardware, software, programmazione ===
{{vedi anche|Hardware|Software|Programmazione (informatica)}}
[[File:Operating system placement-it.svg|min|Livelli di astrazione ed [[esecuzione (informatica)|esecuzione]] dal [[software]] all'[[hardware]]]]
{{citazione | I computer sono inutili. Ti danno solo risposte | [[Pablo Picasso]] | 1964 }}
A differenza della [[mente]] umana, intesa come attività del [[cervello]], che è in grado di affrontare e risolvere problemi nuovi a mezzo di facoltà cognitive come [[intuizione]] e [[ragionamento]], il ''computer'', in quanto [[macchina]], pur partendo ugualmente da dei dati in ''input'', è invece un semplice ''esecutore'' di ordini, compiti o istruzioni impartite dall'esterno per risolvere determinati problemi d'interesse attraverso un [[algoritmo]] di risoluzione del problema stesso in modo tale che a partire da determinati input produca determinati output attraverso elaborazione degli stessi. Esso nasce dunque per eseguire ''[[programma (informatica)|programmi]]'' o applicazioni: un computer senza un programma da eseguire è inutile.
Il ''computer'', in quanto esecutore, ha dunque bisogno di essere istruito o [[programmazione (informatica)|programmato]] dall'esterno per mano competente di un [[programmatore]], il quale 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 [[paradigma di programmazione|paradigmi di programmazione]]. Queste parti immateriali che consentono l'utilizzo di ''programmi'' vengono comunemente chiamate ''[[software]]'' in contrapposizione all{{'}}''[[hardware]]'' che è invece la parte fisica ([[elettronica]]), nel senso di materiale e tangibile, degli elaboratori e che consente l'esecuzione dei programmi stessi. Tutto ciò che si può ottenere con l'utilizzo accoppiato di strumenti informatici o [[risorsa informatica|risorse]] ''hardware'' e ''software'' costituisce un'' '[[applicazione (informatica)|applicazione]]'' informatica. Tutto il resto, oltre ad ''hardware'' e ''software'', sono i [[dati]] presenti nella [[memoria (informatica)|memoria]] del computer, compresi all'interno di ''[[file]]'' e ''[[directory]]'' ed utilizzati in input dai programmi stessi per l'espletamento in ''output'' del particolare servizio richiesto dall'utente.
[[C (linguaggio)|C]]]]
Il programma o ''software'' di base di gran lunga più importante per un ''computer'' (se previsto nell'architettura generale), senza il quale la macchina non potrebbe funzionare, è il [[sistema operativo]], che si occupa di gestire la macchina, le sue risorse ''hardware'' e le altre applicazioni che vi sono eseguite.<ref>Rich Didday, ''Home computers: 2E10 Questions & answers'', Vol II: Software, Dilithium press, 1977 Forest Growe, Oregon</ref> Fornisce così all'utente un'[[interfaccia (informatica)|interfaccia]] (grafica o testuale) con la macchina gestendo o coordinando in maniera efficiente le operazioni di ''[[input/output]]'' comandando le rispettive [[periferica|periferiche di sistema]], gestendo le operazioni di esecuzione dei programmi applicativi assegnandovi di volta in volta le risorse ''hardware'' necessarie al processamento (''[[scheduler|scheduling]]'') e infine gestendo l'archiviazione e l'accesso ai dati memorizzati attraverso il cosiddetto [[file system]].
Dal punto di vista ''hardware'' il ''computer'', inoltre, è un [[sistema elettronico]] [[Digitale (informatica)|digitale]] (programmabile) che elabora cioè tutti i dati in formato digitale o numerico ovvero come sequenze di 0 e 1, corrispondenti a due livelli di [[tensione elettrica|tensione]] (alto e basso), corrispondenti a loro volta ai due stati fisici di interruttore aperto e chiuso. La logica elettronica interna di funzionamento è dunque basata sull'[[Algebra di Boole]]. Il linguaggio dell{{'}}''hardware'' è propriamente un [[linguaggio macchina]] ovvero sequenze di [[bit]] cui si associano per semplice codifica i linguaggi a più alto livello. L'immissione dei dati in input alla macchina elaboratrice è di tipo alfa-numerico decimale, per cui è necessaria un'operazione di traduzione o [[codifica]] delle informazioni in binario; viceversa per ottenere una visualizzazione in output dei risultati dell'elaborazione è necessaria una traduzione o [[codifica]] inversa da binario ad alfa-numerico decimale. Tale codice è generalmente il codice [[ASCII]].
A larghe linee la progettazione di sistemi di elaborazione a livello ''hardware'' ricade in massima parte nel campo dell'[[ingegneria informatica]] (la quale a sua volta afferisce conoscenze dall'[[ingegneria elettronica]]), mentre lo sviluppo software è affidato in massima parte al campo dell'[[informatica]] pura. Pur tuttavia i confini tra le due discipline non sono rigidi bensì spesso assai sfumati.
[[File:LibreOffice Writer 4.1.0.4 ITA.png|min|Un'[[applicazione (informatica)|applicazione]] di [[videoscrittura]] tipica di un PC]]
=== Modularità ed espandibilità ===
In termini molto generali, dal punto di vista della possibilità di modifica, aggiornamento, espansione e personalizzazione dell'architettura hardware di un computer vi possono essere i seguenti casi:
* nulla o assai limitata possibilità di intervento. È il caso, ad esempio, dei microcontroller, dei notebook (o dei derivati [[netbook]] e [[ultrabook]]), dei palmari, degli smartphone, dei tablet;<ref>Nel caso di prodotti realizzati da un costruttore che realizza contemporaneamente l'hardware e il sistema operativo specifico, la cosa è praticamente impossibile: basti pensare ad Apple.</ref>
* da buona a ottima possibilità di intervento. È il caso delle macchine server, delle workstation, dei personal di tipo desktop e simili. Per i server di tipo [[Blade server|blade]] la modularità e la scalabilità è la caratteristica peculiare dei sistemi di questo tipo.
Nel secondo caso occorre fare però un'altra distinzione:
* il computer è un pre-assemblato/marchiato da un fabbricante [[Original Equipment Manufacturer|OEM]] o da un'azienda [[system integrator]];
* il computer è il risultato di un "libero" assemblaggio di componenti prescelti, realizzato dall'utente (o da un assemblatore professionale per conto suo).
Nel caso di un "assemblato" la possibilità di espansione, modifica, personalizzazione, evoluzione, manutenzione, ecc. sono spesso molto ampie. Nel primo, invece, dipende dalla configurazione-architettura del sistema ma, in generale, è meno possibile del primo. Questo può dipendere da limitazioni di tipo fisico (hardware) ma anche software e/o imposte dall'OEM.
Occorre anche considerare che i computer (di qualsiasi genere ma vale soprattutto per quelli "chiusi" come notebook per non parlare degli smartphone o dei tablet) vengono realizzati e venduti dai fabbricanti con il sistema operativo (e tutta la parte software delle periferiche hardware) su licenza OEM. In questi casi è il produttore che mette a disposizione il software del sistema e gli aggiornamenti stessi: spesso e volentieri il software "originale" del produttore del singolo componente (o un'applicazione qualsiasi) non funziona sul computer in quanto il produttore OEM lo ha modificato e personalizzato per quello specifico modello/versione di computer (questo accade spesso anche per i driver). Quindi, in questi casi, non solo è difficile (o fisicamente impossibile) cambiare un componente hardware (nel senso di evoluzione non certo di sostituzione per guasto), ma non può essere neppure aggiornato il software di una periferica (costruita e venduta singolarmente da un produttore) se non quello distribuito dall'OEM dell'intero sistema.
È per questo che tutti i grandi produttori di computer invitano a scaricare il software e gli aggiornamenti unicamente dal proprio portale o mediante la funzione di ''update'' del dispositivo e quelli delle periferiche/accessori avvertono che il software (driver e strumenti) dei loro componenti potrebbe non funzionare su computer OEM.
Pertanto, sarebbe più corretto parlare di personalizzazione della '''configurazione''' del computer dovendo non solo considerare la possibilità di espansione/modifica dell'hardware ma anche del sistema operativo e del software (firmware, driver, applicazioni, ecc) in generale.
=== Parametri prestazionali ===
Parametri prestazionali di un computer sono le sue capacità di processamento e le sue capacità di memorizzazione. In linea di massima si identificano dunque i seguenti parametri:
Per la capacità di processamento:
* frequenza di [[clock]] del processore;
* architettura a [[8 bit]], [[16 bit|16]], [[32 bit]] o [[64 bit]] e [[multicore]];
Un parametro prestazionale di calcolo può essere anche la potenza di calcolo in [[MIPS (unità di misura)|MIPS]] oppure in [[FLOPS]] cioè il numero di operazioni in [[virgola mobile]] eseguite in un secondo dalla CPU (specie per computer a fini di calcolo scientifico), anche se tale parametro non tiene in conto delle operazioni in numeri interi comuni invece nei PC domestici.
Per la capacità di memoria:
* capacità della [[memoria primaria]] o centrale ([[RAM]]);
* capacità della [[memoria secondaria]] ([[memoria di massa]]);
A questi si associano valutazioni intorno alla qualità delle schede elettroniche che compongono l'hardware.
=== Applicazioni pratiche ===
In sostanza un ''computer'' è in grado di eseguire operazioni logiche come ad esempio [[calcolo (matematica)|calcoli]] numerici e storicamente è stato proprio il calcolo la prima forma di applicazione del computer ovvero il problema che ha spinto all'invenzione e alla realizzazione del computer stesso. Dalla nascita della struttura più elementare in seguito si sono sviluppati e succeduti molti tipi di computer, costruiti per svariati compiti, professionali e non, che, pur affinando sempre più il [[calcolo numerico]] fino ad arrivare al moderno [[calcolo scientifico ad elevate prestazioni]] grazie ai [[supercomputer|supercalcolatori]], vanno ben oltre offrendo applicazioni diffusissime all'utente comune come la [[videoscrittura]] in sostituzione delle vecchie macchine da scrivere e in generale applicazioni di [[office automation]], [[foglio di calcolo|fogli di calcolo]], creazione e gestione di [[database]], la [[Computer-aided design|progettazione assistita al calcolatore]], la [[computer grafica]], la [[simulazione]], sistemi elettronici di [[sistema di controllo|controllo]], applicazioni di [[diagnostica per immagini|diagnostica medica]], i [[videogiochi]] ecc.
=== Successo dei computer ===
[[File:Transistor Count and Moore's Law - 2011.svg|min|verticale=1.1|Crescita del numero di transistor per processori e previsione di Moore]]
Le chiavi di successo del computer sono dunque la grande ''potenza di elaborazione'' e la notevole capacità di ''memorizzazione'' che, in qualità di macchine, estendono le rispettive capacità umane di calcolo, processamento e memorizzazione consentendo una diminuzione sensibile dei tempi richiesti per la risoluzione di un problema dato o spesso la sua effettiva risoluzione, altrimenti non possibile. Ad essa si aggiunge la grande ''usabilità'' grazie al suo utilizzo in molti campi dell'elaborazione dati (vedi i [[sistema embedded|sistemi embedded]]) e, sul fronte del consumo di massa, allo sviluppo di innumerevoli applicazioni a favore di una vasta gamma di utenti e, nella maggior parte dei casi, anche la ''semplicità'' di utilizzo da parte dell'utente stesso grazie all'implementazione di sistemi di interfacciamento utente/macchina molto spesso di tipo ''[[user-friendly]]''.
* ''velocità'': la velocità di un processore è costantemente aumentata in linea con la ''[[legge di Moore]]'', stessa cosa dicasi per la capacità di [[memoria (informatica)|memorizzazione]];
* ''economicità'': il costo di un processore e del computer in toto è diminuito progressivamente nel tempo per motivi di ''economia di scala'';
* ''flessibilità'': facilità di configurazione e riconfigurare attraverso [[software]];
* ''scalabilità'': la dimensione dei programmi può crescere sino ai limiti della memoria o dello spazio di memorizzazione senza costi aggiuntivi.
== Architettura ==
{{vedi anche|Architettura (computer)|Architettura dei calcolatori}}
[[File:Motherboard diagram.svg|min|Schema interno di un PC ([[scheda madre]])]]
Un ''computer'', come premesso, non è altro che l'implementazione fisica, pratica, di una [[macchina di Turing]] universale, secondo l'architettura fisica ideata da [[John von Neumann|Von Neumann]].
Per quanto riguarda l'architettura hardware sono diffuse le [[architettura di un processore basato su registri generali|architetture dei processori basati su registri]] generali. A questo livello hardware e software viaggiano appaiati sullo stesso piano: le istruzioni elementari del processore (''[[Instruction set]]'') (salto, confronto, operazioni aritmetiche ecc.) sono definite in [[linguaggio macchina]], ovvero codificate in sequenze numeriche di bit; i linguaggi di programmazione a medio ed alto livello, cioè più vicini o familiari al nostro linguaggio naturale, si ottengono come ulteriori codifiche (tabelle di associazioni tra i nomi delle istruzioni) a partire dal linguaggio macchina stesso. Così accade che un qualunque [[software applicativo]] abbia un suo [[codice eseguibile|codice oggetto o eseguibile]] espresso in linguaggio macchina ed un suo [[codice sorgente]] espresso in linguaggio ad alto livello.
Una terza possibilità è l'[[assembly]]; questo particolare linguaggio è una "trascrizione" delle istruzioni base del processore in un linguaggio intelligibile (solitamente nel formato istruzione indirizzo, o istruzione valore, o altri - vedasi [[opcode]]). È possibile (per esempio) integrare l{{'}}''assembly'' in programmi in C (ma questo approccio non è sempre consigliabile anzi oggi è quasi del tutto abbandonato perché si preferisce scrivere programmi adattabili a più piattaforme, vedi voce "[[Portabilità]]"; linguaggio macchina ed assembly non sono mai portabili mentre esistono compilatori C [[multipiattaforma]]). Con l'evolversi dei sistemi operativi (eccezion fatta per l{{'}}''[[hacking]]'') i linguaggi a basso livello sono usati sempre meno, invece all'epoca del [[DOS]] e soprattutto degli ''home computer'' questo approccio veniva seguito spesso.
Un processore munito di memoria, dispositivi di ''input/output'' e ''bus'' di collegamento tra periferiche è dunque un "elaboratore" secondo la classica [[architettura di von Neumann|architettura generale di Von Neumann]].
All'architettura ''hardware'' si sovrappone l'[[Architettura (computer)|architettura software]], che comprende il [[sistema operativo]], cioè il sistema generale di gestione o coordinazione delle risorse ''hardware'' del ''computer'' e dei dati in esso immagazzinati. Le istruzioni base del sistema operativo fanno parte del [[instruction set|''set'' di istruzioni]] fondamentali del processore e, di conseguenza, sono definite anch'esse in [[linguaggio macchina]] e gestite dall'Unità di Controllo del processore. Le istruzioni del sistema operativo a livello utente, eventualmente interfacciate graficamente, sono anche qui ottenute tramite una codifica ad alto livello delle istruzioni base, espresse in linguaggio macchina, di gestione (pilotaggio) delle periferiche stesse, mascherando così ancora una volta il complesso funzionamento interno del computer.
L'insieme di architettura ''hardware'' (quindi il processore) e sistema operativo costituiscono la cosiddetta [[piattaforma (informatica)|piattaforma informatica]] del sistema essendo questi due elementi strettamente correlati. Al di sopra della piattaforma costituita da hardware e sistema operativo operano le [[applicazione (informatica)|applicazioni]] ovvero programmi che offrono un servizio all'utente appoggiandosi al sottostante sistema operativo.
=== Costituenti tipo di un calcolatore elettronico personale ===
{{vedi anche|Personal computer}}
[[File:Computer.tower.750pix.jpg|min|Case nero per [[Personal computer]] di tipo MiddleTower]]
=== Componentistica (hardware) ===
{{vedi anche|Hardware}}
La macchina elaboratrice è adagiata all'interno di un ''[[case (hardware)|cabinet]]'' o ''case'' e viene [[alimentazione elettrica|alimentata]] elettricamente da un'unità ([[alimentatore elettrico|alimentatore]]), interna o esterna che fornirà al sistema le giuste tensioni elettriche alle sue diverse componenti, nei termini della [[Potenza elettrica|potenza]] e stabilità richieste.
Dal punto di vista pratico e costruttivo tutti i computer di questa categoria, hanno almeno:
# una [[CPU]],
# una certa quantità di [[memoria primaria]] di lavoro, generalmente volatile ma piuttosto veloce, attualmente [[
# una certa quantità di [[memoria non volatile]]. Quest'ultima è suddivisa in:
## una piccola parte ([[Read only memory|ROM]], [[Programmable Read Only Memory|PROM]], [[EPROM]], [[EEPROM]] o [[Memoria flash|Flash]]) in cui è scritto il primo programma da eseguire all'avvio ([[Boot]]) 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]]''.
## una [[memoria di massa]], più capiente ma con velocità d'accesso più lenta.
==== Case e tipo di installazione ====
{{vedi anche|Case (hardware)}}
[[File:Mac Mini 2010.jpg|
Il componente forse meno essenziale, ma che caratterizza il calcolatore al primo colpo d'occhio è l'involucro, generalmente chiamato ''[[Case (hardware)|case]]'' nei ''personal computer'' e ''cabinet'' nei sistemi più grandi. Il telaio che meccanicamente sostiene la componentistica, l'apparato di raffreddamento generale, e l'involucro esterno caratterizzano e in parte differenziano i molti tipi di macchine finora viste.
Elemento fondamentale è il ''sistema di raffreddamento''. Attualmente molti calcolatori montano sistemi di raffreddamento sui singoli chip, come CPU e GPU o altri, i quali possono andare da una semplice alettatura per il raffreddamento ad aria, a [[Ventola#Ventole per apparecchiature elettroniche|ventole]], o a sistemi con circolazione di liquidi di raffreddamento. In aggiunta a questi, nel case del computer vengono predisposti ulteriori altri sistemi per la circolazione e l'espulsione dell'aria calda generata.
Nei ''cabinet'' dei ''mainframe'' e dei ''supercomputer'', il problema del raffreddamento è notevole, e l'energia in gioco spesa nell'implementarlo è una quota rilevante del costo del sistema.
Sistemi architetturalmente moderni o di piccole dimensioni riescono ad avere una generazione di calore talmente bassa da fare a meno di ventole od altre parti in movimento, con evidenti vantaggi, a pari dispersione termica, in termini di silenziosità o di consumi. Il telaio e l'involucro caratterizzano visivamente la macchina, e possono situarsi in un arco dimensionale che va dal computer palmare, alle armadiature dei grossi sistemi. Tali armadiature sono principalmente costituite da un telaio, con alloggiamenti di vari standard, che permettono la rimozione, spesso in attività, dei singoli componenti: schede processore, singolo cluster alloggiato in un ''[[Rack (informatica)|rack]]'', ed altro.
==== Alimentatore ====
{{vedi anche|Alimentatore elettrico}}
[[File:Pannello posteriore di un alimentatore tipico.jpg|min|Pannello posteriore di un alimentatore tipico su PC con presa d'aria, presa di alimentazione tripolare e [[interruttore]] ON-OFF]]
L'alimentatore è l'elemento che fornisce [[energia]] al PC, e nel caso delle versioni portatili può essere sostituito da alcune batterie. A seconda del tipo d'alimentatore il computer può avere lo spegnimento del tipo:
* ''Automatico'', lo spegnimento del computer avviene automaticamente al termine del processo ''software'' (tipico degli alimentatori [[ATX (standard)|ATX]])
* ''Manuale'', lo spegnimento deve avvenire manualmente sotto il comando della macchina (tipico degli alimentatori [[Advanced Technology|AT]])
L'efficienza dell'alimentatore non è costante, ma dipende dal carico, generalmente il rendimento massimo è ottenuto al 50% di carico massimo<ref>[https://www.tomshw.it/hardware/scegliere-lalimentatore-tutto-quello-che-devi-sapere/efficienza-efficienza-efficienza Efficienza, efficienza, efficienza!]</ref> e rimane buono con un range tra 25 e 80%, mentre generalmente al di sotto del 20% di carico il rendimento tende a ridursi velocemente, esiste anche una certificazione sull'efficienza degli alimentatori per poter garantire un livello minimo d'efficienza.<ref>[https://techprincess.it/alimentatore-pc-certificazione-80-plus-efficienza/ Certificazione 80 PLUS per gli alimentatori: l’efficienza è tutto?]</ref>
==== Scheda madre ====
{{
[[File:
In genere i tre componenti suddetti, escludendo solitamente la parte di memoria di massa, si trovano implementati fisicamente insieme sullo stesso circuito integrato o sulla stessa [[scheda elettronica]], che in questo caso viene detta [[scheda madre]] o ''mainboard'', o eventualmente in schede figlie o d'espansione direttamente inserite e spesso anche alimentate elettricamente dalla stessa scheda madre.
Attualmente, all'interno della CPU vi è anche una piccola quantità di memoria, detta memoria ''[[Cache]]''; questo tipo di memoria è una memoria veloce (ed anche molto costosa) nella quale vengono caricate tutte le informazioni e/o le [[istruzione (informatica)|istruzioni]] più frequentemente utilizzate ovvero elaborate dal [[processore]], per far fronte alla lentezza del ''[[Bus (informatica)|Bus]]'' di collegamento fra CPU e memoria [[RAM]];
Oltre ad eseguire programmi un computer deve anche poter comunicare con l'esterno ovvero con l'utente o con altri dispositivi: per questo sono sempre presenti un certo numero di [[interfaccia (informatica)|interfacce]] verso vari dispositivi dette periferiche di sistema quali ad esempio l'[[I/O]]. Quasi sempre, tranne nei casi di [[microcontrollori]] molto semplici, vi è infatti la possibilità di collegare una [[Tastiera (informatica)|tastiera]] e un dispositivo di visualizzazione ([[Monitor (video)|monitor]], [[stampante]], [[schermo]]). Inoltre un computer fa spesso uso di [[memoria di massa|memorie di massa]] per registrare dati e programmi a lungo termine liberando così spazio nella memoria [[RAM]] ed è quasi sempre possibile collegare ad esso periferiche esterne e/o '''[[scheda elettronica|schede elettroniche di espansione]]''' interne.
==== Unità centrale di elaborazione ====
{{vedi anche|CPU}}
[[File:Pentium d 820.jpg|min|Una moderna CPU]]
La CPU, sigla di ''[[Central Processing Unit]]'', è uno dei componenti della [[Architettura di von Neumann|macchina di von Neumann]], il più diffuso modello teorico-implementativo di [[processore]]. Si tratta di un [[circuito integrato]] riprogrammabile dall'utente tramite [[programma (informatica)|programma]] [[applicazione (informatica)|applicativo]] ed è il "cervello" vero e proprio del computer, ovvero il dispositivo che ha il compito di elaborare (''processing'') le informazioni (dati) provenienti dalla [[memoria centrale]] decodificando ed eseguendo le [[istruzione (informatica)|istruzioni]] operative in [[codice macchina]] del programma e appartenenti al set di istruzioni fondamentali specifiche della CPU ([[instruction set]]), oltre che coordinare le altre unità di processamento secondarie ([[coprocessore]]).
Si suddivide in [[Unità di Controllo]] (''Control Unit'') ed [[Unità aritmetica e logica|Unità Logico Aritmetica]] (ALU). La sua struttura o ''architettura'' è stata soggetta ad evoluzione nel tempo, integrando progressivamente quantità sempre maggiori di [[transistor]], arricchendosi di memoria interna detta [[cache]] di primo livello, aumentando la dimensione del [[bus dati]] e integrando più di una struttura esecutiva delle istruzioni, detta [[Pipeline dati|pipeline]], aumentando così il grado di 'parallelismo'. Nelle ultime versioni si hanno più CPU che coesistono insieme sullo stesso circuito integrato, detto quindi processore ''multicore'', ad esempio [[dual-core]], [[quad core]] o octa-core a seconda che ospiti due, quattro o otto processori in parallelo.
==== Memorie ====
{{vedi anche|Memoria (informatica)}}
[[File:4mbramvax.jpg|min|Vecchia memoria RAM (1986)]]
Oltre alla parte di memoria che per motivi architetturali attualmente ormai risiede all'interno della CPU, si notano:
* la memoria [[Read Only Memory|ROM]] che contiene il ''[[firmware]]'' ([[UEFI]] o [[BIOS]]) necessario all'avviamento (''[[boot]]'') del computer cioè del suo sistema operativo.
* la memoria di lavoro o memoria principale o [[memoria centrale]], adesso generalmente [[RAM]], molto veloce, ma con il problema di essere volatile: allo spegnimento della macchina il suo contenuto informativo viene perso. Le tecnologie attuali in ogni caso prevedono già in itinere memorie di lavoro permanenti. Per raffronto sull'evoluzione tecnologica, un "banco" [[RAM]] del 1986 con soli 4 MB di memoria è oggi talmente grande che, su quella stessa superficie di circuito stampato, si riesce facilmente a collocare l'intero circuito di un personal computer, compresi parecchi Gigabyte di memoria RAM.
* per questo ed altri motivi alla memoria centrale si affianca sempre un altro tipo di memoria, molto più lenta, ma capace di mantenere i dati ivi scritti per un tempo indefinito ovvero nel lungo periodo su desiderio dell'utente. Questa memoria viene detta [[memoria secondaria]], [[memoria di massa]] o memoria d'immagazzinamento secondario ed è costituita in genere da dischi magnetici (es. [[disco rigido]], [[floppy disk]]) o [[dischi ottici]] (es. [[CD]], [[DVD]]). Una promettente evoluzione è rappresentata dai [[disco a stato solido|supporti a stato solido]], detti anche SSD: sono molto simili alle [[schede di memoria]], hanno velocità di lettura più elevate rispetto ai dischi magnetici, ma attualmente sono molto costosi. In casi di applicativi che richiedono poca memoria vengono utilizzate le [[NVRAM]], particolari [[RAM]] non volatili, se si vuole la scrittura e riscrittura dei dati, le [[Read only memory|ROM]] se il programma non deve essere cambiato ([[firmware]]), o al massimo cambiato molto raramente (ROM cancellabili tramite [[Radiazione ultravioletta|raggi UV]] o [[tensione elettrica|tensioni]] predefinite). In generale i dati vengono scritti su queste memorie sotto forma di [[file]]: il modo in cui questi file sono logicamente organizzati e catalogati è detto [[file system]].
===
{{vedi anche|Scheda elettronica}}
Collegate tramite ''[[slot (elettronica)|slot]]'' e ''[[socket (elettronica)|socket]]'' alla scheda madre (e quindi alla CPU) sono le ''schede di espansione'' che costituiscono dunque le [[periferica|periferiche]] interne del ''computer''. Tra queste la più importante è la [[scheda video]] che è l'elemento hardware che si occupa dell'[[elaborazione delle immagini]] e della loro visualizzazione sul ''[[monitor (video)|monitor]]''. Altre schede d'espansione sono la [[scheda audio]], la [[scheda di rete]], la [[Bluetooth|scheda Bluetooth]], la [[Wi-Fi|scheda Wi-Fi]] e la [[scheda di memoria]].
La suddivisione del carico elaborativo tra CPU e le altre schede elettroniche ha fondamentalmente ragioni storiche e pratiche di [[affidabilità]] e [[manutenibilità]] del sistema elettronico: le funzionalità di elaborazione secondarie storicamente sono state infatti aggiunte in seguito ai primi processori in grado di compiere le sole operazioni logico-matematiche ed il malfunzionamento di una o più schede non inficia il funzionamento dell'unità centrale oltre alla possibilità di essere sostituite senza dover sostituire l'intero sistema.
==== Periferiche di Input-Output ====
{{vedi anche|Periferica}}
[[File:Belinea-monitor19crt.jpg|min|Vecchio [[Monitor (computer)|Monitor]] a [[tubo catodico]] per PC]]
Alle schede elettroniche o periferiche interne si aggiungono i cosiddetti dispositivi di [[I/O]] necessari per comunicare in input con la macchina impartendo istruzioni e visualizzare all'utente i risultati dell'elaborazione. Tra questi dispositivi ricordiamo la [[Tastiera (informatica)|tastiera]], il ''[[monitor (video)|monitor]]'', i [[lettore CD|lettori CD]] e ''[[floppy-disk]]'', la [[stampante]], il ''[[modem]]'', le [[cassa audio|casse audio]], lo ''[[scansionatore d'immagine|scanner]]'', le cuffie, i [[supporto di memorizzazione|supporti di memorizzazione]] secondaria quali ''[[hard disk]]'', ''floppy disk'', [[CD]], [[chiave USB]] ecc. Tutti questi dispositivi sono detti anche [[periferica|periferiche]] di sistema.
==== Bus di sistema ====
{{
[[File:ST-506 MFM Twin Cables.xcf|min|Esempio di collegamento a [[bus (informatica)|bus]]]]
Il computer non potrebbe funzionare senza il bus di sistema. Questo è infatti il collegamento ([[trasmissione parallela|parallelo]]) fra le varie componenti di un computer: CPU, [[chipset]], [[scheda video]], [[Periferica|periferiche]], eccetera.
Esistono 3 tipi fondamentali di bus che, assieme, formano il ''bus di sistema'':
* ''Bus indirizzi'';
* ''Bus dati'';
* ''Bus controlli''.
Le periferiche esterne possono essere collegate al bus di sistema mediante le interfacce fornite dal costruttore (nel caso di componenti di facile integrazione), o mediante interfacce proprietarie nel caso di componenti particolari o non integrati nel proprio sistema (scheda madre). Questi componenti sono detti '''[[scheda d'espansione|schede di espansione]]''' e si collegano direttamente in alloggiamenti ('''[[slot (elettronica)|slot]]''') della scheda madre
Alcuni tipi di interfacce a "Slot":
[[File:PCI und PCIe Slots.jpg|min|2 slot PCI Express e 2 slot PCI a 32 Bit]]
* [[Industry Standard Architecture|ISA]]
* [[EISA]]
Riga 220 ⟶ 235:
* [[Peripheral Component Interconnect|PCI]]
* [[PCI Express]]
* [[PCI
* [[Accelerated Graphics Port|AGP]]
* [[VMEbus]]
* [[S-100]]
Riga 228 ⟶ 243:
* [[MBus]]
* [[SBus]]
* [[Micro Channel]]
==== Interfacce generiche ====
Esistono un certo numero di [[interfaccia (informatica)|interfacce]] generiche, adatte a molti scopi, che in genere i costruttori hanno cura di implementare sempre nei ''computer'' che producono, per aumentarne la versatilità. In genere le specifiche per queste interfacce sono standard pubblici, stabilite da enti come l'[[IEEE]] o l'[[ISO]].
[[File:
* [[RS232]] (interfaccia seriale);
* [[RS432]];
* [[Porta parallela|Centronics]] (interfaccia parallela);
[[File:Parallelport.jpg|verticale=0.5|min|Porta parallela (Centronics)]]
* [[IEEE 488]];
* [[Small Computer System Interface|SCSI]] (disco rigido, [[CD-ROM]], [[Scansionatore d'immagine|scanner]] e altri);
* [[Advanced Technology Attachment|ATA]] (o IDE, PATA, EIDE per [[disco rigido]] e ottici);
* [[Serial ATA|SATA]] (per SSD, dischi rigidi e ottici);
* [[eSATA]] (SATA per dispositivi esterni);
* [[IEEE 1394]] o [[Firewire]] esterno espandibile, capace di fornire alimentazione ai dispositivi, in
[[File:Firewire.jpg|min|Porte firewire 400]]
[[File:I-Link.jpg|min|Porta firewire 800]]
* [[Porta PS/2|PS/2]] ([[Tastiera (informatica)|tastiera]] e [[mouse]]);
[[File:Ps-2-ports.jpg|min|Porte PS2]]
* [[Apple Desktop Bus|ADB]] per tastiere, mouse e simili dispositivi di controllo;
* [[SHUGART]] (per [[floppy disk]]);
* [[USB]] (Universal Serial Bus, o bus seriale universale in italiano, esterno espandibile, in
[[File:Electronics---Connector---USB-Female---Detailed---(Gentry).jpg|min|Porta USB]]
* [[HDMI]] (High Definition Multimedia Interface).
=== Note tecniche ===
[[File:Xserve G5.png|
Questa descrizione è da riferirsi solamente alla scheda di sistema di alcuni personal computer da tavolo, principalmente quelli più diffusi. Tutti i dispositivi diversi, tipo i [[computer mobile|computer mobili]] come i [[carputer]], [[palmtop]], [[Smartphone]], [[Netbook]], [[UMPC]], [[Console (videogiochi)|console per videogiochi]] e tutti gli altri dispositivi informatici alternativi possono presentare un'architettura interna anche notevolmente differente. I [[computer portatili]], ad esempio, per esigenze di spazio possono integrare il ''chipset'' in altri componenti (o viceversa). Le console per videogiochi sono sprovviste di [[BIOS]]: una serie di ''sub-routine'' necessarie per l'avvio sono memorizzate ed automaticamente eseguite direttamente da un unico integrato.
Inoltre alcuni ''computer'' di vecchia generazione (e tutte le console per videogiochi, anche le più moderne) integrano la CPU direttamente saldate sulla scheda madre e quindi non rimovibile. Altri dispositivi invece (come ''[[supercomputer]]'', ''[[workstation]]'' e ''[[server]]'') possono integrare sulla scheda madre due o più ''[[Socket (elettronica)|socket]]'' per l'installazione di più CPU (per sistemi multiprocessore) oppure più schede madre per ottenere configurazioni avanzate basate su sistemi con centinaia o anche migliaia di CPU che funzionano in contemporanea.
Nel [[1995]], nel campo dei sistemi basati su processori IBM/Motorola, schede madre della classe ''Tsunami'', progettate per i processori [[PowerPC 604]] e successivi erano dotate di slot per ''daughtercard'' o scheda figlia, a singolo o multiplo processore essendone anch'esse sprovviste. Ugualmente, alcune schede
== Tipi di computer ==
[[File:Eniac.jpg|min|L'[[ENIAC]]]]
Il termine computer, nel senso moderno-elettronico, ha ormai assunto un significato sempre più vasto comprendendo la semplice [[calcolatrice]] fino ai grandi sistemi di calcolo e venendo dunque ad assumere il significato più generale di ''sistemi di elaborazione dati''. Tuttavia 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 comparsi. Le definizioni nel tempo sono molto cambiate e i confini non sono mai così netti.
Una prima classificazione in base all'uso distingue tra computer ''[[general purpose]]'', ovvero riprogrammabili per svariate applicazioni dall'utente, e ''computer [[special purpose]]'' ovvero [[sistemi embedded|sistemi ''embedded'']] dedicati ad una sola applicazione specifica come ad esempio i [[microcontrollori]]. Un'altra classificazione è basata sull'accesso condiviso o meno alle risorse ''hardware'': un computer ''general purpose'' può essere monoutente oppure multiutente sfruttando il cosiddetto ''[[timesharing]]'' delle risorse e con diversi sistemi operativi. Un ''computer'' monoutente può essere ''[[monotasking]]'' oppure ''[[multitasking]]'' ovvero può eseguire più processi in contemporanea (in pratica tutti i ''computer'' moderni). Ovviamente un ''computer'' multiutente è anche multitasking.
Una classificazione basata sulle dimensioni, sull'evoluzione storica e sulla destinazione d'uso è invece quella che segue. In linea di massima le dimensioni dei sistemi di elaborazione sono progressivamente diminuite nel tempo in virtù del miglioramento delle tecniche di elaborazione digitale ovvero all'alta [[scala di integrazione|capacità di integrazione]] dei ''[[transistor]]'' all'interno dei processori ed il parallelo aumento della capacità di processamento. Computer di grandi dimensioni rimangono ora solo nei grandi centri di calcolo.
=== Sistema centrale ===
{{vedi anche|Mainframe}}
[[File:ICT-Model-1301.jpg|min|Esempio di [[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 si tendeva a sfruttarli il più possibile e, quindi, l'utilizzo era suddiviso generalmente fra un numero di utenti piuttosto grande. Spesso la comunicazione con la macchina sia in input che in output avveniva direttamente tramite l'uso di schede perforate. [[IBM]] è stata il primo costruttore di mainframe e, anche attualmente, i suoi sistemi più potenti, tra quelli direttamente a listino, sono classificati secondo questo termine.
Questi sistemi sono caratterizzati da una elevata capacita' elaborativa e di ''input/output''. Essi vengono utilizzati nei grandi gruppi societari, nella pubblica amministrazione ed in tutte quelle strutture che hanno bisogno di una potenza di elaborazione proporzionata al grande numero di utenti che devono fruirne.
Ovviamente non vanno confusi coi comuni ''computer'' ''[[server]]'', macchine oramai diffuse presso tutte le organizzazioni, anche piccole, perché contrariamente a questi ultimi, i mainframe sono concepiti per ottenere le massime prestazioni. Non vanno nemmeno confusi con le [[server farm]], perché ultime queste si basano sull'idea di distribuire il carico di lavoro su un gran numero di piccoli server. I mainframe operano invece con la filosofia opposta. Per lo stesso motivo, non vanno scambiati nemmeno con i ''[[computer cluster|cluster]]''.
=== Minicomputer ===
{{vedi anche|Minicomputer}}
[[File:Pdp7-oslo-2005.jpeg|min|Esempio di minicomputer anni 60]]
In un secondo tempo, negli [[anni 1960|anni sessanta]], in particolare da [[Digital Equipment Corporation|Digital]] e da [[Hewlett-Packard|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. Per distinguerli dai mainframe venne coniato il termine ''minicomputer''.
=== Microcomputer ===
{{vedi anche|Microcomputer}}
All'inizio degli [[anni 1970|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 ===
{{vedi anche|Home computer}}
[[File:Commodore64.jpg|min|Commodore 64, un tipico [[Home Computer]]]]
La seconda generazione di microcomputer, che prende il nome di ''home computer'' (it.: ''computer domestico''), fece il suo ingresso nel mercato nella seconda metà degli anni settanta e divenne comune nel corso degli [[anni 1980|anni ottanta]], per estinguersi entro i primi [[anni 1990|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, supporti analogici come le cassette audio. Erano utilizzati prevalentemente come console per videogiochi, oppure per i primi approcci con la programmazione.
Questi computer quasi mai avevano sistemi di [[protezione della memoria]], per cui si potevano fare dei danni semplicemente dando dei comandi di modifica della memoria passando degli indirizzi "opportuni". Con oltre dieci milioni di macchine vendute, il più rappresentativo computer di questa categoria fu il [[Commodore 64]]. Anche lo [[Sinclair ZX Spectrum|ZX Spectrum]] della [[Sinclair Research Ltd|Sinclair]] ebbe buona diffusione.
=== Personal computer ===
{{vedi anche|Personal computer}}
[[File:Apple2.jpg|min|Apple II, un tipico [[Personal Computer]] dei tardi [[anni 1970|anni settanta]]]]
Per ''Personal Computer'' (PC) 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. A differenza degli Home Computer, i PC erano quasi sempre dotati di [[Monitor (computer)|monitor]] e lettori di ''[[floppy disk]]''. I [[dischi rigidi]] entreranno a far parte della dotazione standard di un Personal Computer solo agli inizi degli [[anni 1990|anni novanta]].
Dato che la definizione di Personal Computer si consolidò definitivamente 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 l'[[Olivetti P6060]] e le prime versioni dell'[[Apple]] ([[Apple I]] e soprattutto l'[[Apple II]]).
=== Altre categorie ===
[[File:Dell PowerEdge Servers.jpg|min|Coppia di [[server]] in un armadio [[rack (informatica)|rack]]]]
* ''[[workstation]]'': ''computer general purpose'' monoutente dotati di più elevate risorse di elaborazione e costi maggiori rispetto ai normali ''personal computer'', e destinati ad uso e compiti professionali, spesso in ambito grafico o ingegneristico.
* ''[[host]]'': un qualsiasi computer che funge da [[terminale (telecomunicazioni)|terminale]] in una [[rete informatica]].
* ''[[server]]'': sono computer logicamente dedicati all'espletamento di particolari servizi richiesti da un computer ''[[client]]'' all'interno di un'[[architettura di rete]] ''[[client-server]]'' come reti [[Local Area Network|LAN]] e [[Internet]].
* ''[[supercomputer]]'': elevatissima capacità di elaborazione (spesso grazie ad un [[calcolo parallelo]]) e distinti dai mainframe perché solitamente destinati ad una singola applicazione come previsioni meteorologiche, climatiche, calcolo scientifico ad elevate prestazioni e [[simulazione|simulazioni]] varie in generale.
* sistemi ''[[barebone]]'': ''personal computer'' preassemblati, costituiti di solito da ''[[Case (hardware)|case]]'' e scheda madre, pronti per ulteriori personalizzazioni da parte di rivenditori o utenti finali.
* [[computer portatile|portatile]] o ''notebook'': computer trasportabili che possono entrare in una valigetta o essere appoggiati sulle ginocchia (''laptop''). Nella famiglia dei portatili tipi tecnico-commerciali distinti dai ''notebook'' propriamente detti sono rappresentati dai ''[[netbook]]'' e dagli ''[[ultrabook]]''.
* [[computer palmare|palmare]]: ''computer'' di ridotte dimensioni, tali da essere portati sul palmo di una mano.
* ''[[tablet computer]]'': computer grandi come una tavoletta e dotati di uno [[Touch screen|schermo tattile]]. [[File:Bancomat ATM italy.jpg|min|Sportello [[Bancomat]]]]
* ''[[smartphone]]'': hanno ormai caratteristiche molto simili (o per meglio dire sovrapponibili, c'è una crescente tendenza ad eliminare le "barriere" tradizionali nell'informatica) ai [[palmare|palmari]]: oltre agli apparati elettronici di [[telecomunicazioni]] per la [[ricetrasmettitore|ricetrasmissione]] possiedono infatti anche un nucleo elettronico di elaborazione ed una [[memoria (informatica)|memoria]] dati con tanto di sistema operativo ''ad hoc'' e svariate applicazioni oltre ovviamente ai consueti dispositivi di ''input-output''.
* [[microcontrollore]]: elaboratori completi totalmente contenuti in singoli circuiti integrati e dedicati a specifiche applicazioni (''specific purpose''<ref>Esempi: nel [[cronotermostato]] di casa, in un impianto ''home video'', in un forno a microonde, nei distributori ''self-service'' di ogni tipo (carburanti, bevande e spuntini, preservativi, ecc.) per non parlare delle cosiddette [[Unità di controllo elettronico per autoveicoli|centraline]] delle moderne automobili o veicoli in generale.</ref>) in [[sistemi embedded]]. Appartengono a quest'ultima categoria anche i [[Dispositivo di rete|dispositivi]] interni di [[commutazione (telecomunicazioni)|commutazione]] in una [[rete di calcolatori]].
* ''[[console (videogiochi)|console]]'' di [[videogiochi]]: rappresentano attualmente i computer domestici ''[[special purpose]]'' dalle capacità di processamento più elevate per far fronte alle più svariate esigenze di elaborazione, nonché anche il settore trainante per lo sviluppo di nuovi più evoluti processori.
* [[Registratore di cassa|registratori di cassa]]: le moderne casse utilizzate nel commercio sono mezzi informatici a tutti gli effetti. Quelle di livello medio-alto sono normali PC-client (di tipo ''[[touch screen]]'') che accedono, via rete, al ''server'' su cui gira il sistema gestionale dell'esercizio o della catena (vendite, magazzino, approvvigionamento, ecc.).
* [[POS (dispositivo)|POS]]: i dispositivi per effettuare i pagamenti elettronici sono ormai mini ''computer''.
* [[Sportello automatico|ATM]]: volgarmente detti "bancomat", sono le apparecchiature informatiche per le comuni operazioni omonime.
Anche se non compresi nell'elenco, gli attuali [[Telefono cellulare|cellulari]], appena sopra il livello base, potrebbero anch'essi essere considerati computer dato che comprendono, in forma semplificata e minimale, le classiche funzioni e applicazioni da smartphone.
Si noti come queste categorie abbiano una valenza più che altro convenzionale, dal momento che le prestazioni di una "workstation" di cinque-dieci anni fa potrebbero risultare nettamente inferiori a quelle un PC odierno. È significativa in tal senso la celebre (e profetica) [[legge di Moore]] sullo sviluppo dei sistemi di elaborazione.
=== Oltre le categorie: emulazione e virtual machine ===
Una interessante possibilità è quella di riprodurre il funzionamento di altri sistemi operativi, o addirittura di macchine arcade, di telefoni cellulari o degli home computer (usando particolari software) direttamente sul PC o su altri dispositivi. Si veda la voce [[emulatore]].
== Reti di computer ==
{{vedi anche|Reti di calcolatori}}
Più calcolatori possono essere collegati insieme in rete formando una [[rete di calcolatori]] sotto forma di [[sistema distribuito|sistemi distribuiti]] per la condivisione di dati e delle risorse software e/o hardware come nel caso del [[calcolo distribuito]]. Un esempio di rete di calcolatori sono le [[rete locale|reti aziendali]] ([[Intranet]]) e la rete [[Internet]]. In particolare queste reti si suddividono in reti ''[[client-server]]'' in cui esistono calcolatori che erogano servizi ([[server]]) a calcolatori o utenti che ne fanno richiesta ([[client]]) (ad es. le Reti Windows e le Reti Linux), oppure ''[[peer to peer|reti peer to peer]]'' che offrono un'architettura logica paritaria dove ciascun calcolatore può svolgere sia funzioni di server che funzioni di client. Anche i sistemi di tipo [[mainframe]] formano una [[rete informatica]] tipicamente con risorse hardware centralizzate e condivise. I vantaggi di queste reti sono evidenti in termini di facilità ed efficienza di comunicazione e gestione delle informazioni all'interno delle organizzazioni o aziende private stesse. A livello logico tutti questi tipi di reti sono realizzate e si differenziano tra loro grazie a diversi [[protocollo di rete|protocolli di comunicazione]] utilizzati e relativi software, che caratterizzano e rendono possibile quindi le funzionalità stesse di rete.<ref>{{Cita|Andrew S. Tanenbaum|rdc}}.</ref>
Una rete di tipo particolare è il [[Dominio (informatica)|dominio]].
== Evoluzione: computer quantistici ==
{{vedi anche|Computer quantistico}}
Tra i vari filoni attivi di studio e di ricerca si distingue l'[[informatica quantistica]], che prevede da tempo un'evoluzione/rivoluzione del computer classico basata sulle nozioni e sui fenomeni fisici offerti dalla [[meccanica quantistica]]. Il dispositivo progettato seguendo questi criteri, viene comunemente chiamato [[computer quantistico]].
Riga 304 ⟶ 365:
== Voci correlate ==
{{div col|cols=2}}
* [[Architettura (computer)]]
* [[Architettura dei calcolatori]]
* [[Bus (informatica)]]
* [[Computer grafica]]
* [[Computer music]]
* [[Controller (informatica)]]
* [[Desktop computer]]
* [[Etica del computer]]
* [[Hardware]]
* [[Home computer]]
* [[Microcomputer]]
* [[Minicomputer]]
* [[Periferica]]
* [[Personal computer]]
* [[
* [[Storia del computer]]
* [[Storia del calcolo meccanico]]
* [[Supercomputer]]
* [[Tablet computer]]
* [[Unità centrale]]
{{div col end}}
== Altri progetti ==
{{interprogetto
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{FOLDOC||computer}}
{{Componenti basilari dei computer}}
{{Controllo di autorità}}
{{Portale|informatica|scienza e tecnica|storia}}
[[Categoria:Computer| ]]
|