Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Introduzione all'informatica: Sistemi numerici, calcolatori e reti, Dispense di Elementi di Informatica

dispensa di informatica generale

Tipologia: Dispense

2018/2019

Caricato il 17/07/2019

frapiro
frapiro 🇮🇹

5 documenti

1 / 30

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
INFORMATICA
Informatica: insieme dei processi e tecnologie che rende possibile la
creazione, raccolta, elaborazione, immagazzinamento e diffusione
dell’informazione.
Elementi funzionali dell’informatica sono i sistemi di elaborazione
dell’informazione (= computer)
Hardware e sofrware sono i pilastri su cui si regge l’informatica:
Hardware: parti fisiche (monitor,tastiere…) corpo
Software: parti non fisiche (windows, videogiochi ecc..) ciò che determina
il comportamento
I dati sono la materia prima del trattamento dell’informazione. Possono
essere semplici (numeri) o complessi (immagini). La gestione di dati
coplessi è resa possibile dalla potenza raggiunta dagli elaboratori
nell’ultimo decennio
Ciclo di elaborazione dell’informazione:
la
tecnol
ogia
infor
matica viene applicata a numerosi campi, quali:
G
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e

Anteprima parziale del testo

Scarica Introduzione all'informatica: Sistemi numerici, calcolatori e reti e più Dispense in PDF di Elementi di Informatica solo su Docsity!

INFORMATICA

Informatica: insieme dei processi e tecnologie che rende possibile la creazione, raccolta, elaborazione, immagazzinamento e diffusione dell’informazione. Elementi funzionali dell’informatica sono i sistemi di elaborazione dell’informazione (= computer)

Hardware e sofrware sono i pilastri su cui si regge l’informatica: Hardware: parti fisiche (monitor,tastiere…) corpo Software: parti non fisiche (windows, videogiochi ecc..) ciò che determina il comportamento

I dati sono la materia prima del trattamento dell’informazione. Possono essere semplici (numeri) o complessi (immagini). La gestione di dati coplessi è resa possibile dalla potenza raggiunta dagli elaboratori nell’ultimo decennio

Ciclo di elaborazione dell’informazione:

la tecnol ogia infor matica viene applicata a numerosi campi, quali:

  • G

estione aziendale applicato per quanto riguarda il sistema informativo aziendale (insieme dei dati e processi che riguardano raccolta, elaborazione, distribuzione dei dati nelle attività operative e di controllo), sistema informatico (insieme delle risorse tecnologiche facenti parte il sistema informatico).

  • Progettazione dei prodotti complessi (tecniche CAD)
  • Produzione di prodotti (tecniche CAM)
  • Home banking
  • E-governement
  • Medicina e salute
  • Telelavoro
  • Istruzione e formazione
  • Commercio elettronico
  • Sistemi di navigazione globale Purtroppo però l’IT non è accessibile a tutto il mondo, vedi digital divide impossibilità d’avvicinarsi alla tecnologia di oggi chiude qualsiasi possibilità di recupero economico di molti paesi.

IL BIT

Alfabeto di due simboli ‘0’ e ‘1’

I segnali analogici sono molto sensibili alle interferenze, mentre i segnali digitali possono assumere solo due stati (dunque maggiore intensità alle interferenze).

Rappresentazione binaria:

INFORMAZIONE RAPPRESENTAZIONE BINARIA

MONDO ESTERNO COMPUTER

1

CODIFICADECODIFICA2^10 (~ un migliaio, 1024 byte) 2^20 (~ un milione, 1KB x 1024) 2^30 (~ un miliardo, 1MB x 1024) 2^40 (~ mille miliardi, 1GB x 1024) 2^50 (~ miliardo miliardi, 1TB x 1024)

Overflow esiste un limite al numero di bit impiegati per rappresentare un numero. Per questo, essendo che la rappresentazione è formata da un numero finito di bit, se si supera tale limite di ha un errore (overflow).

Intervalli di variabilità BIT numero di configurazioni: 2, intervallo di variabilità {0,1} BYTE numero di configurazioni:256, intervallo di variabilità dipende dal tipo di codifica.

Codifica dei testi Si utilizza una tabella arbitraria. Standard oggi quasi universalmente riconosciuto (codiece ASCII, ogni carattere/simbolo è codificato con 7 bit) Tabella dei codici ASCII:

Il sofw are Il softw are imple me nta le fun ziona lità di un sist ema di elabo razi one. Du e cat egori e fonda me ntali di software: software di sistema (linguaggi di programmazione, sistemi operativi) e programmi applicativi. SISTEMI OPERATIVI: programmi che fanno ‘funzionare’ i vari componenti del computer, gesticono le risorse del sitema in maniera trasparente all’utente. Grazie al SO possiamo eseguire un programma, salvare un file, ecc.. PROGRAMMI APPLICATIVI: ELABORATORE : SOFTWARE = ATTORE : COPIONE

1

Applicazioni compiti eseguiti con ausilio del PC Programmi applicativi programmi utilizzati per svolgere le applicazioni

Evoluzione dei SO Negli anni ’50 i programmi erano scritti su schede perforate, inserite manualmente da un operatore ogni volta che il programma andava cambiato. Oggi i SO non si limitano alla sola esecuzione dei programmi ma comprendono un vasto numero di applicazioni che ne garantiscono il corretto funzionamento del sistema e ne gestiscono le risorse. Interfaccia utente mezzo di interazione tra utente e macchina

Funzioni principali del SO gestire risorse dell’elaboratore, controllare che le operazioni vengano eseguite in modo regolare, determinare dove memorizzare dati e programmi, coordinare comunicazione tra i vari componenti del computer, gestire l’interazione tra utente e i programmi applicativi.

BIOS programma memorizzato su un chip di memoria. Interpreta i dati immessi tramite tastiera, visualizza i caratteri sullo schermo, gestisce comunicazioni attraverso le porte del computer, fornisce un collegamento fra SW e componenti HW dell’elaboratore

Multitasking possibilità da parte del SO di eseguire diversi programmi contemporaneamente. Multitasking preempitive: accesso al processore regolato dal SO.

Bus linea a cui sono contemporaneamente connesse le unità del calcolatore e che consente il trasferimento di dati tra tali unità

Problema: contesa su un mezzo condiviso soluzione CPU=master, periferiche=slave

Bus e Master-Slave: pregi e difetti Pregi:

  1. Semplicità: 1 sola linea di connessione per ogni # di dispositivi
  2. Estendibilità: nuovi dispositivi possono essere aggiunti tramite un’interfaccia al bus senza influenzare l’HW preesistente
  3. Standardizzabilità: definizione di normative che consentono a periferiche di costruttori diversi di interagire correttamente Difetti:
  4. Lentezza: l’uso in mutua esclusione del bus inibisce almeno parzialmente la parallelizzazione delle operazioni di trasferimento di dati tra dispositivi
  5. Limitata capacità: al crescere del numero di dispositivi la presenza di una sola linea comporta un limite alla capacità di trasferire dati
  6. Sovraccarico della CPU: l’unità centrale viene coinvolta in tutte le operazioni di trasferimento dati

3 tipi di bus: dati (utilizzato per trasferire dati), indirizzi (identifica la posizione delle celle di memoria in cui la CPU va a scrivere o leggere), di controllo (in cui transitano i segnali di controllo che consentono di selezionare le unità coinvolte in un trasferimento dati, di definire la direzione dello scambio).

L’UNITÀ CENTRALE DI ELABORAZIONE

Organizzazione tipica (bus oriented):

Elem enti di una CPU:

  1. Unità di controllo legge le istruzioni dalla memoria e ne determina il tipo
  2. Unità aritmetico-logica esegue le operazioni necessari per eseguire le istruzioni
  3. Registri memoria ad alta velocità usata per risultati contemporanei, determina il parallelismo della CPU, esistono registri generici e specifici

1

  • IR : Usato per contenere l'istruzione in corso di esecuzione Caricato in fase di fetch determina le azioni svolte durante la fase di esecuzione
  • PC : Tiene traccia dell'esecuzione del programma Contiene l’indirizzo di memoria in cui è memorizzata la prossima istruzione da eseguire
  • MAR : contiene l'indirizzo della locazione di memoria da leggere o scrivere La dimensione di MAR determina l'ampiezza dello spazio di memoria fisica Dalla fine degli anni '80 vengono prodotti microprocessori con bus indirizzi a 32 bit
  • MDR : Registro attraverso il quale viene scambiata l'informazione tra la memoria e la CPU Tradizionalmente la dimensione di MDR dà la misura del grado di parallelismo della macchina (8, 16, 32, 64 bit)
  • PSW : (Program Status Word) contiene info riguardo lo stato del programma
  • R0, R1,...Rn : Registri di uso generale

Quanto complesse devono essere le istruzioni che una CPU è in grado di eseguire? CISC un repertorio di istruzioni esteso è preferibile perche istruzioni potenti semplificano la programmazione, riduce il gap tra linguaggio di macchina e linguaggio di alto livello. L’uso efficiente della memoria (all’epoca troppo costosa) era la preoccupazione principale. Approccio RISC memorie più veloci ed economiche, comportamento dei programmi, conviene costruire processori molto veloci

RISC CRITERI DI PROGETTAZIONE

  • Frequenza di clock velocità con cui gli istanti di tempo si succedono all’interno della CPU. Periodo di clock (intervallo di tempo tra un istante ed il successivo – inverso della frequenza di clock). Il periodo di clockdeve essere sufficientemente lungo da consentire a tutti i segnali elettrici di arrivare.
  • Istruzioni devono essere semplici
  • Tutte le istruzioni occupano lo stesso spazio di memoria (una parola)

1

  • Ristretto numero di formati la codifica ‘ordinata’ consente accorgimenti per velocizzare l’esecuzione, difficilmente applicabili ai repertori di istruzioni complesse.
  • La semplificazione del repertorio tende a far aumentare la dimensione del codice

CPU

Processore: i registri speciali

  • Program counter i bit del registro PC indicano l’indirizzo di una parola in RAM il cui contenuto rappresenta la prossima istruzione da eseguire
  • Registro Istruzione i bit del registro IR indicano l’istruzione appena letta dalla RAM e da decodificare
  • Registro Indirizzi Memoria (MAR) i bit del registro MAR indicano l’indirizzo di una parola in RAM il cui contenuto deve essere letto o scritto dal processore

un’operazione una configurazione.

  • Si sceglie di usare un certo numero di bit e si fa corrispondere ad un registro una configurazione.
  • A seconda dello spazio di indirizzamento, si sceglie di usare un certo numero di bit e si fa corrispondere ad un indirizzo una configurazione
  • In questo modo, le istruzioni sono rappresentate in formato digitale e mantenute all’interno della RAM per essere prelevate (lette) ed eseguite dal processore.

Come sono codificate le istruzioni

  • Istruzione che somma il contenuto del registro R3 con il contenuto del registro R8 e mette il risultato nel registro R13. In linguaggio macchina scriveremmo ADD R3,R8,R
  • Ipotizziamo di avere 16 registri in tutto e di avere una dimensione della parola di memoria di 16 bit (per cui un’istruzione è codificata con 16 bit)• associo all’operazione ADD 4 bit fatti così: 1011
  • associo 4 bit ad ogni indice di registro per cui ottengo per R3 (0011), per R8 (1000), per R13 (1101) per cui si ha che
  • ADD R3,R8,R13 si codifica con 1011 0011 1000 1101 Il bus
  • Problema: collegare le varie componenti (fisicamente separate) di un calcolatore, ad esempio, processore e memoria centrale
  • Problema: come fa il processore a trasmettere alla RAM i bit che codificano l’indirizzo di una parola, il contenuto di un registro, etc.?
  • Problema: come fa la RAM a trasmettere al processore i bit che sono contenuti in una parola di memoria?
  • Collegare ogni componente a tutte le altre (costoso se ho molte componenti separate)
  • Usare un unico collegamento condiviso Bus di sistema: insieme di collegamenti (solitamente in rame) che connette tutti i componenti di un’architettura

ALGEBRA BOOLEANA

George Boole La sua algebra viene utilizzata solo dall’inizio del XX secolo, e rappresenta uno dei primi sistemi di calcolo. Si basa su variabili dette logiche o booleane aventi due soli possibili valori: vero o falso.

Variabili booleane funzioni booleane (funzione booleana di tre variabili) Il codominio è costituito da due soli possibili stati: vero o falso (true-false; 0-1)

Ogni funzione booleana è caratterizzata dalla propria tabella di verità:

Ci sono due tipi di funzioni:

  1. Funzioni completamente specificate se per tutte le combinazioni delle variabili il suo valore è specificato

1

Nomenclatura e simbologia operatori: NOT: inversione ( ̄) AND: prodotto logico ( · ) OR: somma logica ( + ) XOR: or esclusivo (⊕ ) Con tutti questi operatori si possono costruire funzioni booleane.

Esistono inoltre due operatori (NAND,NOR) che permettono la sintesi di qualsiasi funzione, utilizzando un unico tipo di operatori:

OPERATORE ‘NAND’ Il risultato è vero solo se è falso l’AND tra le due variabili

OPERAT ORE ‘NOR’

Il risultato è vero solo se è falso l’OR tra le due variabili

Un insieme di variabili e/o costanti booleane a cui siano applicati gli operatori logici si dice espressione booleana o logica. Una espressione logica rappresenta una funzione logica. Esempio

1

ALGORITMI

Algoritmo: procedimento che permette di arrivare a un risultato partendo da dei dati.

Proprietà degli algoritmi:

  • Finitezza: composto da un numero finito di passi elementari. Le operazioni sono eseguite un numero finito di volte
  • Non ambiguità: i risultati non variano in funzione della macchina/ persona che esegue l’algoritmo
  • Realizzabilità: deve essere eseguibile con le risorse a disposizione

Rappresentazione algoritmi È necessario far riferimento a dei formalismi che non introducano ambiguità e siano riconosciuti ed interpretati allo stesso modo da un generico esecutore; permettano di rappresentare in modo efficace un algoritmo; costituiscano un utile strumento per poi poter passare alla fase di codifica. Rappr. Grafica diagrammi di flusso (FLOW CHART) Rappr. Testuale notazione lineare strutturata (PseudoCodice)

