Informatica di base – 2a parte A. A

Slides:



Advertisements
Presentazioni simili
1 MeDeC - Centro Demoscopico Metropolitano Provincia di Bologna - per Valutazione su alcuni servizi erogati nel.
Advertisements

CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
1 Introduzione ai calcolatori Parte II Software di base.
Gestione della memoria centrale
Il Sistema Operativo Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per: gestire.
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
Ogni PC, per iniziare a lavorare, ha bisogno di un sistema operativo. Infatti questo è il primo programma che viene eseguito e che permette all'utente.
Il Sistema Operativo.
Elaboratore e Sistemi Operativo
IL NOSTRO LABORATORIO. Di INFORMATICA.. Presentazione: Nel nostro laboratorio abbiamo 24 postazioni con dei computer di tipo Desktop con queste caratteristiche:
IL NOSTRO LABORATORIO. Di INFORMATICA..
INTRODUZIONE AI SISTEMI OPERATIVI
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
1 Informatica per scienze biologiche -- parte 2 -- A.A. 2000/2001 Docente: Prof. Francesca Rossi Tel:
File.
1 Gestione della memoria secondaria zFatta dal modulo del SO detto file system, che si occupa di: yAssociare un nome di file ad una parte dello spazio.
Canale A. Prof.Ciapetti AA2003/04
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.
Architettura del World Wide Web
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Struttura dei sistemi operativi (panoramica)
Linguaggi di programmazione
MP/RU 1 Dicembre 2011 ALLEGATO TECNICO Evoluzioni organizzative: organico a tendere - ricollocazioni - Orari TSC.
Laboratorio di Informatica
Cos’è un problema?.
Sistemi Operativi GESTIONE DEI PROCESSI.
Concetti introduttivi
Windows Sistema operativo con interfaccia grafica per PC IBM compatibili (varie versioni dal 95) La gestione dei file viene fatta secondo le modalità.
SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (alla lettera, ferramenta). La struttura.
4 Cosa è una rete? ã Punto di vista logico: sistema di dati ed utenti distribuito ã Punto di vista fisico: insieme di hardware, collegamenti, e protocolli.
Introduzione alle basi di dati
DBMS ( Database Management System)
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
CHARGE PUMP Principio di Funzionamento
Corso di Informatica per Giurisprudenza Lezione 7
Modulo 7 – reti informatiche u.d. 3 (syllabus – )
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
IPSSO Marcello Dudovich
Test Reti Informatiche A cura di Gaetano Vergara Se clicchi sulla risposta GIUSTA passi alla domanda successiva Se clicchi sulla risposta ERRATA passi.
ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE.
Microsoft Word (oppure, OpenOffice Writer)‏
QUIZ – PATENTE EUROPEA – ESAME WORD
Il Sistema Operativo (1)
Un trucchetto di Moltiplicazione per il calcolo mentale
1 Corso di Elementi di Informatica. 2 Word processor (editori di testi) zSi sono diffusi assieme ai PC negli anni 70 zDocumento appare come sara stampato:
QUIZ – PATENTE EUROPEA – ESAME WORD
BIOINFO3 - Lezione 101 GLI IPERTESTI Una delle innovazioni introdotte da HTML e dal WWW in generale, rispetto ad un testo normale è sicuramente la possibilità
Programma di Informatica Classi Seconde
1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia.
USO DEL COMPUTER E GESTIONE DEI FILE
Modulo 6 Test di verifica
Sistema Operativo (Software di base)
Introduzione a Windows Lezione 2 Riccardo Sama' Copyright  Riccardo Sama'
RETI DI CALCOLATORI Domande di riepilogo Prima Esercitazione.
A.P. cat. B - 1 Per chi vuole: Libro di testo D.P. Curtis, K. Foley, K. Sen, C. Morin Informatica di base 2° edizione Mc Graw-Hill Companies.
Microsoft Word Interfaccia grafica
Internet e HTML Diffusione di informazioni mediante la rete Internet.
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
1 Informatica Generale Alessandra Di Pierro Ricevimento: Giovedì ore presso Dipartimento di Informatica, Via Buonarroti,
Reti di computer Condivisione di risorse e
1 Sommario degli argomenti  Sistemi operativi: DOS, Unix/Linux,Windows  Word processors: Word  Fogli elettronici: Excel  Reti: TCP/IP, Internet, ftp,
1 Reti di calcolatori zRete = sistema di collegamento tra vari calcolatori che consente lo scambio di dati e la cooperazione zOgni calcolatore è un nodo,
Servizi Internet Claudia Raibulet
ELABORAZIONE TESTI MICROSOFT WORD EM 09.
1 Ambiente monotasking zViene gestita l’esecuzione di un solo programma per volta zAlla terminazione di un programma, si può attivare un altro programma.
Informatica Generale Marzia Buscemi
Informatica Lezione 8 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
I sistemi operativi Funzioni principali e caratteristiche.
1 Informatica di Base Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Transcript della presentazione:

Informatica di base – 2a parte A. A Informatica di base – 2a parte A.A. 2002/2003 Sistemi operativi ed applicativi

Sommario degli argomenti Sistemi operativi: DOS, Unix/Linux,Windows Word processors: Word Fogli elettronici: Excel Sistemi per la gestione di basi di dati: Access Reti: TCP/IP, Internet, ftp, telnet, posta elettronica WWW: http, Netscape, HTML, motori di ricerca

Informatica per Scienze Biologiche Sistemi Operativi Insieme di programmi che gestiscono l’hardware Hardware: Processori Memorie Dispositivi di I/O Detto software di base Software applicativo: insieme dei programmi scritti dall’utente

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

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

Shutdown Memorizza su memoria di massa (non volatile) tutte le informazioni temporaneamente in RAM Se non viene effettuata (es.: guasto)  queste informazioni vengono perse

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

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 virtuali gestione simultanea di piu’ richieste (es., stampe)

Indipendenza dall’hardware SO sempre piu’ indipendenti dall’hardware Riduce la porzione di codice da modificare per poter usare un SO su un altro calcolatore Programmi applicativi piu’ portabili

Vari SO Negli anni ’80, molti SO Poi, convergenza su pochi SO: DOS (Microsoft) Unix e Linux Windows (Microsoft)

Modalita’ utente/supervisore Nei primi SO, ogni programma poteva attivare ogni altro programma Per dare una struttura, solo Modalita’ utente: permesso di attivare solo alcune procedure Modalita’ supervisore: tutto permesso

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

Modello client/server Macchine con caratteristiche diverse collegate in rete Su 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

Vantaggi e svantaggi Riduzione del carico sui sistemi centrali Maggiori garanzie di sicurezza e integrita’ Maggiore modularita’ e uniformita’ Maggiore flessibilita’ Necessita’ di rete veloce Maggior oneri di gestione dell’intero sistema

Funzioni del SO Da 100 Kilobyte a 100 megabyte Programmi suddivisi in moduli Ogni modulo ha una funzione diversa Funzioni piu’ importanti: gestione processori gestione processi gestione memoria (principale e secondaria) gestione dispositivi di I/O

Interfaccia nucleo verso l’esterno Struttura di un SO Interfaccia nucleo verso l’esterno hardware File system Gestore I/O Gestore processi memoria processori Servizi richiesti dagli utenti al SO nucleo

Gestione dei processi Controlla la sincronizzazione, interruzione e riattivazione dei programmi in esecuzione Piu’ programmi si alternano nell’uso della CPU Ogni programma puo’ essere: Eseguito Sospeso Fatto ripartire Struttura che mantiene lo stato di avanzamento di ogni programma: processo.

Esempio: esecuzione di una ricetta Informatica per Scienze Biologiche Esempio: esecuzione di una ricetta Ricetta = programma Noi = processore Ingredienti = dati in input Attivita’ di leggere la ricetta, usare gli ingredienti, mescolare, cuocere = processo Telefonata durante l’esecuzione della ricetta = interrupt Il processo interrompre l’esecuzione, prende nota del punto (riga della ricetta, ...) e gestisce l’evento Alla fine della telefonata, l’esecuzione riprende e viene conclusa Dolce = output

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 processi Anche piu’ processi per un programma Es.: piu’ programmatori usano lo stesso editore di testi

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

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

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

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

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

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

Transizioni tra stati In esecuzione pronti bloccati Coda ordinata in attesa della CPU bloccati Insieme in attesa di eventi schedulazione richiesta di I/O conclusione I/O fine tempo, evento esterno

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’ interrupt Interrupt anche per fine di quanto di tempo (generato dal timer)

Tipi di interrupt Rilevazione malfunzionamento hardware Fine del quanto di tempo Arrivo di dati in input Rilevazione di segnali da sensori Rilevazione di errori software Ogni interruzione ha la sua priorita’, cosi’ il processo che la gestisce puo’ interrompere solo processi con priorita’ inferiore

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 …

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

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

Processi indipendenti o concorrenti 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)

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

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

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

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

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

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

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

Gestione della memoria principale Criteri per allocare la memoria principale tra piu’ entita’ che la richiedono: SO Processi Buffer di I/O …

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)

