16
CONCETTI DI INFORMATICA DI BASE! 1)Il Sistema Binario 2)Differenza tra hardware e Software 3)Schema di Von Neumann 4)Il sistema opertativo IL SISTEMA BINARIO STORIA:Il sistema binario è stato inventato da uno dei più grandi matematici tedeschi Gottfried Wilhelm Leibniz anche se inizialemente non fu considerato ma venne rimesso in luce dall'inglese G.Boole nel 1847 che aprirà l'orizzonte alla nascita del calcolatore elettronico.

 · Web viewCONCETTI DI INFORMATICA DI BASE! 1)Il Sistema Binario 2)Differenza tra hardware e Software 3)Schema di Von Neumann 4)Il sistema opertativo IL SISTEMA BINARIO

Embed Size (px)

Citation preview

CONCETTI DI INFORMATICA DI BASE!

1)Il Sistema Binario

2)Differenza tra hardware e Software

3)Schema di Von Neumann

4)Il sistema opertativo

IL SISTEMA BINARIO

STORIA:Il sistema binario è stato inventato da uno dei più grandi matematici tedeschi Gottfried Wilhelm Leibniz anche se inizialemente non fu considerato ma venne rimesso in luce dall'inglese G.Boole nel 1847 che aprirà l'orizzonte alla nascita del calcolatore elettronico.

Il sistema binario è un sistema numerico posizionale in base 2,cioè vengono usati due simboli ,0 e 1, differentemente dal sistema decimale che ne usa 10.

Questo sistema è usato informatica per la rappresentazione interna di un computer,grazie alla semplicità di realizzare fisicamente un elemento con due stadi anzichè un numero superiore,ma anche per la corrispondenza con i valori logici vero e falso.

DA DECIMALE A BINARIO

La conversione di un numero decimale in un numero binario si esegue grazie all'algoritomo della divisione :si esegue la divisione intera del numero per 2,il resto della divisione costituisce la cifra meno significativa ,si procede sul quozioente finchè non si annulla.

DIFFERENZA TRA HARDWARE E SOFTWARE

HARDWARE: E' l'insieme delle parti fisiche,meccaniche ed elettroniche che compongono il computer ad esempio il mouse , il lettore cd, le varie schede,la tastiera ecc

Quindi, l'hardware è tutto cio che si puo toccare,tutto cio che si puo danneggiare dal punto di vista meccanico,l'insieme degli elementi fisici dell'elaboratore

SOFTWARE: E' l'insieme di tutti i programmi che si usano in un computer cioè tutte le informazioni che gli servono per funzionare.

In conclusione gli hardware e i software coolaborano tra di loro per permettere il corretto funzionamento della macchina e sono indispensabili l'uno dagli altri perchè gli hardware sono inutili senza i programmi e i software non potrebbero essere utilizzati senza i componenti fisici.

SCHEMA DI VON NEUMANN

STORIA:L'architettura di von Neumann prende nome dal matematico e informatico John von Neumann il quale inizialmente ha contribuito a svilupparla per l'EDVAC e successivamente l'ha adottata per la IAS machine. L'EDVAC è un computer elettronico costruito dalla Moore School of Electrical Engineering (una ex scuola universitaria dell'Università della Pennsylvania) su commissione dell'Ordnance Department (un ex dipartimento dell'esercito degli Stati Uniti d'America). Anche la IAS machine è un computer elettronico, ma è stato costruito dall'Institute for Advanced Study (un istituto di ricerca degli Stati Uniti d'America, situato a Princeton nel New Jersey, dove lavorarono scienziati del calibro di Albert Einstein).

LA CPU

LA CPU:La CPU (Central Processing Unit) è l’unità centrale di elaborazione. Alloggiata sul microprocessore, dirige e controlla ogni attività del computer e coordina le attività di memoria e delle unità periferiche oltre ad eseguire tutte le operazioni aritmetiche e logiche relative ad esempio ad un programma che si sta eseguendo. Tutte le operazioni sono eseguite in bit (0 e 1).

Oggigiorno le CPU possono essere costituite da diversi "core", ognuno dei quali costituisce una CPU indipendente: di fatto si viene a creare un sistema "multiprocessore" utilizzando un solo integrato; Questo rende possibile l'esecuzione contemporanea di numerosi processi (programmi) senza rallentamento del sistema.

Le parti che compongono la CPU sono: la CU, la ALU e i registri.

