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 Informatica: Reti, Sistemi e Sicurezza - Prof. Fabbro, Appunti di Fondamenti di informatica

Una panoramica dei concetti fondamentali dell'informatica, dalle reti di computer ai sistemi informativi, esplorando il world wide web e le sue connessioni tramite link. Approfondisce il sistema binario e l'algebra booleana, essenziali per il funzionamento dei computer, e illustra i sistemi di codifica come ascii e unicode. Anche il software di sistema e applicativo, i modelli di sviluppo software, e l'infrastruttura di rete, inclusi i modelli di servizio cloud (saas, paas, iaas). Infine, tratta la gestione dei servizi it, i file system, i modelli di database e la sicurezza informatica, con un focus sulla protezione dei dati e la risposta agli incidenti di sicurezza. Il documento si conclude con un'analisi dell'informatica al servizio della giustizia, toccando temi come i pagamenti elettronici e l'home banking, e le tecniche di attacco come l'injection e il cryptolocking.

Tipologia: Appunti

2023/2024

Caricato il 02/06/2025

francesca-santino-1
francesca-santino-1 🇮🇹

6 documenti

1 / 25

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
ICT DELL’INFORMAZIONE
Storia dell’informatica
-I primi fondamenti teorici nacquero nel 3° secolo A.C. quando Euclide svilupp
il metodo per calcolare il mcd (minimo comune denominatore)-> un processo
“a passi”: di fatto,  un programma anche se non aveva il calcolatore per farlo
=>la scoperta del mcd  l’antenato pi) antico dell’algoritmo.
-1847, George Boole invent una particolare algebra (=algebra booleana) che
usa due soli numeri: «0» (o «falso») e «1» (o «vero»).
->applicata ai dispositivi (rel) creati da Henry nello studio della corrente, era
possibile costruire macchine che usavano l’algebra booleaina per ragionare.
-1936, Il matematico Alan Turing con la sua Macchina di Turing (=strumento
teorico realizzato meccanicamente che rappresenta astrattamente un
computer) svilupp la teoria degli algoritmi e della computabilit:.
->Il test di Turing serve per misurare l’intelligenza artificiale.
Intelligenza artificiale debole: ripercorre il comportamento umano
Intelligenza artificiale forte: gli si insegnano delle tecniche e poi si
autodeterminano (fanno le loro scelte).
-1941, viene costruita la Z3= il primo calcolatore elettromeccanico digitale
realmente funzionante, capace di memorizzare 64 byte ed eseguire una
moltiplicazione in circa 4 secondi.
-Anni ’60, Convergenza ICT= fenomeno che mette a fattor comune le
tecnologie di telecomunicazione, l'elettronica e l'informatica vera e propria.
=>Questo fenomeno ha portato all’Information & Communication Technology
(l'ICT): i primi "utenti comuni" furono le banche.
-Anni ’70, trasformazione dell’ICT da tecnologia per pochi a tecnologia per
molti (sebbene non ancora alla portata di tutti). Con la nascita linguaggi di “alto
livello”= per agevolare la programmazione attraverso istruzioni con una
sintassi vicina al linguaggio umano, si svilupp un maggiore accesso al mestiere
di sviluppatore e la nascita dell’industria del software.
->1974, Intel realizza il primo microprocessore commerciale con il quale
equipaggia il computer Altair 8800, con costi e prestazioni alla portata di tutti.
-1975, Allen e Gates fondano la Microsoft per commerciare il loro software
-1976, Steve Jobs, S. Wozniak e R. Wayne fondarono la Apple.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19

Anteprima parziale del testo

Scarica Fondamenti di Informatica: Reti, Sistemi e Sicurezza - Prof. Fabbro e più Appunti in PDF di Fondamenti di informatica solo su Docsity!

ICT DELL’INFORMAZIONE

Storia dell’informatica -I primi fondamenti teorici nacquero nel 3° secolo A.C. quando Euclide sviluppò il metodo per calcolare il mcd (minimo comune denominatore)->è un processo “a passi”: di fatto, è un programma anche se non aveva il calcolatore per farlo =>la scoperta del mcd è l’antenato più antico dell’ algoritmo. -1847, George Boole inventò una particolare algebra (= algebra booleana ) che usa due soli numeri: «0» (o «falso») e «1» (o «vero»). ->applicata ai dispositivi (relè ) creati da Henry nello studio della corrente, era possibile costruire macchine che usavano l’algebra booleaina per ragionare. -1936, Il matematico Alan Turing con la sua Macchina di Turing (=strumento teorico realizzato meccanicamente che rappresenta astrattamente un computer) sviluppò la teoria degli algoritmi e della computabilità. ->Il test di Turing serve per misurare l’intelligenza artificiale. Intelligenza artificiale debole: ripercorre il comportamento umano Intelligenza artificiale forte: gli si insegnano delle tecniche e poi si autodeterminano (fanno le loro scelte). -1941, viene costruita la Z3 = il primo calcolatore elettromeccanico digitale realmente funzionante, capace di memorizzare 64 byte ed eseguire una moltiplicazione in circa 4 secondi. -Anni ’60, Convergenza ICT = fenomeno che mette a fattor comune le tecnologie di telecomunicazione, l'elettronica e l'informatica vera e propria. =>Questo fenomeno ha portato all’Information & Communication Technology (l'ICT): i primi "utenti comuni" furono le banche. -Anni ’70, trasformazione dell’ICT da tecnologia per pochi a tecnologia per molti (sebbene non ancora alla portata di tutti). Con la nascita linguaggi di “alto livello”= per agevolare la programmazione attraverso istruzioni con una sintassi vicina al linguaggio umano, si sviluppò un maggiore accesso al mestiere di sviluppatore e la nascita dell’industria del software. ->1974, Intel realizza il primo microprocessore commerciale con il quale equipaggia il computer Altair 8800, con costi e prestazioni alla portata di tutti. -1975, Allen e Gates fondano la Microsoft per commerciare il loro software -1976, Steve Jobs , S. Wozniak e R. Wayne fondarono la Apple.

-1981, Viene creato il primo PC commerciale IBM con installato MS/DOS, il sistema operativo sviluppato dalla Microsoft: un’accoppiata vincente che ha portato l’ICT a iniziare la diffusione verso il grande pubblico. NB: La paternità del primo PC della storia è universalmente riconosciuta a Pier Giorgio Perotto e all’Olivetti, che fra il 1962 e il 1964 progettarono la P101, una macchina che, sebbene nacque come macchina per fare conti, aveva molte delle caratteristiche di un PC. -1884, Inizia la commercializzazione del McIntosh di Apple, dotato del sistema operativo macOS. -1990, Esce Windows 3.1 che conquista il grande pubblico grazie alla sua interfaccia grafica e al mouse.

-1991, Tim Berners-Lee , ricercatore del CERN di Ginevra, inventa il World

Wide Web, sulle basi tecnologiche di Arpanet , la rete finanziata dal

Dipartimento della Difesa Americano. Nel 1993 il CERN la rende pubblica e ciò portò a partire dal 1995 alla diffusione su vasta scala nel mondo. NB: Internet = costituita da milioni di computer collegati tra loro con vari mezzi trasmissivi (è la più grande rete di computer attualmente esistente) Vs World Wide Web=uno dei principali servizi di Internet, che permette di navigare e usufruire di vari contenuti collegati tra loro attraverso legami (link)

  • Iniziano le attività una libreria on-line, battezzata Amazon, fondata da Jeff Bezos. Dal 1999 evolve verso l’e-commerce e nel 2001 lancia Amazon Marketplace. -1998, Nasce Google : due studenti dell’Università di Stanford ideano un algoritmo che mediante lo sfruttamento delle relazioni che esistono fra i siti web migliora enormemente la velocità ed accuratezza delle ricerche sulla rete.

Origine del termine “infomatica”

-Deriva dalla contrazione di due termini francesi: «information» e «automatique»=> informatique -In inglese è usata l’espressione «Information Technology» => “ IT ” (=l’insieme delle tecnologie di elaborazione dei dati e delle informazioni) -ICT : Information and Communication Technology-> amplia il concetto alle tecnologie di comunicazione.

Dati vs Informazioni

Il sistema binario , la base del funzionamento del computer

Alla base del funzionamento del computer vi è : 1)Sistema binario= «modo di contare» che utilizza solo 0 e 1 2)Algebra booleana= applica degli operatori logici detti “ operatori booleani ”:

  • AND: restituisce «VERO» se entrambe le condizioni sono vere
  • NOT: nega la condizione e restituisce «VERO» se la condizione è falsa e viceversa
  • OR: restituisce «VERO» se almeno una condizione è vera
  • XOR: restituisce «VERO» se le condizioni sono diverse fra loro NB: I numeri nel sistema binario sono espressi come potenze di 2 ( sistema decimale con potenza di 10)

