La Scienza Informatica: istruzioni di base di un computer

Pagina 1 su 7

Cosa sia l’informatica, pare lo sappiano tutti ormai. Soprattutto nella nostra epoca. E pare che tutti sappiano anche quali siano i benefici e non, che essa ha apportato ai nostri tempi. Però è meglio iniziare da principio ovvero dal significato della parola “informatica”.

L’informatica è a tutti gli effetti una scienza. Un po’ come la fisica, come la chimica, come la biologia e così via. Solo una cosa unisce le altre scienze, all’informatica. Che per essere onniscienti in informatica (cosa quasi impossibile), bisogna conoscere molte altre scienze.

Sì perché per costruire un computer qualsiasi ne devi sapere di matematica (i computer fanno calcoli), ne devi sapere tanto di chimica e fisica, perché le componenti elettroniche sottostanno alle leggi fisiche, chimiche e matematiche, che ne descrivono e regolano il comportamento e il funzionamento.

Per esempio alcune parti di circuiteria dei computer, (intendo i comuni PC di casa anche), sono fatti d’oro. Esatto oro. Perché in chimica è uno dei migliori conduttori di elettroni (energia).

Ma per sapere come si comporta l’oro o il silicio o il rame oltre che di chimica ne devi sapere un po’ di elettronica e quindi di fisica. E come fai? Con la matematica. È tutto collegato! Ma state tranquilli! Per usare un PC non dovete prendere due lauree in Ingegneria informatica!

Allora cominciamo. Cosa è l’informatica? L’informatica è una scienza che si occupa di “informazione”. È molto più semplice di quello che sembra. Parlare di informatica significa parlare di tutto e niente. È un concetto molto generico. È come dire che vado dal dottore. Ma per cosa? Per le gambe, per la testa, per le mani. Ogni dottore ha una sua specializzazione, e così è per l’informatica.

L’informatica è una scienza molto ampia che comprende molti settori. Dalla banale applicazione per sentire la musica, alla casa domotica che fa il caffè da sola se dici la parola “caffè”. Scendiamo nel dettaglio.

Il concetto chiave, che sta alla base dell’informatica, è proprio l’informazione. Il dato. Utilizzando ovviamente la “tecnologia” più avanzata che siamo in grado (come esseri umani) di mettere in campo. Ecco perché se voglio scrivere a mio fratello in Inghilterra, non spedisco più una lettera, scritta a mano, ma mando una electronic-mail. Gli invio dei “dati” o “informazioni”, ma non più per posta “classica” ma per posta elettronica. Ecco che ho utilizzato la tecnologia più avanzata, accessibile a normali esseri umani come noi, per inviare a distanza delle informazioni.

Essendo di significato molto ampio, la parola informatica, è anche difficile parlarne in modo semplice, dettagliato e in modo che sia accessibile a tutti. La parola “informatica” è relativamente una parola moderna. Ovvero è stata coniata in Germania nel ’57, circa e si diceva “informatik”. E chi l’ha coniata intendeva proprio “elaborazione dell’informazione mediante sistemi automatici” (grosso modo). Poi riutilizzata come vergine da un francese, e poi dagli inglesi che non avendo da dove coniare la parola, la chiamarono Computer Science. E secondo me si avvicina molto di più alla parola informatica. Ovvero la scienza della computazione (inteso dell’informazione). Vi dico solo, che da sempre la lingua ufficiale dell’informatica è l’inglese e non il tedesco, il francese o l’italiano.

Pagina 2 su 7

Se oggi dovessimo iscriverci all’università, il professore ci direbbe grosso modo così:

“L’informatica è la scienza che si occupa del trattamento dell’informazione mediante procedure automatizzabili. In particolare ha per oggetto lo studio dei fondamenti teorici dell’informazione, della sua computazione a livello logico e delle tecniche pratiche per la sua implementazione e applicazione in sistemi elettronici automatizzati detti quindi sistemi informatici.”

E vi assicuro che è proprio questo quello che si studia. Infatti quella sopra è proprio la descrizione che si trova in quasi tutti i libri di testo di base di informatica, su Wikipedia e in qualunque fonte voi cerchiate, non ci sono molti modi per dare una definizione scientifica di informatica così concisa.

Quindi come abbiamo visto, ecco che entrano in gioco i sistemi elettronici (chimica, fisica, matematica), lo studio di procedure automatizzabili (sistemi, matematica, calcolo e logica), la computazione dell’informazione (matematica, algebra geometria, logica, calcolo, linguaggi). Sono tutti utili ad un certo livello. L’informazione quindi viene computata (elaborata in generale) e spostata mediante “sistemi” elettronici e automatici.  Dovrebbe essere ora chiaro cosa sia l’informatica.

  1. I COMPUTER – HW e SW

Abbiamo dato una definizione di informatica sia in modo profano che in modo tecnico da manuale. Prima di approfondire i diversi rami dell’informatica, parliamo di chi ci sta immerso nell’informatica. I Computer, detti in gergo le macchine. In generale, per macchina, noi consideriamo un oggetto che in modo automatico o semiautomatico, dato un input fornisce un output.

Per esempio:

Il frullatore. Noi inseriamo gli ortaggi (diamo un input), lui frulla (computa, elabora), e viene fuori un frullato (output). Se mettiamo dentro frutta, anziché ortaggi, lui sempre frulla allo stesso modo e sempre un frullato fa. Lo stesso esempio lo possiamo fare per una calcolatrice, per il motore di una automobile, e così via. Sono macchine a “logica cablata”. Ovvero hanno sempre un tipo di output e non se ne possono aggiungere altri.

Il computer invece è una macchina particolare, perché in base ad un certo input, fa un certo tipo di elaborazione e fornisce un diverso tipo di output. Sempre macchina è. Il computer, non per forza elettronico, dato un certo input, ha bisogno di “istruzioni” per elaborare e fornisce un output di conseguenza, ovvero cambiando input o istruzioni, l’output cambia.

Il computer quindi è una macchina a logica “programmabile”.

Partendo quindi dal significato di computer e scendendo nel dettaglio, non possiamo non parlare di hardware e software.

Pagina 3 su 7

2.1 HARDWARE

Letteralmente hardware significa “ferramenta”. Beh questa definizione andava bene negli anni ’60. Oggi c’è hardware da far venire i brividi, talmente elevata è la tecnologia utilizzata. Schede di tutti i tipi, dischi, memorie, bus, e tanto altro. L’hardware è la parte fisica, tangibile, “toccabile” di un computer. Lo puoi smontare e rimontare, puoi assemblarlo in mille modi diversi a seconda dell’uso che ci devi fare. È un po’ come quando compri l’automobile. Se devi viaggiare tanto non prendi una Smart, prendi una berlina a diesel. La stessa cosa con i computer. Lo scegli con le componenti più adatte al tuo bisogno. Grafico, fotografo, programmatore, architetto, e così via. Quindi l’hardware è la parte visibile di un computer.

Ma c’è una parte altrettanto necessaria, se non di più, senza la quale un computer sarebbe inutile. Sto parlando del Software. Beh direi che prima di parlare del software, possiamo senza dubbio vedere, in questo contesto, un computer funzionante come un essere umano. L’hardware è il corpo fisico, il software è l’anima.

Data la vastità di componenti hardware e software, relativi ad ogni singolo diverso utilizzo, sarebbe faticoso ma anche inutile elencarli tutti.

2.2 SOFTWARE

Come dicevo, il software può essere considerato l’anima di un computer. Ci sono tanti tipi di computer. Molto potenti, meno potenti, portatili, tablet, smartphone, server, sistemi di server, framework, terminali e tanti altri tipi. Noi andiamo più in profondità e ci ricordiamo la definizione di “computer”:

