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

Storia dell'Informatica: Algoritmi, Calcolatori e Internet - Prof. Bosco, Appunti di Fondamenti di informatica

La storia dell'informatica, dall'invenzione dei primi calcolatori come l'abaco e l'algoritmo di al-khwārizmī, alla creazione della prima macchina da calcolare, la pascalina di blaise pascal, fino all'era digitale e l'ascesa di internet. Viene inoltre spiegato come i bit e l'unicode transformation format codificano i caratteri, come funziona la memoria cache e la memoria principale, e come il sistema operativo gestisce i processi.

Tipologia: Appunti

2022/2023

Caricato il 02/02/2024

mery-jean-maldonado
mery-jean-maldonado 🇮🇹

1 documento

1 / 7

Toggle sidebar

Documenti correlati


Anteprima parziale del testo

Scarica Storia dell'Informatica: Algoritmi, Calcolatori e Internet - Prof. Bosco e più Appunti in PDF di Fondamenti di informatica solo su Docsity! Informatica (2023) Docente: Cristina Bosco I nformatica= Infor mazione automa tica; Per tutta la metà del XX sec, si formalizzano concetti basi dell’Informatica e si diffondono le macchine automatiche. Tra gli anni 40’ e 50’ si inizia a creare il computer -> che vuol dire calcolatore, perché all’inizio l’uomo cercava di creare calcolatori. L’essere umano è capace di creare i calcoli, il problema era che ci metterà del tempo e rischierebbe di commettere errori. Cos’è un Algoritmo ? -> è una procedura che permette di risolvere un problema con un insieme finito di passi elementari messi in un determinato ordine; non risolvono solo i problemi matematici (anche se all’inizio sia stato creato per quello). Il nome “Algoritmo” richiama al padre dell’algebra e primo matematico a formulare l’idea dell’algoritmo, al-Khwārizmī (Persia intorno al IX sec d.C.). Può esistere + di un algoritmo per risolvere lo stesso problema. Ada Lovelace: ha creato il primo algoritmo Informatico nella prima metà dell’800, grazie a questo sviluppo per il calcolo dei numeri di Beroulli che stimolerà le generazioni seguenti. È considerata la prima programmatrice della storia. L’abaco: è la prima “macchina di calcolo” risaliente al V millennio a.C. La Pascalina: creata nel XVII sec d.C., fu la prima vera innovazione rispetto all’abaco. Inventata da Blaise Pascal a 19 anni per aiutare a suo padre nelle soluzioni di problemi di calcolo. L’unico problema di questa macchina era che faceva saddizioni e sottrazioni. Macchina Analitica: considerata il precursore del computer, creata intorno al 1840d-a Charles Babbage. È la prima macchina di calcolo programmabile. -Babbage-> era avanti rispetto ai suoi tempi, vengono dimenticate le sue idee per quasi un secolo e vengono scoperte da: Alan Turing e da John von Neumann nella prima metà del ‘900. 1) Alan Turing: considerato uno dei padri dell’Informatica, lui al fianco di altri ricercatori costruirono “La Bomba” una macchina per decifrare i messaggi segreti codificati con la macchina “Enigma”; Turing fu conosciuto grazie alla “Macchina di Turing” -> è un modello astratto e puramente teorico di calcolatore. (era solo un’idea!) 2) John von Neumann: è il primo che ha costruito un modello in cui si basano i computer moderni. Informatica in inglese: -Information and Communication Tecnology: I. come tecnologia. -Computer Science: I. come scienza. I computer possono elaborare solo numeri e per elaborare immagini, testi, suoni, filmati, ecc.; devono essere questi ultimi convertiti in numeri. Per rappresentare delle informazioni utilizziamo: bit: binary digit (cifra binaria): L’elemento di base per rappresentare le informazioni in forma binaria è il BIT, può assumere solo due valori (0 e 1), quindi con un bit possiamo rappresentare due informazioni. Es.: sì/no, on/off, su/giù, vero/falso associando il valore del bit con una informazione 0=no 1=sì / 0=giù 1=su 0=off 1=on / 0=falso 1=vero. Con 1 bit si rappresentano 2 informazioni (2^1) = Con N bit si rappresentano 2^N informazioni. Per rappresentare 61 informazioni diverse si devono usare N bit tali che 2N += 61, 5 bit non sono sufficienti; infatti, 2^5 = 32 < 61 Occorrono almeno 6 bit, infatti 2^6 = 64 += 61. Byte: È stato attribuito un significato particolare ai gruppi di 8 bit: 8 bit formano un Byte = 2^8= 256 informazioni diverse Rappresentazione binaria : Il numerale 100100112 in notazione binaria (o in base 2) rappresenta uno specifico numero: 100100112 (numerale) = 1*2^7 + 0*2^6 + 0*2^5 + 1*2^4 + 0*2^3 + 0*2^2 + 1*2^1 + 1*2^0 = 128 + 0 + 0 + 16 + 0 + 0 + 2 + 1 = 147 (numero). In base 10: -numero 11: 11 / 2 = 5.5 > la risposta non è pari e dobbiamo mettere: 1 5 / 2 = 2.5 > 1 2 / 2 = 1 >risposta pari si agg: 0 1 = 1 Risposta: 1011 (s’inizia da sotto in su) Massimo numero rappresentabile: •Riassumendo... Quando si è definito il numero di cifre con cui si rappresentano i numeri, si definisce anche il massimo numero rappresentabile: • con 16 bit: 2^16-1 = 65.535 • con 32 bit: 2^32-1 = 4.294.967.295 • con 64 bit: 2^64-1 = 18446744073709551615 ≈ 1,84 * 1019 Rappresentazione dei caratteri Codice ASCII: usa 7 bit (2^7 = 128 diversi caratteri rappresentabili) di un byte. Rappresenta – oltre ad altri caratteri – le lettere dell’alfabeto anglosassone maiuscole e minuscole, le cifre, i segni di punteggiatura. Problema: insufficiente per rappresentare i comuni segni diacritici (per es. lettere accentate) Soluzione: codice ASCII esteso usa 8 bit (cioè 1B)! al massimo 28 (256) caratteri. Problema: • 256 caratteri dell’ASCII esteso sono insufficienti per alcuni sistemi di scrittura (per es. quello cinese o giapponese). Quindi non esiste un unico ASCII esteso, ma uno (o più) diverso per ogni lingua (ISO 8859-1 per Europa occidentale, ISO 8859-2 per Mitteleuropa, ISO 8859- 7 per Grecia, KOI-8 / ISO 8859-5 / CP1251 per Russia, EUC e Shift-JIS per Giappone, …). Soluzione: Unicode: Coprono (quasi) tutti i sistemi di scrittura (e le lingue) del mondo . Utilizzati fino a 4 byte per ogni carattere! 8*4 bit = 32 bit per ogni carattere! 2^32 (oltre 4 miliardi) possibili caratteri rappresentabili • attualmente rappresentati oltre 98000 caratteri. UTF (Unicode Transformation Format) definisce come codificare il numero di un carattere Unicode come sequenza di bit: • UTF-8 (caratteri codificati con 8b, altri 16b e pochi con 32) • UTF-16 (caratteri codificati con 16b e pochi con 32). ROM: memoria di solo lettura, può essere modificata da EPROM La Scheda Madre: è la base in cui sono montati la CPU e la RAM, collegati fra loro dai bus (nell‘immagine è tutta la parte in verde; ed è la linea di comunicazione per la trasmissione di informazioni tra i vari componenti del sistema, e collega il CPU ad altri dispositivi del computer.) IL SISTEMA OPERATIVO: (fa la gestione di processi), sono un insieme di programmi che interagiscono fra di loro per gestire il computer e creare un ambiente virtuale addato per l’interazione uomo-macchina, è indispensabile il SO perché senza questo il computer non funziona. L'HARDWARE: è la parte fisica del computer ed è composto da dispositivi elettrici, elettronici e meccanici, questo da solo non è sufficiente per il funzionamento dell’elaboratore, occorre usare il: Il SOFTWARE: è la parte logica del computer ed è costituito dall'insieme di tutti i programmi, dati e documenti che descrivono tutte le operazioni che il computer deve eseguire. * Il Sistema operativo realizza quindi una macchina virtuale con cui l’utente interagisce, che può apparire più potente di quella fisica (cioè l’hardware). MACCHINA VIRTUALE: non esiste ed è simulata grazie al S.O, ed è realizzata mediante il SOFTWARE, fornisce all’utente una visione sul calcolatore astratta, con cui interagire. L’utente interagisce attraverso tanti stratti digitali (tastiere, mouse, cc) che poi si convertono in linguaggio macchina. Il Sistema Ooperativo opera in modo da tenere in RAM i processi in fase di elaborazione e i dati necessari, tutte le parti di dati e programmi che non sono oggetto di elaborazione possono essere trasferiti temporaneamente nella memoria secondaria e ripresi quando serve (swapping), dando così all’utente l’impressione di una memoria più grande (virtuale). Quando lo swapping diventa necessario troppo frequentemente si cade nel thrashing in cui il SO passa più tempo a trasferire dati che ad elaborarli. Funzione svolte dal Sistema Operativo: 1. Bootstrap= Accensione e configurazione della macchina, avvio del computer, in fase di bootstrap il S.O nella memoria secondaria viene caricato dal Programma Bios della ROM nella RAM. 2.Gestione del processore: Sistemi multitasking (possono eseguire contemporaneamente molti programmi). Il passaggio da un processo ad un altro è detto context switch. Il SO decide in merito agli scambi di contesto tramite una sua componente detta scheduler (e per questo si parla di scheduling dei processi) che invierà le decisioni al dispatcher che eseguirà il cambio di contesto. Lo scheduler quindi controlla la ripartizione del tempo di CPU tra tutti i processi attivi, seguendo una delle due tecniche implementative del multitasking: senza prelazione (cooperative-> I programmi cedono il controllo al SO una volta finita l'operazione in corso) e con prelazione (preemptive-> interruzione di un programma a prescindere dalla volontà del programma stesso). 3. Gestione della memoria (principale/RAM/ e virtuale/Creato dal S.O). 4.Linguaggio ad alto livello per l'interazione con l’utente. 5.Gestione e accesso alle informazioni su memoria secondaria (File system). La memoria secondaria serve per memorizzare dati e programmi in modo permanente nei file (archivio). *File System: parte dal Sistema operativo che si occupa di gestire e strutturare le informazioni memorizzate sulla memoria secondaria. Programmi/Software applicativi: sono opzionali, sono necessari per funzioni specifiche (come scrivere, archiviare dati), compatibili con i software di base (es: Word, Excel, Access (Microsoft office), ecc.) Software libero: dà la libertà all’utente di eseguire, copiare, distribuire, studiare, cambiare e migliorare il software. Database:” “Magazzini di dati”, è un grande insieme di dati organizzati e memorizzati in forma strutturata e omogenea. Es: Strutturata= Anagrafe: nome, cognome, data di nascita, ecc.; e Omogenea= Anagrafe: per ogni persona mantengono le stesse informazioni. DBMS (Data base management): si occupano della gestione del DB, è una applicazione di software in cui le altre app si rivolgono per accedere al DB. Le reti di calcolatori: è un insieme di calcolatori, altri dispositivi di calcolo* e dispositivi di rete, connessi fra loro per mezzo di collegamenti. Tali collegamenti sono il mezzo attraverso cui passano le comunicazioni in una rete di calcolatori. Nelle moderne reti di calcolatori, oltre ai calcolatori e ai dispositivi di rete possiamo trovare anche altri dispositivi, quali telefoni cellulari, “smart phone”, telefono VoIP, PDA, televisori e altri elettrodomestici, ecc. Una rete permette di: condividere periferiche (stampanti, dischi), rende più semplice ed efficace la manutenzione, aumentare la tolleranza ai guasti (se un dispositivo si rompe si ha la possibilità di sostituirlo) ... …permette alle persone di: • di accedere a informazioni remote (World Wide Web) • di comunicare con altre persone (e-mail, messenger, newsgroup, blog) • di partecipare a videogiochi con altre persone • di scrivere un’enciclopedia collaborativa come Wikipedia. * TCP/IP (Transmission Control Protocol / Internet Protocol) è il protocollo di comunicazione usato in Internet e anche nella maggior parte delle altre reti. Tipi di rete: ci sono 2 modi per classificarli: 1.Topologia-> in base ai collegamenti esistenti fra calcolatori: • a bus o lineare • ad anello • a stella • punto-punto 2.Estensione-> in base all’area coperta della rete: • Personal Area Network • Local Area Network • Metropolitan Area Network • Wide Area Network Internet: è la rete delle reti. Cioè, collega fra loro reti locali, metropolitane, geografiche e singoli computer di tutto il mondo. •internet (con la ‘i’ minuscola) = rete di (sotto)reti •reti locali collegate tra di loro grazie ai protocolli TCP/IP • Internet (con la ‘I’ maiuscola, nome proprio) = la specifica internet che collega fra loro reti locali di tutto il mondo Componenti di internet: • ISP (Internet Service Provider): • host possono essere identificati come client (computer che richiede servizi da un altro computer) e/o server (computer che fornisce un servizio) Indirizzo IP:ognuno dei 4 numeri può variare da 0 a 255.
Docsity logo


Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved