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


Fondamenti di infromatica, Schemi e mappe concettuali di Informatica gestionale

Riassuno tei capitoli di teoria per ricavare domande aperte esame di fondamenti di informatica

Tipologia: Schemi e mappe concettuali

2023/2024

Caricato il 12/11/2024

Utente sconosciuto
Utente sconosciuto 🇮🇹

1 / 44

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
INFORMAZIONE
L’informazione viene definita come un elemento o un dato che permette di venire a
conoscenza di qualcosa, sotto forma di messaggio inviato tramite un codice da un
trasmettitore ad un ricevente
Essa serve a risolvere incertezza e prendere decisioni, di conseguenza a risolvere
problemi
IL CALCOLATORE
Il calcolatore è un sistema di elaborazione delle informazioni e i passaggi chiave che
ne compongono l’utilizzo sono:
Acquisizione dati
Elaborazione
Archivio
Processamento
Comunicazione
Soluzione
INFORMATICA
L’informatica (informazione automatica) si occupa di codificare, memorizzare e
trasmettere dati
LIVELLI DI ASTRAZIONE
DATO
INFORMAZIONE
CONOSCENZA
CODICE
Insieme di regole e convezioni affinché l’informazione possa essere scritta, letta,
elaborata, in modo corretto da entrambe le parte
CODICE insieme di simboli che da un’informazione
SIMBOLI elementi base
STRINGA sequenza di L simboli
LINGUAGGIO regole per creare le stringhe
CODIFICA BINARIA
La codifica binaria si compone di due simboli che sono lo 0 e l 1.
Per conoscere il numero di configurazioni possibili a seconda della lunghezza della
stringa la formula da applicare è la seguente:
K=N^L=2^L
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c

Anteprima parziale del testo

Scarica Fondamenti di infromatica e più Schemi e mappe concettuali in PDF di Informatica gestionale solo su Docsity!

INFORMAZIONE

L’informazione viene definita come un elemento o un dato che permette di venire a conoscenza di qualcosa, sotto forma di messaggio inviato tramite un codice da un trasmettitore ad un ricevente Essa serve a risolvere incertezza e prendere decisioni, di conseguenza a risolvere problemi IL CALCOLATORE Il calcolatore è un sistema di elaborazione delle informazioni e i passaggi chiave che ne compongono l’utilizzo sono: Acquisizione dati Elaborazione Archivio Processamento Comunicazione Soluzione INFORMATICA L’informatica (informazione automatica) si occupa di codificare, memorizzare e trasmettere dati LIVELLI DI ASTRAZIONE DATO INFORMAZIONE CONOSCENZA CODICE Insieme di regole e convezioni affinché l’informazione possa essere scritta, letta, elaborata, in modo corretto da entrambe le parte CODICE insieme di simboli che da un’informazione SIMBOLI elementi base STRINGA sequenza di L simboli LINGUAGGIO regole per creare le stringhe CODIFICA BINARIA La codifica binaria si compone di due simboli che sono lo 0 e l 1. Per conoscere il numero di configurazioni possibili a seconda della lunghezza della stringa la formula da applicare è la seguente: K=N^L=2^L

Se invece so quante informazioni mi servono e ho bisogno di sapere il numero di caratteri di cui deve essere composta la stringa scriverò: L=log2(K) arrotondando per eccesso REGOLE DI CONVERSIONE Per passare da un numero in qualsiasi tipo di codifica, sia essa binaria, ottale o esadecimale, ad una codifica in base 10 la regola è sempre la stessa: Si moltiplica ogni numero per la base e la base deve essere elevata alla sua posizione partendo da destra considerando la posizione della prima cifra come 0 Per quanto riguarda la conversione da 10 ad una base qualsiasi la regola è sempre la stessa: si divide il numero per la base in cui voglio trasformare il mio numero si mette da parte il resto si continua a dividere fino allo zero si scrivono tutti i resti dall’ultimo al primo CONVERSIONE DA OTTALE E ESADECIMALE A BINARIO E VICEVERSA DA BINARIO A OTTA/ESA Si prende il numero binario Lo si divide in gruppi da tre partendo da destra Si calcola il valore decimale di ogni gruppo Nel caso di esadecimale i gruppi sono da 4 DA OTTA/ESA A BINARIO Si prende il numero Ogni cifra si calcola il binario in tre cifre binarie Se il numero non ha tre cifre binarie si aggiungono zeri a sinistra Si prende il numero, si inverte e si mette al posto della cifra di partenza In esadecimale i gruppi sono da 4 CODICE ASCII American Standard Code for Information Ha 127 caratteri 0-31 sono di controllo 31-126 sono stampabili 127 comando del DEL 48-57 sono i numeri da 0 a 9 65-90 sono le MAIUSCOLE

Sistema di codifica numerico Esprime cifre da 0 a 9 usando 4 bit Una cifra per bit (riempiendo con gli 0) oppure due cifre per bit Si usa per facilitare la visualizzazione CODIFICA DI SUONI E IMMAGINI SUONI BIT-RATE Rappresenta il numero di bit per secondo ed è pari al numero di campioni al secondo per il numero di bit per campione TECNICA LOSSY Compressione con perdita di dati che garantisce maggiore compressione ma minore qualità (MP3, WMA Windows Media Audio) TECNICA LOSSLESS Garantisce che non vi sia perdita di dati in compressione con una miglior qualità, a ciò fa fronte un maggior dispendio di memoria (1 min= 10MB, WAV Wave Form Audio File Format) VIDEO RIDONDANZA SPAIZALE Pixel adiacenti nello stesso fotogramma hanno le stesse caratteristiche in termini di colore e luminosità (codifica intra-frame) RIDONDANZA TEMPORALE Esiste una correlazione tra pixel di fotogrammi adiacenti che risultano quasi identici (codifica inter-frame) MPEG- Distingue i diversi livelli di un’immagine, se un livello non cambia non ne immagazzina i fotogrammi successivi corrispondenti salvando memoria. STORIA DEL CALCOLATORE Pascal inventò il primo tipo di calcolatore che si chiamava la pascalina, macchina che eseguiva addizione e sottrazione con riporto automatico Dopo fu Poleni a creare una macchina che eseguiva tutte e tre le operazioni, di seguito fu Baddage a definire la prima macchina analitica Fu poi con Colossus, la macchina britannica utilizzata per la decodifica dei codici tedeschi, che si ebbero enormi passi avanti. Fu infine Von Neuman a definire le basi dei primi computer con ENIAC macchina indipendente da dispositivi fisici utilizzati per realizzare le operazioni

Negli anni Sessanta poi si svilupparono nuovi calcolatori in grado di eseguire operazioni semplici e veloci da eseguire in pochi minuti. FUNZIONI Elaborazione Memorizzazione Trasferimento Controllo Memoria Programmi e dati codificati e memorizzati su supporti Esecuzione Le operazioni sono selezionate ed eseguite specificando gli operandi Controllo Operazioni riconosciute ed eseguite tramite segnali elettrici con un controllo sulla validità della loro successione. Input/Output Macchina di Von Neumann Le principali intuizioni di Von Neumann furono quelle di utilizzare il binario al posto del decimale e memorizzare i programmi in forma digitale nella stessa memoria dei dati per rendere più semplice la programmazione. La macchina Von Neumann è un modello di architettura del calcolatore elettronico che costituisce il modello di riferimento delle macchine moderne I cui principali componenti funzionali sono: CPU Ha il compito di eseguire le istruzioni che servono per elaborare i dati. Svolge allo stesso tempo operazioni di controllo sulle componenti e di coordinamento delle operazioni. Memoria Centrale Costituita da una serie di elementi dette celle, ognuna identificabile dal proprio indirizzo, si occupa di memorizzare i programmi da eseguire e i dati da elaborare. Un programma è una sequenza di istruzioni che devono essere eseguite, mentre i dati sono le informazioni che il programma elabora per produrre risultati Unita di INPUT/OUTPUT È costituita da dispositivi che vengono detti periferiche che consentono l’interazione della macchina con l’esterno attraverso interfacce Bus

ALU (Arithmetic and Logic Unit)

È un circuito digitale contenuto nel processore che esegue operazioni

logico/aritmetiche.

In ingresso hai i dati su cui operare (operandi), informazioni sullo stato delle

operazioni precedenti e le istruzioni su quali operazioni eseguire. In base

all’istruzione in esecuzione gli operandi posso essere provenire da CPU o da

una memoria esterna o generati direttamente dall’ALU, in uscita abbiamo i

risultati che vengono memorizzati o in un registro interno o in una memoria

esterna.

REGISTRI

Sono unità di memoria su cui i dati e le istruzioni che vengono eseguite e

stanno lavorando vengono immagazzinate temporaneamente.

Il loro tempo di accesso è notevolmente più basso rispetto alle celle di

memoria.

Registri speciali (Program Counter and Instruction Register)

Il PC contiene in ogni istante l’indirizzo in memoria centrale dell’istruzione

successiva.

L’IR contiene invece l’indirizzo dell’istruzione corrente.

Di solito lavorano su 2, 4, 8 byte con memoria temporanea per contenere gli

operandi o i risultati parziali delle operazioni.

OROLOGIO DI SISTEMA (CLOCK)

Sincronizza le operazioni rispetto ad una data frequenza ed è fondamentale per le CPU. ISTRUZIONI Istruzioni aritmetico logiche (somma, sottrazione… and, or, xor) Istruzioni per il controllo del flusso (ciclo, uscita, controllo, condizione) Istruzioni per il trasferimento delle informazioni FLUSSO FETCH-DECODE-EXECUTE FETCH Corrisponde alla fase di acquisizione dell’istruzione, che viene recuperata dalla memoria del programma, la posizione dell’istruzione in memoria è data dal PC che memorizza un numero identificativo dell’istruzione successiva, da qui viene inviata all’IR che contiene l’istruzione corrente, si ha dunque un incremento nella PC per andare avanti con le istruzioni. DECODE Rappresenta la fase di decodifica, eseguita dal decodificatore, l’istruzione contiene dei bit interni che prendono il nome di codice operativo, che contiene l’operazione da eseguire e gli operandi.

EXECUTE Può avvenire in un'unica azione o in una sequenza di azioni, varie parti della CPU sono collegate in modo da eseguire l’operazione desiderate e interagiscono tra loro tramite impulsi di Clock. MEMORIA Un primo tipo di memoria si trova all’interno della CPU e funge da supporto ad esso fornendo dati ed informazioni in maniera rapida e temporanea. In questo caso si utilizza una memoria che ha le caratteristiche di avere una velocità di accesso rapida, economicamente costosa e temporanea. Oltre a questa serve una memoria di archivio che sia in grado di rendere reperibili i dati e i programmi anche dopo lo spegnimento del computer. Gli aspetti che caratterizzano una memoria sono Velocità tempo di accesso: tempo che intercorre tra la presentazione dell’indirizzo alla memoria e tempo di memorizzazione. Influenza la velocità di lettura e scrittura velocità di trasferimento: la velocità con cui vengono trasferiti i dati ovvero la qualità di dati trasferibili nel tempo volatilità: la capacità del tipo di memoria di mantenere o non mantenere o non mantenere l’informazione in memoria in assenza di alimentazione elettrica capacità: numero di bit che possono essere memorizzati costo modalità di accesso: Diretto Causale: tempo di accesso indipendente da posizione Sequenziale: tempo di accesso dipendente dalla posizione Mista Associativa: la memoria indica la posizione occupata dal dato TIPI DI MEMORIA Registri interni alla CPU Memoria cache tra CPU e memoria centrale Memoria centrale Memoria secondaria o di massa Che vengono messi in un ordine posizionale e gerarchico Il livello più alto è più vicino al processore è più piccolo ma veloce, il più basso è più lontano dal processore, più lento ma più grande.

Tecnologie di memoria

Magnetismo-Fenomeno di polarità

Ottica-Raggi Laser

Stato solido-Tecnologia elettronica

HARD DISK

Ogni disco è composto da un piatto, ogni piatto ha delle tracce che sono cerchi

concentrici sul disco e tra ogni traccia vi è un gap, poi il disco è diviso anche in

settori e ogni settore è separato da un intersector gap.

Più dischi di alluminio o vetro rivestiti da ferromagnetico impilati tra loro.

L’isieme degli anelli appartenenti a dischi diversi ma con uguale distanza dal

centro viene detto cilindro.

Esso serve per contenere tutti i programmi software, gli applicativi e i

documenti.

Le sue caratteristiche sono

Seek time : tempo di ricerca della traccia

Latency : tempo di latenza per il settore

Transfer Rate: velocità di trasferimento del disco

MEMORIE OTTICHE

Densità di registrazione più elevata

Altamente affidabili

Il CD presenta fori o sezioni lisce ed è codificato per 1 in presenza di cambio e

per 0 in persistenza di pit (foro) o land (liscio)

DISPOSITIVI I/O

Vengono dette anche periferiche e servono per comunicare da e verso il

calcolatore

Sono composti da un dispositivo fisico e da un’interfaccia che è suddivisa in

registri di appoggio, controllo e stato.

Appoggio (buffer) : utilizzati per trasferimento dati da CPU ad I/O

Per inviare un dato la CPU esegue la scrittura di in dato sul buffer e lo

trasferisce

Per prelevare un dato esegue la lettura da un buffer di un dato proveniente

dalla I/O

Controllo : Scritti dalla CPU per impostare modalità di funzionamento

Registri di stato : Per contenere informazioni di sincronizzazione tra unità CPU

e I/O

Modalità di interfacciamento

L’interfacciamento può avvenire in memory-mapped ovvero mappando su

una porzione di memoria con stesse istruzioni di scrittura e lettura, o può

avvenire in mapped ovvero con un indirizzo separato e uno spazio separato

Sincronizzazione

Poiché le velocità di CPU e dei dispositivi I/O sono differenti tra loro esse

devono essere sincronizzate, e qui intervengono i registri di stato che

contengono informazioni di sincronizzazione o errore

Analizziamo vari tipi di sincronizzazione

Polling

Le informazioni di sincronizzazione sono contenute su due bit del registro di

stato,

la CPU legge il registro di stato e verifica se l’interfaccia è pronto, se non lo è

continua a leggere finché non sarà pronta

Poco efficiente, Peggiora le prestazioni della CPU, degrada le periferiche I/O

Buona per periferiche che hanno una frequenza simile a quella di polling

Interrupt

Se la I/O è pronta invia un segnale di interrupt alla CPU che interrompe il

programma in esecuzione ed effettua il trasferimento del dato (interrupt

Handler), completato il trasferimento fa ripartire il programma

Rende la CPU più efficiente

La richiesta di trasferimento spessa alla periferica

Tempi più lunghi

Utilizzabile se la frequenza di interrupt è più bassa di quella della CPU

Gestione di temporizzazione Arbitraggio di controllo Tipi di bus Bus dati: trasferimento dati tra memoria e registro dati CPU o periferiche con CPU (o memoria centrale) Bidirezionale Parole in n bit con un numero di linea maggiore di uno Bus indirizzo: trasmette contenuto dal registro indirizzi alla memoria o alla periferica Ha indirizzamento univoco dei dispositivi periferici al processore 2^m indirizzi con numero di linee maggiore di uno Bus controllo: coordinamento del trasferimento in ordine predefinito È unidirezionale Funzionamento e cicli Quando si verificano le operazioni di bus con trasferimento dati tra master e slave ogni trasferimento è un ciclo di bus che è composto da Lettura della parola di memoria Scrittura della parola di memoria Lettura registro I/O Scrittura registro I/O Riposo Un ciclo può essere composto da Selezione Attesa Trasferimento Conclusione CARATTERISTICA 1: temporizzazione Il bus può presentare una linea di clock e quindi un segnale di clock e quindi essere sincronizzato, oppure può non presentare questa linea e non essere sincronizzato Sincrona CLK MREQ (Memory Request) RD (Read) WAIT MYSN (Master Synchronisation)

SSMY (Slave Synchronisation) Semplicità di Progetto e di controllo, ma maggiore spreco di tempo Asincrona Colloquio tra master e slave su apposite linee di sincronizzazione Efficiente, ma con complessità di progetto più elevate ARBITRAGGIO Centralizzato: ha un’unità dedicata alle richieste di controllo dei Bus, abbiamo una linea di richiesta del controllo e una linea di conferma, unità riceve una richiesta di controllo e attiva la linea di conferma a cascata, se un’unità non ha richieste di controllo passa alla successiva, l’unità che mantiene il controllo diventa master Distribuito: In questo caso c’ una linea bus per ogni unità con una gerarchia ben definita, se un’unità vuole essere master deve verificare che nessun’unità di livello superiore abbia effettuato una richiesta. IL SISTEMO OPERATIVO Il sistema operativo è l’insieme di tutti quei programmi che ti permettono di utilizzare hardware e software di un sistema informatico Esecuzione di applicativi Essa ha la funzione di installare i dispositivi di I/O, di caricare i programmi in memoria centrale e di preparare e gestire le risorse. Accesso ai I/O Serve per gestire il trasferimento dati e per astrarre le operazioni di scrittura e lettura comprensibili all’utente Archiviazione di dati Organizzazione logica di dati sotto forma di directory e file Gestione di operazioni di basso livello per ingresso/uscita Controllo Condivisione di risorse da parte di più utenti con meccanismi di protezione e privacy Contabilizzazione Ottimizzazione dei tempi di risposta con contabilizzazione dei costi dell’impiego del sistema Gestione malfunzionamenti

Multi-utente Time sharing della CPU TIME SHARING Metodo di gestione delle risorse del sistemo operativo in cui l’esecuzione di attività della CPU viene suddivisa in quanti di tempo che viene assegnato ad un utente o a processi di più utenti Allo scadere del quanto si passa al processo successivo IL numero di utenti dipende dalla velocità del processore, dal tempo assegnato ad ogni utente e dal tipo di operazione da eseguire Il time sharing serve per minimizzare il tempo di risposta dei programmi e minimizzare il tempo di attesa medio degli utenti. Scheduling Lo scheduling dei quanti può avvenire senza prelazioni e quindi la CPU rimane allocata al processo in esecuzione finché non termina o viene messo in attesa da processi a priorità più alta, oppure con prelazione allora il processo da eseguire può essere prelazionato, ovvero non ci posso essere processi a priorità maggiore FCFS (First Come First Served) FIFO (First Input First Output) Di tipo non prelazionato il primo processo ad entrare in coda è il primo ad essere eseguito, ciò può comportare ritardi a catena e ha uno scarso grado di utilizzo della CPU Scheduling round robin Questo processo ottiene un quanto di utilizzo in sequenza, dati n processo ciascun processo ottiene 1/n del tempo di CPU in intervalli lunghi al massimo un quanto q. Dunque, ogni processo non attende più di (n-1)xq. Il quanto deve essere piccolo per un maggiore effetto di parallelismo vituale; tuttavia, ciò aumenta il context-switch e sovraccarica la gestione, in generale la scelta del tempo deve essere tale per cui il quanto sia più lungo rispetto al context-switch. Throughput di sistema Quantità di processi eseguiti nell’unità di tempo

Gestione della memoria Assegnare ad ogni processo una porzione di memoria centrale, controllando che le zone di memoria siano occupate e dedicate a determinati programmi: Assegnazione memoria Spostare memoria su disco Caricare programmi da disco a memoria Assicurare che programmi diversi utilizzino memorie diverse per evitare errori Memoria fisica Indirizzi di memoria fisici accessibili Memoria logica Insieme degli indirizzi logici accessibili Mapping o Rilocazione degli indirizzi Trasformazione degli indirizzi da logici a fisici Tramite la MMU (Memory Management Unit) Gestione memoria contigua singola Prevede che una parte della memoria sia riservata al sistema operativo e una parte sia dedicata ai programmi utente il programma utente sarà caricato sempre dalla stessa locazione fisica impiegata nei sistemi monoprogrammati rilocazione di tipo assoluto: gli indirizzi vengono trasformati da logici a fisici solo al momento di caricamento del programma eseguibile. Gestione della memoria a partizioni fisse Ogni partizione potrà contenere un programma E ogni partizione avrà un indirizzo iniziale, un indirizzo finale e un PID (Processo Identificativo) È adatto alla multiprogrammazione La rilocazione è di tipo statico e l’indirizzo viene trasformato al momento del caricamento del programma L’indirizzo è uguale all’indirizzo logico più l’indirizzo inziale del programma Consente una multiprogrammazione ma di grado n, ovvero n partizione uguale n programmi Gestione della memoria a partizioni variabili Gestione dinamica sulla base delle richieste Ci sono diverse partizioni libere, a cui vengono assegnati i programmi a seconda delle richieste

