Indietro

ⓘ Computer




                                               

Sistema operativo

Un sistema operativo, in informatica, è un software di sistema, detto anche piattaforma operativa, che gestisce le risorse hardware e software della macchina, fornendo servizi di base ai software applicativi. Tra i sistemi operativi per computer desktop si citano Microsoft Windows, MacOS, le distribuzioni GNU/Linux, sistemi Unix-like, BSD e Chrome OS, mentre per i dispositivi mobili, quali smartphone e tablet, vi sono iOS, Android, Windows Phone, Sailfish OS, Symbian OS.

                                               

Architettura ARM

L architettura ARM, in elettronica e informatica, indica una famiglia di microprocessori RISC a 32-bit sviluppata da ARM Holdings e utilizzata in una moltitudine di sistemi embedded. Grazie alle sue caratteristiche di basso consumo elettrico rapportato alle prestazioni larchitettura ARM domina il settore dei dispositivi mobili dove il risparmio energetico delle batterie è fondamentale. Nel 2007 la famiglia ARM copriva il 75% del mercato mondiale dei processori a 32 bit per applicazioni embedded, posizionandosi come una delle più diffuse architetture a 32 bit del mondo. I processori ARM ven ...

                                               

FreeDOS

FreeDOS è un sistema operativo per computer IBM PC compatibili, che costituisce unalternativa open source a MS-DOS. Scopo del progetto è anche la rivitalizzazione di vecchi computer che potrebbero ancora funzionare egregiamente con un sistema operativo molto leggero e dinamico.

Computer
                                     

ⓘ Computer

Un computer, in italiano elaboratore o calcolatore, è una macchina automatizzata programmabile in grado di eseguire sia complessi calcoli matematici sia altri tipi di elaborazioni dati.

Concepito come una macchina per automatizzare alcune capacità della mente umana, come ad esempio il calcolo e la capacità di memorizzazione potenziandone la portata e applicandole alla soluzione di particolari problemi scientifici e ingegneristici, solo 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 elettronico e digitale, programmabile 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 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, limplementazione tecnologica di questa macchina si è modificata profondamente sia nei meccanismi di funzionamento meccanici, elettromeccanici ed elettronici, che nelle modalità di rappresentazione dellinformazione analogica e digitale che in altre caratteristiche. In questa forma e al pari della televisione, esso rappresenta il mezzo tecnologico simbolo che ha maggiormente modificato le abitudini umane dopo la seconda guerra mondiale: la sua invenzione ha contribuito alla nascita e allo sviluppo dellinformatica moderna, che ha segnato lavvento della cosiddetta terza rivoluzione industriale e della società dellinformazione.

                                     

1.1. Cenni storici e linguistici Terminologia

Come per gran parte della terminologia informatica, tra il termine italiano "elaboratore" e il termine "computer" mutuato dallinglese, nel linguaggio comune prevale nettamente luso del termine "computer". 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 di usare parole inglesi è spesso biasimata in una diatriba sullesterofilia della lingua italiana recente, ma le proposte alternative, come il computiere del professor Arrigo Castellani, accademico della Crusca e fondatore degli Studi Linguistici Italiani, non hanno ancora vasta applicazione. Negli anni 1960 e 1970 è stato utilizzato anche il termine "ordinatore", oggi in disuso, calco linguistico sul francese ordinateur.

In italiano il termine computer significa "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.

                                     

1.2. Cenni storici e linguistici Etimologia

Il termine computer è il nome dagente del verbo inglese to compute, derivato il francese computer. Letimo latino è composto da com = cum insieme e putare tagliare, rendere netto – da cui lodierno potare e significa propriamente: "confrontare o comparare per trarre la somma netta". In inglese, il termine indicava originariamente un essere umano, incaricato di eseguire dei calcoli. Il primo utilizzo nel senso moderno è attestato nel 1947, ma bisognerà attendere la metà degli anni 50 perché questa accezione diventi di uso comune.

                                     

