Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

122
1 Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001 Docente: Prof. Francesca Rossi E-mail: [email protected] Tel: 049-8275982 10 ore di lezione 10,15,16,17, 22 Maggio 10:30-12:15, aula E 4 ore di laboratorio 4 gruppi: 28, 29, 30, 31 Maggio 14:30-18:30

description

Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001. Docente: Prof. Francesca Rossi E-mail: [email protected] Tel: 049-8275982 10 ore di lezione 10,15,16,17, 22 Maggio 10:30-12:15, aula E 4 ore di laboratorio 4 gruppi: 28, 29, 30, 31 Maggio 14:30-18:30. - PowerPoint PPT Presentation

Transcript of Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

Page 1: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

1

Informatica per scienze biologiche -- parte 2 --

A.A. 2000/2001

Docente: Prof. Francesca RossiE-mail: [email protected]: 049-827598210 ore di lezione

10,15,16,17, 22 Maggio10:30-12:15, aula E

4 ore di laboratorio4 gruppi: 28, 29, 30, 31 Maggio14:30-18:30

Page 2: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

2

Sommario degli argomenti

Sistemi operativi: DOS, Unix/Linux,WindowsWord processors: WordFogli elettronici: ExcelSistemi per la gestione di basi di dati: AccessReti: TCP/IP, Internet, ftp, telnet, posta elettronicaWWW: http, Netscape, HTML, motori di ricerca

Page 3: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

3

Sistemi Operativi

Insieme di programmi che gestiscono l’hardwareHardware:

ProcessoriMemorieDispositivi di I/O

Detto software di baseSoftware applicativo: insieme dei programmi scritti dall’utente

Page 4: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

4

Bootstrap

Fase iniziale che carica il SO in memoria principale (RAM)

Prima una parte, che poi ne carica un’altra, ..., fino a che tutto il SO e’ in memoria e in esecuzione

Page 5: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

5

Comandi al SO

Attivano l’esecuzione di un programma

del SO

Il program counter viene modificato

per contenere l’indirizzo d’inizio del

programma

Alla fine si puo’ dare un nuovo

comando

Page 6: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

6

Shutdown

Memorizza su memoria di massa (non volatile) tutte le informazioni temporaneamente in RAM

Se non viene effettuata (es.: guasto)

queste informazioni vengono perse

Page 7: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

7

SO di oggi

Possono gestire:Piu’ utenti anche con un solo processore

Piu’ programmi per ogni utente

Senza che gli utenti se ne rendano conto

Macchina virtuale: tanti processori virtuali, uno per ogni programma

Page 8: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

8

Virtualizzazione

Molti programmi in esecuzione simultanea presenza in memoria centrale possibili conflitti memoria virtuale (come si si avesse piu’ memoria di quella reale)

Anche dispositivi di I/O virtualigestione simultanea di piu’ richieste (es., stampe)

Page 9: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

9

Indipendenza dall’hardware

SO sempre piu’ indipendenti

dall’hardware

Riduce la prozione di codice da modificare

per poter usare un SO su un altro

calcolatore

Programmi applicativi piu’ portabili

Page 10: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

10

Vari SO

Negli anni ’80, molti SOPoi, convergenza su pochi SO:

DOS (Microsoft)Unix e Linux Windows (Microsoft)

Page 11: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

11

Modalita’ utente/supervisore

Nei primi SO, ogni programma poteva attivare ogni altro programmaPer dare una struttura, solo

Modalita’ utente: permesso di attivare solo alcune procedureModalita’ supervisore: tutto permesso

Page 12: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

12

SO strutturati

In seguito, struttura in livelli

Ogni livello si appoggia a quello

inferiore

Livello piu’ basso: nucleo (kernel)

Il nucleo gestisce le funzioni di base

Page 13: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

13

Modello client/server

Macchine con caratteristiche diverse collegate in reteSu ogni macchina, vengono eseguiti i programmi che piu’ si adattano alle sue caratteristiche

Interfaccia utente e grafica su PC (cliente)Gestione risorse condivise e programmi pesanti su macchine piu’ potenti (server)

Un server e molti client

Page 14: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

14

Vantaggi e svantaggi

Riduzione del carico sui sistemi centraliMaggiori garanzie di sicurezza e integrita’Maggiore modularita’ e uniformita’Maggiore flessibilita’ Necessita’ di rete veloceMaggior oneri di gestione dell’intero sistema

Page 15: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

15

Funzioni del SO

Da 100 Kilobyte a 100 megabyteProgrammi suddivisi in moduliOgni modulo ha una funzione diversaFunzioni piu’ importanti:

gestione processorigestione processigestione memoria (principale e secondaria)gestione dispositivi di I/O

Page 16: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

16

Struttura di un SO

Interfaccia nucleo verso l’esterno

hardware

File system Gestore I/OGestore processi

Gestore memoria

Gestore processori

