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


Riassunto libro "informatica umanistica", Sintesi del corso di Fondamenti di informatica

Riassunto libro "informatica umanistica" con prof. Paolo Cazzaniga

Tipologia: Sintesi del corso

2021/2022

In vendita dal 03/03/2023

annaa0
annaa0 🇮🇹

4.8

(4)

6 documenti

1 / 52

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
INFORMATICA UMANISTICA
1.1 FONDAMENTI DI INFORMATICA
L’informatica è una disciplina scientifica che studia l’informazione e le macchine in grado di elaborarla
automaticamente; viene per questo anche detta “scienza del computer”, pur utilizzandolo
semplicemente come mezzo di studio.
La principale macchina di elaborazione automatica è il calcolatore (computer) in grado, non solo di
elaborare le informazioni, ma di garantire anche una riduzione dei tempi di elaborazione facilitando il
compito all’uomo, e una minore probabilità di errori.
Ad oggi, in alternativa al termine “informatica” viene utilizzata l’affermazione “Tecnologia
dell’informazione” (IT), in quanto le telecomunicazioni hanno aumentato il potenziale dei calcolatori
grazie alla loro capacità di trasmettere informazioni a distanza; ciò ha dato origine ad una nuova
disciplina: “Information and communication technology” (ICT).
IL DATO
Il dato è un insieme di simboli tracciati su una componente fisica, il cui ordine stabilisce un
determinato significato.
ESEMPIO: 39,5 ha come simboli “3”-”9”-”,”-”5”.
Per ricavare un’informazione dovrò poi mettere in relazione al dato una determinata proprietà; quando
poi, elaborando l’informazione e ricavandone delle regole potrò trarre dall’informazione un vantaggio,
si tratterà allora di conoscenza.
ESEMPIO: se al dato 39,5 associo la proprietà di temperatura corporea potrò ricavare come
informazione che il soggetto ha la febbre e di conseguenza le regole che conosco da seguire in
questa determinata condizione.
I LINGUAGGI FORMALI
Sappiamo che il linguaggio si può suddividere in:
naturale = utilizzato dell’uomo per comunicare, è però ambiguo in quanto caratterizzato da
una pluralità di sensi e significati e va contestualizzato;
formale = creato per gli ambiti in cui bisogna evitare ambiguità, come nell'informatica.
Esso è caratterizzato da un alfabeto finito di simboli definiti da una grammatica formale, che
vanno contestualizzati in aree semantiche formali che permettono di attribuire un significato.
LA CODIFICA E LA RAPPRESENTAZIONE DELL’INFORMAZIONE
In generale sappiamo che nel linguaggio la stessa informazione può essere codificata con simboli e
modalità diverse; nel caso del linguaggio formale (del calcolatore) l’informazione viene codificata in
sequenze di “BIT”, cifra binaria contenente solamente i simboli “0” e “1”.
Il valore dei BIT viene poi rappresentato dai dispositivi bistabili e, considerando tutte le sequenze
possibili di questi due BIT, posso allora ottenere che:
2 BIT = 4 sequenze possibili
3 BIT = 8 sequenze possibili
8 BIT = 64 sequenze possibili, 8 BIT corrispondono a 1 BYTE
Questo perché il numero di sequenze possibili corrisponde a due volte il numero di BIT utilizzati →
nBIT = 2^n sequenze possibili.
La capacità della memoria di un calcolatore viene quindi misurata in BIT, BYTE o nei loro multipli
espressi tramite gli stessi prefissi del Sistema Internazionale, a differenza del quale però vengono
calcolati sulla potenza di 2 e non di 10.
GLI STRUMENTI PER L’ELABORAZIONE DELL’INFORMAZIONE
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
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34

Anteprima parziale del testo

Scarica Riassunto libro "informatica umanistica" e più Sintesi del corso in PDF di Fondamenti di informatica solo su Docsity!

INFORMATICA UMANISTICA

1.1 FONDAMENTI DI INFORMATICA

L’informatica è una disciplina scientifica che studia l’informazione e le macchine in grado di elaborarla automaticamente; viene per questo anche detta “scienza del computer”, pur utilizzandolo semplicemente come mezzo di studio. La principale macchina di elaborazione automatica è il calcolatore (computer) in grado, non solo di elaborare le informazioni, ma di garantire anche una riduzione dei tempi di elaborazione facilitando il compito all’uomo, e una minore probabilità di errori. Ad oggi, in alternativa al termine “informatica” viene utilizzata l’affermazione “Tecnologia dell’informazione” (IT), in quanto le telecomunicazioni hanno aumentato il potenziale dei calcolatori grazie alla loro capacità di trasmettere informazioni a distanza; ciò ha dato origine ad una nuova disciplina: “Information and communication technology” (ICT). IL DATO Il dato è un insieme di simboli tracciati su una componente fisica, il cui ordine stabilisce un determinato significato. ESEMPIO: 39,5 ha come simboli “3”-”9”-”,”-”5”. Per ricavare un’informazione dovrò poi mettere in relazione al dato una determinata proprietà; quando poi, elaborando l’informazione e ricavandone delle regole potrò trarre dall’informazione un vantaggio, si tratterà allora di conoscenza. ESEMPIO: se al dato 39,5 associo la proprietà di temperatura corporea potrò ricavare come informazione che il soggetto ha la febbre e di conseguenza le regole che conosco da seguire in questa determinata condizione. I LINGUAGGI FORMALI Sappiamo che il linguaggio si può suddividere in: ● naturale = utilizzato dell’uomo per comunicare, è però ambiguo in quanto caratterizzato da una pluralità di sensi e significati e va contestualizzato; ● formale = creato per gli ambiti in cui bisogna evitare ambiguità, come nell'informatica. Esso è caratterizzato da un alfabeto finito di simboli definiti da una grammatica formale, che vanno contestualizzati in aree semantiche formali che permettono di attribuire un significato. LA CODIFICA E LA RAPPRESENTAZIONE DELL’INFORMAZIONE In generale sappiamo che nel linguaggio la stessa informazione può essere codificata con simboli e modalità diverse; nel caso del linguaggio formale (del calcolatore) l’informazione viene codificata in sequenze di “BIT”, cifra binaria contenente solamente i simboli “0” e “1”. Il valore dei BIT viene poi rappresentato dai dispositivi bistabili e, considerando tutte le sequenze possibili di questi due BIT, posso allora ottenere che: ● 2 BIT = 4 sequenze possibili ● 3 BIT = 8 sequenze possibili ● 8 BIT = 64 sequenze possibili, 8 BIT corrispondono a 1 BYTE Questo perché il numero di sequenze possibili corrisponde a due volte il numero di BIT utilizzati → nBIT = 2^n sequenze possibili. La capacità della memoria di un calcolatore viene quindi misurata in BIT, BYTE o nei loro multipli espressi tramite gli stessi prefissi del Sistema Internazionale, a differenza del quale però vengono calcolati sulla potenza di 2 e non di 10. GLI STRUMENTI PER L’ELABORAZIONE DELL’INFORMAZIONE

L’elaborazione dell’informazione corrisponde ad una qualsiasi attività condotta sull’informazione stessa come: ● creazione ● modifica ● confronto ● conservazione e trasmissione ● eliminazione Queste attività seguono tutte lo stesso schema, partendo dalla codifica di una precedente informazione (INPUT) in dati che vengono poi rigenerati in nuovi dati e codificati in una nuova informazione (OUTPUT). Per garantire la corretta elaborazione automatica di un’informazione ed evitare ambiguità vengono fornite all’esecutore delle istruzioni: gli algoritmi. Gli algoritmi vengono poi a loro volta descritti dai "linguaggi di programmazione”; un algoritmo viene perciò definito programma e programmatore è la persona che scrive l'algoritmo. I DISPOSITIVI AUTOMATICI PER L’ELABORAZIONE DELL’ INFORMAZIONE A seconda dell’intervento umano possono essere suddivisi in:

1. sistemi manuali = forniscono una codifica dei dati, raggiunta però attraverso le modifiche dirette dell’utente (sistema di calcolo con carta e penna) 2. sistemi automatici rigidi (semi automatici) = elaborano autonomamente i dati ma vengono comunque gestiti dalle indicazioni continue fornite dall’utente (calcolatrice) 3. sistemi automatici flessibili = la loro memoria interna contiene sia i dati che le istruzioni per trasformali, sono quindi in grado di formulare autonomamente un’elaborazione (calcolatore) La loro evoluzione storica: ● utilizzo delle 10 dita della mano o delle loro singole falangi ● l’abaco e il regolo calcolatore (rappresentazione numerica posizionale) ● la pascalina e l'analytical engine (prime calcolatrici meccaniche) ● ENIAC ed EDVAC, calcolatori elettronici universali (Mauchly e Eckert) > si rifanno all’architettura di John von Neumann ● transistor e circuiti integrati (microchip) ● microprocessore > ha determinato la diffusione dei personal computer ● computer palmari, dotati di schermo tattile e offerta di diverse applicazioni ● telefoni cellulari, permettono la comunicazione attraverso la rete di telecomunicazione cellulare ● smartphone, che unisce caratteristiche e funzioni del palmare e del cellulare La legge di Moore = ogni volta che il numero di transistor integrati in un unico circuito raddoppia, allo stesso tempo si evolvono la velocità di elaborazione e la capacità di memorizzazione. (ogni 2 anni circa) LA RETE INTERNET A partire dagli anni 60 si scoprì il potenziale della rete, che permetteva la comunicazione e la condivisione di risorse tra computer diversi; da qui si sviluppò poi l’Internet , che permette oggi di interconnettere elaboratori in tutto il mondo fornendo diversi servizi all’utente. A partire dal 2000 è stato introdotto “l’internet delle cose” (IoT), grazie al quale tramite collegamento internet gli oggetti quotidiani assumono un ruolo attivo. L’ARCHITETTURA DI VON NEUMANN Nel 1944 stese una bozza sull’architettura del moderno calcolatore, con l’obiettivo di creare un calcolatore universale caratterizzato da:

● affidabilità e sicurezza ● dotazioni periferiche e capacità di connettersi con altri calcolatori ● dimensioni e semplicità di utilizzo ● scalabilità e modularità (semplicità di sostituzione delle sue componenti) Tipologie di calcolatori: ● personal computer (PC) > fisso, pensato per l’utilizzo di un singolo utente, non è un programmatore ma si avvale di “programmi pacchettizzati” Si classifica in:

  • Desktop, unità centrale pensata per stare orizzontale sulla scrivania
  • tower, unità centrale sviluppata in altezza
  • small form factor, desktop di piccole dimensioni ● laptop > mobile, facile da trasportare, racchiude tutte le componenti in un’unica unità Si classifica in:
  • Notebook
  • Tablet o PDA > gli smartphone nascono dall’unione di queste caratteristiche con quelle di un telefono cellulare
  • e-book
  • Console per videogiochi
  • Media center > dedicati all’intrattenimento domestico ● workstation e computer multiutente > migliore velocità e capacità di memoria
  • Minicomputer, Mainframe, Supercomputer ● calcolatori embedded > installati all’interno di sistemi come automobili, semafori, catene di montaggio ecc. IL PROCESSORE (cpu) Ha il compito di prelevare ed elaborare istruzioni e dati dalle varie celle della memoria centrale tramite il BUS e i registri di memorizzazione > registro IR Le sue fasi di attività sono:
  1. lettura
  2. decodifica
  3. esecuzione > la corretta esecuzione è garantita dal “Program Counter” ed avviene tramite “l’unità aritmetico-logica”, viene invece modificato dalle “istruzioni jump”
  4. scrittura all’interno della memoria La velocità con cui la CPU opera viene scandita dal dispositivo clock , la cui frequenza viene misurata in Hertz > per aumentare maggiormente la velocità vengono installati dei processori multi-core che permettono a più CPU di operare in parallelo. LA MEMORIA CENTRALE (ram) Dispositivo che, attraverso l’interazione con la CPU e il BUS, legge, memorizza e scrive istruzioni e dati che vengono inseriti nelle celle di memorizzazione, a loro volta identificabili attraverso indirizzi numerici. E’ una componente volatile, ovvero necessita di una continua alimentazione a corrente > se il PC si spegne vengono persi tutti i dati ed ha una capacità in GB. Tipi di accesso: ● sequenziale, devo leggere tutte le celle precedenti a quella di interesse per accedervi

● diretto, mi basta digitare l’indirizzo numerico per leggere una cella specifica > caratteristico della RAM ● misto, alterna letture dirette a letture sequenziali ● associativo, trova e accede alla cella attraverso il suo contenuto e non tramite indirizzo numerico Solitamente in ogni calcolatore vengono aggiunte, oltre alla RAM, altri due tipi di memoria: ● ROM > memoria di sola lettura ● EPROM > memoria non volatile, in cui i dati e le istruzioni permangono e possono essere modificati LE MEMORIE DI MASSA Dette anche memorie secondarie hanno tempi più lunghi rispetto alla RAM ma sono permanenti e hanno un minor costo di memorizzazione. Possono essere fisse oppure caratterizzate da supporti drive e USB rimovibili, che permettono lo scambio di dati. Esistono perciò diversi tipi di interfaccia per connettere la memoria di massa al calcolatore, come ad esempio la “Serial ATA” o la “Seria Attached SCSI”. Il backup e la ridondanza: In caso di guasto su uno dei componenti del calcolatore ho la possibilità di sostituirlo e di ripristinare le funzionalità ma allo stesso tempo vi è il rischio di perdere tutto il contenuto; è necessario quindi ricorrere a misure preventive per il “disaster recovery” come: ● Backup > copie aggiuntive dei dati scritte su un’altra memoria ● Ridondanza > duplicazione identica dei dati su più supporti per garantire la possibilità di recupero, adotta tecniche RAID In base alla tecnologia impiegata le memorie di massa si suddividono in: Dispositivi magnetici : Memoria con supporto in superficie ferromagnetica, rischio di smagnetizzazione e perdita dati; Possono essere:

  • Disco rigido = costituito da dischi o piatti che, sovrapposti e connessi tra loro, vengono letti scritti dalle apposite testine sulla superficie, che viene suddivisa in “blocchi” a loro volta suddivisi in “settori” i quali contengono le “tracce”, sulle quali viene effettivamente scritta l’informazione. Tutte le sue componenti sono contenute in una scatola fissa all’interno del calcolatore (disco fisso), per la cui manutenzione vengono utilizzati i sistemi di “Formattazione” [cancellazione definitiva di eventuali dati preesistenti ed organizzazione del file system] e “Deframmentazione” [ottimizza le prestazioni del disco riorganizzando periodicamente i blocchi del file system].
  • Nastri magnetici = piccole dimensioni, sono formati da un nastro avvolto in una cassetta, permettono tempi brevi ed elevate capacità ma sono limitati ad un accesso solo di tipo sequenziale. Dispositivi ottici: Supporti rimovibili di sola lettura (ROM) che, una volta inseriti in un drive apposito, vengono letti grazie ad una luce laser e sono costituito da strati, quello principale è il substrato, su cui si alternano parti di superficie occupate dall’etichetta e parti libere impiegate per codificare i dati. Altri dispositivi ottici si presentano invece privi di contenuto e possono quindi essere scritti grazie all’utilizzo del “drive masterizzatore”, questi si possono suddividere in supporti WORM (scrivibili una volta sola) e supporti RW (riscrivibili più volte). I supporti ottici più diffusi sono:
  • CD > primo supporto per la distribuzione audio in formato digitale