Gestione della memoria reale Alloco una prima parte di M per il SO Poi una parte contigua successiva al programma in esecuzione e ai suoi dati  Limiti alla grandezza del programma Overlay: carico il M solo la sezione del programma che serve ora Il programmatore deve suddividere il programma in sezioni SO programma dati

Partizioni della memoria reale Piu’ task  partizioni della memoria Partizioni fisse:un pezzo fisso di memoria per ciascun processo Partizioni variabili: minimo spazio per l’esecuzione di un processo Frammentazione: Dopo vari caricamenti e scaricamenti, nessuna porzione libera e’ grande abbastanza per il prossimo programma  ricompattamento delle parti libere (garbage collection)

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)

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 virtuali siano usati assieme

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

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

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

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

Organizzazione dei file Organizzazione gerarchica Solo logicamente, nessuna relazione con la posizione fisica sulle memorie di massa Directory: gruppo di file e altre directory, piu’ elenco

Organizzazione ad albero Albero rovesciato (come genealogico) Nodi e collegamenti padre-figlio tra nodi Nodo: file o directory Nodi divisi per livelli Collegamenti tra nodi di livelli vicini: nodo sopra = padre, nodo sotto = figlio Ogni nodo ha un solo padre Padre piu’ in alto = radice I nodi file non hanno figli Cammino assoluto o relativo (per file) directory file

Operazioni su file Creazione Apertura Chiusura Cancellazione Copia Rinomina Visualizzazione Lettura Scrittura Modifica …

Gestione dell’input/output Gestione delle periferiche Rende trasparenti le caratteristiche fisiche delle periferiche Gestisce la comunicazione di segnali verso di loro Coordina l’accesso di piu’ utenti (processi) Driver delle periferiche (uno per ogni periferica)

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 essa Lo spooling puo’ andare in esecuzione anche su un elaboratore remoto collegato in rete (print server)  lo eseguira’ un’altra CPU

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

Comandi piu’ usati in MS - DOS DIR per vedere il contenuto di una directory COPY per copiare file DEL per cancellare un file REN per cambiare il nome a un file CD per muoversi in un altra directory MD per creare nuove directory RD per cancellare directory Nome file: per eseguire il file (se eseguibile)

File in MS - DOS Per individuare un file: cammino assoluto Un file system per ogni disco  anche nome del disco Esempio: C:\Dir1\Dir2\Dir3\file.txt Estensioni 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

Unix SO multi-utente, multi-tasking, con time-sharing Concepito per poter funzionare su diverse piattaforme hardware Interprete dei comandi: shell Piu’ di 300 comandi, con opzioni Comando man per aiuto Forma di un comando: nome-comando [[-opzioni] argomenti]

Comandi Unix Ls per vedere il contenuto di una directory Cp per copiare file Rm per cancellare file Mv per spostare file Cd per spostarsi in un’altra directory Mkdir per creare una nuova directory Ps per vedere tutti i processi attivi Lp per stampare file Who per vedere tutti gli utenti collegati

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

Windows Nato nel 1987, ispirato al Macintosh All’inizio era un’interfaccia grafica per DOS Windows ’95: SO mono-utente, multi-tasking, time-sharing DOS 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

Filosofia Windows -- 1 Interfaccia grafica Mouse che sposta un cursore Cut & paste (copia e incolla) Drag & drop (trascina e lascia) Icone associate a file, directory, dischi, … Directory come cartelle Pulsanti Finestre: cornici con strumenti Menu di comandi

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

Word processor (editori di testi) Si sono diffusi assieme ai PC negli anni ’70 All’inizio, aspetto non importante: stampanti con pochi opzioni di caratteri Con 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

Word -- 1 Il piu’ usato tra i word processor wysiwyg Microsoft Finestra in cui viene visualizzato il documento Cursore (barra verticale) indica il punto in cui si sta scrivendo Mouse per spostare il cursore Barra degli strumenti (parte alta della finestra) offre delle operazioni su porzioni di testo Menu che contengono operazioni correlate

Word -- 2 Per selezionare una porzione di testo: Mouse all’inizio Spostarsi alla fine tenendo preemuto il tasto sinistro Per copiare una porzione di testo: Selezionarla Copia dal menu Modifica Spostarsi nella nuova locazione Incolla dal menu Modifica Per spostare: taglia invece che copia

Word -- 3 Operazioni sui singoli caratteri: Anche sui paragrafi: Cambio del tipo di carattere (font) Cambio della dimensione Cambio dell’aspetto (corsivo, grassetto, sottolineato, …) Cancellazione Anche sui paragrafi: Allineamento margine destro o sinistro, centratura Spaziatura tra linee Numero di colonne