Glossario

-Bit= un singolo digit che può assumere valori 0 o 1 -Byte= 8 bit che si predispongono in modo diverso in base alla funzione

  • Registro= èuna parte di memoria composta da multipli di byte -A rchitettura “a X bit”= le regole con le quali eseguire le operazioni “su X bit” NB: Attraverso le potenze del 2, posso calcolare le possibilità

Sistema di codifica

Lavorare in «0» e «1» non è molto pratico per gli esseri umani: per interagire meglio con la macchina, nasce un sistema di codifica/decodifica ->l’ASCII (codifica su 8 bit), poi evoluto in Unicode (codifica su 16 bit). Es. l codice 0041 corrisponde la lettera A: premendo «A» (maiuscola) sulla tastiera viene scritto – con impulsi elettrici - su un registro a 16 bit (una coppia di registri da 8 bit) il numero «0000000000101001». Internamente il computer saprà che avete digitato «A» e lo leggerà come 0000000000101001, ma a noi lo farà vedere sullo schermo come «A» Hardware, Software e reti

Lo schema architetturale di Von Neumann

-Scheda madre= la scheda sulla quale vengono montate o collegate tramite i bus tutte le componenti dell’unità centrale. Al suo interno c’è :

  1. CPU= «il cervello» del computer, sotto ad una ventola in quanto si surriscalda 2)Memoria di massa (disco fisso)= memoria con grande capacità di archiviazione e stabile (=cancella le informazioni solo dietro comando esplicito dell’utente o del sistema operativo). 3)Memoria centrale:
  • RAM (Random Access Memory= si memorizzano temporaneamente le istruzioni e i dati per l’elaborazione da parte della CPU. E’ molto veloce e il suo contenuto è temporaneo (volatile), ovvero si perde una volta spento il computer, poiché è tenuta in vita dall’alimentazione. -CMOS (Complementary Metal-Oxide Semiconductor)= contiene il BIOS (Basic Input-Output System) del sistema, che consente al computer di conoscere i parametri e le funzioni basilari per avviarsi. -ROM (Read Only Memory) sulla scheda madre= contiene un particolare programma (“boot-loader”) che legge i parametri nella CMOS e «lancia» il processo di avvio («boot» / «bootstrap»)che permette al computer di avviarsi. Le periferiche di input vs output
  • Input = tastiera, mouse, scanner, joystick, touchscreen, tavoletta grafica ecc. -Output= videoterminali (LCD, LED, OLED, Plasma-> distinguibili in base al modo in cui si illuminano), stampanti (termiche, a getto d’inchiostro, laser)

->Le caratteristiche di qualità dei videoterminali:

  1. La dimensione = si misura in pollici (inch) ed è la lunghezza della diagonale maggiore della superficie utile dello schermo
  2. La risoluzione= si misura in punti (pixel, che è il «puntino» che si illumina per formare l’immagine) per pollice (dpi, «dots per inch») o con una sigla che esprime con un prodotto il numero di pixel che compongono la superficie dello schermo->più la risoluzione è alta più essa è nitida.
  3. La frequenza di refresh= l’immagine viene formata da una invisibile penna ottica che scorre in verticale e «pittura» lo schermo (circa 70 volte al secondo). La frequenza, espressa in Hz (Hertz), indica «quante volte» al secondo lo schermo viene ridisegnato e oltre i 60/70 Hz l’occhio non distingue più il movimento e l’immagine sembra ferma. Maggiore è la frequenza, minore è la fatica dell’occhio.
  4. La gamma di colore= dipende da quanti bit è la codifica del colore per “colorare” il pixel.

Il software di sistema

-E’ un insieme di programmi che interagiscono con l’hardware del computer, agendo da "collegamento" fra l'utente e le applicazioni che utilizza e l'hardware. -È composto da: 1)Sistema operativo L’insieme di programmi che interagiscono con l’hardware del computer. Il suo sistema operativo svolge molte funzioni: •Assicura il corretto funzionamento del computer.

  • Permette di eseguire le applicazioni dell’utente
  • Gestisce le risorse del computer
  • Presiede alle operazioni di Input/Output 2)Software di utilità (utility) Sono programmi che Integrano e completano le funzionalità del sistema operativo:
  • diagnostici
  • installazioni/disinstallazioni
  • driver di periferiche