Servizi richiesti dagli utenti al SO

nucl

eo

Page 17: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

17

Gestione dei processi

Controlla la sincronizzazione, interruzione e riattivazione dei programmi in esecuzionePiu’ programmi si alternano nell’uso della CPUOgni programma puo’ essere:

EseguitoSospesoFatto ripartire

Struttura che mantiene lo stato di avanzamento di ogni programma: processo.

Page 18: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

18

Esempio: esecuzione di una ricetta

Ricetta = programmaNoi = processoreIngredienti = dati in inputAttivita’ di leggere la ricetta, usare gli ingredienti, mescolare, cuocere = processoTelefonata durante l’esecuzione della ricetta = interruptIl processo interrompre l’esecuzione, prende nota del punto (riga della ricetta, ...) e gestisce l’eventoAlla fine della telefonata, l’esecuzione riprende e viene conclusaDolce = output

Page 19: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

19

Vari processi in esecuzione

Bisogna gestire anche Condivisione risorse fisiche (CPU, memoria) Condivisione risorse logiche (dati) Modularita’: piu’ processi per una singola

operazione Maggiore velocita’ per parallelismo tra

processiAnche piu’ processi per un programma

Es.: piu’ programmatori usano lo stesso editore di testi

Page 20: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

20

Ambiente monotasking

Viene gestita l’esecuzione di un solo programma per volta

L’esecuzione non puo’ essere sospesa (per assegnare la CPU ad un altro programma) prima bisogna terminare l’esecuzione in corso

Alla terminazione di un programma, si puo’ attivare un altro programma

Piu’ programmi attivati con un solo comando: job

Page 21: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

21

Svantaggi del monotasking

Lentezza: la CPU non puo’ essere usata da nessun

processo mentre il programma in esecuzione svolge operazioni di I/O (molto piu’ lente di letture/scritture in Memoria)

DOS e’ un SO monotasking: non si puo’ fare niente altro mentre si formatta un floppy o si memorizzano dati su disco

Page 22: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

22

Ambiente multitasking

SO che permettono l’esecuzione contemporanea di piu’ programmi

Se una sola CPU esecuzione contemporanea virtuale (una sola istruzione alla volta)

Minimizzano il tempo di inattivita’ ella CPU durante le operazioni di I/O, che possono anche occupare l’80% del tempo

Page 23: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

23

Time sharing

Ripartizione del tempo di CPU tra tutti i processi che la vogliono

Durata del quanto di tempo: tra 100 e 200 millisecondi granularita’ molto fine

A ciascun utente sembra di avere la CPU tutta per lui, solo piu’ lenta

Page 24: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

24

Coda dei processi pronti

I processi sono messi in una coda Il processo in cima alla coda ha a disposizione

la CPU per un quanto di tempo, fissato e uguale per tutti

Quando il tempo finisce, viene interrotto e messo in fondo alla coda

Se richiede un’operazione di I/O, va nel gruppo dei processi sospesi, quando l’operazione finisce viene rimesso in coda per la CPU

La CPU va al primo in coda

Page 25: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

25

Stati dei processi

Durante la vita di un processo, vari stati:

In esecuzione: quando usa la CPU (solo un processo alla volta)

Pronto: quando aspetta la CPU

Bloccato: in attesa di un evento (es.: fine di op. di I/O)

Passaggio da uno stato ad un altro: context switching

Page 26: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

26

Transizioni tra stati

In esecuzione

pronti

Coda ordinata in attesa della CPU

bloccati

Insieme in attesa di eventi

schedulazione richiesta di I/O

conclusione I/O

fine tempo,evento esterno

Page 27: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

27

Interrupt

Segnali hardware Collegati al verificarsi di un evento Provocano l’esecuzione immediata di

un programma del SO (vettore di interrupt) che serve a gestire l’evento

Una CPU puo’ gestire piu’ interruptInterrupt anche per fine di quanto di

tempo (generato dal timer)

Page 28: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

28

Tipi di interrupt

Rilevazione malfunzionamento hardwareFine del quanto di tempoArrivo di dati in inputRilevazione di segnali da sensoriRilevazione di errori software

Ogni interruzione ha la sua priorita’, cosi’ il processo che la gestisce puo’ interrompere solo processi con priorita’ inferiore

Page 29: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

29

Tabelle dei processi

Ogni processo ha una sua tabella che lo descrive, che contiene: Identificativo Indirizzo prossima istruzione Contenuto registri CPU Stato corrente (pronto, bloccato,

esecuzione) Collocazione programma e dati in memoria Priorita’ Ammontare CPU time gia’ speso …

Page 30: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

30

Operazioni sui processi

La tabella e’ sempre in memoria centrale (per accedervi velocemente)

Usando le informazioni contenute nella tabella, si possono fare varie operazioni: Creazione di nuovi processi Cambio di priorita’ Blocco Assegnamento della CPU Terminazione

Page 31: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

31

Processi concorrenti

Necessita’ di sincronizzazione e comunicazione

Threads: cammini di esecuzione della CPU su un programma

Piu’ thread possono condividere codice, dati, memoria, file, …

Task: insieme di thread e delle cose condivise tra loro

Processo tradizionale: un solo task con un solo thread

Page 32: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

32

Processi indipendenti o concorrenti

Processi indipendenti: L’esecuzione di un processo non e’

influenzata da quella degli altri processi Dipende solo dall’input (deterministica)

Processi cooperanti o concorrenti: Lo stato puo’ essere influenzato da altri

processi, e dati condivisi Esecuzione non deterministica (dipende

dalle velocita’ relative dei processi)

Page 33: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

33

Pipe

Permette il passaggio dei dati tra due processi

I dati sono messi da una parte di un ‘’tubo’’ (pipe) da un processo ed estratti dall’altro lato, nello stesso ordine, da un altro processo

Molto usato nel SO Unix

Page 34: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

34

Coda di messaggi

Esplicite funzioni per scambio messaggi: (send e receive)

Scambio di messaggi tra piu’ processi

Messaggi gestiti secondo il loro arrivo in coda

Page 35: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

35

Condivisione di memoria

Forma di comunicazione piu’ veloce

Pero’ anche piu’ difficile da implementare:

bisogna evitare che piu’ processi

modifichino contemporaneamente gli stessi

dati

Meccanismi piu’ usati: semafori, monitor,

rendez-vous

Page 36: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

36

Gestione dei processori

Criteri in base ai quali i processori

vengono assegnati ai processi

Programma schedulatore:

Distribuisce il tempo di CPU tra i

processi

Decide l’avvicendamento dei processi

Page 37: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

37

Criteri per lo schedulatore

Massimo tasso di uso della CPU

Massimo numero di processi completati per

unita’ di tempo (throughput)

Minimo tempo tra la sottomissione di un

processo e il suo completamento

Minimo tempo passato in attesa nella coda

dei processi pronti

Page 38: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

38

Gestione della coda dei pronti:FIFO

FIFO (first in, first out):

Secondo l’ordine di arrivo, senza

interruzione

Implementazione banale

Tempo di attesa non minimizzato

Page 39: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

39

Gestione della coda dei pronti:altri metodi

SJF (Shortest Job First): prima i processi piu’ corti

Round-robin: con quanti di tempo associati a FIFO

Scadenza: prima i processi con la scadenza piu’ vicina

SRT (Shortest Remaining Time): prima i processi a cui manca meno tempo per finire

Page 40: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

40

Gestione della memoria principale

Criteri per allocare la memoria principale tra piu’ entita’ che la richiedono: SO

Processi

Buffer di I/O

Page 41: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

41

Vari tipi di memoria

Memoria principale: Veloce da accedere Volatile Piccola Programmi da eseguire devono risiedere qui Granularita’ fine (bit o byte)

Memoria di massa (o secondaria): Molto piu’ grande e meno costosa Non volatile Lunghi tempi di accesso Granularita’ non fine (blocchi di byte)

Page 42: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

42

Gestione della memoria reale

Alloco una prima parte di M per il SOPoi una parte contigua successiva al

programma in esecuzione e ai suoi dati Limiti alla grandezza del programmaOverlay:

carico il M solo la sezione del programma che serve ora

Il programmatore deve suddividere il programma in sezioni

SO

programma

dati

Page 43: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

43

Partizioni della memoria reale

Piu’ task partizioni della memoriaPartizioni fisse:un pezzo fisso di memoria per

ciascun processoPartizioni variabili: minimo spazio per

l’esecuzione di un processoFrammentazione:

Dopo vari caricamenti e scaricamenti, nessuna porzione libera e’ grande abbastanza per il prossimo programma

ricompattamento delle parti libere (garbage collection)

Page 44: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

44

Memoria virtuale

Tecnica per

Svincolare il codice di un programma dalla sua collocazione in memoria

Funzionare come se si avesse piu’ memoria di quella reale

Da indirizzi virtuali (usati dai programmi) a indirizzi reali (per l’accesso alla RAM)

Page 45: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

45

Indirizzi virtuali e reali -- esempio

Processore a 32 bit 232 indirizzi, da 0 a 232 (4 gigabyte)

RAM di solito con alcun centinaia di megabyte Il programma puo’ usare tutti gli indirizzi,

anche se non ci sono cosi’ tante celle di memoria

Gli indirizzi sono virtuali e vengono poi tradotti in indirizzi fisici

Basta che non tutti gli indirizzi fisici siano usati assieme

Page 46: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

46

Gestione della memoria secondaria

Fatta dal modulo del SO detto file system, che si occupa di: Associare un nome di file ad una parte

dello spazio di memoria Fornire metodi per accedere ai file Rendere trasparente la struttura fisica

della memoria Ottimizzare l’occupazione di memoria

Page 47: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

47

File

Unica unita’ logica di informazione usata dal SO

Fisicamente: sequenza di byte che contiene

informazioni omogenee Es.: programma, testo, dati simili, … Byte = 8 bit

Tutti i dati vengono suddivisi in file I file vengono memorizzati nelle memorie di

massa

Page 48: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

48

Modi di accesso a un file -- 1

Byte-stream: File = sequenza di byte Soprattutto per file di testo

Sequenziale: File = sequenza di record di lunghezza

fissa o variabile Record = sequenza di byte Accesso sequenziale ai record

Page 49: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

49

Modi di accesso a un file -- 2

Diretto: File = sequenza di record di lunghezza fissa Accesso immediato ai record

A indice: File = sequenza di record ordinati secondo

un indice Record = valore dell’indice + informazione Due file: uno per i record, e uno per indici +

indirizzo fisico del record con qull’indice Accesso veloce, ma piu’ spazio

Page 50: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

50

Organizzazione dei file

Organizzazione gerarchicaSolo logicamente, nessuna

relazione con la posizione fisica sulle memorie di massa

Directory: gruppo di file e altre directory, piu’ elenco

Page 51: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

51

Organizzazione ad albero

Albero rovesciato (come genealogico)Nodi e collegamenti padre-figlio tra nodi Nodo: file o directoryNodi divisi per livelliCollegamenti tra nodi di livelli vicini: nodo

sopra = padre, nodo sotto = figlioOgni nodo ha un solo padrePadre piu’ in alto = radiceI nodi file non hanno figliCammino assoluto o relativo (per file)

directory

file

Page 52: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

52

Operazioni su file

CreazioneAperturaChiusuraCancellazioneCopia RinominaVisualizzazioneLetturaScritturaModifica…

Page 53: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

53

Gestione dell’input/output

Gestione delle perifericheRende trasparenti le caratteristiche

fisiche delle perifericheGestisce la comunicazione di segnali

verso di loroCoordina l’accesso di piu’ utenti

(processi)Driver delle periferiche (uno per ogni

periferica)

Page 54: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

54

Spooling

Processo che svincola la stampa di un file dal resto dell’elaborazione: il sistema continua la sua attivita’ mentre la stampa e’ in corso

Stampante piu’ lenta della CPU un file non puo’ essere trasferito troppo velocemente dalla CPU alla stampante

Invece di inviare il file: Il file viene messo su disco Il SO crea il processo di spooling che fa

procedere la stampa Il processo che ha richiesto la stampa e’

svincolato da essaLo spooling puo’ andare in esecuzione anche su un

elaboratore remoto collegato in rete (print server) lo eseguira’ un’altra CPU

Page 55: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

55

MS - DOS

Sviluppato dalla Microsoft nel 1981 per il PC IBM

Adottato da altri con PC IBM-compatibili

Molto limitato: mono-utente, mono-tasking

Circa 50 comandi per il SO

Page 56: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

56

Comandi piu’ usati in MS - DOS

DIR per vedere il contenuto di una directoryCOPY per copiare fileDEL per cancellare un fileREN per cambiare il nome a un fileCD per muoversi in un altra directoryMD per creare nuove directoryRD per cancellare directoryNome file: per eseguire il file (se eseguibile)

Page 57: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

57

File in MS - DOS

Per individuare un file: cammino assoluto Un file system per ogni disco anche

nome del discoEsempio: C:\Dir1\Dir2\Dir3\file.txtEstensioni per file:

.exe per programma eseguibile .sys per driver di sistema .txt per file di testo .c per programma in C .doc per documento Word

Page 58: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

58

Unix

SO multi-utente, multi-tasking, con time-sharing

Concepito per poter funzionare su diverse piattaforme hardware

Interprete dei comandi: shellPiu’ di 300 comandi, con opzioniComando man per aiutoForma di un comando: nome-comando [[-opzioni] argomenti]

Page 59: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

59

Comandi Unix

Ls per vedere il contenuto di una directoryCp per copiare fileRm per cancellare fileMv per spostare fileCd per spostarsi in un’altra directoryMkdir per creare una nuova directoryPs per vedere tutti i processi attiviLp per stampare fileWho per vedere tutti gli utenti collegati

Page 60: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

60

File in Unix

Unico albero anche se ci sono piu’ dischi non serve indicare il disco per denotare un file

Radice: simbolo /Esempio: /dir1/dir2/dir3/file.txt

Page 61: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

61

Windows

Nato nel 1987, ispirato al MacintoshAll’inizio era un’interfaccia grafica per DOSWindows ’95: SO mono-utente, multi-

tasking, time-sharingDOS emulato in speciali finestre (per

seguire vecchi applicativi per DOS)Pensato per una stazione di lavoro (il PC)

che puo’ essere un client in una rete

Page 62: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

62