1.3. Cenni storici e linguistici Storia

Il computer è la versione più evoluta di una serie di strumenti di calcolo inventati sin dallantichità: labaco, la macchina di Anticitera, i bastoncini di Nepero. Gli esemplari di macchine calcolatrici più famosi sono forse la macchina di Pascal 1645 e la macchina di Leibniz 1672, ma va ricordata anche la 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 ma mai realizzata, è il primo computer della storia. Si trattava di una colossale macchina a ingranaggi, alimentata a vapore e dotata di input, output, unità di memoria, di unità di calcolo decimale con registro dellaccumulo dei dati e di un sistema di collegamento tra le varie parti. Contrariamente a quanto si potrebbe pensare, la macchina analitica era interamente digitale.

Nel corso dei decenni successivi il computer è passato attraverso vari stadi: il computer analogico ne è un esempio lanalizzatore 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 lASCC di Howard Aiken ed infine quelli digitali ed elettronici. Nel corso del XX secolo, inoltre, importanti progressi nel campo dellelettronica - come il transistor e il circuito integrato - e dellinformatica hanno contribuito allevoluzione 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.



                                     

2. Descrizione

La componentistica hardware è generalmente racchiusa allinterno di un case comprendente la scheda madre, la CPU, lalimentatore elettrico, la memoria primaria e la memoria di massa, più eventualmente altre schede preposte a funzioni accessorie o complementari, come ad esempio una o più schede video o una scheda audio.

                                     

2.1. Descrizione Struttura logica

La struttura logica del computer attuale può ricondursi alla presenza di almeno cinque elementi fondamentali o sottosistemi:

  • Dispositivi di input/output;
  • Canale di comunicazione dei dati o Bus.
  • Schede elettroniche di espansione;
  • Memoria;
  • Unità centrale di elaborazione o CPU, acronimo di Central Processing Unit;

Questo schema venne proposto per la prima volta dal matematico John von Neumann allinterno 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. Lopera nasce dalla partecipazione di von Neumann al progetto ENIAC e raccoglie le idee provenienti da vari membri del team di sviluppo su come migliorare la funzionalità del computer nascituro.

Va inoltre ricordato che von Neumann era stato profondamente influenzato da Alan Turing, il quale aveva proposto nel 1937 un modello di calcolo - passato alla storia come Macchina di Turing - che ben si prestava a descrivere le operazioni eseguite da un computer, pur non essendo stato concepito per quello scopo Turing si stava occupando in quella sede del problema della computabilità, non della realizzazione di un calcolatore. Il funzionamento della Macchina di Turing suggerì a von Neumann lidea che la memoria dovesse contenere non solo i risultati delle operazioni svolte dal computer, ma anche le istruzioni di programmazione.

Premesso il contributo degli altri progettisti dellENIAC 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.

                                     

2.2. Descrizione Hardware, software, programmazione

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 dallesterno per risolvere determinati problemi dinteresse 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 programmi o applicazioni: un computer senza un programma da eseguire è inutile.

Il computer, in quanto esecutore, ha dunque bisogno di essere istruito o programmato dallesterno 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.

Queste parti immateriali che consentono lutilizzo di programmi vengono comunemente chiamate software in contrapposizione allhardware che è invece la parte fisica elettronica, nel senso di materiale e tangibile, degli elaboratori e che consente lesecuzione dei programmi stessi. Tutto ciò che si può ottenere con lutilizzo accoppiato di strumenti informatici o risorse hardware e software costituisce un applicazione informatica. Tutto il resto, oltre ad hardware e software, sono i dati presenti nella memoria del computer, compresi allinterno di file e directory ed utilizzati in input dai programmi stessi per lespletamento in output del particolare servizio richiesto dallutente.