Il software applicativo

-E’ il software che permette all’utente di svolgere attività specifiche per le quali usa il computer.

-Anni ‘70: Linguaggi di 3a generazione detti “procedurali”, in quanto venivano eseguiti nella sequenza (procedura) in cui erano stati scritti. -Anni ‘80: Nascono i linguaggi di 4a generazione: sfruttano proprietà grafiche (GUI, Graphical User Interface) e sono orientati agli oggetti-> all’oggetto vengono associate azioni preprogrammate che consentono la riusabilità. Si sviluppa l’ingegneria del software. -Anni ‘90: Nascono i linguaggi di 5a generazione orientati al web e all’intelligenza artificiale.

I modelli di sviluppo

I modelli tradizionali prevedono la realizzazione del software per fasi:

Il modello waterfall (a cascata)

La realizzazione segue fasi sequenziali: -1 Fase= Analisi dei requisiti : si individuano e documentano i requisiti del software che si vuole realizzare (obiettivi, contesto operativo, eventuali vincoli) -2 Fase= Studio di fattibilità : capire se vi possono essere criticità tali da rendere non conveniente il progetto -3 Fase= Analisi del sistema : se fattibile, si studiano e documentano le funzionalità (cosa farà l’applicazione). -4 Fase= Disegno del sistema : suddivisione in moduli, interfaccia utente, come sono fatti i report ecc.. -5 Fase= Realizzazione del sistema : acquisto delle licenze di terze parti da integrare (sviluppo dell’applicazione) -6 Fase = Test del sistema : se tutto è andato bene e se il sistema “funziona” (=non va in errore e realizza le funzionalità attese dagli utenti). -7 Fase= Implementazione del sistema : addestramento degli utenti, conversione dal sistema precedente e «passaggio in produzione». -8 Fase= Manutenzione del sistema : correzione di eventuali errori non riscontrati, aggiornamenti tecnologici, nuove funzionalità. ->Criticit à : non consente di avere alcun risultato concreto in tempi brevi (i risultati si hanno tutti alla fine) ed è rischioso (se la fase di test rivelasse delle carenze funzionali, si dovrebbe riprendere dalla fase iniziale di analisi dei requisiti)

