
































Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Una panoramica generale dei concetti fondamentali dell'informatica, tra cui la cpu, la memoria, i sistemi operativi e i database. Esplora il funzionamento della cpu, i diversi tipi di memoria, le funzioni dei sistemi operativi e i principi di base dei database. Utile per comprendere i concetti di base dell'informatica e come questi elementi interagiscono per consentire il funzionamento dei computer.
Tipologia: Schemi e mappe concettuali
1 / 40
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!

































Analogico e digitale La differenza fra analogico e digitale corrisponde alla differenza fra la rappresentazione continua e quella discreta di una grandezza. Esempi di rappresentazione analogica: La lancetta che si sposta sul quadrante di uno strumento Un termometro analogico dove mostra la misura la temperatura attraverso l’altezza della colonnina del mercurio Un orologio tramite le lancette Una bilancia attraverso il movimento dell’ago Esempi rappresentazione digitale che avviene principalmente attraverso i numeri Un termometro digitale che mostra la temperatura su uno schermo L’orologio digitale Una bilancia La differenza di precisione tra la rappresentazione digitale e analogica sta nel fatto che la rappresentazione digitale risulta più precisa e più economica. L’elettronica digitale sfrutta due possibili stati di funzionamento, 1 e 0 che costituiscono il bit, un segnale analogico può assumere tutti i valori continui appartenenti a un erto intervallo, un segnale digitale può assumere solo due valori, la differenza fondamentale è che mentre in quelli analogici l’informazione è contenuta nella forma stessa del segnale, mentre nei segnali digitali l’informazione da elaborare è codificata in serie di simboli es. 0 e 1. Hardware e software L’hardware è la componente fisica di un computer costituita da un insieme di risorse elettriche ed elettroniche che cooperano alla memorizzazione per un breve o lungo periodo i dati e a compiere elaborazioni complesse necessarie a interfacciarsi con il mondo esterno. Il software è la parte intangibile costituita da un insieme di istruzioni che consente di far operare l’hardware, consente la giusta gestione delle risorse hardware in modo che l’utente possa utilizzarle in modo semplice senza concentrarsi su come avvengano determinati passaggi a livello hardware, schema generale di un sistema di elaborazione dati 5 componenti essenziali di un elaboratore elettronico (Hardware) CPU: La CPU è il cuore operativo di qualsiasi computer , che sia un PC o un laptop/tablet o anche uno smartphone. CPU è un acronimo che sta per central processing unit , cioè unità centrale di elaborazione. È la parte di un computer che coordina l’attività delle altre unità di elaborazione, schede audio e video, schede di rete.
Da quali parti è composta una CPU? Il compito di una CPU è quello di eseguire le istruzioni dei programmi che vengono prelevati dalla memoria di massa, un hard disk per esempio, e aperti nella memoria ad accesso casuale, la RAM. Solitamente, una CPU ha al suo interno: l’ unità di controllo : legge le istruzioni presenti nella memoria centrale (RAM) e memorizza il risultato delle operazioni; l’ unità aritmetica e logica : esegue le operazioni aritmetiche e logiche come una sorta di calcolatrice; lo shifter : elabora i dati e li modifica in relazione alle operazioni da compiere; alcuni registri : sono parti di memoria all’interno della CPU, importanti perché accedervi è molto più veloce che accedere alla RAM. Cosa accade ai dati nella CPU? La frequenza di clock. Si tratta di un valore espresso in Hertz e indica la velocità con la quale la CPU esegue un ciclo composto da: Lettura dell’istruzione : la CPU acquisisce l’istruzione dalla memoria centrale; Decodifica : il processore determina quale operazione deve eseguire; Esecuzione : l’esecuzione vera e proprie delle operazioni richieste dal programma tramite le istruzioni; Attivazione della memoria ; Scrittura del risultato nell’opportuno registro. Si sarebbe tentati di dire che più alta la frequenza di clock, maggiore sarà la velocità del processore. Nella scelta di una CPU concorrono anche altri parametri, ugualmente importanti. Per esempio: le IPC o Instructions per Cycle , il processo produttivo, l’efficienza energetica e il numero dei core. Le frequenze di clock rimangono comunque una caratteristica su cui potersi fare un’idea, ma variano a seconda del dispositivo. Se per un PC fisso o un portatile possono arrivare a 3 o 4 GHz per core , sugli smartphone e su alcuni tablet di solito sono comprese fra 1 e 2 GHz. Anche i router WiFi e i modem router hanno processori multi core , dove la frequenza può aiutare a capire come gestiranno i processi complessi della rete LAN e della connessione a Internet.
proprio come una memoria cache, serve a migliorare le prestazioni della periferica a cui è associata. (Hardware) Dispositivi Input/Output (Hardware) Memorie di massa (Software) Programmi Un calcolatore digitale è un sistema in cui processori, memorie e dispositivi periferici sono connessi tra loro, Il processore è l’esecutore di tutte le istruzioni dei programmi; quindi, ogni singola istruzione dei programmi è eseguita dal processore. La CPU dialoga con la RAM per il corretto funzionamento dell’elaboratore elettronico; quest’ultimo, a sua volta, è in grado di realizzare i compiti più svariati a condizione che l’uomo realizzi i programmi Le memorie di massa Le memorie di massa sono in gradi di conservare i dati anche quando non alimentate da una fonte di energia, si basa su due aspetti fondamentali: una tecnologia di registrazione un metodo di rapido accesso alla risorsa la tecnologia si basa secondo il tipo di supporto usato: magnetismo: la magnetite ha la proprietà di attirare il ferro, viene gettata su un magnete della limatura di ferro che rimane attaccata all’interno del magnete. La memorizzazione digitale su supporti magnetici funziona in base al concetto che la superficie è vista come un insieme di punti, ciascuno dei quali rappresenta un bit che secondo il tipo di magnetizzazione positiva o negativa assume il valore 0 o 1. Ottica: un raggio laser legge i dati memorizzati sotto forma di microscopiche aree che a loro volta possono o non riflettere la luce del laser Elettronica: i dati sono memorizzati su memorie di semiconduttori generalmente chiamate memorie flash es. pen drive USB. Metodi di accesso rapido alle informazioni registrate su memoria di massa: accesso sequenziale: l’accesso al contenuto avviene previo passaggio obbligato su tutte le locazioni di memoria precedenti. Accesso diretto: accesso sequenziale o random ove l’accesso alla locazione avviene in modo diretto. Le memorie di massa sono classificate in base ad alcune caratteristiche: la capacità il tempo di accesso la velocità di trasferimento
i dischi magnetici rappresentavano la tipica memoria dove salvare permanentemente i dati; è magnetica la tecnologia dei diffusissimi dischi fissi (hard disk), sono realizzati in alluminio o vetro, ma sono stati surclassati dalle SSD in cui non è presente alcun disco. I dischi magnetici sono una memoria di massa ad accesso diretto con capacità variabili, il tempo di accesso e la velocità di trasferimento sono inferiori a quelli dei dischi allo stato solido. Dischi allo stato solido (SSD) Le SSD sono memorie ad alta velocità e alta efficienza, sono i supporti per lo storage attualmente più utilizzati e performanti, con la loro architettura senza parti mobili e la loro velocità di trasmissione surclassano i tradizionali hard disk consumando anche meno energia. Le unità SSD sono dotate da chip che consentono di ottenere determinati vantaggi: hanno un minore consumo di energia, poiché non ci sono parti in movimento; sono maggiormente resistenti alle vibrazioni e/o cadute; per cui hanno minori possibilità di rottura; operano in assenza di rumorosità; hanno un tempo di accesso ai dati molto inferiore a quello di un disco meccanico; consentono di ottenere velocità di lettura e scrittura maggiori; sono indifferenti alla frammentazione dei dati perché l’unità legge i dati con la stessa velocità in tutte le celle. L’unità è performante allo stesso modo a prescindere se i dati sono contigui oppure frammentati. Questa unità, quindi, non deve essere deframmentata; anzi la deframmentazione è dannosa poiché sottopone le celle a un lavoro di scrittura/cancellazione (totalmente inutile) che naturalmente accorcia il ciclo di vita del disco; producono meno calore. Svantaggi: maggiori costi; a parità di capienza una unità SSD costa di più di un disco fisso magnetico; potenzialmente le unità SSD hanno un ciclo di vita inferiore degli hard disk tradizionali. Infatti, ogni cella ha un numero limitato di scritture che va da diecimila a un milione di volte. Tali numeri, comunque, garantiscono molti anni di vita dell’unità SSD. I sistemi di archiviazione rimovibili Nascono dalla necessità di trasportare dati, uno dei primi fu il floppi disk. I nastri magnetici I nastri magnetici o tape sono simili al nastro su cui erano memorizzati i brani musicali. Si tratta di un supporto di memorizzazione ad accesso sequenziale ad accesso lento. I CD-ROM Il CD-ROM è una memoria di massa ad accesso diretto a tecnologia ottica tra quelli che possono essere scritti (masterizzati) una sola volta in maniera permanente ed essere letti molte volte. Hanno una capacità di circa 700 Mb ed hanno un ciclo di vita di circa 100 anni. I CD sono essenzialmente di due tipi:
pieno possesso delle risorse da gestire. Alla fine di tali operazioni, il sistema operativo mostra il suo “prompt”, ovvero il messaggio con cui comunica all’utente che la fase di avvio è terminata ed egli può iniziare a lavorare. Input/Output Il computer vive in un mondo che richiede l’esecuzione di programmi precaricati con cui inserire dati al fine di ottenere dei risultati. L’interazione tra computer e mondo esterno avviene tramite periferiche che consentono all’uomo di impartire comandi o inserire dati nel computer, quelle di output sono utilizzate per mostrare i risultati parziali o totali conseguiti. Le Unità di Input sono il luogo in cui inizia l’interazione tra utente e computer; sono strumenti pensati per codificare in forma digitale, e quindi gestibili da un computer, i dati prelevati dal mondo esterno. Es. unità di input: tastiera mouse touch pad trackball scanner joystick touch screen fotocamera digitale le unità di output l’unità di output può essere considerata il luogo dove l’utente apprende i risultati di ogni comando impartito all’elaboratore elettronico. Es. unità di output sono: le memorie di massa lo schermo la stampante e il plotter. Accessibilità Si intende la capacità dei sistemi informatici di erogare servizi e fornire informazioni fruibili. Molti utenti possono operare in contesti assai differenti, come non essere in grado di vedere, ascoltare o muoversi o possono non essere in grado di trattare alcuni tipi di informazioni facilmente o del tutto, Possono avere difficoltà nella lettura o nella comprensione del testo e possono non avere o non essere in grado di usare una tastiera o un mouse. Capitolo 2 i sistemi di numerazione Sistemi di numerazione posizionali Si definisce base di un sistema di numerazione il numero di simboli che compongono l’alfabeto dello stesso.
La rappresentazione dei numeri più grandi di quelli presenti nell’alfabeto si ottiene con un’opportuna combinazione dei dieci simboli, la posizione occupata da una cifra all’interno di un numero determina il peso della stessa che concorre alla quantificazione del numero stesso. Sistema di numerazione binario Il sistema di numerazione binario ha base b=2, visto che il suo alfabeto è composto da 2 simboli: {0,1}. Conversione di un numero binario in un numero decimale applicare la notazione pesata dei numeri nei sistemi di numerazione posizionali Esempio: (N)2= 01010011 numero di cifre = 8; per cui nella notazione pesata il peso maggiore, applicato alla cifra più significativa, sarà 7. (N)10 =027 + 126 + 025 + 124 + 023 + 022 + 121 + 120 = 64 + 16 + 2 + 1 = (83) Conversione di un numero decimale in un numero binario 1010011 Il sistema di numerazione complemento a due Il complemento a due permette di rappresentare i numeri interi con segno Regole: il peso di una cifra dipende dalla posizione occupata nel numero il peso di una cifra aumenta man mano che ci si sposta verso sinistra secondo la regola dei sistemi di numerazione posizionali in base 2.
Il valore di C sarà falso nel momento in cui le variabili indipendenti A e B saranno contemporaneamente vere. Negli altri tre casi C assumerà sempre valore vero. I circuiti logici Gli elaboratori elettronici eseguono funzioni, come somme tra numeri, memorizzazione di bit ecc., esprimibili tramite funzioni booleane. Questo vuol dire che, se si riuscisse a progettare dei circuiti corrispondenti ai vari operatori booleani, questi opportunamente combinati potrebbero essere utilizzati per la rappresentazione fisica delle funzioni booleane Porta NOT Esegue l’operazione booleana NOT, ha un ingresso e un’uscita, si comporta in modo che, se in ingresso si ha la variabile booleana A, in uscita si raccoglie il suo valore complementato. Porta OR Ha due ingressi e un’uscita Porta AND Ha due ingressi e un’uscita Porta OR ESCLUSIVO Ha due ingressi e un’uscita Porta NOR Ha due ingressi e un’uscita ed è costituito da una porta OR la cui uscita entra in una porta NOT Porta NAND Ha due ingressi e un’uscita ed è costituito da una porta AND la cui uscita entra in una porta NOT Il software Il concetto di algoritmo Un algoritmo è una sequenza ordinata e finita di passi, ripetibili e non ambigui, che se eseguita da un esecutore con dei dati in input produce in output i risultati ovvero la soluzione di una classe di problemi. Caratteristiche: Finitezza; l’algoritmo deve essere una sequenza ordinata e finita di passi
Non ambiguità: non devono mai esserci dubbi per l’esecutore Generalità: l’algoritmo deve risolvere tutti i problemi di una stessa classe Ripetitività: l’algoritmo deve poter essere ripetibile dal computer, la sequenza di passi deve essere eseguita da un esecutore Un algoritmo deve avere una durata di esecuzione finita, la sequenza di istruzioni deve fornire il risultato sempre in un i intervallo di tempo finito. Costanti, variabili e istruzioni di un algoritmo l’algoritmo è formalizzato con un pseudolinguaggio che richiama il linguaggio naturale e serve per descrivere la strategia dell’algoritmo senza volersi vincolare ad alcun linguaggio di programmazione in particolare Le istruzioni costituiscono i tasselli della strategia. L’esecutore che dovrà eseguire l’algoritmo dovrà ripercorrere le istruzioni nell’ordine stabilito dall’ingegnere del software, i valori manipolati dalle istruzioni possono essere costanti (0, “Ciao”) o variabili (A). Una costante mantiene inalterato il suo valore durante l’esecuzione di un programma, mentre il valore di una variabile può variare. Una variabile è definita nel momento in cui sono stabiliti i seguenti parametri: il nome univoco il tipo numerico intero senza segno; per esempio 56; numerico intero con segno; per esempio +56; numerico reale; per esempio +56,39; alfanumerico; per esempio “ciao” data; per esempio 14/08/ booleano; per esempio True la dimensione le istruzioni sono classificabili secondo le seguenti categorie: istruzione di inizio programma istruzioni di assegnazione, es. A= istruzioni di input e output istruzioni condizionali. Sono istruzioni che consentono al computer di operare delle scelte sulla base della veridicità o meno di una condizione istruzioni iterative che consentono di eseguire più volte il “corpo del ciclo” in base al verificarsi o meno di una condizione I linguaggi di programmazione Il processore conosce e utilizza un solo linguaggio denominato linguaggio macchina, formato da due simboli {0,1}. Gli esseri umani utilizzano più linguaggi di programmazione: linguaggi di programmazione di basso livello, Low-Level Language (LLL);
una sintassi, ovvero quell’insieme di regole per la corretta scrittura delle istruzioni del programma una semantica, ovvero il significato assunto da ogni istruzione del linguaggio simbolico che determina il tipo di operandi che ogni istruzione può “trattare”. Tassonomia degli errori Un errore è la causa di un malfunzionamento possono generare un difetto, fault, nel software; tale imperfezione si manifesta con un malfunzionamento, o failure. esempi di errori: l’espressione che è in un’istruzione di assegnazione che ha operatori od operandi errati; la condizione che governa un punto di decisione che è espressa in modo errato; il valore di una variabile che può indurre il software a commettere un errore. L’evidenza di un failure richiede un intervento di manutenzione per scoprire la causa e riparare il difetto presente nel codice Errori sintattici Un errore sintattico viene commesso dall’ingegnere del software nel momento in cui digita un’istruzione che non rispetta la sintassi del linguaggio di programmazione utilizzato Errori Semantici Nella programmazione informatica la semantica definisce il significato dei programmi sintatticamente corretti Errori logici Gli errori che impediscono al programma di fornire risultati esatti, il codice è sintatticamente e semanticamente corretto, ma il risultato fornito non è quello previsto. Se un software è formato da migliaia di istruzioni non è semplice capire il perché di un malfunzionamento di questo tipo, gli errori logici sono i più difficili da individuale e correggere e richiedono un’attenta fase di test per la loro individuazione. Gli errori di run-time Gli errori di run- time di verificano durante l’esecuzione del programma, generalmente quando il programma tenta di eseguire un’operazione che non può essere completata. Quando si verifica un errore di run-time il computer blocca l’esecuzione del programma avvertendo l’utente, con un messaggio sul monitor, che si è verificato un run-time error. Quando si verifica un errore di loop, invece, il computer non si blocca poiché continua all’infinito ad effettuare sempre la/e stessa/e istruzione/i del corpo ciclo. I processi di traduzione dei programmi Quindi, i programmi realizzati in un qualsiasi linguaggio simbolico, non essendo comprensibili dal processore, devono essere tradotti per essere eseguiti. La traduzione può avvenire secondo due processi alternativi: interpretazione; procedimento effettuato da un software denominato interprete; esso è applicabile solo a programmi scritti in HLL;
compilazione, procedimento effettuato da un software denominato compilatore per gli hill e assembler per i linguaggi assembly. Il software Il software è intangibile e duttile. L’intangibilità è dovuta al fatto che diversamente dall’hardware e dalle opere ingegneristiche tipiche non si può toccare, mentre la duttilità si riferisce alla qualità che consente la modifica diretta del prodotto senza intaccare il progetto da cui deriva. Il software è human intensive poiché richiede un intenso lavoro umano di tipo ingegneristico, per la progettazione dei codici sorgenti piuttosto che di fabbricazione. La fabbricazione si riduce ad un semplice processo di duplicazione motivo per cui non incide sul costo finale del prodotto che, di conseguenza è determinato solo ed esclusivamente dal lavoro di progettazione: tassonomizzare il software: software di base o software di sistema software applicativo il software di base è costituito dai programmi basilari per il funzionamento dei componenti del computer, rientrano di componenti quali il processore e la RAM anche i cosiddetti programmi di UTILITÀ quali: antivirus, programmi per il backup dei dati e quelli per la compressione dei file. Il software applicativo è composto dai programmi che supportano l’utente della risoluzione di problemi specifici: i wordprocessor o elaborazione di testi che consentono di creare e gestire documenti gli spreadsheet i DBMS i software di fotoritocco i software di animazione video i processo di produzione del software Per realizzare un software si utilizza un processo per sviluppo del software si intende un processo che consente la produzione, manutenzione e gestione dei programmi e che è composto dalle seguenti fasi: analisi e specifica dei requisiti: l’analisi dei requisiti richiede un’ampia e stretta interazione tra il cliente, che usufruirà del software, e gli ingegneri che lo realizzeranno. Il prodotto dell’analisi dei requisiti è il documento Functional Requirements Specifications in cui si specificano le funzioni del sistema software. Tale documento deve contenere un di requisiti funzionali individuabili con certezza. Progettazione del Sistema; ovvero, come si risolve il problema. In questa fase gli ingegneri del software progettano il sistema software. Tipicamente è divisa in due sotto fasi:
La manutenibilità L’attività di manutenzione del software consente la modifica dei codici sorgenti corrispondenti dopo il suo rilascio iniziale, modifiche che non sono solo per gli errori. si riferisce alle azioni svolte al fine di continuare a garantire il buon funzionamento del prodotto. Le modifiche possono essere classificate in tre tipologie La tipologia correttiva, finalizzata alla rimozione degli errori e volta a riportare il software nello stato in cui possa eseguire la funzione richiesta La manutenzione adattiva, finalizzata ai cambiamenti dell’ambiente in cui opera La manutenzione perfettiva, finalizzata a migliorarne le funzioni offerte. Le licenze d’uso del software Una licenza d’uso è un permesso concesso da un soggetto ad un altro, chi concede è l’autore. Il documento di licenza definisce quali usi si possono fare dell’opera, dall’altro stabilisce quali condizioni devono rispettare gli utilizzatori dell’opera. “La licenza o contratto d'uso, in informatica, è il contratto con il quale il titolare dei diritti di sfruttamento economico sul software definisce il regime giuridico di circolazione e le limitazioni nell'utilizzo e nella cessione dell'opera. Le licenze per il software libero e open source Le licenze a codice sorgente aperto garantiscono l’accessibilità ai codici sorgenti, la possibilità di copiarli e modificarli nonché di ridistribuire il programma modificato In questo caso l’autore o il titolare dei diritti intellettuali preferisce che l’opera circoli libera dai tradizionali vincoli del copyright Le licenze per il software proprietario o closed source Le licenze d’uso proprietarie di un software sono per definizione close by default; esse non consentono lo studio, la modifica e la copia del codice sorgente né la distribuzione di quello eseguibile. Queste licenze impongono il “close source”, ovvero il codice sorgente non è disponibile per l’utente finale. Le licenze proprietarie autorizzano l’utilizzo del software imponendo, però, una serie di vincoli e condizioni. Quando si acquista un computer Windows o Mac la prima cosa a fare è accettare la licenza d’uso in cui i permessi sono pochi, in realtà uno solo: poter utilizzare l’opera. I sistemi operativi Il sistema operativo opera a stretto contatto con l’hardware di cui gestisce le funzionalità, essi è quel software orizzontale che gestisce tutte le risorse del computer. il sistema operativo ha il compito di astrarre, ad un livello di utilizzo più vicino alle abitudini umane, le risorse hardware e software del computer. L’interazione tra l’elaboratore elettronico e l’utente avviene mediante il sistema operativo. Un sistema operativo è formato da una collezione di programmi che hanno lo scopo di semplificare l’uso dell’elaboratore elettronico da part dell’utente nonché ottimizzare l0efficenza delle sue risorse. Tali programmi avvicinano l’hardware dell’elaboratore elettronico al modo di pensare dell’uomo sollevando quest’ultimo dalla conoscenza di molti concetti tecnici del
tipo interrupt, indirizzi di memoria, cluster e così via. Oggi i sistemi operativi sono costituiti da un variopinto insieme di programmi di utilità che si pongono tra l’hardware ed il software applicativo; essi consentono agli utenti di utilizzare device quali, per esempio, personal computer, tablet e smartphone senza conoscerne le caratteristiche fisiche. Inoltre, le interfacce grafiche virtualizzando sempre più le caratteristiche specifiche dei dispositivi hardware consentono un loro utilizzo senza che l’utente conosca i comandi del sistema operativo. In tal modo l’utente può concentrarsi sulle applicazioni di suo interesse circostanziando molto le proprie conoscenze Caratteristiche dei sistemi operativi I sistemi operativi si possono classificare in due categorie:
le unità di Input/Output come la stampante un tipico sistema operativo monotasking è stato l’MS-DOS i sistemi operativi multitasking il multitasking sfrutta al meglio tutte le risorse disponibili, ovvero sfruttare i tempi morti dovuti alle operazioni di Input/Output che chiamano in causa gli esseri umani o le periferiche lente facendo eseguire alla CPU altre operazioni. Il task Un sistema operativo multitasking è in grado di eseguire parallelamente più processi o task. Un task è un programma in esecuzione definito da due componenti:
Esistono due tipi di scheduler