● Dispositivi di puntamento Puntatori che, attraverso il movimento e il “click” gestiti dall’utente permettono di selezionare un determinato controllo (finestra, icona, menù). Esempi di dispositivi di puntamento:

  • Mouse > il cui movimento (click, trascinamento, rotella di scorrimento), connesso tramite cavo o via bluetooth, viene riconosciuto dal calcolatore
  • trackball (mouse a forma di sfera)
  • joystick - pointing stick
  • touchpad e touchscreen
  • tavoletta grafica e annessa stylus ● Video (Schermi, Monitor, Display e Videoproiettori) Dispositivi output, realizzati con tecnologie a cristalli liquidi, in grado di visualizzare immagini, filmati e testo attraverso i pixel. La CPU gestisce quindi lo schermo attraverso una scheda grafica , che crea una mappa dello schermo contenente le informazioni relative ai singoli pixel, come ad esempio: luminosità, contrasto, profondità, angolo di visibilità. Le caratteristiche più importanti di un video sono:
  • dimensione dell’immagine (in pollici)
  • rapporto d’aspetto, tra le dimensioni della base e dell’altezza dell’immagine (formato panoramico)
  • risoluzione, ovvero il numero massimo di pixel visualizzabili (più pixel molto piccoli, maggior risoluzione) ● Stampante Permette la permanenza dell’output ed è in grado di gestire altri supporti come la stampa fronte/retro, la fascicolatura e la rilegatura. Generalmente le stampanti si possono distinguere in:
  • stampante monocromatica
  • stampante a colori La capacità di generare e sovrapporre i punti colorati che creano l’immagine definisce la risoluzione, misurata in DPI; mentre la velocità di stampa viene invece misurata in ppm. Una stampante può poi essere collegata ad un calcolatore tramite cavo USB, rendendo il calcolatore principale collegato ad essa il server di stampa , oppure attraverso una connessione di rete che consente a tutti i calcolatori collegati a quella rete di usufruire dei servizi di stampa; in questo caso si parla di stampa di rete. Altre categorie:
  • stampanti multifunzione = integrano al loro interno un modem o uno scanner che permettono di utilizzarle anche come fotocopiatrici e fax.
  • stampanti a getto di inchiostro = lavorano grazie alle testine di stampa e alle cartucce d’inchiostro → poco costose, piccole dimensioni, silenziose, facili MA prezzi alti per le ricariche d’inchiostro.
  • stampanti laser = un raggio laser imprime sulla carta particelle di toner attraverso un rullo fotosensibile → dimensioni e prezzo maggiore, minore risoluzione ma maggior velocità di stampa.
  • stampanti a impatto = un ago, passando prima attraverso un nastro d’inchiostro, va a bucare il foglio di carta → bassa risoluzione, rumorose e più lente, sono poco in uso

● Dispositivi audio Sono schede sonore di espansione in grado di supportare segnali audio che dispone di connettori per il collegamento input di microfoni e registratori; rendono quindi il calcolatore in grado di acquisire segnali sonori, codificarli in digitale e archiviarli.

  • convertitore digitale analogico = lavora in output ed è in grado di riconvertire la codifica digitale in segnale analogico e di inviarlo ad amplificatori o cuffie. → notifiche, media center, home theater, lettori Mp
  • registratore sonoro = lavora in input e permette all’utente di registrare la propria voce, ne fanno utilizzo ad esempio le sintesi vocali, il riconoscimento vocale (VoIP) ● Dispositivi per l'acquisizione di immagini Dispositivo di input capace di digitalizzare un’immagine grazie alla codifica di pixel memorizzati sul calcolatore caratterizzati per grandi dimensioni di immagine, profondità del dolore e risoluzione interpolata. Sono un esempio gli scanner, in grado di acquisire un’immagine riportata su un supporto:
  • scanner piano = digitalizzare un’immagine appoggiata su un piano luminoso /(fotocopiatrici)
  • scanner manuale = digitalizzare un’immagine che l'utente fa scorrere sulla sua superficie
  • scanner pellicola = digitalizza immagini presenti su una pellicola fotografica (negativi)
  • scanner di rete = invia immagini digitalizzate direttamente agli elaboratori connessi a quella rete
  • scanner OCR = scanner a riconoscimento ottico dei caratteri in grado di digitalizzare testi scritti che il calcolatore interpreta come immagini, mentre l’utente è in grado di interpretare come testo. Altri tipi di dispositivi sono le macchine fotografiche e videocamere digitali = imprime l’immagine o il filmato, sotto forma di pixel, su un sensore elettronico di immagini e la archivia su una scheda di memoria. Molto utilizzate oggi per le loro caratteristiche:
  • possibilità di visualizzare l’immagine subito dopo l’acquisizione
  • posso archiviare, cancellare e trasferire sul calcolatore migliaia di fotografie alla volta Esempi di macchine fotografiche digitali sono: le digicam compatte, le reflex digitali, le webcam e le mirrorless; sono dispositivi di questo tipo anche i lettori di codice a barre o Qr Code. LE COMBINAZIONI DI PERIFERICHE Più periferiche vengono combinate tra loro al fine di consentire modalità di interazione più efficaci tra utente e macchina. Ne sono esempio i sistemi di realtà virtuale (google glass, LIM o CAVE), che possono essere composti da micro computer oppure da una serie di calcolatori connessi in un cluster. 2.1 IL SOFTWARE Insieme di programmi contenenti le istruzioni per l’elaborazione dati → gli algoritmi L’algoritmo è quindi una sequenza di istruzioni input > output che mi permette di trattare l’informazione. ● Funzionano come le ricette di cucina: grazie agli ingredienti (informazioni input) l’utente, seguendo le istruzioni della ricetta, otterrà il piatto desiderato (dati output). Allo stesso modo un algoritmo presuppone la presenza di un esecutore che, partendo da dati di input e seguendo le istruzioni del software, ottenga nuovi dati in output.

2.4 INGEGNERIA DEI SOFTWARE

Sviluppa approcci sistematici applicabili per lo sviluppo e la manutenzione dei software a livello industriale. Questi approcci si basano su delle fasi raggruppate nel “Ciclo di vita” del software e sono:

1. analisi, produce un documento di specifica contenente informazioni sul problema che il software dovrà risolvere 2. progettazione, delinea la struttura, l’architettura e le caratteristiche del software e delle sue singole componenti 3. implementazione, realizzazione di più programmi che andranno a costituire il software _4. collaudo

  1. rilascio,_ installazione del prodotto software presso utenti 6. manutenzione Ad ogni software house e ai singoli produttori viene poi affidata la licenza dei diritti d’autore e il modo in cui questa viene gestita crea diverse tipologie di vendita:
  • Licenza d’uso = tipica nei software a pagamento viene concessa senza i diritti d’autore e non permette quindi la copia, la modifica e la ridistribuzione del software
  • Shareware = utilizzata per i software distribuiti via internet, concede un periodo di prova e utilizzo gratis dopo il quale l'utente deve però pagare il software
  • Freeware = i software vengono distribuiti e utilizzati gratuitamente, ne permette quindi la copia e la ridistribuzione
  • Software libero e Open Source = utilizzati per la distribuzione della sorgente realizzata dall’autore a titolo gratuito con l’unica regola di menzionare sempre nelle versioni successive o nelle copie il nome del titolare. Il software applicativo: Un'applicazione che, grazie ad uno specifico sistema operativo di base, aiuta l’utente nella risoluzione di problemi specifici. Sono supportati a loro volta dai software di base, che consentono l’interazione tra calcolatore e utente. Tra i software applicativi più comuni troviamo i software di produttività individuale, “office automation”, come Microsoft Office; le applicazioni più conosciute in questo ramo sono: ● videoscrittura (Microsoft Word) ● fogli elettronici, tabelle e fogli di calcolo (Microsoft Excel) ● presentazioni multimediali (Microsoft PowerPoint) ● desktop publishing, per l’impostazione grafica e il fotoritocco (Microsoft Publishing e PhotoShop) ● Applicazioni DBMS, per gestire basi di dati ● Editor web, per la realizzazione di siti web minori ● organizer e Project management ● Browser Web e Client di Posta Elettronica, utilizzano la rete internet ● Videogiochi, Video player e Audio Player ● Mobile application, realizzate per i dispositivi mobili si possono scaricare con Internet presso gli AppStore (GooglePlay) Il software di base: → Sistema operativo “S.O.” Gruppo di programmi di utilizzo generale per l'interazione utente-macchina → crea apposite piattaforme sul calcolatore. Se associato ad hardware offre invece un’interfaccia di altri programmi; il Sistema Operativo è infatti solitamente costituito da più macchine virtuali che attraverso le interfacce condividono tra loro le singole proprietà di ognuna.

Affinché poi il sistema operativo gestisca in modo efficace le risorse del calcolatore vengono prestabilite all’interno della CPU dei livelli di privilegio per le istruzioni. Le componenti del S.O. ● nucleo ● gestore memoria e periferiche input - output (I/O) ● gestore di rete ● File system, per l’archiviazione e la ricerca di dati nella memoria di massa ● interprete dei comandi Esempi più comuni di S.O. possono essere:

  • Unix > primo ad essere sviluppato, da cui prendono spunto i successivi
  • Linux
  • Windows
  • Android
  • iOS 2.5 LA GESTIONE DELLA CPU Inizialmente i primi calcolatori elettronici erano monoprogrammat i > mantenevano in memoria ed eseguivano un solo programma alla volta, non avevano un sistema operativo e il programmatore accedeva quindi direttamente alle informazioni mediante delle “schede perforate”. Per ridurre i tempi di attesa si progettò successivamente il monitor , una rudimentale versione del sistema operativo in grado di automatizzare l’avvio dei programmi mediante un apposito linguaggio di comando (Job Control Language). → in questo caso i calcolatori vennero definiti sistemi batch A partire dagli anni ‘60 si passò a calcolatori multiprogrammati, in grado di memorizzare ed eseguire contemporaneamente più programmi. La RAM venne quindi suddivisa in aree, ognuna delle quali aveva il compito di eseguire uno specifico “job” → questo permise di ridurre i tempi di attesa anche per le operazioni asincrone, ovvero non sotto il controllo della CPU. A partire da questo momento le schede perforate vennero via via sostituite da applicazioni che permettevano all’utente di interagire direttamente con il calcolatore durante l’esecuzione di un programma. Queste applicazioni di gestione della CPU sono classificata in: ● applicazioni I.O. Bound = s ono interattive ma il tempo necessario a compiere un'elaborazione è molto più lungo e determinato dall'attesa delle operazioni di input/output. ● applicazioni CPU Bound = non interattive, sfruttano molto le risorse del processore, ma non richiedono grandi sprechi di tempo per le operazioni input/output dati. Per risparmiare tempo e risorse si pensò di collegare più terminali allo stesso calcolatore, così da simulare per ciascun utente una CPU a lui dedicata → “parallelismo virtuale”. Questi sistemi vennero soprannominati con gli aggettivi "timesharing" e “multitasking”. Il processo: Una sequenza dinamica di attività ( task ) caricata su memoria RAM, generata e controllata da un programma; viene identificato da un codice univoco chiamato PID e si svolge su un processore sotto la gestione del rispettivo sistema operativo. Può essere visibile all'utente, come nel caso di un’applicazione durante la sua esecuzione, oppure può essere eseguito in background e si evolve nel corso dell’esecuzione del programma, annullandosi quando questa sarà terminata.

Ogni file e cartella viene poi identificato con un nome e con un " pathname ", che descrive il percorso da seguire per raggiungerli partendo dalla cartella radice; oppure esistono sistemi che permettono di sovrapporre alla cartella radice dei riferimenti virtuali di altri file ubicati in un’altra cartella. Ogni File System memorizza poi, per i singoli file e cartelle, le seguenti caratteristiche:

  • il formato e le dimensioni
  • data e ora di creazione e dell’ultima modifica
  • le autorizzazioni
  • il tipo di dati contenuti e l’applicazione da usare per gestirli Il File System deve inoltre consentire all’utente la possibilità di creare, leggere, modificare ed eliminare il contenuto della cartella; oppure di spostare, rinominare o fare il backup di questa. 2.9 LA GESTIONE DELLA RETE Ad oggi i sistemi operativi vengono definiti “sistemi operativi di rete” in quanto devono obbligatoriamente garantire la connessione del calcolatore in rete; questo permette agli utenti di usufruire in modo indipendente dei servizi disponibili in rete regolandone la corretta gestione delle autorizzazioni di accesso. Esistono, nell’ambito della rete, diverse modalità di interazione tra utente e calcolatore: ● interazione utente-calcolatore di tipo Locale = tradizionale, senza rete. ● interazione utente-calcolatore di tipo Remoto = tramite un'applicazione del computer locale (client) l’utente può interagire con un’altra applicazione presente su un altro dispositivo connesso alla stessa rete (server), ● interazione tra più utenti mediata dal calcolatore = tramite un’applicazione client l’utente può interagire con un altro utente che a sua volta sta utilizzando sul suo calcolatore un’applicazione client (es: le chat). 2.10 L’INTERFACCIA CON L’UTENTE E’ sostanzialmente l’interprete dei comandi che l’utente manda al sistema operativo che, prima di iniziare l’esecuzione, deve però riconoscere attraverso l'autenticazione l’utente con cui dovrà interagire. Questa autenticazione informatica, a seconda del livello di sicurezza che garantisce, può essere svolta in 3 modalità: 1. dimostrazione di conoscenza = utilizza credenziali, nome utente e password 2. dimostrazione di possesso = dimostrare di possedere un oggetto fisico (smart card) 3. dimostrazione di caratteristiche fisiche (lettore retina o impronte digitali) A seconda delle autorizzazioni concesse l’utente può poi identificarsi in: ● amministratore di sistema = garantisce il funzionamento complessivo del calcolatore ● operatore di sistema = può sostituire su delega l’amministratore in compiti di routine ● programmatore = realizza applicazioni ● utente applicativo = utilizza le applicazioni Sviluppo delle interfacce utente/macchina: _1. Interfaccia a linee di comandi
  1. Interfaccia interattiva modale,_ l'applicazione esegue i comandi dell’utente solo dopo che quest’ultimo ha risposto a delle domande poste dall’applicazione stessa 3. interfaccia interattiva non modale, l’applicazione semplicemente attende che sia l’utente ad attivare o terminare l’operazione 4. Interfaccia multimediale, si avvalgono di più media in input e output

2.11 LA VIRTUALIZZAZIONE

In informatica si intende “virtuale” quel sistema che simula caratteristiche e funzionalità diverse da quelle reali. ● realtà virtuale > applicazioni che, grazie a calcolatori, trasmettono alla persona stimoli sensoriali realizzando una dimensione illusoria diversa da quella reale ● piazze virtuali > servizi che consentono la comunicazione anche tra utenti collocati in luoghi diversi e distanti ● commercio virtuale Virtualizzazione dell’hardware E’ una moderna tecnologia basata sull'installazione di un “Hypervisor” all’interno di una “Host machine” ; ovvero un software installato all’interno di un calcolatore che supporta la creazione di macchine virtuali che operano come se avessero a loro completa disposizione le risorse dell'hardware, in realtà gestito appunto dall’ Hypervisor. Questo consente quindi di creare uno snapshot della macchina in un determinato istante e di fare poi un backup generale di essa. Questa nuova tecnologia ha dei vantaggi: ● miglior sfruttamento delle risorse hardware ● garantisce la continuità operativa e il disaster recovery → attraverso lo snapshot si clona velocemente una qualsiasi macchina virtuale ● iperconvergenza → gestire tutte le componenti hardware in un'unica console. 2.12 I SOFTWARE MALIGNI Programmi progettati per infiltrarsi ed eventualmente danneggiare il calcolatore e l’utente. Sono: ● Virus → istruzioni dannose inserite in un programma che, se avviato, comporta il diffondersi del virus ad altri programmi in memoria ● Worm → programma completo che genera problemi sulla rete a cui sono connessi i calcolatori ● Trojan Horse → programma che viene installato dall’utente stesso in quanto si presenta sotto forma di un’applicazione comune ● Ransomware → limita le funzionalità del calcolatore e richiede un riscatto all’utente per il ripristino ● Spyware → raccolta non consentita di dati e informazioni personali dell’utente ● Adware → false pubblicità spesso accettate volontariamente dall’utente stesso ● Crimeware → software per il furto di identità ● Hoax → messaggi di posta elettronica che suggeriscono la disinstallazione di determinati file, la quale in realtà compromette ulteriormente le funzioni del sistema operativo Esistono sistemi automatici di difesa da installare obbligatoriamente: ● Firewall → barriera elettronica contro gli attacchi Trojan Horse ● Antivirus → previene, individua e rimuove i software maligni

3. 1 LA RAPPRESENTAZIONE DEI DATI PER LE SCIENZE UMANE Avviene su tre fasi: 1. rappresentazione dei dati su un supporto fisico 2. trasformazione fisica del supporto e quindi modifica dei dati 3. i nuovi dati vengono decodificati generando una nuova informazione

