martedì 24 marzo 2009

Tra le operazioni fondamentali con i files ci sono queste tre: tagliare, copiare e incollare. Le ultime due sono piuttosto ovvie: rispettivamente, copia in memoria l'oggetto selezionato e inserisce il contenuto memorizzato con il comando copia nella posizione specificata; la prima è probabilmente la meno compresa. C'è chi la interpreta come un comando per rimuovere un file (o una porzione di testo in un documento), mentre la sua funzione è un'altra: toglie il file (o il testo) dalla posizione corrente e lo mette in memoria. Fatto questo, si decide dove metterlo e si usa il comando "incolla". Per eliminare il file basta premere invece il tasto "canc". Ci sono delle scorciatoie da tastiera per usare questi comandi; di solito sono le stesse anche all'interno di applicazioni come Word ed Excel dove avranno effetto sul testo. Queste scorciatoie sono Ctrl+C per copiare, Ctrl+V per incollare e Ctrl+X per tagliare.

Noti una lettera sottolineata in ciascuna parola? Significa che basta premere quel tasto per effettuare l'operazione invece di cliccare con il mouse sulla parola. Trovi questa funzione anche nella barra di menu nelle applicazioni, quella dove si trova "File |Modifica |Visualizza" etc. Anche in queste parole e nei rispettivi sottomenu è possibile digitare la lettera corrispondente per attivare il comando. Per attivare le voci della barra di menu bisogna però premere prima il tasto "Alt". Facendolo, noterai che la voce "File" è evidenziata, ora è possibile selezionare il menu voluto premendo il tasto corrispondente (questo è utile soprattutto se il mouse funziona male o cose del genere).
Usando l'Explorer di Windows (o il gestore finestre equivalente per gli altri sistemi operativi) può essere più comodo trascinare un file da una cartella all'altra per spostarlo. Facendo questa operazione tra disco fisso e unità rimovibile (floppy, memoria usb…) si ottiene una copia e non uno spostamento, cioè il file originale rimane nella sua posizione.

martedì 10 marzo 2009

Memorie e Bus

Per fornire le istruzioni da eseguire alla CPU serve uno spazio in cui immagazzinarle. Si può distinguere tra dispositivi di immagazzinamento momentanei e permanenti. Con "memoria" si indica tipicamente il tipo "volatile", ed è detto anche "Immagazzinamento primario", Primary Storage.

Di questo Primary Storage fanno parte alcune memorie interne alla CPU e le RAM (Random Access Memory). Le memorie interne alla CPU sono di capacità non molto elevata, ma molto veloci e permettono l'utilizzo di istruzioni frequenti con un minimo dispendio di tempo. Le RAM contengono istruzioni che il computer utilizza in esecuzione e quindi i dati in esse contenuti non sono indirizzabili dall'utente e vengono eliminati con lo spegnimento del computer. RAM indica la possibilità di accedere a una cella di memoria in qualsiasi momento indipendentemente dalla sua posizione (al contrario delle memorie ad accesso sequenziale, come i nastri magnetici che richiedevano la lettura di tutto il contenuto del disco fino al punto desiderato).

Del Primary Storage possono far parte anche delle memorie non volatili dette ROM (Read Only Memory, ossia Memorie a Sola Lettura). Queste sono tipicamente utilizzate in dispositivi che hanno un unico utilizzo, come le calcolatrici o i giochi da bar per esempio. Anche nei pc si utilizza una ROM per immagazzinare il programma che permette l'avvio del computer (bootstrap, calzastivali), che è il BIOS, ma questo verrà trattato più avanti. Senza questo programma già pronto per l'accesso da parte della CPU l'avvio del computer non sarebbe possibile.

Anche le ROM sono riprogrammabili, ma la procedura è lenta e poco conveniente.

I bus sono i collegamenti su piastra che permettono la comunicazione dei dati tra la CPU e la memoria. Con l'evoluzione dei processori anche le memorie e i bus sono stati velocizzati, pertanto nella descrizione delle caratteristiche di un computer si può trovare anche la velocità di accesso alla RAM e dei bus stessi.

domenica 8 marzo 2009

Il funzionamento della CPU

La CPU è la parte fondamentale del calcolatore che elabora le informazioni. Prima di tutto, è interessante vedere la struttura semplificata di un calcolatore nell'immagine che segue:





La CPU come abbiamo visto elabora delle istruzioni per risolvere un determinato problema. Le istruzioni sono contenute in quello che viene chiamato programma o applicazione. Il programma può risiedere in un supporto di memorizzazione esterno, come un disco o una memoria flash USB, o sul disco fisso, per esempio. Quando l'utente "lancia" l'applicazione, questa viene caricata nella memoria primaria (RAM). Da qui la CPU procede con l'elaborazione delle istruzioni, una per una. Per fare questo, la CPU si appoggia su diversi registri che memorizzano temporaneamente le istruzioni e i dati: prende un'istruzione dalla memoria e la mette in un registro, prende eventuali dati dalla memoria, stabilisce di che tipo di operazione si tratta, la esegue e restituisce il valore, mentre altri registri aggiornano il punto in cui si è arrivati e registrano la posizione nella memoria della prossima istruzione da eseguire. Questa sequenza (semplificata) è detta "Preleva-Decodifica-Esegui", più nota come "Fetch-Decode-Execute" ed è il ciclo di lavoro fondamentale di una CPU. Della CPU fanno quindi parte diversi registri che possono memorizzare dati, istruzioni o indirizzi, la ALU, o unità aritmetico-logica che esegue le operazioni, e la cache. Quest'ultima è un tipo di memoria molto veloce e relativamente poco capiente, che viene utilizzata per mettere a disposizione della CPU una parte della memoria che si prevede verrà utilizzata più frequentemente, in modo da limitare l'accesso alla memoria stessa che è più lenta e rallenterebbe in questo modo le operazioni. I bus sono invece i canali attraverso i quali le informazioni vengono spostate.
L'esecuzione delle operazioni è sincronizzata da un dispositivo detto "clock", che trasmette degli impulsi sempre uguali a una frequenza regolare. La frequenza è ora calcolata in MHz o GHz, dove 1 Hz = 1 oscillazione al secondo. Durante ogni ciclo può quindi essere svolta una operazione, e il ciclo stesso può essere suddiviso in più sottocicli se le parti dell'operazione devono essere svolte in un determinato ordine. Questa frequenza permette di avere un'idea di quanto veloce è un calcolatore: avrete sentito parlare, ad esempio, di un processore Intel Pentium IV da 3000 MHz, o di un Pentium I da 133 MHz etc.

lunedì 23 febbraio 2009

Cenni di base

Partiamo dall'inizio: l'informatica è una disciplina che si occupa della rappresentazione, elaborazione e immagazzinamento di dati; il termine viene dalla contrazione di Informazione Automatica. L'informazione in questo caso indica qualunque tipo di dato.
Lo scopo è automatizzare l'elaborazione dell'informazione, il che ci consente di risparmiare tempo e delegare una parte del nostro lavoro a qualcuno che non se ne lamenterà ;-)
La parte che è chiamata Unità Centrale di Elaborazione (di solito indicata con CPU, Central Processing Unit) è in sostanza la "mente", quella parte del computer che esegue effettivamente i calcoli. Perché questa possa fare qualcosa occorre che riceva delle istruzioni, che vengono immagazzinate in memorie, e ovviamente ci sarà anche un modo per trasmettere il risultato all'utente. In sostanza, abbiamo Input (dati in ingresso all'elaboratore), elaborazione e Output (dati dall'elaboratore all'utente).
Come opera un computer? Si possono individuare diversi livelli di operazione: il più basso è quello fisico, cioè la circuiteria elettronica. Il Sistema Operativo è un livello più alto, che fa praticamente da interfaccia tra l'utente e i livelli più bassi di operazione, che non sono direttamente accessibili. Quindi il SO permette l'utilizzo dell'hardware da parte dell'utente. Al SO si appoggiano i programmi applicativi per utilizzare l'hardware; questi ultimi (come Microsoft Word, il lettore multimediale o un programma di fotoritocco) svolgono delle funzioni specifiche, consentendo la risoluzioni di problemi di vario genere.
Questo è tutto per ora, alla prossima.

Introduzione

Questo blog è nato per aiutare chi si intende poco o niente di informatica a capire meglio questo soggetto e arrivare un po' per volta ad averne padronanza. Tratterò di nozioni teoriche e soprattutto consigli pratici riguardanti hardware e software. Sono ben accetti suggerimenti su futuri argomenti da trattare e critiche costruttive.