Il computer, dato un certo input, ha bisogno di “istruzioni” per elaborare e fornisce un output di conseguenza, ovvero cambiando input o istruzioni, l’output cambia. Il computer quindi è una macchina a logica “programmabile”.

Tornando alla parola Software ci ricolleghiamo al fatto che il computer è una macchina a logica programmabile. E in effetti (tralasciando che ci sono software che creano altri software) in generale, l’uomo crea il software proprio per controllare la macchina, per dargli un certo tipo di input, per fare un certo tipo di elaborazione e per vedere il risultato in un certo modo piuttosto che in un altro.

Quindi, capito quanto sopra, ci sono miliardi tipi di software ognuno con un compito ben preciso. Nella categoria dei software, rientrano anche i “programmi”, che sono software più piccolini, che hanno un compito specifico e definito. I programmi, sempre software sono. Magari avremo occasione di approfondire determinati aspetti.

Io credo che il software più importante sia il sistema operativo. Anche di sistemi operativi ce ne sono a bizzeffe. Quindi non parliamo di uno solo. Ma generalizziamo.

Pagina 4 su 7

Sicuramente tra di voi c’è chi usa Windows, Apple, Linux. Sullo smartphone utilizzeremo Android, iOS (Apple) o Windows mobile. Ma ce ne sono altri completamente diversi, o che derivano da altri come per es. Centos, che è *NIX o MAC OS che è derivato in principio da BSD e ci sono sistemi operativi a riga di comando (Linux) o a finestre (Windows). Insomma ce ne sono di tanti tipi anche non utilizzati da semplici utenti come noi. Per es. c’è chi in ambito industriale usa sistemi con AS400, c’è chi usa sistemi PLC, c’è chi usa macchine a controllo numerico e così via e quindi hanno bisogno di particolari sistemi operativi.

A noi interessa capire casa sia e a cosa serva un Sistema Operativo.

Il SO (Sistema Operativo) è quel software importantissimo che interfaccia, l’hardware con l’utilizzatore. Ovvero adotta dei comportamenti in parte in modo autosufficiente e in parte in risposta ad un input di un essere umano o di un altro computer/software.

Facciamo un esempio di comportamento autonomo e approfittiamone per parlare dei driver. Quando per esempio installiamo la nuova stampante (hardware) inseriamo di solito il cd con i “driver”. I driver sono piccolissimi software (più istruzioni che software) che dicono al SO come interagire con la stampante. I driver quindi sono istruzioni che dicono fisicamente alla stampante di stampare e come, nello specifico SO. Quindi noi (e lo dico in modo “generico”), cliccando il pulsante “stampa” stiamo dicendo alla macchina di stampare quel determinato insieme di testo. Il SO, tramite piccoli programmi di controllo cerca i driver della stampante scelta (le istruzioni su come stampare), e invia alla stampante scelta il comando di stampare inviandogli i dati da stampare. Per farla breve, quando “semplicemente” stampate un documento, la parte di interazione con il SO siete voi che scegliete di stampare, la parte autonoma è quella parte in cui il SO da solo sceglie i driver da utilizzare i comandi da inviare alla stampante. Anche la stampante meno evoluta ha una parte di SW.

Ci rendiamo conto che il SO è davvero fondamentale, e un computer non potrebbe funzionare senza. Tutti gli altri SW non possono essere eseguiti se non c’è un SO che li controlla, che ne gestisce le risorse (RAM, HD) che possono usare, che gli dice a quali parti del Computer può accedere sia SW che HW.

Quindi Il SO che è il “software di base”, serve per rendere operativo l’elaboratore e per sapere come, chi, quando e dove un umano o un’altra macchina può interagire con la macchina.

Il software applicativo serve per implementare nuove funzioni (stampare, guardare la TV, ascoltare musica) e utilizzare parti del computer sia HW che SW che sono controllate dal SO.