Il modello a spirale (o incrementale)

È più flessibile in quanto itera per fasi successive fino al completamento della realizzazione, passaggio in produzione e avvio della manutenzione.

Il modello Agile (o evolutivo)

Nasce da un gruppo di ingegneri del software che notarono come i requisiti fossero sempre meno strutturati e più “idea”, i tempi dettati dal mercato sempre più veloci e i cambiamenti sempre più frequenti e intercorrenti già nelle fasi di progettazione-> goal= soddisfare cliente. -Agile è una forma di agire, che combina diverse metodologie Infrastruttura di rete = l’insieme di apparecchiature che consente ai computer di comunicare fra loro attraverso lo scambio di dati e informazioni per mezzo di un “ mezzo trasmissivo ”, ovvero via cavo (telefonico, in fibra ottica, coassiale) e/o via onde radio (wireless networks). -In base alla loro estensione si dividono in:

Le componenti di una rete

1)Il mezzo trasmissivo = serve a far transitare i dati, pu ò essere:

Il cloud computing -Si intende un insieme di tecnologie informatiche che permettono l’utilizzo di risorse hardware e software distribuite in remoto (accesso avviene attraverso rete e struttura non ha una ubicazione concreta). -Tipi di cloud: 1)Cloud pubblico = infrastrutture di proprietà di un provider commerciale che eroga i servizi a più clienti che li acquistano

  1. Cloud privato = piattaforme utilizzate esclusivamente da un privato. Possono essere offerti dai fornitori di cloud pubblico, riservando parte del cloud ad uso esclusivo del cliente, oppure realizzato con le tecnologie disponibili dal privato stesso.
  2. Cloud ibrido = combinano cloud pubblico e privato in base al tipo di dati. -Il cloud prevede 3 modelli di servizio:
  3. Software as a Service (SaaS)= le applicazioni sono il servizio che viene fornito all’utente/cliente finale dal cloud provider e da esso utilizzati direttamente
  4. Platform as a Service = il cloud provider fornisce un servizio che sono piattaforme per far funzionare i programmi sviluppati dall’utente/cliente che a sua volta le distribuirà ai propri utenti/clienti. 3 ) Infrastructure as a Service= il cloud provider fornisce anche l’infrastruttura, come server, sistemi di archiviazione dati (data storage) e connessione di rete. L’ICT governance -L'IT governance è una disciplina con la quale si definiscono le regole e le modalità per una gestione ottimale del sistema informativo.