Caricamento dinamico e memoria virtuale I programmi vengono caricati solo parzialmente e vengono chiamati e scaricati e caricati solo quando serve Questo consente di creare memoria di Swap su disco e fare spazio in RAM per poter caricare ulteriori processi. Page Swapping Caricamento di pagine non presenti in memoria SISTEMA DI GESTIONE DELLE PERIFERICHE CONTROLLORE DEL TRAFFICO Devono essere create delle tabelle dedicate per la memorizzazione dello stato dei dispositivi per poter far sì di avere un conto corretto sullo stato delle periferiche. In modo da poter gestire tutte le operazioni I/O sapendo la disponibilità dei canali e deve e come assegnare i processi in attesa Le tabelle si compongono di: Unit Contro Block Contiene tutte le informazioni relative alla periferica ovvero: identificatore, stato, lista dei canali connessi, lista dei processi di I/O in coda Channel control Block Contiene tutte le informazioni relative allo stato dei canali ovvero: identificatore del canale, stato del canale, lista delle periferiche connesse al canale, lista dei processi di I/O in coda al canale Nota I moduli di gestione di una singola periferica sono raccolti in un programma, detto HEADER, posto in memoria di massa. TECNICHE DI ALLOCAZIONE DELLE PERIFERICHE Allocazione a periferiche dedicate

Assegna la periferica in modo dedicato ad un preciso processo. Si usa per le periferiche seriali, stampante. La periferica è dedicata ad un processo per la sua intera durata e nessun altro processo può intervenire. Il resto dei lavori è bloccato fino al termine del processo. Allocazione a periferiche condivise Ad esempio, i dischi, in questo caso le periferiche possono essere utilizzate parallelamente. Si implementa, quindi, un sistema di time sharing tra i vari processi che permette un avanzamento in parallelo degli stessi. Le risorse vengono dedicate ai vari processi solo per il tempo necessario, lasciando al gestore del traffico la scelta di una giusta schedulazione. Allocazione a periferiche virtuali Serve per far avanzare parallelamente i processi che lo richiedono e bypassare il problema della allocazione dedicata. In questo caso si simulano le I/= in opportune aree di memoria su disco che contengono temporaneamente i dati in ingresso e di uscita. La gestione delle periferiche virtuali avviene tramite dei programmi detti SPOOL (Simultaneous Peripheral Operation On Line) , uno per ogni periferica. Questo programma colloca i dati del processo in memoria e avanza come se il processo fosse avvenuto realmente, quando il processo si conclude tutto il contenuto dello SPOOL viene trasferito all’ I/O interessato che avvia il proprio processo solo per il tempo necessario. COLLEGAMENTI TRA CANALI E PERIFERICHE A causa di un costo hardware molto elevato, non è possibile assegnare un canale ad ogni periferica, ciò vuol dire che si devono usare particolari canali di gestione, per evitare colli di bottiglia e ottimizzare la gestione delle I/O. Le modalità di gestione sono: Periferiche indipendenti Sono capaci di lavorare senza il sostegno costante dei canali, la sincronizzazione avviene tramite segnali di interruzione al completamento del processo. Il fine operazione di uso del canale ha come primo bit 0, il secondo viene posto a zero nel momento in cui anche la periferica ha concluso, rendendo libera l’intera linea Periferiche Bufferizzate Periferiche con aree di memoria autonome, dette buffer, in cui si collocano temporaneamente i dati delle operazioni di I/O Linee Multiple Ogni periferica ha il proprio canale ma si limita ad implementare solo i collegamenti delle periferiche più utilizzate; quindi, le periferiche possono essere utilizzate anche con guasto al canal, aumento di efficienza. Canali Multiplexati