Dovendo quindi fare un disegno di un computer, disegneremo la parte più interna HW, poi il SO, e poi i SW applicativi. Abbiamo visto molto in generale come è formato un computer. Adesso guardiamo in modo leggermente più dettagliato le componenti principali di un computer e come.

  1. COME È FATTO UN COMPUTER – LE SUE COMPONENTI PRINCIPALI

Entrare nel dettaglio di ogni singolo argomento di informatica richiederebbe migliaia di pagine. Lo scopo di questo documento è di spiegare in modo “leggero” cosa l’informatica sia e come i computer funzionano molto in generale.

Pagina 5 su 7

Di certo non è un documento per chi è esperto di informatica. Ma è un riassunto molto breve delle basi di informatica. Magari leggendo questo documento vi verrà voglia di approfondire uno o più aspetti qui trattati, hw o sw e se ne avremo occasione faremo un riassunto più completo.

Vediamo quali sono i componenti principali di un computer.

  1. Scheda Madre
  2. CPU
  3. RAM e ROM
  4. Hard disk
  5. Scheda Madre

La scheda madre è la scheda elettronica di base a cui vengono collegati tutti gli altri componenti interni del computer. Senza scheda madre un computer non potrebbe funzionare. Su Internet potete cercare le immagini relative per farvi un’idea.
La scheda madre svolge la funzione di mediatore tra i vari componenti, e come anticipato, utilizza un software chiamato BIOS (Basic Input Output System) che permette la corretta gestione dei vari componenti installati nonché la comunicazione attraverso i bus tra determinati componenti di cui parleremo dopo.
Il BIOS si trova in un piccolo chip di memoria. All’accensione del computer, è il primo programma ad essere avviato. Esso esegue prima un controllo sui componenti installati e si accorge se sono stati installati nuovi componenti fisici e se questi componenti sono in grado di funzionare (hanno dei driver) e sono accettabili dal computer. Si accorge anche se alcuni componenti installati non sono più presenti. Quando all’accensione sentite un beep, il BIOS vi sta avvisando di qualcosa. È il suo modo per avvertirvi di un problema.

  1. CPU

Il processore (Central Processing Unit), coordina tutte le unità di elaborazione dati, svolge calcoli matematici ed esegue le istruzioni di tutti i software che girano su un computer. È complesso parlare in questo contesto di istruzioni, registri, prefetch. Di solito lo vediamo direttamente collegato alla scheda madre e ha una forma rettangolare. Direttamente sul processore e in molti casi anche vicino vengono installate delle ventole (o sistemi di raffreddamento di diverso tipo) per dissipare il calore, che in quel punto può superare i 90°. Potremmo associarlo al cervello umano. La CPU ci arriva direttamente dalla macchina di Von Neumann. È carino approfondire se vi interessa, perché è la madre di tutti i computer moderni. La CPU si suddivide in CU e in ALU ovvero Control Unit e Arithmetic Logic Unit. Oggi le troviamo tutte con memoria interna, la famosa cache. Le sue comunicazioni avvengono attraverso il bus dati, che è un canale dove passano i dati. La CPU utilizza tre tipi di BUS: Indirizzi, Dati, Controlli. Oggi è difficile trovare CPU con singolo core. Ne troviamo fino a quattro o otto core in parallelo. Quindi se vi siete mai chiesti cosa siano i core, adesso lo sapete. Avere 8 cpu in parallelo su un computer vuol dire avere un’ottima potenza di calcolo. Bisogna fare anche un veloce accenno all’architettura di un computer. Oggi ne troviamo sia a 32 che 64 bit. Parliamo di processore e non di SO. il numero di bit rappresenta il numero di informazioni che la cpu riesce ad elaborare contemporaneamente per ciclo di clock. Quindi architettura a 64 bit, vuol dire potenza di calcolo velocizzata, più o meno.