Filosofia Windows -- 1

Interfaccia graficaMouse che sposta un cursoreCut & paste (copia e incolla)Drag & drop (trascina e lascia) Icone associate a file, directory, dischi, …Directory come cartellePulsantiFinestre: cornici con strumenti Menu di comandi

Page 63: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

63

Filosofia Windows -- 2

L’utente non deve ricordarsi i nomi dei comandi, basta che selezioni col mouse: un oggetto e il comando da applicare all’oggetto

File system (cioe’ l’albero): visualizzato come cartelle che contengono icone di file o di altre cartelle

Cliccando su una cartella, si apre quella directory

Icona del file: diversa a seconda del tipo di file

Page 64: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

64

Word processor (editori di testi)

Si sono diffusi assieme ai PC negli anni ’70All’inizio, aspetto non importante:

stampanti con pochi opzioni di caratteriCon l’avvento degli schermi grafici, ora su

tutti i PC, tantissimi tipi e grandezze di caratteri

Documento appare come sara’ stampato: WYSIWYG (what you see is what you get)

Testo e grafici nello stesso documento

Page 65: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

65

Word -- 1

Il piu’ usato tra i word processor wysiwygMicrosoftFinestra in cui viene visualizzato il documentoCursore (barra verticale) indica il punto in cui

si sta scrivendoMouse per spostare il cursoreBarra degli strumenti (parte alta della

finestra) offre delle operazioni su porzioni di testo

Menu che contengono operazioni correlate

Page 66: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

71

Fogli elettronici (spreadsheet)

Dati in forma tabellare (righe e colonne)Grafici basati su questi datiVisualizza una tabella organizzata in righe

(1, 2, 3, …) e colonne (A, B, C, …) ogni casella ha coordinate del tipo A3

Una casella puo’ contenere: numeri, testo, espressioni matematiche o logiche

Cosa viene visualizzato in una cella? Numero o risultato dell’espressione

Page 67: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

72

Collegamenti tra celle

Tramite le espressioniEsempio:

La cella A1 contiene 5 La cella A2 contiene A1+1 nella cella

A2 viene visualizzato 6 La modifica di A1 causa

l’aggiornamento automatico di A2

Page 68: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

73

Espressioni

Somma, differenza, media,…, costanti numeriche, coordinate di altre celle

Range: lista di celle adiacentiEsempio:

A2:A5 Media(A2:A5) o somma(A2:A5)

Page 69: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

74

Excel

Foglio elettronico di Microsoft per

Windows

Tabella = foglio di lavoro

Page 70: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

75

Sistemi per la gestione di basi di dati

Base di dati = insieme di dati elementari omogenei, che formano un archivio

Esempio: descrizione dei libri in una biblioteca, o del personale di un’azienda

Deve essere semplice e veloce: l’inserzione di dati, il reperimento, l’aggiornamento

Page 71: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

76

Transazioni

Ogni operazione su una base di dati deve essere: Atomica: o tutto o niente

Consistente: la nuova base di dati deve essere corretta

Isolata: e’ visibile solo quando e’ finita

Cioe’ una transazione

Page 72: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

77

Piu’ utenti in una base di dati

Coordinare le transazioni ordinate dai vari utenti, in modo che non entrino in conflitto

Esempio: sistema di prenotazione degli aerei

Metodo piu’ usato: blocco (lock) dei dati comuni

Page 73: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

78

Dal punto di vista fisico

Base di dati = insieme di record

Ogni record ha vari campi

Es.: scheda per un libro Titolo, autore, anno, …

I record sono memorizzati in file (ad accesso con indice)

Page 74: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

79

Dal punto di vista logico

Tre modelli per una base di dati: Gerarchico: albero dove ogni record e’ il

padre di un altro Reticolare: albero piu’ altri collegamenti

tra record

Relazionale: tabelle (insiemi di record) piu’ relazioni tra tabelle

Page 75: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

80

Basi di dati relazionali

Tabelle (insiemi di record) piu’ relazioni tra tabelle

Es.: tabella per corsi, tabella per studenti

Sistemi piu’ usati: Access per Windows, Oracle

Page 76: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

81

Query

Query = domande la cui risposta e’ un insieme di record con certe caratteristiche

Es.: voglio l’insieme dei libri scritti nel 1999 da Camilleri

Linguaggio piu’ usato: SQLEs.: SELECT titolo, autore FROM libri

WHERE libri.autore = Camilleri and Libri.anno = 1999

Page 77: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

82

Reti di calcolatori

Rete = sistema di collegamento tra vari calcolatori che consente lo scambio di dati e la cooperazione

Ogni calcolatore e’ un nodo, con un suo indirizzo di rete

Storia: Prime reti, anni ’70: un calcolatore potente e tanti

terminali Anni ’80: reti locali (un edificio). Es.: Ethernet Anni ’90: reti metropolitane (una citta’) e geografiche.