la trasmissione dell’informazione digitale Rispetto alla codifica analogica quella digitale permette una trasmissione più corretta dell’informazione; avendo infatti solamente due valori di codifica possibili se si presenta un valore diverso da essi si può con facilità individuale l’errore all’interno del messaggio. Per individuare e correggere gli errori vengono utilizzati diversi sistemi quali: ● ridondanza ● schema di ripetizione ● controllo di parità → il trasmettitore suddivide in blocchi di bit di dimensioni prestabilite il messaggio controllando che vi sia parità di numeri 1 presenti nel blocco e nel rispettivo bit di parità, se ottiene numeri dispari avrà allora individuato l’errore → es. p 65 3.5 LA RAPPRESENTAZIONE BINARIA DELL'INFORMAZIONE NON NUMERICA I codici sono utilizzati per rappresentare sinteticamente oggetti reali e tutti possono definire una codifica, a patto che sorgente e destinatario si accordino sul tipo di codifica da utilizzare. il testo Un esempio di rappresentazione binaria dell’informazione non numerica può essere il testo in calcolatore, che può essere realizzato attraverso vari tipi di codifica quali: ● ASCII > American standard code per lo scambio di informazioni, che consente di raddoppiare il numero dei caratteri utilizzabili e quindi il numero di linguaggi naturali rappresentabili ● EBCDIC ● UNICODE E’ opportuno poi distinguere all’interno di un calcolatore due diversi tipi di file testo:

  • plain text = puro file di testo
  • altri file contenenti la formattazione = permettono la creazione e la modifica del testo in quanto contengono istruzioni su come deve essere impaginato → es. i file con estensione “doc” che specificano il font.
  • file con linguaggio di marcatura = consentono di inserire direttamente sul testo annotazioni con particolari caratteristiche sintattiche → HTML, che utilizza applicazioni come “ODT”, “RTF” e “DOCX”
  • Altri formati: PostScript e PDF le immagini Campionamento e quantizzazione possono essere utilizzati anche per la rappresentazione digitale delle immagini: ● il campionamento viene utilizzato dai dispositivi di acquisizione per selezionare un’immagine, suddividendola poi in gruppi di pixel (bitmap) ai quali viene attribuito uno specifico colore che andrà a comporre l’immagine. ● la quantizzazione viene invece utilizzata per rappresentare il colore associato ad ogni pixel; permette infatti di definire la “profondità di colore", ovvero il numero totale di bit impiegati per codificare un determinato colore. → un’immagine monocromatica è il livello massimo di possibiltà di quantizzazione, possiamo infatti associare il bianco e il nero ai due singoli bit di partenza: 0 e 1. La rappresentazione del colore prevede dei colori primari di partenza da cui generare gli altri mescolando diversi livelli di gradazione; esistono perciò due modelli di colore base:
  • modelli sottrattivi = partono da un foglio bianco, la miscela di colori produrrà il nero, sottraggono quindi luminosità al bianco → es “CMYK” p 69
  • modelli additivi = partendo da uno sfondo nero la miscela di colori genera il binaco, aggiunge quindi luminosità al nero → es “RGB” p.

La qualità di un'immagine dipende quindi dalla grandezza dei pixel e dalla nitidezza dei colori → più i pixel sono grandi più l’immagine i suoi colori risulteranno sgranati. il formato dei file contenenti immagini: Formato raster → contengono una rappresentazione dell’immagine sotto forma di bitmap, sono però soggetti ad un facile deterioramento se vengono modificate le dimensioni delle immagini → utilizzano come tipo di font il bitmap. Esistono di diversi tipi: ● JPEG = attraverso algoritmi di compressione lossy riescono a ridurre i file immagine così da poterli trasmettere in internet ● GIF = grazie alla compressione lossless permettono di gestire animazione e sfondi, hanno però un numero limitato di colori (256) ● BMP = formato standard non compresso di Windows ● TIFF = garantiscono entrambi i tipi di compressione immagine ● PNG = formato truecolor e supportato da una compressione lossless Formato vettoriale → rappresentano le immagini come composizioni geometriche codificate; vengono solitamente utilizzate in applicazioni CAD, applicazioni per generare animazioni o per la modellazione tridimensionale. Diversi tpi: ● CGM ● SVG ● WMF ● DXF La rasterizzazione delle immagini in questo caso consente di sfruttare al meglio la risoluzione mantenendo comunque il file in dimensioni contenute. → Utilizzano come tipo di font quello Outline I suoni: → es p. Attraverso i dispositivi “microfono” siamo in grado di generare una codifica analogica del segnale sonoro che viene memorizzato come codifica digitale avente le seguenti caratteristiche: ● stereofonia = due canali che ricevono contemporaneamente più segnali audio e ne riproducono la distribuzione spaziale delle sorgenti sonore. ● frequenza di campionamento = 44 100 Hz ● quantizzazione = 65 536 (codifica a 16 bit) Il formato dei file audio: → es p. 72 ● WAV e AIFF = formati audio non compressi ● MP3 = formato audio che attraverso una compressione lossy riesce a ridurre notevolmente le dimensioni occupate in memoria e il tempo impiegato per la trasmissione in internet. ● ACC = formato audio che utilizza sempre una compressione lossy ma, a differenza dell’ MP3, garantisce una miglior qualità. I filmati: I filmati in formato digitale consistono nella riproduzione continua e costante di fotogrammi in rapida successione. Esistono diversi tipi di formati: ● QuickTime ● MPEG-2 = caratterizzato da una compressione lossy, utilizzato per filmati distribuiti su DVD e Bluray