Word -- 4 La barra degli strumenti contiene pulsanti (bottoni) per: Creare un nuovo documento Stampa e controllo ortografico Annullamento ultima operazione Inserimento grafici e tabelle Visione caratteri nascosti di formattazione Definizione stile di paragrafi e caratteri

Word -- 5 Per trovare una parola o frase: Voce trova nel menu Modifica Anche per sostituirla con un’altra Per dare un aspetto uniforme: stili Serie di operazioni di formattazione con un nome Ogni paragrafo ha un suo stile Stili predefiniti: normal, titolo1, titolo2, … Per cambiare la def. di uno stile: selezionare il paragrafo, il nome dello stile, e la voce ridefinire lo stile Per cambiare lo stile di un paragrafo: selezionare il paragrafo e il nome del nuovo stile Per creare un nuovo stile: formattare manualmente un paragrafo, e poi dare un nome nella casella stile

Intestazione e pie’ di pagina Specificate una volta per tutte, e vengono messe su ogni pagina Pie’ di pagina: numero pagina, data, … Selezionare la voce ‘intestazione e pie’ di pagina’ dal menu visualizza Nota a pie’ di pagina (footnote): Commento relativo ad un punto del documento Scritto in fondo alla pagina Collegato con un numero Cursore accanto alla parola da commentare, e voce pie’ di pagina dal menu Inserisci

Fogli elettronici (spreadsheet) Dati in forma tabellare (righe e colonne) Grafici basati su questi dati Visualizza 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

Collegamenti tra celle Tramite le espressioni Esempio: 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

Espressioni Somma, differenza, media,…, costanti numeriche, coordinate di altre celle Range: lista di celle adiacenti Esempio: A2:A5 Media(A2:A5) o somma(A2:A5)

Excel Foglio elettronico di Microsoft per Windows Tabella = foglio di lavoro

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

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

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

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)

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

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

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: SQL Es.: SELECT titolo, autore FROM libri WHERE libri.autore = Camilleri and Libri.anno = 1999

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

Servizi di rete Quando programmi su elaboratori collegati in rete si scambiano comandi e dati Esempi: Posta elettronica Telnet FTP

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.: frossi@math.unipd.it Vantaggi: Ricevere messaggi anche se assenti Spedire messaggi a piu’ utenti Scrittura messaggio: sul client Invio e ricezione: mail server (uno per una rete)

Telnet Consente la connessione ad un server remoto Viene creato un ’’terminale virtuale’’ per lavorare su un elaboratore remoto Permette di accedere al proprio elaboratore, se collegato in rete, da qualunque altro punto della rete Basta specificare l’indirizzo del server Es.: telnet galileo.math.unipd.it Bisogna essere utenti autorizzati su quel server (nome utente e password)

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

Protocolli di rete -- 1 Come collegare in rete elaboratori diversi? Anni ’70: Elaboratori tutti uguali Stesso sistema operativo Un solo mezzo trasmissivo

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

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

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

Protocollo ISO/OSI -- 2 Livello 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

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 condivisi Livello 1 – livello fisico: Definisce gli aspetti elettrici e meccanici del collegamento tra due nodi Caratteristiche cavi e connettori Codifica dei bit per la trasmissione

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

Protocollo ISO/OSI -- 5 Dati da trasferire

Protocollo ISO/OSI -- 5 Dati da trasferire Livello 7

Protocollo ISO/OSI -- 5 Dati da trasferire Livello 7 Livello 6

Protocollo ISO/OSI -- 5 Dati da trasferire Livello 7 Livello 6

Protocollo ISO/OSI -- 5 Dati da trasferire Livello 7 Livello 6

Protocollo ISO/OSI -- 5 Dati da trasferire Livello 7 Livello 6

Protocollo ISO/OSI -- 5 Dati da trasferire Livello 7 Livello 6

Protocollo ISO/OSI -- 5 Dati da trasferire Livello 7 Livello 6

Protocollo ISO/OSI -- 5 Al nodo destinazione Dati da trasferire Livello 7 Livello 6 Livello 5 Livello 4 Livello 3 Livello 2 Livello 1 Al nodo destinazione

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

Mezzi trasmissivi -- elettrici Sfruttano le proprieta’ dei metalli di condurre energia elettrica Ai bit si associano dei particolari valori di tensione o corrente

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)

Mezzi trasmissivi – mezzi ottici Mezzi che usano la luce o i raggi laser I 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 flessibile Purezza del silicio (altrimento il raggio di luce verrebbe attenuato dopo poco) Immune a disturbi elettromagnetici, elevata banda, piccolo, costo maggiore