Es (rete geo): Internet

Page 78: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

83

Servizi di rete

Quando programmi su elaboratori collegati in rete si scambiano comandi e dati

Esempi: Posta elettronica Telnet FTP

Page 79: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

84

Posta elettronica

Consente lo scambio di corrispondenza tra utenti di sistemi collegati in rete

Il ricevente viene individuato dal suo indirizzo: nome utente + indirizzo di rete della macchina su

cui lavora Es.: [email protected]

Vantaggi: Ricevere messaggi anche se assenti Spedire messaggi a piu’ utenti

Scrittura messaggio: sul client Invio e ricezione: mail server (uno per una

rete)

Page 80: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

85

Telnet

Consente la connessione ad un server remotoViene creato un ’’terminale virtuale’’ per

lavorare su un elaboratore remotoPermette di accedere al proprio elaboratore, se

collegato in rete, da qualunque altro punto della rete

Basta specificare l’indirizzo del serverEs.: telnet galileo.math.unipd.itBisogna essere utenti autorizzati su quel server

(nome utente e password)

Page 81: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

86

FTP (File Transfer Protocol)

Trasferire file da un elaboratore ad un altro (copia di un file tra due elaboratori in rete)

Utenti riconosciuti sul server dove si vuole copiare

Comandi in ambiente FTP: Open per attivare la connessione con un server

remoto (es.: open galileo.math.unipd.it) Ls, cd per posizionarsi su un certo directory Get, put per mettere o prendere un file Close, bye per chiudere la sessione

Page 82: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

87

Protocolli di rete -- 1

Come collegare in rete elaboratori diversi?

Anni ’70: Elaboratori tutti uguali

Stesso sistema operativo

Un solo mezzo trasmissivo

Page 83: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

88

Protocolli di rete -- 2

In seguito, elaboratori diversi ma stesso software di base

Ma se si collegano sistemi diversi?

Necessita’ di uno standard che regoli la realizzazione del software di comunicazione

Page 84: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

89

Protocolli di rete -- 3

Nel 1978 l’ISO (International Standard Organization) propose il modello ISO/OSI (Open System Interconnection) per specificare il modo in cui elaboratori diversi comunicano tramite la rete

Architettura di rete strutturata in sette livelli

Page 85: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

90

Protocollo ISO/OSI -- 1

Livello 7 – applicazione: Fornisce i servizi che eseguono le

applicazioni utente Definisce le specifiche dei programmi che

permettono di usare la rete (trasferimento file, condivisione risorse, …)

Livello 6 – presentazione: traduce i dati trasmessi sulla rete nel

formato adatto al sistema di destinazione

Page 86: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

91

Protocollo ISO/OSI -- 2Livello 5 – sessione:

Gestisce il dialogo tra due programmi applicativi sulla rete, e il loro scambio di dati

Esempio: gestisce la ripresa di un trasferimento di file dopo un’interruzione per malfunzionamento su una linea

Livello 4 – trasporto: Controlla il trasferimento dei dati verso il

nodo destinazione Decomposizione in pacchetti Controllo e correzione degli errori Ricomposizione di pacchetti nel corretto

ordine

Page 87: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

92

Protocollo ISO/OSI -- 3

Livello 3 – rete: Sceglie il percorso di rete piu’ adatto per

giungere al nodo destinazione Trova percorsi alternativi in caso di guasti

Livello 2 – data link: Gestisce la trasmissione affidabile dei dati tra

due nodi adiacenti Aggiunge codici per il controllo degli errori Definisce le procedure di accesso ai mezzi

trasmissivi condivisiLivello 1 – livello fisico:

Definisce gli aspetti elettrici e meccanici del collegamento tra due nodi

Caratteristiche cavi e connettori Codifica dei bit per la trasmissione

Page 88: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

93

Protocollo ISO/OSI -- 4

La trasmissione dei dati avviene solo al livello piu’ basso (livello 1)

Ogni livello N comunica, tramite i livelli sottostanti, con il livello N dell’altro nodo

Ogni livello aggiunge, ai dati che vengono dal livello superiore, delle informazioni di controllo, e passa il risultato (dati + info di controllo) al livello sotto

I dati prodotto dal livello 1 vengono trasmessi

Page 89: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

94

Protocollo ISO/OSI -- 5

Dati da trasferire

Page 90: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

95

Protocollo ISO/OSI -- 5

Dati da trasferire

Livello 7

Page 91: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

96

Protocollo ISO/OSI -- 5

Dati da trasferire

Livello 7

Livello 6

Page 92: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

97

Protocollo ISO/OSI -- 5

Dati da trasferire

Livello 7

Livello 6

Livello 5

Page 93: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

98

Protocollo ISO/OSI -- 5

Dati da trasferire

Livello 7

Livello 6

Livello 5

Livello 4

Page 94: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

99

Protocollo ISO/OSI -- 5

Dati da trasferire

Livello 7

Livello 6

Livello 5

Livello 4

Livello 3

Page 95: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

100

Protocollo ISO/OSI -- 5

Dati da trasferire

Livello 7

Livello 6

Livello 5

Livello 4

Livello 3

Livello 2

Page 96: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

101

Protocollo ISO/OSI -- 5

Dati da trasferire

Livello 7

Livello 6

Livello 5

Livello 4

Livello 3

Livello 2

Livello 1

Page 97: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

102

Protocollo ISO/OSI -- 5

Dati da trasferire

Livello 7

Livello 6

Livello 5

Livello 4

Livello 3

Livello 2

Livello 1

Al nodo destinazione

Page 98: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

103

ProtocolloTCP/IP

ISO/OSI e’ soprattutto un modello teorico di riferimento

TCP/IP e’ il modello standard di fatto, adottato da Internet

TCP/IP non comprende i livelli 1 e 2 (li prende da ISO/OSI)

Livelli 5,6,7 collassati in un unico livello

TCP = livello 4

IP = livello 3

Page 99: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

104

Mezzi trasmissivi -- elettrici

Sfruttano le proprieta’ dei metalli di condurre energia elettrica

Ai bit si associano dei particolari valori di tensione o corrente

Page 100: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

105

Mezzi trasmissivi – onde radio

Onda elettromagnetica: combinazione di campo magnetico e elettrico variabili

Si propaga nello spazio e riproduce a distanza una corrente elettrica in un dispositivo ricevente (un’antenna)

Page 101: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

106

Mezzi trasmissivi – mezzi otticiMezzi che usano la luce o i raggi laserI raggi di luce possono essere trasmessi

sia attraverso l’aria che attraverso fibre di vetro (fibre ottiche)

Fibre ottiche = filamenti di silicio (vetro) molto sottili (decine di micron)

Duttile e flessibilePurezza del silicio (altrimento il raggio di

luce verrebbe attenuato dopo poco)Immune a disturbi elettromagnetici,

elevata banda, piccolo, costo maggiore

Page 102: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

107

Il modemFrequenze tra 300 e 3400 Mhz quando si

parla al telefonoFrequenze molto diverse per segnali che

codificano dati digitali I canali telefonici non sono adatti a trasportare i bit cosi’ come sono codificati

Pero’, cavi telefonici molto diffusi tecniche di modulazione (modem), che modificano un segnale elettrico sinusoidale (che puo’ passare sul filo del telefono) in modo che possa codificare gli zeri e uni

Page 103: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

108

Modulazione

Modulazione di frequenza: frequenze diverse codificano zero e uno, l’ampiezza rimane la stessa

Modulazione di ampiezza: ampiezze diverse codificano zero e uno, la frequenza rimane la stessa

Modulazione di fase: viene modificata la fase

Page 104: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

109

Topologie di collegamento -- 1

Punto a punto: collega direttamente due nodi della rete

Page 105: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

110

Topologie di collegamento -- 1

Punto a punto: collega direttamente due nodi della rete

Bus: unico canale trasmissivo per vari nodi (era usata per reti locali, ma poco tollerante ai guasti)

Page 106: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

111

Topologie di collegamento -- 1

Punto a punto: collega direttamente due nodi della rete

Bus: unico canale trasmissivo per vari nodi (era usata per reti locali, ma poco tollerante ai guasti)

Stella: un singolo elaboratore collegato punto a punto con tutti gli altri (molto usata per reti locali)

Page 107: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

112

Topologie di collegamento -- 2

Anello: collegamenti punto a punto che formano un anello (molto usata per reti locali e metropolitane)

Page 108: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

113

Topologie di collegamento -- 2

Anello: collegamenti punto a punto che formano un anello (molto usata per reti locali e metropolitane)

Maglia: collegamenti punto a punto Maglia incompleta (ma tutti i nodi sono

raggiungibili)

Page 109: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

114

Topologie di collegamento -- 2

Anello: collegamenti punto a punto che formano un anello (molto usata per reti locali e metropolitane)

Maglia: collegamenti punto a punto Maglia incompleta (ma tutti i nodi sono

raggiungibili)

Maglia completa

Page 110: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

115

Internet – storia 1

Nata negli anni ’60 col nome di Arpanet

Obbiettivo: collegare in un unica rete tutti i calcolatori di vari siti militari

Motivi: condividere le ricerche comunicare anche in caso di attacco

nucleare (tanti cammini alternativi tra due calcolatori)

All’inizio: 4 calcolatori negli USA

Page 111: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

116

Internet – storia 2

Nel 1973: connessioni all’Inghilterra e alla Norvegia

Anni ’80: anche altre grandi reti accademiche e scientifiche

1982: TCP/IP come protocollo standard

Ora: Internet collega decine di migliaia di reti in tutto il mondo

Page 112: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

117

Indirizzi su Internet