compiere interrogazioni, ovvero ricerca di dati che soddisfino le richieste informative dell’utente. L’accesso ai dati può realizzarsi in varie modalità: ● linguaggi testuali interattivi → SQL (structured query language) ● linguaggi ospite = comandi specifici formulati in SQL presenti in linguaggi programmazione più generici ● GUI → consente di creare interrogazioni in formato non testuale 3.8 SICUREZZA INFORMATICA (cybersecurity) Agisce per garantire diversi aspetti: ● riservatezza, privacy ● integrità, protezione da modifiche non autorizzate ● autenticità della sorgente ● non ripudiabilità della sorgente, garantendo che questa e il destinatario non neghino la trasmissione e la ricezione di un messaggio ● disponibilità, protezione dei dati da interventi non autorizzati che comprometterebbero la possibilità di accesso La protezione di questi aspetti viene gestita da varie misure preventive come: ● antivirus, backup, firewall ● autenticazione informatica tramite accountability, credenziali, firme digitali, certificati digitali (HTTPS) la normativa privacy italiana ed europea: E’ costituita dal decreto legislativo 101, che definisce: ● dato personale = qualsiasi informazione relativa ad enti e persone fisiche identificabili anche indirettamente ● dato sensibile = dato personale idoneo che ricava dell’utente l’opinione politica, la credenza religiosa, l’etnia di appartenenza, lo stato di salute… ● dato giudiziario = dato personale idoneo a rivelare provvedimenti e sanzioni amministrative per un reato il trattamento dei dati: Consiste in qualunque tipo di operazione che consente la raccolta, la registrazione, la modifica, il blocco, l’accesso e l’elaborazione dei propri dati. Per raccogliere questo tipo di informazioni è necessario avere il consenso dell’utente tramite informativa, ma esistono comunque misure minime di sicurezza stabilite dalla legge nel caso di trattamento informatico: ● autenticazione informatica ● gestione delle credenziali di accesso ● aggiornamento periodo del tipo di trattamento che viene concesso → aggiornare un documento programmatico sulla sicurezza ● protezione da trattamenti illeciti ● custodia di copie di sicurezza Dal 2018 è entrato poi in vigore il “Regolamento Generale sulla Protezione dei dati” (RGPD), che mira a rafforzare la protezione di dati sensibili, biometrici, genetici e personali rendendo obbligatorio: ● chiarimento dei diritti dell’utente ● creazioni e aggiornamento di un registro delle attività di trattamento ● attuazione di misure tecniche e organizzative idonee ● denuncia, da parte del titolare, di un eventuale “data breach”

la crittografia: E’ una tecnica utilizzata per garantire la riservatezza dei dati durante la loro trasmissione → prime tecniche crittografiche risalgono ai romani (codice di cesare). Esistono due tipi di algoritmi: → es p. 82 ● A chiave segreta = algoritmi simmetrica tramite cui mittente e destinatario utilizzano una stessa chiave segreta per criptare e decriptare un messaggio ● A chiave pubblica = algoritmo asimmetrico che adotta una coppia di chiavi, una diversa dall’altra, tali per cui la decifratura di una non permette quella dell’altra; in questo modo quindi il mittente utilizza una chiave di cifratura diversa da quella che il destinatario utilizzerà per decifrare il messaggio. 4.1 DALLE RETI A INTERNET A livello generale esistono 3 tipi di rete: di dispositivi, di documenti e di persone; ogni tipo di rete viene studiata dalla telematica. Per quanto riguarda l’informatica parliamo di reti di dispositivi e, più nello specifico di reti di calcolatori e della loro interconnessione in rete: una rete di calcolatori è quindi un insieme di più dispositivi (detti nodi di rete) connessi tra loro allo scopo di comunicare e trasmettere informazioni. Le reti di calcolatori vengono poi classificate in base al loro raggio d'azione in: ● rete personale (PAN) = tra un personal computer e dispositivi periferici in un raggio d’azione limitato ● rete locale (LAN) = tra più calcolatori in uno stesso edificio ● rete metropolitana (MAN) = ha un’area più ampia delle precedenti ma limitata su scala urbana ● rete geografica (WAN) = si estende su un’ampia area geografica ● rete globale (GAN) = si estende a livello globale ● rete privata virtuale (VPN) = simulazione di una rete dedicata privata attraverso una rete pubblica, offre le stesse caratteristiche di sicurezza ad un prezzo inferiore E’ quindi possibile connettere due nodi appartenenti a reti diverse, creando un’unica rete più ampia estesa a livello globale → interne t o internetworking Va quindi specificato che si può essere connessi in rete anche senza essere connessi in internet, ovvero essere connessi ma non a livello globale. la comunicazione: Affinché due calcolatori costituiscano una rete essi devono essere in grado di comunicare e scambiarsi informazioni attraverso dei segnali, il cui andamento nello spazio e nel tempo possa essere controllato dall’utente stesso. Questi segnali sono costituiti da simboli scelti di un alfabeto e quindi, affinché la comunicazione avvenga correttamente, è necessario che mittente e destinatario condividano lo stesso contenuto informativo ovvero lo stesso alfabeto. ● un canale di trasmissione è quindi un sistema fisico in grado di trasferire un segnale e, alle sue estremità, si trovano un trasmettitore e un ricevitore che concordano il metodo di codifica e decodifica del messaggio. → es p. La sorgente invia quindi il messaggio al trasmettitore che ne modifica i simboli e li invia al ricevitore che, a sua volta è in grado di decodificarli e di trasmettere il messaggio al destinatario. ● il rumore, ovvero qualunque segnale indesiderato, può interferire su qualsiasi canale di trasmissione modificando il messaggio. → es p.88/