Ovviamente quando si lavora su un computer scompare agli occhi dellutilizzatore il funzionamento hardware interno della macchina interfacciandosi con essa unicamente tramite il linguaggio di programmazione ad alto livello oppure grazie allinterfaccia utente del software stesso garantendo così quella grande flessibilità di utilizzo anche a chi non ne conosce i principi fisico-elettronici di funzionamento e che costituisce, assieme alla potenza di elaborazione, a quella di memorizzazione e alla riprogrammabilità, la chiave di successo dei computer stessi. Questo processo di astrazione a partire dal livello fisico è comune a tutta linformatica.

Il programma o software di base di gran lunga più importante per un computer se previsto nellarchitettura generale senza il quale la macchina non potrebbe funzionare è il sistema operativo, che si occupa di gestire la macchina, le sue risorse hardware le altre applicazioni che vi sono eseguite. Fornisce così allutente uninterfaccia grafica o testuale con la macchina gestendo o coordinando in maniera efficiente le operazioni di Input/Output comandando le rispettive periferiche di sistema, gestendo le operazioni di esecuzione dei programmi applicativi assegnandovi di volta in volta le risorse hardware necessarie al processamento scheduling ed infine gestendo larchiviazione e laccesso ai dati memorizzati attraverso il cosiddetto file system.

Dal punto di vista hardware il computer inoltre è un sistema elettronico 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 alto e basso corrispondenti a loro volta ai due stati fisici di interruttore aperto e chiuso. La logica elettronica interna di funzionamento è dunque basata sullAlgebra di Boole. Il linguaggio dellhardware è propriamente un linguaggio macchina ovvero sequenze di bit cui si associano per semplice codifica i linguaggi a più alto livello. Ovviamente limmissione dei dati in input alla macchina elaboratrice è di tipo alfa-numerico decimale per cui è necessaria unoperazione di traduzione o codifica delle informazioni in binario; viceversa per ottenere una visualizzazione in output dei risultati dellelaborazione è 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 dellingegneria informatica la quale a sua volta afferisce conoscenze dallingegneria elettronica, mentre lo sviluppo software è affidato in massima parte al campo dellinformatica pura. Pur tuttavia i confini tra le due discipline non sono rigidi bensì spesso assai sfumati.



                                     

2.3. Descrizione Applicazioni pratiche

In sostanza un computer è in grado di eseguire operazioni logiche come ad esempio calcoli numerici e storicamente è stato proprio il calcolo la prima forma di applicazione del computer ovvero il problema che ha spinto allinvenzione 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 supercalcolatori, vanno ben oltre offrendo applicazioni diffusissime allutente comune come la videoscrittura in sostituzione delle vecchie macchine da scrivere e in generale applicazioni di office automation, fogli di calcolo, creazione e gestione di database, la progettazione assistita al calcolatore, la computer grafica, la simulazione, sistemi elettronici di controllo, applicazioni di diagnostica medica, i videogiochi ecc.

                                     

2.4. Descrizione Successo dei computer

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 dellelaborazione dati vedi i 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 dellutente stesso grazie allimplementazione di sistemi di interfacciamento utente/macchina molto spesso di tipo user-friendly.

  • 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.
  • velocità: la velocita di un processore e costantemente aumentata in linea con la legge di Moore, stessa cosa dicasi per la capacita di memorizzazione;
  • economicità: il costo di un processore e del computer in toto e diminuito progressivamente nel tempo per motivi di economia di scala ;
                                     

3. Tipi di computer

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, delluso che in generale se ne fa, del software e dei sistemi operativi che fanno girare e dellepoca in cui sono comparsi. Le definizioni nel tempo sono molto cambiate e i confini non sono mai così netti.

Una prima classificazione in base alluso distingue tra computer general purpose ovvero riprogrammabili per svariate applicazioni dallutente e computer special purpose ovvero sistemi embedded dedicati ad una sola applicazione specifica come ad esempio i microcontrollori.

Unaltra classificazione è basata sullaccesso 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, sullevoluzione storica e sulla destinazione duso è 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 allalta capacità di integrazione dei transistor allinterno dei processori ed il parallelo aumento della capacità di processamento. Computer di grandi dimensioni rimangono ora solo nei grandi centri di calcolo.

                                     

3.1. Tipi di computer Mainframe

Negli anni 40 i computer occupavano stanze intere, lenergia 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, lutilizzo era suddiviso generalmente fra un numero di utenti piuttosto grande. Spesso la comunicazione con la macchina sia in input che in output avveniva direttamente in binario tramite luso di schede perforate. IBM è stata il primo costruttore di mainframe e, anche attualmente, il suo sistema più potente è classificato secondo questo termine un po superato dalle tecnologie attuali.

Attualmente questi sistemi 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. Con lo sviluppo delle logiche cloud le data farm sono le realtà ove si utilizzano i mainframe nel significato più esteso. Occorre sottolineare che ormai anche le realtà di piccola, se non micro, dimensione che necessitano di uninfrastruttura di rete seppur minimale, dispongono almeno di un computer server: i prezzi delle macchine di fascia bassa sono ormai paragonabili a quelli di una buona workstation. Il termine mainframe, in questi casi che costituiscono la stragrande maggioranza, è improprio e lo si può attualmente abbinare solo ai sistemi più potenti e prestazionali tipo i blade server e soprattutto alle loro aggregazioni.



                                     

3.2. Tipi di computer 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.

                                     

3.3. Tipi di computer Microcomputer

Allinizio degli anni settanta lintroduzione del primo microprocessore, lIntel 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.

                                     

3.4. Tipi di computer 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 lascesa dei personal computer.

Gli home computer, macchine a costo contenuto e di utilizzo prevalentemente domestico, contribuirono largamente a diffondere a livello popolare luso del computer e allalfabetizzazione 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.

È curioso notare che alcuni di questi computer avevano fra laltro dei notevoli bug nei calcoli in virgola mobile, e 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 ZX Spectrum della Sinclair ebbe buona diffusione.

                                     

3.5. Tipi di computer Personal computer

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 odierni sono sempre più espandibili, sempre più spesso hanno più processori per supportare il multitasking, inoltre si prestano alla multimedialità, tutte cose che al tempo degli Home Computer erano considerate quasi "fantascienza"; si pensi che nella maggior parte dei casi questi nemmeno erano dotati di disco rigido e visualizzavano al massimo 16 colori "standard" i mezzitoni si ottenevano con artifici grafici.

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 lOlivetti P6060 le prime versioni dellApple Apple I e soprattutto lApple II.

                                     

3.6. Tipi di computer Altre categorie

  • computer 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.
  • sistemi barebone: personal computer preassemblati, costituiti di solito da case e scheda madre, pronti per ulteriori personalizzazioni da parte di rivenditori o utenti finali.
  • supercalcolatore o 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 simulazioni varie in generale.
  • tablet computer: computer grandi come una tavoletta e dotati di uno schermo tattile es. iPad della Apple, Galaxy Tab della Samsung
  • POS: i dispositivi per effettuare i pagamenti elettronici sono ormai mini computer.
  • microcontroller: elaboratori completi totalmente contenuti in singoli circuiti integrati e dedicati a specifiche applicazioni specific purpose in sistemi embedded. Appartengono a questultima categoria anche i dispositivi interni di commutazione in una rete di calcolatori.
  • 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.
  • 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.
  • smartphone: hanno ormai caratteristiche molto simili o per meglio dire sovrapponibili, cè una crescente tendenza ad eliminare le "barriere" tradizionali nellinformatica ai computer palmari: oltre agli apparati elettronici di telecomunicazioni per la ricetrasmissione possiedono infatti anche un nucleo elettronico di elaborazione ed una memoria dati con tanto di sistema operativo ad hoc e svariate applicazioni oltre ovviamente ai consueti dispositivi di input-output.
  • computer palmari: computer di ridotte dimensioni, tali da essere portati sul palmo di una mano.
  • server: sono computer logicamente dedicati allespletamento di particolari servizi richiesti da un computer client allinterno di unarchitettura di rete client-server come reti LAN e Internet.
  • host: un qualsiasi computer che funge da terminale in una rete informatica.
  • 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 dellesercizio o della catena.
  • ATM: volgarmente detti "bancomat", sono le apparecchiature informatiche per le comuni operazioni omonime.