LA CU:L'unità di controllo è un componente delle CPU che ha il compito di coordinare tutte le azioni necessarie per l'esecuzione di una istruzione e di insiemi di istruzioni. È il componente che dà la possibilità al microprocessore di eseguire istruzioni diverse. Le azioni che coordinano i vari settori della CPU (la ALU, i registri, il Write-Back) vengono dette micro-operazioni o micro-istruzioni. Un insieme di micro-istruzioni viene detto micro-programma.

L'ALU:In informatica l'unità aritmetica e logica o unità aritmetica-logica è una tipologia particolare di processore digitale che si contraddistingue per essere preposta all'esecuzione di operazioni aritmetiche o logiche.

L'ALU è una componente fondamentale della CPU, della GPU e del DSP, ed è presente sia nell'architettura di von Neumann (l'architettura hardware su cui sono basati la maggior parte dei computer moderni) che nella meno diffusa architettura Harvard. Attualmente l'ALU è tipicamente implementata come parte di un microprocessore monolitico. Le moderne CPU e GPU sono dotate di ALU molto sofisticate e un singolo microprocessore può contenere anche più ALU.

I REGISTRI:Nell'architettura dei calcolatori un registro (o registro del processore) è una piccola parte di memoria utilizzata per velocizzare l'esecuzione dei programmi fornendo un accesso rapido ai valori usati più frequentemente — tipicamente, i valori correntemente in uso in una determinata parte di un calcolo. La maggior parte delle moderne architetture dei computer è basata su un'architettura a pipeline che trae beneficio dal limitare l'accesso in memoria alle sole istruzioni load e store, utilizzando soltanto registri e costanti per l'esecuzione di tutte le altre istruzioni.I registri costituiscono il punto più alto della gerarchia della memoria, e sono il meccanismo più rapido per il sistema di manipolare i dati. I registri sono normalmente misurati in base al numero di bit che possono contenere

Esistono i registri possono essere classificati in vari tipi:Vi sono molte classi di registri:

Registri di dati: sono usati per memorizzare numeri interi. Nelle CPU più semplici o più vecchie, uno speciale registro per i dati è l'accumulatore, usato per calcoli aritmetici.

Registri di indirizzo: contengono gli indirizzi e sono usati per accedere alla memoria.

Registro generico: può contenere sia dati che indirizzi.

Registri floating-point: sono usati per memorizzare numeri a virgola mobile.

Registri costanti: contengono dati a sola lettura (ad esempio zero, uno, pi greco, ecc.).

Registri vettoriali: contengono dati utilizzati dalle istruzioni SIMD (Single Instruction, Multiple Data).

Registri speciali: contengono dati interni della CPU, come il program counter, lo stack pointer e il registro di stato.

Registro di istruzione: contiene l'istruzione corrente.egistri indice: sono usati per modificare l'indirizzo degli operandi.

In alcune architetture, vi sono dei registri specifici del modello di processore, che memorizzano dati e impostazioni del processore stesso. Essendo registri legati a caratteristiche peculiari di uno specifico modello, non è garantita la presenza o lo stesso funzionamento nelle generazioni successive di quel processore.

Vi sono inoltre registri dedicati al "fetching" (trasferimento dalla RAM verso la CPU).

I registri hardware a livello FIRMWARE sono simili ai registri dei processori, ma sono presenti esternamente alle CPU.

LA RAM

La RAM, acronimo dell'inglese Random Access Memory ovvero memoria ad accesso casuale, è un tipo di memoria informatica caratterizzata dal permettere l'accesso diretto a qualunque indirizzo di memoria con lo stesso tempo di accesso.

La memoria ad accesso casuale si contrappone alla memoria ad accesso sequenziale e alla memoria ad accesso diretto rispetto alle quali presenta tempi di accesso sensibilmente inferiori motivo per cui è utilizzata come memoria primaria.

Il tipo di memoria ad accesso casuale più comune attualmente è a stato solido, a lettura-scrittura e volatile, ma rientrano nel tipo di memoria ad accesso casuale la maggior parte dei tipi di ROM (inteso nell'accezione più comune e non come memoria a sola lettura), la NOR Flash (un tipo di memoria flash), oltre a vari tipi di memorie informatiche utilizzate ai primordi dell'informatica e oggi non più utilizzate come ad esempio la memoria a nucleo magnetico.

Esclusivamente l'acronimo RAM (non il termine "memoria ad accesso casuale") ha anche una seconda accezione più ristretta ma attualmente più diffusa secondo cui la RAM è una memoria ad accesso casuale del tipo più comune cioè a stato solido, a lettura-scrittura e volatile.

Esistono vari tipi di RAM:la SRAM, la DRAM e la SDRAM.

SRAM:Nelle SRAM, acronimo di Static Random Access Memory, ovvero RAM statica ogni cella è costituita da un latch realizzato da due porte logiche. Le celle sono disposte a matrice e l’accesso avviene specificando la riga e la colonna.

Consentono di mantenere le informazioni per un tempo infinito, sono molto veloci, consumano poco e quindi dissipano poco calore. La necessità di usare molti componenti, però, le rende molto costose, difficili da impacchettare e con una scarsa capienza.

Proprio per la loro bassa capienza, sono solitamente usate per le memorie cache, dove sono necessarie elevate velocità in abbinamento a ridotti consumi e capienze non troppo elevate

DRAM:La DRAM, acronimo di Dynamic Random Access Memory, ovvero ram dinamica, è costituita, a livello concettuale, da un transistor che separa un condensatore, il quale mantiene l'informazione, dai fili di dati. A livello pratico non viene usato un vero condensatore ma si sfruttano le proprietà elettrico/capacitive dei semiconduttori. È così possibile usare un solo componente per ogni cella di memoria, con costi molto ridotti e la possibilità di aumentare notevolmente la densità di memoria.

A causa del non perfetto isolamento il condensatore si scarica, quindi dopo un breve lasso di tempo il suo contenuto diventa inaffidabile. Si rende necessario perciò ricaricarlo, l'operazione è detta di "refreshing", provvedendo ad eseguire un'operazione di lettura fittizia e riscrittura entro il tempo massimo in cui il contenuto può essere considerato ancora valido. Queste operazioni sono eseguite da un circuito interno alle memorie stesse. Oltre a comportare un certo dispendio di energia rendono più lenta la memoria in quanto, mentre si sta eseguendo il refreshing, non è possibile accedervi. Le memorie DRAM si possono considerare abbastanza affidabili anche perché molto spesso ad ogni riga della memoria è associato un bit di parità, che consente di individuare eventuali errori singoli all'interno della riga, oppure una serie di bit (login), che opportunamente impostati nel momento di ogni scrittura, generano il codice di Hamming corrispondente, che consente di individuare e correggere errori singoli e individuare errori doppi.

È importante sottolineare come l'operazione di lettura sia distruttiva, in quanto nel momento in cui un dato viene letto viene anche perso; risulta quindi necessaria la sua riscrittura immediata e questa porta a uno spreco di tempo.

Le DRAM sono asincrone, ovvero l'accesso in scrittura ed in lettura è comandato direttamente dai segnali in ingresso al contrario delle memorie sincrone in cui il passaggio da uno stato all'altro è sincronizzato ad un segnale di clock.

Per ogni cella sono presenti un numero basso di componenti che permettono di ottenere un’alta capacità complessiva del dispositivo, un basso assorbimento di potenza e costi ridotti, sono dunque utilizzate generalmente per la memoria principale del sistema.

SDRAM:La SDRAM, acronimo di Synchronous Dynamic Random Access Memory, ovvero DRAM sincrone, si differenzia dalla DRAM normale per il fatto che l'accesso è sincrono, ovvero governato dal clock. Tale segnale di clock temporizza e sincronizza le operazioni di scambio di dati con il processore, raggiungendo una velocità almeno tre volte maggiore delle SIMM con EDO RAM.

Tipicamente saldata in un modulo di tipo DIMM, è normalmente impiegata come memoria principale dei Personal Computer di tipo Pentium e successivi.

I DISPOSITIVI DI INPUT E OUTPUT

In informatica con il termine input/output o I/O si intendono tutte le interfacce messe a disposizione dal sistema operativo, o più in generale da qualunque sistema di basso livello, ai programmi per effettuare uno scambio di dati o segnali con altri programmi, (a livello sensoriale), col computer o con lo stesso sistema. Sono anche i due componenti fondamentali del lavoro effettuato. Collegate a queste interfacce nell'interazione con l'utente ci sono le varie periferiche di I/O.

Gli input sono i dati che il programma riceve in ingresso mentre gli output sono i dati che il programma trasmette verso un soggetto terzo. Anche i dati salvati su disco rigido sono output dato che vengono inviati al gestore delle periferiche che provvede a memorizzarli nella memoria magnetica. Anche l'utente utilizza dispositivi di I/O infatti, per esempio il mouse, la tastiera, il gamepad e il microfono sono dispositivi di Input mentre il monitor, la stampante e le casse audio sono dispositivi di Output.

Oltre a dispositivi di carattere fisico i programmi e il sistema operativo hanno dei dispositivi di I/O che sono a loro volta dei componenti software. Questi consentono la comunicazione tra processi e quindi consentono agli applicativi di scambiarsi dati e di sincronizzarsi se necessario.

In elettronica questo termine viene usato per designare dei pin dei circuiti integrati (ed in particolar modo dei microprocessori) che hanno funzioni sia di ingressi che di uscite.

INPUT:Nei primi elaboratori il più semplice dato di input era il bit, che conteneva un'informazione binaria: zero oppure uno. Era fornito con l'impostazione di un interruttore (switch) o un pulsante. Successivamente diventava un carattere quando all'elaboratore veniva connessa una tastiera; la pressione del singolo tasto veniva convertita in una serie di bit (inizialmente 5 (codice Baudot), poi 7 e 8 (codice ASCII)). Altro passo in avanti fu l'avvento delle schede perforate che permettevano di introdurre 80 caratteri alla volta. Prima delle schede perforate i dati di input erano indifferentemente istruzioni o dati di lavoro. Con l'avvento delle schede perforate si iniziò a distinguere le istruzioni dai dati di lavoro, soprattutto per il fatto che le istruzioni (di fatto il programma) erano (quasi sempre) le stesse, mentre i dati di lavoro, per loro natura, cambiavano ad ogni elaborazione. Nacque quindi il termine libreria dei programmi, ad indicare la residenza di questo specifico tipo di input. La residenza era un nastro magnetico, poi un disco magnetico.

OUTPUT:Agli inizi erano dati elementari forniti dall'elaboratore mediante l'accensione o meno di mini lampadine (i led non esistevano) organizzate in file orizzontali sul pannello di controllo dell'elaboratore. Erano in pratica file di bit, da interpretare in esadecimale oppure ottale, secondo la casa costruttrice dell'elaboratore.

Un rapido passo avanti fu l'adozione della consolle (sorta di telescrivente), come unità di input e di output, con la quale iniziò l'era del colloquio uomo-macchina.

Il salto di qualità fu l'avvento delle stampatrici (poi pian piano denominate stampanti), che, a differenza della consolle, che pure stampava, erano in grado di produrre volumi notevoli di output stampato, nei classici formati a striscia continua, in pacchi da 1000 o duemila fogli.

Questo per quanto riguarda l'output finale, quello che è immediatamente interpretabile dall'essere umano.

Non va dimenticato infatti che esisteva (ed esiste), l'output interno, ad esempio destinato alla memorizzazione stabile su nastri o dischi magnetici, ed anche l'output intermedio, destinato a diventare input in successive elaborazioni.

Con l'avvento del monitor video e successivamente delle interfacce grafiche è nato l'output visuale diretto, prima solo testo, poi grafica ed immagine fissa, ed infine immagine in movimento.

Con gli sviluppi delle tecniche audio (di per sé più antiche dell'informatica) è arrivato anche l'output sonoro (da non confondere con i beep del cicalino montato sui primi personal computer

I BUS

In elettronica e informatica, il bus è un canale di comunicazione che permette a periferiche e componenti di un sistema elettronico di "dialogare" tra loro scambiandosi informazioni o dati di sistema attraverso la trasmissione di segnali. Diversamente dalle connessioni punto-punto un solo bus può collegare tra loro più dispositivi.

Le connessioni elettriche del bus possono essere realizzate direttamente su circuito stampato oppure tramite un apposito cavo. Nel primo caso, se il bus è di tipo parallelo cioè adotta una trasmissione parallela, spesso è riconoscibile a vista perché si nota sul circuito un nutrito gruppo di piste compatte e disposte in parallelo che vanno a toccare i vari componenti della scheda elettronica. Sono di questo tipo i bus ISA, PCI e AGP.

Un bus può adottare anche una trasmissione seriale. Il progredire della tecnologia sembra preferire questa forma a quella parallela, che tra l'altro soffre di maggiori ingombri e spesso anche di maggiori costi.

Esistono vari tipi di bus:i bus dati,i bus indirizzi e i bus controlli

BUS DATI:È il bus sul quale transitano le informazioni. È usufruibile da tutti i componenti del sistema, sia in scrittura sia in lettura. È bidirezionale (permette il passaggio dati in più direzioni contemporaneamente).

I BUS INDIRIZZI:È il bus (unidirezionale)a attraverso il quale la CPU decide in quale indirizzo andare a scrivere o a leggere informazioni; sia le celle di memoria (RAM) sia le periferiche di I/O (Input/Output) sono infatti divise in zone, ognuna delle quali ha un dato indirizzo. Dopo aver comunicato l'indirizzo tramite questo bus, la scrittura o lettura avviene normalmente tramite il bus dati. Naturalmente questo bus è fruibile in scrittura solo dalla CPU ed in lettura dagli altri componenti, in quanto tramite questo bus viene dato solo l'indirizzo della cella, che è deciso dalla CPU.

I BUS CONTROLLI:Il bus controlli è un insieme di collegamenti il cui scopo è coordinare le attività del sistema; tramite esso, la CPU può decidere quale componente deve scrivere sul bus dati in un determinato momento, quale indirizzo leggere sul bus indirizzi, quali celle di memoria devono scrivere e quali invece leggere, etc. Infatti la memoria e tutti gli altri componenti comunicano con la CPU attraverso un unico bus condiviso; questo significa che senza un controllo da parte della CPU si verrebbero a creare dei conflitti e delle collisioni.

IL SISTEMA OPERATIVO

Un sistema operativo (abbreviato in SO, in lingua inglese OS, "operating system"), in informatica, è un insieme di componenti software, che consente l'utilizzo di varie apparecchiature informatiche (ad esempio di un computer) da parte di un utente.

Esempi di sistemi operativi sono il DOS, Windows, Unix, le distribuzioni GNU/Linux, BSD, Mac OS, Android, iOS.

Caratteristiche generali:

Esso garantisce l'operatività di base di un calcolatore, coordinando e gestendo le risorse hardware di processamento (processore) e memorizzazione (memoria primaria), le periferiche, le risorse/attività software (processi) e facendo da interfaccia con l'utente, senza il quale quindi non sarebbe possibile l'utilizzo del computer stesso e dei programmi/software specifici, come applicazioni o librerie software.

È dunque un componente essenziale del sistema di elaborazione che funge da "intermediario" tra l'utente e la macchina ed inoltre è una base al quale si appoggiano gli altri software, che dunque dovranno essere progettati e realizzati in modo da essere riconosciuti e supportati da quel particolare sistema operativo. Assieme al processore, con cui è strettamente legato, costituisce la cosiddetta piattaforma del sistema di elaborazione.

Funzioni principali:

Secondo una definizione più rigorosa, il sistema operativo è un insieme di subroutine e strutture dati responsabili:

del controllo e della gestione delle componenti hardware che costituiscono il computer (processi di Input/Output da e verso le periferiche collegate al sistema)

dell'esecuzione dei programmi (processi) che su di esso vengono eseguiti, assegnando ad essi le necessarie risorse per l'avanzamento dei processi.

Se il sistema di elaborazione prevede la possibilità di memorizzazione aggiuntiva dei dati su memoria di massa, come accade nei computer general purpose, esso ha anche il compito di:

gestire l'archiviazione e l'accesso ai file. I programmi possono gestire l'archiviazione dei dati su memoria di massa (ottenendo strutture complesse, come un database), servendosi delle procedure messe a disposizione del sistema operativo. La componente del SO che si occupa di tutto ciò viene chiamata file system.

Infine, se è prevista interazione con l'utente, viene solitamente utilizzata allo scopo un'interfaccia software (grafica o testuale) per accedere alle risorse hardware (dischi, memoria, I/O in generale) del sistema. D'altra parte, un sistema operativo può essere utilizzato anche su una macchina che non preveda interazione diretta con un essere umano (per un esempio, vedi smart card o determinati sistemi embedded) spesso dunque più leggero e semplificato.

Un altro esempio di sistema operativo (basato su kernel Linux): openSUSE

Solitamente un sistema operativo installato su computer fornisce anche degli applicativi di base per svolgere elaborazioni di diverso tipo.

Sebbene molte delle funzionalità sopraddette non siano spesso immediatamente visibili/percepibili dall'utente, l'importanza del sistema operativo di un calcolatore è cruciale: oltre alla necessità di gestione delle funzionalità di base sopraddette, al di là delle prestazioni massime offerte dall'hardware dell'elaboratore stesso, il sistema operativo determina di fatto efficienza e

buona parte delle prestazioni effettive di funzionamento dell'intero sistema ad esempio in termini di latenze di processamento, stabilità, interruzioni o crash di sistema.