Pagina 6 su 7

Si dovrebbe parlare anche frequenza di clock, ma diciamo solo che il clock è il segnale regolare che si sposta da un livello ad un altro(zero). Quindi il segnale “commuta” da un livello ad un altro. La frequenza di clock è il numero di queste commutazioni che una cpu(CU) è in grado di eseguire in un secondo e si misura in Hertz(come tutte le frequenze). Quindi quando vedete che un computer ha una frequenza di 3 GHz sapete cosa significa.

  1. RAM e ROM

Random Access Memory (memoria ad accesso casuale) e Read Only Memory (Memoria di sola lettura).

La RAM è una memoria volatile, ovvero allo spegnimento della macchina, il suo contenuto viene perso. Ecco perché volatile. È la memoria di lavoro, o anche memoria centrale. Viene utilizzata in tutte le funzionalità del computer e viene usata anche dai software. Essendo volatile, viene coadiuvata dalla memoria di massa. Hard Disk, Floppy (ormai difficilissimi da trovare) e così via.

La ROM è la memoria non scrivibile (Read Only) che contiene il programma di avvio del computer. Il BIOS.

  1. Hard disk

Abbiamo già visto che è una memoria di massa. Ovvero è possibile scrivere i dati al suo interno, e questi dati resteranno a tempo indefinito memorizzati. Ce ne sono di tutte le dimensioni ma oggi si parla di TeraByte. Parleremo più avanti di byte, e ci potremo fare un’idea di cosa sia un TeraByte. Gli Hard Disk, ovvero dischi rigidi, hanno diversi parametri. Il più controllato all’acquisto è il “rpm” ovvero round per minute. Descrivere il funzionamento dell’ HD (Hard Disk) qui non è necessario. Basti sapere che il meccanismo di scrittura viene fatto per settori, sotto settori, alla velocità di 10000 rpm o 5400 e così via. Si trovano oggi anche HD esterni, per aumentare la capacità di salvare dati (immagini, video, ecc..)  dopo aver riempito l’HD principale, con il vantaggio di non dover aprire il Case e attaccare fili a caso e di portarlo in giro.

Potremmo continuare a parlare ore di questi quattro punti, ma vorrei aggiungere qualche parola. Ci sono componenti “esterne” dette periferiche. Ce ne sono di importanti come monitor, tastiera e mouse, stampanti e di meno importanti come il joystick per giocare. E’ inutile parlare del loro funzionamento elettronico in questo documento, potremo approfondirlo magari in seguito. Per tutte le periferiche interne ed esterne (magari anche la scheda video o audio), il computer deve avere i driver, ovvero le istruzioni per poterle utilizzare.

Prima di parlare di SW e linguaggi, devo fare almeno un accenno al linguaggio del computer. Sono discorsi complessi, quindi non potrò trattarli scientificamente. Cercherò di illustrare in modo “leggero” come il computer parla, e quale sia il suo linguaggio. Prendetela come una spiegazione molto soft.

Parliamo di byte. Il Byte è un multiplo del bit. Il bit o Binary digIT. Il bit è “l’unità di misura della quantità di informazione”. È una cifra binaria, ovvero può essere 0 o 1 e nessun altro valore. Il Byte quindi contiene 8 bit.

Pagina 7 su 7

Tutto in informatica viene misurato in byte.

Il linguaggio macchina o codice macchina, è il linguaggio che un computer è in grado di interpretare ed eseguire. Esso è basato su un alfabeto detto binario. È basato sul bit. La CPU è quel componente di un computer che esegue i programmi scritti in linguaggio macchina.

Il linguaggio macchina serve per definire le istruzioni fondamentali che un processore deve compiere e i codici di programmi da eseguire tradotti. Potrebbe essere poco chiaro. Ma non è importante. C’è da sapere che tutti i linguaggi di programmazione, alla fine vengono tradotti in linguaggio macchina. Ovvero quello che un uomo scrive con linguaggio di alto livello viene tradotto in linguaggio macchina (per farlo capire al processore) attraverso.

  1. LINGUAGGI – INTRODUZIONE

