Diventare un omino dei computer: parte 2


Eccoci con la seconda puntata del nostro corso. Bene, abbiamo visto a grandi linee come funziona il sistema binario, ossia il linguaggio dei calcolatori sin dalla loro nascita. Di fatto qualsiasi tipo di informazione presente all'interno di un calcolatore è null'altro che l'insieme di numeri in codice binario sotto forma di tensioni, ossia di stati elettrici. Immaginate una serie di batterie, alcune carice e altre scariche, quelle cariche sono degli 1 e quelle scariche sono degli 0. I calcolatori interpretano queste serie e fanno calcoli, forniscono immagini ed emettono suoni, in pratica comunicano con noi e rispondono ai nostri comandi.

Ma cerchiamo di capire come si istruisce un computer, la lezione di oggi sarà FONDAMENTI DI PROGRAMMAZIONE! Non aspettatevi di saper programmare al termine di questo articolo ma già sapere cosa significa in termini pratici programmare è un bel passo avanti! Dunque, da dove cominciò? Beh credo che sia un idea cominciare dall'inizio (ovvio direte voi … ) ma non intendevo dall'inizio dell'argomento! Intendo dall'accensione di un calcolatore! Già, da quando premete il tasto di accensione del vostro PC, vi siete mai chiesti cosa accade? suppongo di si, e suppongo anche che qualche stralcio di nozione rubbacchiata qua e là vaghi nelle vostre cervella in attesa di essere sistemata al posto giusto. Iniziamo con il capire cosa deve fare un pc all'avvio … Come sicuramente sapete o immaginate dentro la scatola che voi chiamate computer ci sono diversi componenti. Troveremo sicuramente un processore, della memoria RAM, un disco rigido e via dicendo … Non entrando nel merito dei ruoli che ricoprono i singoli componenti (per quello vi può aiutare san google e wikipedia con l'ausilio della buona volontà) posiamo affermare che la prima cosa che fà un personal computer è mettere ordine all'interno di se stesso. Proprio così, il pc per prima cosa si organizza e lo fà grazie al BIOS. Il BIOS è un programma contenuto in un integrato dedicato che è presente su ogni scheda madre. Il processore esce di fabbrica che non sà fare nulla in maniera autonoma, nullla a parte andare a laggere la prima istruzione del bios, dopo di che saranno le istruzioni successive a determinare le azioni del processore. Il ruolo principale del BIOS è fornire al processore (e di conseguenza al sistema operativo che ancora si deve avviare) una visione ordinata dei componenti installati all'interno del computer assegnando ad ogniuno di essi nomi ed indirizzi hardware. Il BIOS è il primo esempio di programmazione, esso è scritto direttamente in codice macchina (quindi in binario) e il processore lo interpretà senza nessun intermediario (esiste ovviamente una parte grafica accessibile all'utilizzatore ma quello è un'altro discorso).

Una volta terminata la fase di organizzazione il processore sà dove andare a cercare il sistema operativo (solitamente nell'hard disk) Ma soffermiamoci un secondo sulla mia precedente affermazione, ossia "il BIOS è scritto in codice machina". Bene ora considerate che nonostante le "poche" operazioni gestite dal bios la sua realizzazione richiede considerevoli attività di programmazione in un linguaggio a noi ostico, quale? 111001001000100100010100011111010101101001001. Sapreste dirmi cosa ho scritto? No? Neanche io, ma questo è quello che i nostri occhi vedrebbero se andassimo a leggere dentro un BIOS. Ora immaginate cosa vuol dire creare un moderno sistema operativo con la stessa tecnica, impossibile? Si è vero è impossibile, per questo esistono i compilatori! I programmatori scrivono i programmi utilizzando sintassi e comandi che seppur rispettosi di rigide strutture logiche hanno un significato comprensibile alla mente umana, un esempio?

<include> stdio.h

printscr "ciao mondo";

<end>

Questo insieme di codice farà comparire sullo schermo la scritta ciao mondo. Il linguaggio che ho usato sopra non esiste, è simile al linguaggio C ma non è sicuramente corretto, è null'altro che un refuso dei miei ricordi di studente.

Ora avete capito? Il programmatore scrive il codice sorgente nel linguaggio di programmazione da lui scelto, lo dà in pasto ad un software ciamato compilatore che lo traduce in linguaggio macchina et voilà il nostro processore ora sà leggere ciò che noi abbiamo scritto, abbiamo programmato!

Tornando all'avvio del nostro computer il processore leggerà le istruzioni contenute in un dispositivo di avvio (hard disk, cd-rom e quant'altro) e le eseguirà dando vita al sistema operativo.

 

Alla prossima puntata!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *