Algoritmo: diagramma di flusso: rettangolo simbolo di azione= tipo di azione; rombo simbolo decisionale= dove le linee di esecuzione può prendere varie direzioni; linee di flusso= ordine dell'azione. Complessità dell'algoritmo e del programma= numero di istruzioni da eseguire Log 81=4 perché 3alla4=81>3 istruzioni Trattamento delle informazioni: Problema= informazione data in entrata e in uscita. Metodo= modalità di soluzione. Esecutore= calcolatore o essere umano. Interfaccia= strumento per ricevere o dare informazioni. Hardware:fisico. Software:programma Input > memorizzato il programma in RAM > CPU esegue istruzione > BUS coinvolto per attivare dispositivi i/o che risiedono ogni volta della memoria di massa. RAM= memorizza i dati e il programma che deve elaborare, memoria ad accesso diretto perché ogni byte ha un proprio indirizzo. CPU= e segue le istruzioni di un programma.1-unità logico aritmetica, compie i calcoli. 2-unità di controllo, successione delle operazioni. 3-registri, memorizzano le istruzioni. Operatore: operazioni da eseguire. Operando= dato su cui operare. Programma= insieme di istruzioni che deve essere caricato in memoria, occupa un certo numero di celle e a un indirizzo. L'indirizzo della prima istruzione viene memorizzato nel registro contatore di programma si preleva dalla memoria l'istruzione e la si memorizza nel registro istruzioni nel contratto di programma viene memorizzato l'indirizzo dell'istruzione successiva si esegue l'istituzione del registro istruzioni se il programma non è terminato si torna al punto 2 MEMORIA di MASSA= consente di immagazzinare grosse quantità di dati senza fornire accesso diretto al singolo byte. BUS= dispositivi che consentono l'interconnessione degli, trasportano indirizzi dati istruzioni tra gli elementi. Evitano le interconnessioni punto-punto. Interconnette dispositivi collegati alla CPU. Transfer rate:byte/sec, quantità di byte che transitano nell bus in un secondo. INPUT/OUTPUT= consentono la comunicazione tra computer e mondo esterno. Interconnesse al PC attraverso dispositivi detti porte o interfacce. Input= tastiera, mouse, digitizer, scanner. Output= video. Sistema binario= sistema in base due, positivo o negativo 1 o 0,sistema di tipo posizionale. 100111= 39 Algebra booleana= ammessi due valori: vero falso, 1 e 0, AND= operatore di congiunzione, intersezione, OR= operatore di disgiunzione, unione, NOT= operatore di negazione, complementazione. I calcolatori usano dispositivi “bistabili”, alfabeto binario,0e1. Codice ASCII= si usano 7 bit +1 per il controllo di qualità. Ad ogni singolo corrispondono combinazioni di bit. Reti di computer: LAN= rete locale, connette tra loro con più di tre piccole distanze. MAN= rete metropolitana, connette computer dislocati in aree metropolitane. WAN= rete geografica, connette computer a grande distanza come continente.INTERNETWORK= rete di reti, replico i nodi sono costituiti da reti di calcolatori. Il modello ISO/OSI, costituito da strati (o livelli), i cosiddetti layer, che racchiudono uno o più aspetti fra loro correlati della comunicazione fra due nodi di una rete. I layers sono in totale 7 e vanno dal livello fisico (quello del mezzo fisico, ossia del cavo o delle onde radio) fino al livello delle applicazioni, attraverso cui si realizza la comunicazione di alto livello. Ogni layer individua un protocollo di comunicazione del livello medesimo. ISO/OSI realizza una comunicazione per livelli, cioè dati due nodi A e B, il livello n del nodo A può scambiare informazioni col livello n del nodo B ma non con gli altri: ciò conferisce modularità al sistema e semplicità di implementazione e reimplementazione. Livello 1-2-3 per la rete, gestisce la comunicazione, fisico, link, network. Livello 4 separa la rete l'utente, transport Livello 5-6-7 per l'utente, visione dei dati n-1, n, n+1= fornitore e utente La differenza sostanziale fra TCP/IP e ISO/OSI ad esempio consiste nel fatto che nel TCP/IP i layer di presentazione e di sessione sono esterni alla pila di protocolli i layer sono dunque solo 4 (applicazione, trasporto, Livello di Internetworking, Livello di collegamento) e i livelli sessione, presentazione sono assenti perché implementati (eventualmente) altrove Protocollo Internet: è un insieme di regole che permettono una comunicazione tra più entità all'interno della rete. Protocollo TCP/IP: è un insieme di protocolli che permette la comunicazione tra processi diversi. La famiglia composta da due livelli: 1- livello IP è quello più basso che permette la comunicazione tra due computer in una rete basandosi su indirizzi univoci, IP. 2-sopra agli IP si trovano i protocolli TCP,UDP,SCTP che si occupano della comunicazione vera e propria tra processi (ogni processo si trova su un computer, quindi tutti e tre i protocolli devono poi utilizzare il protocollo IP). L'informazione di inviare e suddivisa in pezzi chiamati pacchetti (datagram) per condividere le risorse e correggere gli errori. Diversi computer sulla stessa rete possono subirne contemporaneamente. TCP: Transmission Control Protocol (TCP) è il protocollo di livello di trasporto della Suite di protocolli Internet. Un Indirizzo IP è un numero che identifica univocamente nell'ambito di una singola rete i dispositivi collegati con una rete informatica che utilizza lo standard IP (Internet Protocol). Ciascun dispositivo (router, computer, server di rete, stampanti, alcuni tipi di telefoni, ...) ha, quindi, il suo indirizzo. Il TCP può essere classificato al livello trasporto (OSI level 4) del modello di riferimento OSI, e di solito è usato in combinazione con il protocollo di livello rete (OSI level 3) IP. Un canale di comunicazione affidabile tra due processi applicativi supplendo ai problemi di cui sopra. Il canale di comunicazione è costituito da un flusso bidirezionale di byte. Inoltre alcune funzionalità di TCP sono vitali per il buon funzionamento complessivo di una rete IP. IP: L'indirizzo IP, lo dice il nome stesso, è un indirizzo che identifica il tuo pc all'interno di una rete(rete wan se ti riferisci ad internet). IP Dinamico se usi il pc di casa significa che ogni volta che ti colleghi te ne viene assegnato dal server uno diverso. IP Statico vuol dire che è fisso e viene inserito direttamente a mano per ogni computer della rete.lvl3 di architetture ISO/OSI. Permette di instradare e variare la strada che il pacchetto deve seguire. L'indirizzo composto da due parti a) parte rete o area, insieme di macchine con esse lo stesso filo fisico, con lo stesso numero di rete b) parte nodo o host, ogni macchina connessa alla rete è identificata da uno o più indirizzi IP. Ad ogni indirizzo numerico IP corrisponde un solo indirizzo simbolico. Subnetting= di 16 bit che costituiscono l'indirizzo host, si riserva nei primi sei all'indirizzamento delle sottoreti. HOST: Si definisce un nodo ospite ogni terminale collegato ad una rete o più in particolare ad Internet. Un nodo ospite può essere di diverso tipo, ad esempio computer, palmari. Il nodo ospite è definito in questo modo perché ospita programmi di livello applicativo che sono sia client (ad esempio browser web, reader di posta elettronica), sia server (ad esempio, web server). Ogni nodo di Internet ha un Indirizzo IP univocamente assegnato. Gli indirizzi IP sono assegnati manualmente dall'amministratore della rete (IP statico) oppure attraverso una particolare configurazione dinamica detta DHCP. Uno stesso nodo può agire contemporaneamente da client e da server, in particolare nelle applicazioni peer to peer (esempio Napster, Kazaa, eMule, Direct Connect etc.). I terminali sono collegati attraverso link di comunicazione. ROUTER: instradatore è un nodo di rete deputato alla commutazione di livello 3 del modello OSI. In altri termini a livello fisico è un dispositivo di rete che connette reti spostando la formazione da una parte all'altra, instrada pacchetti informativi grazie a rispettive interfacce, ciascuna con rispettivo indirizzo.Il tipo di indirizzamento operato è detto indirizzamento indiretto .costituito da una tabella di routine: indirizzo di rete, parte di sottorete, indirizzo di host, interfaccia. Dispostivi di interconnessione tra reti: Repeater= amplificano i segnali elettrici. Bridge= controllano la trasmissione di dati sulla rete. Router= individuano i percorsi migliori assicurando dei dati raggiungano la destinazione. Brouter= uniscono le funzioni di bridge e router. Gateway= usano protocolli di trasporto, presentazione, applicazione. FTP= trasferisce file da PC remoto a pc proprio e viceversa, tramite IP o dominio della macchina remota SERVER: 1-un computer utilizzato per fornire servizi ad altri computer, a prescindere dalle sue caratteristiche hardware. 2-un computer specifico appartenente alla fascia di mercato dedicata all'uso come server, caratterizzato da alta affidabilità e maggiori prestazioni. 3-un processo (ovvero un programma software in esecuzione) che fornisca servizi ad altri processi (es. Server Web). In linea generale quindi si tende ad indicare come server il componente hardware che attraverso un software specifico eroga un servizio e client il componente hardware con relativo software che ne fa uso su richiesta dell'utente. CLIENT: una componente che accede ai servizi o alle risorse di un'altra componente, detta server. In questo contesto si può quindi parlare di client riferendosi all'hardware o al software. 1-Un computer collegato ad un server tramite una rete informatica ed al quale richiede uno o più servizi, utilizzando uno o più protocolli di rete è un esempio di client hardware. 2-Un programma di posta elettronica è un esempio di client software. 3-Sono sempre di più i software, come il web, l'e-mail, i database, che sono divisi in una parte client (residente ed in esecuzione sul pc client) ed una parte server (residente ed in esecuzione sul server). 4-Il termine client indica anche il software usato sul computer client per accedere alle funzionalità offerte dal server. Ad esempio, nel web il software client è il browser, e parla con un server web attraverso il protocollo HTTP BROWSER: o navigatore è un programma che consente di navigare su Internet ed usufruire dei servizi di connettività e permettendo di visualizzare i contenuti delle pagine dei siti web e di interagire con essi. Quest'ultima funzionalità è supportata dalla capacità del browser di interpretare l'HTML e di visualizzarlo in forma di ipertesto. Esso rappresenta dunque il sistema software di interfacciamento dell'utente con la rete. Quelli più noti e diffusi sono Internet Explorer, Mozilla Firefox, Google Chrome, Safari e Opera. HTML: L'HyperText Markup Language è il linguaggio solitamente usato per i documenti ipertestuali disponibili nel WWW. In tali documenti, un tratto di testo può essere contrassegnato inserendo delle etichette, tag, che ne descrivono la funzione, il colore, il link, o altre caratteristiche. Il contenuto servito dai siti web in seguito a una richiesta dell'utente solitamente consiste di un documento HTML: un web browser scarica da uno o più web server il contenuto HTML ed eventuali documenti collegati e li elabora, ossia ne interpreta il codice, al fine di generare la visualizzazione della pagina desiderata sullo schermo del computer. L'HTML non è un linguaggio di programmazione, ma un linguaggio di markup, ossia descrive le modalità o istruzioni di impaginazione, formattazione o visualizzazione grafica (layout) del contenuto, testuale e non, di una pagina web. Tuttavia, l'HTML supporta l'inserimento di script e oggetti esterni quali immagini o filmati. SCRIPT: Gli script generalmente sono semplici programmi il cui scopo è quello di interagire con altri programmi molto più complessi in cui avvengono le operazioni più significative. Gli script si distinguono dai programmi con cui interagiscono, i quali solitamente sono implementati in un linguaggio differente e non interpretato. Inoltre, spesso gli script sono creati o modificati dall'utente finale. L'utente richiede il documento, lo script lo costruisce istantaneamente, il server lo trasmette. Script CGI= (Common Gateway Interface ) Programma che consente a un server di comunicare con gli utenti in Internet. Quando, ad esempio, un utente compila un modulo in una pagina Web, uno script CGI interpreta le informazioni e le comunica a un programma di database nel server FORM= In informatica, un form (letteralmente "modulo") è un termine usato per indicare l'interfaccia di un'applicazione che consente all'utente di inviare uno o più dati liberamente inseriti dallo stesso; per descriverlo, può essere utile la metafora della "scheda da compilare" per l'inserimento di dati. Nella maggior parte dei casi il termine è riferito a form contenute in una pagina web: ad esempio le caselle di testo, menu a tendina, pulsanti di opzione che si inseriscono con il tag <INPUT>. Attributi del tag <INPUT>=size, maxlenght . Attributi della form: submit,type, reset, image (va messa URL) I dati arrivano sulla connessione Internet, il server invia sul dispositivo in cui le script CGI lo riceve e elabora, prepara un documento HTML dinamico e lo invia all'utente mediante il server che, attraverso il dispositivo di output lo rimando sulla connessione Internet. Applicazione JAVA= permette lo sviluppo di applicazioni indipendenti per trattare i vari tipi di file, possono essere acquisite dal server in un linguaggio indipendente dalla piattaforma su cui si sta lavorando. APPLET JAVA= realizzazione di un sistema per la fruibilità su Internet a distanza, illustrazioni interattive e permettono all'utente, attraverso l'inserimento di dati valori, di visualizzare molteplicità di esempi e di applicazioni. L'utente si collega al Web, inserisce nella form i valori dei parametri relativi al suo interesse, inviando la forma viene attivato un programma che produce un file HTML. L'utente cliccando apre l’applet attivando un'applicazione grafica con la visualizzazione del fenomeno desiderato FRAME= con le frame è possibile separare le pagine Web in sezioni distinte, di qualsiasi dimensione. Il contenuto di una frame può essere indipendente dalle altre. Sono strutture utilizzate per suddividere la pagina Web in aree separate per scopi di navigazione e di estetica. FRAMESET= vengono scritti degli attributi che definiscono l'altezza del frame basandoli sulle righe sulle colonne. Intranet= uso delle tecnologie di Internet e www nella rete interna di un'organizzazione. Un'azienda di procurarsi solo uno o più sistemi dedicati a svolgere la funzione di www server, dotarli del software opportuno e fornire i client di un browser. tipi di attacchi a Internet: 1- IP spoofing, dirottamento di una connessione da terminale una volta che questa sia attivata, un utente può intercettare un indirizzo IP e quindi falsificarlo, si può connettere con tutto il sistema di conoscere le password. 2- source routing, un utente può impersonare qualunque indirizzo IP ed eludere i meccanismi di sicurezza. 3- falsificazione dell’ISN (initial sequence number), quando il cliente si collega a un server vengono scambiati messaggi di sincronizzazione, se un utente riesce intercettare il numero di sequenza iniziale del server può sostituirsi al client nelle sue comunicazioni con questo. 4- alterazione dei meccanismi di instradamento dei pacchetti dai router, i router hanno una tabella che seleziona la strada più conveniente per l’indirizzamento die pacchetti. 5- abuso dei meccanismi di routing, l’attacco ha successo e l’host autentica una richiesta di connessione sulla base dell’IP dei pacchetti che riceve. Si può intercettare il materiale, visionarlo e rimandarlo modificato. 6- la procedura di Redirect può far si che tuttii messaggi vengano inviati a un router che li riceve senza ritrasmetterli, può essere utilizzato per cambiare il percorso dei pacchetti. 7- le connessioni possono essere resettate e indirizzate verso un altro nodo per essere manipolate. Firewall= protegge la rete locale non attacchi esterni senza diminuzione dei servizi offerti. Controlla il traffico dall'interno all'esterno viceversa perché passa attraverso di esso; fa passare solo il traffico autorizzato. Packet filter= elemento di separazione della rete privata IP e internet, è seguito dal router, funzione eliminando pacchetti che gli passano attraverso in base agli indirizzi sorgente destinazione o al tipo di servizio. Stabilisce tipi di pacchetto di cui si vuole consentire il passaggio. Proxy server= consentono la comunicazione tra client e server non collegati direttamente, dà a tutti gli utenti interni l'accesso a Internet e di capace di connettere i client interni ai server esterni. ogni client interno per stabilire una connessione deve richiederla al proxy server che gestisce il processo di comunicazione. Sistema operativo: software che consente di utilizzare un calcolatore coordinando l'attività e l'utilizzo delle sue risorse. Risorse: CPU, RAM, memoria di massa, periferiche I/O. programma: sequenza di istruzioni, statico. Input, elaborazione, output processo: l'esecuzione di istruzioni sui dati, dinamico. Esecuzione di, elaborazione,output. Osare tutte le risorse di un calcolatore ma una per volta. Ha il compito di coordinare utilizzare l'uso di queste risorse da parte dei processi, x es. gestire le cose durante un processo di stampa. Il sistema operativo deve gestire in modo ottimizzato i seguenti elementi: processi, memoria centrale, memoria di massa, unità di I/O. struttura cipolla 6 strati, ogni Stato comunica il suo lavoro al nucleo. 1-Programmi utente: Excel, invia comandi a 2- interprete di comandi: decodifica e attiva i moduli per cercare il programma 3- gestione memoria di massa-file sistem: individua il programma nell'hard disk e 4- gestione I/O: trasferisce il programma nella RAM 5- gestione memoria: scarica il programma e lo segue (suddiviso in partizioni per caricare più programmi) 6- nucleo: attiva e gestisce il processo. Multiprogrammazione: la CPU serve più utenti contemporaneamente. Utente A> programma AUtente B > programma B. Soluzione: 1) esegui A poi B. 2) esegui A finché non chiede I/O, allora esegui B quando chiede I/O torna ad A. 3) time sharing: si stabilisce un tot di tempo CPU e quando termina il tempo di A inizia B per il suo tempo, si alternano. Gli elementi di un processo: programma, argomenti e sequenza; dati di input, dati su cui studiare; dati di output, manifestazione dell'esecuzione; Stato, evoluzione del processo. Un processo interrotto da un altro processo si prende nota dello Stato del processo interrotto per poi riprendere successivamente (scheduler). Gestione della memoria: la RAM ha dimensioni ridotte e quindi viene diviso in partizioni in ognuna delle quali la memoria di seguire un solo processo. Si esegue un processo per volta. Due programmi insieme non entrano nella RAM allora si fanno passare delle porzioni di programma sulla Memoria Virtuale e una parte resta sul disco. File System= organizzati in sequenze di byte non struttura ad albero, il sistema operativo non sa cosa contiene il file. Sono strutturati in campo (password) e azione (parola d'ordine). Struttura ad albero: cartella padre (directory), cartella figlio (directory), sfoglia (file). Path del file: percorso compiuto per accedere alla directory. L'ereditarietà: procedimento di definizione di un tipo di dato per aggiunta o modifica di elementi di dato già definiti. A is a B: condividono gli attributi. DATABASE= il sistema informatico elabora formazioni, necessario eseguire elaborazioni sulle informazioni da memorizzare. Per programmare qualsiasi procedura bisogna avere la conoscenza del tipo della struttura dei dati da elaborare. Per gestire un archivio bisogna evitare la ridondanza dei dati la perdita di informazioni. Si costruiscono delle tabelle chiamate relazioni (modello relazionale) costituite da colonne e righe; un insieme di relazioni costituisce un database. Intenzionale: conoscenza degli schemi di relazione. Estensionale:: insieme di relazioni tabelle presenti nel database. Chiari: gruppi di attributi che costituiscono l'insieme dei dati. Si possono interrogare database estraendo le informazioni di interesse. Essendo insiemi si possono eseguire operazioni di unione, intersezione e differenza, i risultati sono relazioni. Linguaggio SQL= legge, modifica, gestisce i dati memorizzati in un sistema, spiega l'interrogazione ma non la modalità con cui eseguirla, utilizza domini elementari predefiniti. Select media – From studente – Where cognome Bianchi si possono fare ricerche su più attributi anche su più tabelle. Si possono ordinare risultati d'ordine ascendente discendente rispetto a un attributo. I dati in SQL si possono manipolare per esempio con i comandi insert o values. SBN= modello relazionale tra dati e le loro funzioni. Ha un software per la descrizione dei dati e un software per la manipolazione. Entità= raggruppamenti di informazioni omogenee, possono essere associati alcuni attributi che le sono caratteristici, relazioni 1-1 ad A corrisp una sola istanza B. i nomi delle entità sono dati statici, i valori messi dal bibliotecario sono dati dinamici. Funzioni=moduli, ogni modulo esegue un'elaborazione specifica. Il sistema SBN si avvale di una rete a stella il cui centro è un elaboratore gestito dall'Istituto centrale. Gruppi di biblioteche costituiscono i Poli SBN. Creare una pagina Web= si basa sul concetto dell'ipertesto e dell'ipermedium: ogni medium che ha puntatore ad altri media. WWW utilizza il protocollo HTTP della famiglia TCP/IP e i documenti sono collegati ad altri documenti utilizzati come riferimento, note a piè di pagina. Un documento ipertestuale consente di ottenere le informazioni cliccando sull'identificatore del documento stesso che può essere ottenuto istantaneamente. Per accedere ai documenti disponibili sulla rete si utilizza un browser che legge documenti che può procurarne altri da altre sorgenti. La HTML è linguaggio ipertestuale.L’iperlinguaggio realizza tutto ciò attraverso l'uso di TAG (coppia di simboli con all'interno una successione di carattere ,indicatori che specificano ai browser come visualizzare testi traducendo il linguaggio HTML) e del protocollo HTTP. Un attributo ammesso all'interno del TAG e dice al browser come farlo. Elenchi= 1234, lista ordinata; pallini, lista non ordinata. . .