Anche se non compresi nellelenco, gli attuali cellulari, appena sopra il livello base, potrebbero anchessi 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.

                                     

3.7. Tipi di computer 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.

Il linguaggio di programmazione Java ad esempio si basa sulla cosiddetta Java Virtual Machine che invece è una macchina virtuale, ossia un linguaggio in questo modo risulta essere almeno teoricamente indipendente dalla piattaforma e addirittura dallarchitettura stessa dellhardware.

Queste nuove interfacce hanno lo svantaggio di necessitare una interpretazione in fase di runtime con un rallentamento dellesecuzione tanto maggiore quanto più esigue sono le risorse di sistema; questo tende a limitarne a volte di fatto lutilizzo in computer di nuova generazione.

                                     

4. Architettura

Un computer, come premesso, non è altro che limplementazione fisica, pratica, di una macchina di Turing universale, secondo larchitettura fisica ideata da Von Neumann.

Per quanto riguarda larchitettura hardware sono diffuse le 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 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 oggetto o eseguibile espresso in linguaggio macchina ed un suo codice sorgente espresso in linguaggio ad alto livello.

Una terza possibilità è lassembly; questo particolare linguaggio è una "trascrizione" delle istruzioni base del processore in un linguaggio intelligibile. È possibile per esempio integrare lassembly 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 levolversi dei sistemi operativi eccezion fatta per lhacking i linguaggi a basso livello sono usati sempre meno, invece allepoca 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 generale di Von Neumann.

Allarchitettura hardware si sovrappone larchitettura software che comprendente 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 set di istruzioni fondamentali del processore e, di conseguenza, sono definite anchesse in linguaggio macchina e gestite dallUnità 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.

Linsieme di architettura hardware quindi il processore e sistema operativo costituiscono la cosiddetta piattaforma informatica del sistema essendo questi due elementi strettamente correlati. Al di sopra della piattaforma costituita da hardware e sistema operativo operano le applicazioni ovvero programmi che offrono un servizio allutente appoggiandosi al sottostante sistema operativo.

                                     

4.1. Architettura Componentistica hardware

La macchina elaboratrice è adagiata allinterno di un cabinet o case e viene alimentata elettricamente da ununità alimentatore, interna o esterna che fornirà al sistema le giuste tensioni elettriche 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:

  • una memoria di massa, più capiente ma con velocità daccesso più lenta.
  • una certa quantità di memoria primaria di lavoro, generalmente volatile ma piuttosto veloce, attualmente RAM,
  • una piccola parte in cui è scritto il primo programma da eseguire allavvio 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 lunico 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 CPU,
  • una certa quantità di memoria non volatile. Questultima è suddivisa in
                                     

4.2. Architettura Case e tipo di installazione

Il componente forse meno essenziale, ma che caratterizza il calcolatore al primo colpo docchio è linvolucro, generalmente chiamato case nei personal computer e cabinet nei sistemi più grandi. Il telaio che meccanicamente sostiene la componentistica, lapparato di raffreddamento generale, e linvolucro 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 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 lespulsione dellaria calda generata. Nei cabinet dei mainframe e dei supercomputer, il problema del raffreddamento è notevole, e lenergia in gioco spesa nellimplementarlo è 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 linvolucro 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, ed altro.

                                     

4.3. Architettura Alimentatore

Lalimentatore è lelemento che fornisce energia al PC, e nel caso delle versioni portatili può essere sostituito da alcune batterie.