Sistema di indirizzamento dei nodi gerarchico, con struttura ad albero

IP address univoco per ogni nodoNodo nome indirizzo

numerico (da un organismo internazionale: Domain Name System)

Gerarchia di nomi, che sono raggruppati in domini

Page 113: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

118

Domini

Dominio: struttura per cui esiste un unico ente che decide i nomi

Gerarchia: sotto ogni dominio ci sono altri sottodomini

Es.: www.unipd.it Dominio di primo livello it (Italia) Dominio di secondo livello unipd (Univ. Padova)

Altri domini di primo livello: de (germania), uk (Regno Unito), com (siti commerciali), edu (universita’ USA), gov (enti governativi), …

Le persone in Internet sono individuate da un nome utente che e’ unico nel loro dominio. Es.: frossi e’ unico nel dominio www.math.unipd.it

Page 114: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

119

WWW (World Wide Web)

Nato al CERN di GinevraSistema client/server che organizza le

informazioni memorizzate sulla rete e rende semplice l’accesso

Ipertesto distribuitoIpertesto: documento testuale in formato

elettronico dove la lettura non e’ sequenziale come nei normali libri, ma va da pagina a pagina collegata

Collegamenti attraverso le hot word (parole sottolineate), su cui si puo’ cliccare per visualizzare un’altra pagina

Collegamenti a pagine sullo stesso server o anche su un altro server

Page 115: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

120

Architettura del WWW

Una parte client e una serverProgramma client: browser, per

visualizzare le pagine (testo, grafica, …) provenienti dal server con cui si comunica

Selezionando una hot word, il browser chiede al server una nuova pagina

Il server la invia in formato HTML (Hypertext Markup Language): file di caratteri ASCII piu’ comandi per l’impaginazione e I collegamenti

Browser piu’ usati: Netscape e Explorer

Page 116: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

121

URL

Ogni risorsa su Internet (pagina, file, immagine, …) e’ identificata dal suo URL (Uniform Resource Locator)

Formato degli URL: protocollo://host.dominio/cammino/nome

Protocollo: tipo della risorsa e protocollo da usare. Es.: file, ftp, http, telnet

Host.dominio: inirizzo del server dove trovare la risorsa. Es.: www.math.unipd.it

cammino/nome individua il file nel file system del server.

Es.: http://www.math.unipd.it/~frossi/frossi.html

Page 117: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

122

Netscape

Uno dei browser piu’ usati (assieme ad Explorer)Attivando Netscape, viene aperta una finestra

dove vengono visualizzate le pagine ipertestuali di WWW

Barra degli strumenti per controllare la navigazione in Internet Spostarsi avanti e indietro fra le pagine gia’

caricate Aprire una nuova pagina Salvare una pagina sul proprio file system Creare una lista di URL preferiti, per

riaccedervi velocemente

Page 118: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

123

HTML

Linguaggio per descrivere una pagina di ipertesto

Specifica come dovra’ apparire quando sara’ visualizzata, quali collegamenti contiene e dove portano

Comando in HTML: riguarda una porzione di testo, tag all’inizio e alla fine

Es.: <b> testo </b> per il grassetto

Page 119: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

124

Struttura di un documento HTML

<HTML><HEAD><TITLE>Titolo della pagina (viene usato dai motori di

ricerca)</TITLE></HEAD><BODY>Quello che sara’ visualizzato dal brower</BODY></HTML>

Page 120: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

125

Comandi di HTML

Per definire un paragrafo (P)Per far apparire un testo in grassetto (B) o

corsivo (EM)Per centrare un pezzo di testo (CENTER)Per realizzare una lista: <UL> <LI> primo

elemento <LI> secondo elemento </UL>Per definire il colore dello sfondo: <BODY

COLOR = “\#xxyyzz”> (codice RGB)Per inserire un collegamento: <A HREF=

http://www.math.unipd.it/~frossi/file.html>hotword</a>

Page 121: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

126

Motori di ricerca -- 1

Per poter accedere ad un sito Internet, dobbiamo sapere il suo URL

Troppi siti, e nuovi siti ogni giorno non ci sono indici di tutti i siti

I motori di ricerca permettono di specificare alcune parole chiave, e trovano i siti piu’ rilevanti per queste parole

Alcuni motori di ricerca: www.google.com www.yahoo.com www.lycos.com www.virgilio.it www.arianna.it

Page 122: Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001

127

Motori di ricerca -- 2 Per usare un motore di ricerca:

Andare al suo sito con un browser Specificare le parole chiave in una

mascherina In pochi secondi si hanno le pagine rilevanti

Le pagine non vengono cercate in quel momento: I motori di ricerca navigano continuamente

su Internet, e a mano a mano che trovano nuove pagine le associano a certe parole chiave (es. quelle nel titolo)

Quando arriva una parola chiave, hanno gia’ le pagine relative a questa parola risposta in breve tempo