-Information Technology Infrastructure Library ( ITIL ) è un insieme di linee guida nella gestione dei servizi IT. Area di Service Delivery: -Service Level Management = la gestione dei livelli di servizio con i quali misurare la capacità del servizio di soddisfare le esigenze degli utenti ed allo stesso tempo garantirli -Financial Management for IT services= come assicurare che i costi dell’IT siano effettivamente commisurati al servizio reso e con il miglior rapporto qualità/costo -Capacity Management= capire ed anticipare esigenze future dell’azienda e quale infrastruttura informatica sarà necessaria affinchè il servizio reso continui a rispettare il miglior rapporto qualità/costo -IT Service Continuity Management= assicurare la continuità del servizio IT -Availability Management = fare in modo che l'infrastruttura IT offra performances e disponibilità adeguate ai requisiti di business dell’azienda. I DATI E LA CONVERGENZA DIGITALE, I file e il file system -Un file è un «contenitore» di informazioni digitali che possiede: Nome= permette di riconoscerne il contenuto Estensione= consente al sistema operativo del computer di sapere quale programma usare per “aprirlo”. -Una directory (cartella) contiene files.

NB: Il record è l’elemento principale perché contiene le caratteristiche esaustive di un’entità univocamente determinata nel suo contesto d’uso.

I modelli di database

  • Gerarchico= Struttura ad albero (con un solo genitore per figlio). - Modello a rete o reticolare= estensione del modello gerarchico, dove però un record può avere più record genitore-> non esiste gerarchia fra i record del database. - Modello relazionale= due dati diventano informazione se c’è una relazione fra essi -Modello a oggetti= “oggetti” al cui interno troviamo le caratteristiche e i metodi per utilizzare ciò che è memorizzato (=>multimedialit à ). -Schemaless o NOSQL= evoluzioni dei database a oggetti che hanno la caratteristica di poter memorizzare informazioni complesse, senza un formato predefinito, ed eterogenee all’interno della stessa entità.