A seconda del tipo dalimentatore il computer può avere lo spegnimento del tipo:

  • Automatico, lo spegnimento del computer avviene automaticamente al termine del processo software tipico degli alimentatori ATX
  • Manuale, lo spegnimento deve avvenire manualmente sotto il comando della macchina tipico degli alimentatori AT
                                     

4.4. Architettura Scheda madre

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 despansione direttamente inserite e spesso anche alimentate elettricamente dalla stessa scheda madre.

Attualmente, allinterno 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 istruzioni più frequentemente utilizzate ovvero elaborate dal processore, per far fronte alla lentezza del Bus di collegamento fra CPU e memoria RAM;

Oltre ad eseguire programmi un computer deve anche poter comunicare con lesterno ovvero con lutente o con altri dispositivi: per questo sono sempre presenti un certo numero di interfacce verso vari dispositivi dette periferiche di sistema quali ad esempio lI/O. Quasi sempre, tranne nei casi di microcontrollori molto semplici, vi è infatti la possibilità di collegare una tastiera e un dispositivo di visualizzazione. Inoltre un computer fa spesso uso di 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 schede elettroniche di espansione interne.

                                     

4.5. Architettura CPU

La CPU, sigla di Central Processing Unit, è uno dei componenti della macchina di von Neumann, il più diffuso modello teorico-implementativo di processore. Si tratta di un circuito integrato riprogrammabile dallutente tramite programma 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 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à 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, 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.

                                     

4.6. Architettura Memorie

Oltre alla parte di memoria che per motivi architetturali attualmente ormai risiede allinterno della CPU, si notano:

  • la memoria ROM che contiene il firmware UEFI o BIOS necessario allavviamento 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 sullevoluzione 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 lintero 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 dellutente. Questa memoria viene detta memoria secondaria, memoria di massa o memoria dimmagazzinamento secondario ed è costituita in genere da dischi magnetici es. disco rigido, floppy disk o dischi ottici es. CD, DVD. Una promettente evoluzione è rappresentata dai 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 ROM se il programma non deve essere cambiato firmware, o al massimo cambiato molto raramente ROM cancellabili tramite raggi UV o 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.
                                     

4.7. Architettura Altre schede elettroniche

Collegate tramite slot e socket alla scheda madre e quindi alla CPU sono le schede di espansione che costituiscono dunque le periferiche interne del computer. Tra queste la più importante è la scheda video che è lelemento hardware che si occupa dellelaborazione delle immagini e della loro visualizzazione sul monitor. Altre schede despansione sono la scheda audio, la scheda di rete, la scheda Bluetooth, la scheda Wi-Fi e la scheda di memoria.

La suddivisione del carico elaborativo tra CPU 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 dellunità centrale oltre alla possibilità di essere sostituite senza dover sostituire lintero sistema.

                                     

4.8. Architettura Periferiche di Input-Output

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 allutente i risultati dellelaborazione. Tra questi dispositivi ricordiamo la tastiera, il monitor, i lettori CD e floppy-disk, la stampante, il modem, le casse audio, lo scanner, le cuffie, i supporti di memorizzazione secondaria quali hard disk, floppy disk, CD, pen drive ecc. Tutti questi dispositivi sono detti anche periferiche di sistema.

                                     

4.9. Architettura Bus di sistema

Il computer non potrebbe funzionare senza il bus di sistema. Questo è infatti il collegamento parallelo fra le varie componenti di un computer: CPU, chipset, scheda video, 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 schede di espansione e si collegano direttamente in alloggiamenti slot della scheda madre che dialogano, grazie allinterfaccia del chipset, con tutto il resto del sistema. Alcuni tipi di interfacce a "Slot":

  • PCI Express
  • Processor Direct Slot
  • Zorro
  • SBus
  • VMEbus
  • VESA
  • NuBus
  • ISA
  • MBus
  • PCI X
  • AGP per le schede grafiche
  • Micro Channel
  • EISA
  • PCI
  • S-100
                                     

4.10. Architettura Interfacce generiche