Algoritmi: operazioni base Le operazioni primarie sono:

  • Istruzioni di I/O lettura di dati di input , scrittura dei risultati di output
  • Istruzioni di assegnamento all’inizio di un algoritmo una variabile non ha alcun valore, non ha quindi senso utilizzarla in una espressione. Deve essere inizializzata (esplicitamente o mediante una operazione di lettura).
  • Valutazione espressioni L’esecutore è in grado di valutare espressioni aritmetiche ed assegnarle alla variabile specificata nella parte sinistra.
  • Strutture di controllo verifica di una condizione

RETI DI COMPUTER

cavi di telecomunicazione), velocità di trasmissione molto elevata, 2 tipologie di rete ( bus , nodi si agganciano ad uno stesso canale trasmissivo; ring , ovvero una rete a forma di anello a cui si agganciano tutti i nodi)

Reti geografiche (WAN-wide area network) Si estendono per migliaia di km, sono costituite da end-point (computer), canali trasmissivi, punti intermedi (router). Tipicamente una rete WAN è utilizzata per collegare fra loro più reti LAN. I router sono apparati fondamentali per la realizzazione di una WAN (importantegateway: router che si fanno anche carico di problematiche di interconnessione tra reti eterogenee). La tecnologia trasmissiva per le reti WAN è eterogenea (linee dedicate per collegare due nodi, linee telefoniche, ponti radio, canali satellitari)

Software per le reti Nella comunicazione tra PC sono dei programmi a dialogare tra di loro. Nell’ambito del dialogo si distinguono due ruoli: client (software che inizia il dialogo) e server (software che è in attesa della connessione da parte di uno o più client e fornisce il servizio/risorsa) Reti peer-to-peer ciascun nodo presente nella rete svolge simultaneamente il ruolo di server o di client Il software per la gestione della comunicazione delle reti si compone di moduli suddivisi per livelli, i quali comunicano con i rispettivi sotto e soprastanti. (livello più basso fisico; più alto astratto) Lo scopo di ciascun livello è quello di servire dei servizi agli strati sovrastanti. Tra ogni coppia di livelli adiacenti è definita una interfaccia, che definisce le operazioni primitive e i servizi.

Metaforicamente, il software per le reti funziona in questo modo:

Comunicazione segmentata in pacchetti In fase di trasmissione ogni livello aggiunge al pacchetto ricevuto dallo strato sovrastante un header , formando cosi un pacchetto più grande. Esso contiene informazioni di servizio utili per lo scambio del pacchetto di dati Una volta ricevuto, ogni livello scorpora l’header del pacchetto da segmento contenente i dati veri e propri.

Esistono modelli teorici per la definizione di un’architettura di una rete e architetture effettive che di fatto costituiscono uno standard nel mondo delle reti:

  • Modello OSI (definisce numero, caratteristiche e relazioni funzionali tra livelli ma non i protocolli effettivi; 7 livelli). Modello OSI semplificato 5 livellli:
  • 1 Fisico: canale analogico, in cui i valori variano di continuo all’interno di un determinato intervallo detto ampiezza. Il segnale può essere rappresentato da una funzione sinusoidale non periodica che, con gli strumenti dell’analisi di Fourier, può essere interpretata come la somma di funzioni trigonometriche con ampiezza e periodo diverse Un segnale è quindi caratterizzato da un intervallo di frequenze delle funzioni sinusoidali che lo compongono: tale intervallo si chiama banda di frequenza del segnale Anche il mezzo fisico di trasporto del segnale è caratterizzato da un intervallo di frequenze delle funzioni che compongono il segnale che può essere trasmesso da tale mezzo fisico; questo intervallo prende il nome di banda passante Harry Nyquist : nel 1927 dimostrò che un segnale analogico di h può essere ricostruito mediante una campionatura eseguita 2h volte al secondo. Un segnale di banda h consente di rappresentare per ogni secondo una quantità di informazione con un numero di bit pari a 2h log2 V, dove V è il numero di possibili valori del segnale (possibili valori discreti del segnale) Quindi con un segnale binario (V = 2) con una banda di 3 KHz, il numero di bit trasmessi al secondo è pari a 2 × 3000 × 1 = 6.000 bit per secondo (6 Kbps) Per trasmettere ad una velocità superiore a 6 Kbps si escogitano delle codifiche del segnale che sfruttano un numero di valori del segnale V > 2 (nella pratica V è un valore piuttosto elevato) Claude Shannon: padre della Teoria dell’Informazione, introdusse il concetto di rumore su un canale di comunicazione e formulò un celebre teorema ( Secondo Teorema di Shannon, 1948) in cui

1