Il modem Frequenze tra 300 e 3400 Mhz quando si parla al telefono Frequenze 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

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

Topologie di collegamento -- 1 Punto a punto: collega direttamente due nodi della rete

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)

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)

Topologie di collegamento -- 2 Anello: collegamenti punto a punto che formano un anello (molto usata per reti locali e metropolitane)

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)

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

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

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

Indirizzi su Internet Sistema di indirizzamento dei nodi gerarchico, con struttura ad albero IP address univoco per ogni nodo Nodo   nome   indirizzo numerico (da un organismo internazionale: Domain Name System) Gerarchia di nomi, che sono raggruppati in domini

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

WWW (World Wide Web) Nato al CERN di Ginevra Sistema client/server che organizza le informazioni memorizzate sulla rete e rende semplice l’accesso Ipertesto distribuito Ipertesto: 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

Architettura del WWW Una parte client e una server Programma 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

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

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

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

Struttura di un documento HTML <HEAD> <TITLE> Titolo della pagina (viene usato dai motori di ricerca) </TITLE> </HEAD> <BODY> Quello che sara’ visualizzato dal brower </BODY> </HTML>

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>

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

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

Cose da sapere – sistemi operativi A cosa serve il sistema operativo? Che differenza c’e’ tra il software di base e il software applicativo? A cosa servono le fasi di bootstrap e shutdown? Cos’e’ il modello client-server in un sistema distribuito? Quali sono i moduli principali di un sistema operativo?

Cose da sapere -- processi Cos’e’ un processo? Che differenza c’e’ tra un processo e un programma? Cosa si intende per ambiente mono-utente? Cosa si intende per ambiente mono-tasking? Qual’e’ il principale svantaggio di un ambiente mono-tasking? Cosa si intende per ambiente multi-tasking? Cosa si intende per time-sharing? A che serve la coda dei processi pronti?

Cose da sapere -- processi In quali stati puo’ essere un processo durante la sua vita? Quando passa da uno stato ad un altro? Cosa sono le interruzioni? A che servono? Come vengono gestite le interruzioni? Quali sono i meccanismi piu’ usati per la sincronizzazione e comunicazione di processi concorrenti?

Cose da sapere – processori e memoria A cosa servono gli algoritmi di schedulazione? Quali sono i modi piu’ usati poer gestire la coda dei processi pronti? Quali sono i criteri piu’ importanti per valutare un algoritmo di schedulazione? Cosa si intende per memoria reale e memoria virtuale? A cosa serve la gestione della memoria secondaria?

Cose da sapere – file system Cos’e’ un file? Cos’e’ una directory? Quali sono I modi principali di organizzare un file? Descrivi l’organizzazione gerarchica dei file sulla memoria secondaria. Quali sono le differenze fondamentali tra I sistemi operativi DOS, Unix e Windows?

Cose da sapere – editori di testi e fogli elettronici Cos’e’ un elaboratore di testi? Cosa si intende per elaboratore di testi wysiwyg? Cos’e’ un foglio elettronico? Come vengono collegate varie celle tra loro in un foglio elettronico, e a cosa serve questo collegamento?

Cose da sapere – basi di dati Cos’e’ una base di dati? Quali sono le operazioni principali su una base di dati? Che caratteristiche devono avere queste operazioni? Descrivi una base di dati a livello fisico Come puo’ essere vista una base di dati a livello logico? Come si interagisce con una base di dati relazionale? Cos’e’ una tabella? E una query?

Cose da sapere -- reti Cos’e’ una rete di calcolatori? Che differenza c’e’ tra reti locali, reti metropolitane, e reti geografiche? Cosa si intende per servizi di rete? Fai degli esempi di servizi di rete A cosa servono i servizi telnet e FTP? Come si fa a collegare in rete calcolatori diversi e con SO differenti? Cos’e’ il protocollo ISO/OSI?

Cose da sapere – reti e Internet Che tipi di mezzi trasmissivi vengono usati nelle reti? A che serve un modem? Come funziona? Quali sono le principali topologie di collegamento per le reti? Cos’e’ Internet? Come vengono individuati i nodi di Internet? Cos’e’ un dominio?

Cose da sapere – WWW Cos’e’ il WWW? Cos’e’ un ipertesto? Come sono collegate le pagine di WWW? Cos’e’ un browser? A che serve? Descrivi il sistema client-server di WWW Cos’’e un URL? Come e’ fatto? A che serve? In che formato sono scritte le pagine del WWW? A che servono i motori di ricerca?