Esistono un certo numero di 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 lIEEE o lISO.

  • Centronics interfaccia parallela;
  • RS232 interfaccia seriale;
  • RS432;
  • SATA per SSD, dischi rigidi e ottici;
  • IEEE 488;
  • IEEE 1394 o Firewire esterno espandibile, capace di fornire alimentazione ai dispositivi, in diversi tipi, ;
  • ATA ;
  • SCSI ;
  • eSATA SATA per dispositivi esterni;
  • PS/2 tastiera e mouse;
  • USB ;
  • SHUGART per floppy disk;
  • ADB per tastiere, mouse e simili dispositivi di controllo;
  • HDMI High Definition Multimedia Interface.
                                     

4.11. Architettura Note tecniche

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 mobili come i carputer, palmtop, Smartphone, Netbook, UMPC, console per videogiochi e tutti gli altri dispositivi informatici alternativi possono presentare unarchitettura 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 lavvio 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 per linstallazione di più CPU per sistemi multiprocessore oppure più schede madri 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 madri 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 anchesse sprovviste.

Ugualmente, alcune schede madri della metà degli anni novanta, progettate per i processori Pentium II e per i primi processori Pentium III con core non Coppermine erano sprovviste di socket e montavano invece uno slot denominato Slot 1 simile ai normali slot despansione PCI per alloggiare una scheda elettronica contenente 2 o più integrati, che insieme costituivano la CPU del Computer.

Oggi con la tecnologia dual core e la più recente multi core è invece possibile integrare direttamente allinterno di un unico processore due per il dual core o più per il multi core logici nello stesso package, capaci di aumentare la potenza di calcolo senza aumentare la frequenza di funzionamento del processore.

                                     

5. Parametri prestazionali

Parametri prestazionali di un computer sono le sue capacità di processamento 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, 32 bit o 64 bit e multicore;

Un parametro prestazionale di calcolo può essere anche la potenza di calcolo in 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 secondaria memoria di massa;
  • capacità della memoria primaria o centrale RAM;

A questi si associano valutazioni intorno alla qualità delle schede elettroniche che compongono lhardware.

                                     

6. Modularità ed espandibilità

In termini molto generali, dal punto di vista della possibilità di modifica, aggiornamento, espansione e personalizzazione dellarchitettura hardware di un computer vi possono essere i seguenti casi:

  • 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 la modularità e la scalabilità è la caratteristica peculiare dei sistemi di questo tipo.
  • 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;

Nel secondo caso occorre fare però unaltra distinzione:

  • il computer è il risultato di un "libero" assemblaggio di componenti prescelti, realizzato dallutente o da un assemblatore professionale per conto suo. Si noti che questa è la situazione preferita dagli utenti "avanzati" ed appassionati di informatica nonché dal mondo opensource.
  • il computer è un pre-assemblato/marchiato da un fabbricante OEM o da unazienda system integrator;

Nel caso di un "assemblato" la possibilità di espansione, modifica, personalizzazione, evoluzione, manutenzione, ecc. è praticamente illimitata. 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 dallOEM.

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 unapplicazione 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 dallOEM dellintero 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 dellhardware ma anche del sistema operativo e del software in generale.

                                     

7. Reti di computer

Più calcolatori possono essere collegati insieme in rete formando una rete di calcolatori sotto forma di 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 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 le Reti Linux, oppure reti peer to peer che offrono unarchitettura 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 allinterno delle organizzazioni o aziende private stesse. A livello logico tutti questi tipi di reti sono realizzate e si differenziano tra loro grazie a diversi protocolli di comunicazione utilizzati e relativi software, che caratterizzano e rendono possibile quindi le funzionalità stesse di rete.

Una rete di tipo particolare è il dominio.

                                     

8. Evoluzione: computer quantistici

Tra i vari filoni attivi di studio e di ricerca si distingue linformatica quantistica, che prevede da tempo unevoluzione/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.