Come detto sopra, un computer, attraverso la CPU, esegue delle istruzioni, in “linguaggio macchina”. Noi per creare dei SW scriviamo il codice utilizzando diversi linguaggi (di alto o basso livello) che però hanno un minimo di somiglianza con il linguaggio umano.

Es.: Per scrivere un numero su registro, la macchina (CPU) eseguirà un codice 00000101. Non prendetelo sul serio, è una stringa inventata. Noi in Delphi (che è un linguaggio di alto livello) scriveremo Writeln(“9”); è chiaro che la CPU non può capire l’istruzione Writeln(“9”). Serve solo a noi. Quindi c’è un programma di mezzo che trasforma Writeln in 00000101.

Un linguaggio di alto livello è un linguaggio di programmazione altamente astratto. Sono progettati per essere comprensibili dagli esseri umani, e comprendono anche parole del linguaggio naturale (Format, Writeln, Print, ecc…). I programmi scritti in linguaggio ad alto livello devono essere compilati e interpretati. Al contrario un  linguaggio di programmazione a basso livello coincide con il linguaggio macchina o ne differisce poco, fornendo poca o nessuna astrazione. Un esempio è l’Assembly.

Abbiamo detto che i programmi scritti in linguaggio ad alto livello devono essere compilati e interpretati.

4.a Compilazione

È l’operazione svolta dal “compilatore” che è un programma che traduce il programma sorgente (quello scritto dall’uomo con linguaggio di alto livello) in un programma in linguaggio macchina equivalente.

4.b Interpretazione

L’interprete è un programma che interpreta le istruzioni del programma sorgente e le esegue. A differenza del compilatore non produce un’eseguibile.

Per esempio se alcuni di voi in ufficio usano dei software per la contabilità su Windows 7, usano un SW che qualcuno ha scritto in Delphi, C#, COBOL,  FORTRAN o altro. Questo SW, è stato “compilato” nell’ambiente di sviluppo e interpretato. Così sul Desktop avrete un “IVAPIU’.exe” che cliccato, apre un gestionale per la contabilità, accetta dati, fornisce calcoli, stampa ecc…

Tutti i programmi che eseguite sul vostro Windows, Linux Ubuntu, Mac o altro, sono degli eseguibili (diversi tra loro) che sono stati interpretati.

Ci sono tantissimi tipi di linguaggi di programmazione. Per Windows (.Net C#, VB, Delphi, ecc.) Per Linux (c, c++, Mono c#) o Mac(Objective C).

Ci sono linguaggi per programmi da Desktop, per programmi da smartphone (Xamarin), per programmi WEB.

 

Questo documento è di proprietà di https://significato.online/. Tutti i diritti sono riservati, è vietata qualsiasi utilizzazione non autorizzata, totale o parziale, dei contenuti inseriti nel presente portale, ivi inclusa la memorizzazione, riproduzione, rielaborazione, diffusione o distribuzione dei contenuti stessi mediante qualunque piattaforma tecnologica, supporto o rete telematica, senza previa autorizzazione scritta da parte di Significato.Online. Ogni violazione verrà perseguita per vie legali. ©
 
7+

Vuoi aggiungere il tuo banner personalizzato? Scrivici a [email protected]

2 Commenti

  1. Trovo questo documento davvero utilissimo, spesso su internet mi informo su queste cose ma non ci capisco molto, invece devo dire che grazie a questo articolo moltissime più cose mi sono chiare!

  2. Grazie è stato utile leggere queste informazioni, scritte in modo chiaro così riesco a comprenderle anche io 😀

Aggiungi un Commento

Il tuo indirizzo email non sarà pubblicato.

Commento *

Nome
Email
Sito Web