Come si progetta un database?

Nella fase di progettazione: -Progettazione logica , la normalizzazione =applicare regole per ottimizzare la base dati, per traguardare gli obiettivi di integrit à dei dati e di efficienza.

  • fisica =lavoro tecnico per rendere funzionante il database via strumenti che consentono di implementare e gestire database. Convergenza digitale La convergenza digitale è l’integrazione di più strumenti che, grazie alla digitalizzazione, possono confluire per il loro utilizzo in un unico apparato. -E’ iniziata a fine degli anni ’90, con la diffusione di internet e dei PC e la nascita dell’ e-commerce (che si svilupperà negli anni ’00) I fattori abilitanti della convergenza digitale 1)La motivazione delle persone

Imprenditori e manager visionari che credono nel potere dell’innovazione e la sostengono, mettendo in preventivo il rischio del fallimento. 2)La politica Piuò creare i presupposti per generare i fattori abilitanti tramite il sostegno alla ricerca e all’istruzione. 3)I fattori tecnologici Sfide a trovare la tecnologia che permetta di realizzare un’innovazione che già si prevede, costante riduzioni delle dimensioni e del consumo dell’energia. L’evoluzione del web e della società in rete World Wide Web (1991)= “ragnatela” di contenuti fra loro collegati da link. -Nella sua prima versione forniva gli strumenti per reperire e fruire informazioni eterogenee navigando i link chel’utente aveva attribuito loro. Le ere del web

Il commercio “elettronico”(e-commerce)

I modelli di e-commerce sono: -Modello B2B (Business-to-Business): le transazioni avvengono tra aziende, tramite market place o tramite portale di un’azienda.

  • Modello B2C (Business-to-Consumer): tra aziende e consumatori privati tramite market place o portale di un’azienda che vende direttamente i propri prodotti. -Modello C2C (Consumer-to-Consumer): tra consumatori privati spesso tramite il market place di un soggetto terzo che agisce da garante. Fra i modelli emergenti: -Modello M2C (Mobile-to-Consumer): nato con lo sviluppo dell’e-commerce tramite smartphone/tablet, si differenzia per il mezzo
  • Modello C2B (Consumer-to-Business): il privato vende ad un’azienda

-Diritto dell’informatica= studia i problemi giuridici sollevati dall’uso delle nuove tecnologie e norme che regolano le tecnologie dell’informazione e della comunicazione. ROBOTICA E COMPORTAMENTO:

- Ad oggi possediamo un’ intelligenza artificiale debole : i computer non possono imparare. -Gli algoritmi , nonostante la loro antica origine (vd. Euclide), sono ad oggi sono intesi come come il «motore logico» dell’Intelligenza Artificiale, ma in realtà sono «metodi a passi» per risolvere problemi. - Le reti neurali= simula il modo di apprendere del cervello umano.

  • Gli algoritmi genetici= modello di apprendimento automatico il cui approccio deriva da analogie con le mutazioni genetiche della teoria dell’evoluzione.

Le BLOCKCHAIN e CRIPTOVALUTE

-Blockchain = è una tecnologia basata sulla crittografia asimmetrica (che è anche il fondamento di tutta la comunicazione sicura sul web). -Criptovaluta= si basa sulla tecnologia blockchain

Il meccanismo di hashing

= l’applicazione di una funzione matematica (hash funtion) che un software specifico calcola applicandola ad un contenuto digitale per criptarlo. Caratteristiche:

  • Se si applica allo stesso testo, restituisce lo stesso risultato -Non funziona all’inverso: l’hash non è capace di decodificarlo -E’ estremamente raro che due testi diversi possano avere lo stesso hash.

Il meccanismo di hashing per la blockchain