informatica per statistica riassunto della lezione del 28...

15
Informatica per Statistica Riassunto della lezione del 28/09/2011 Seconda parte Igor Melatti L’Hardware di un computer: parti immancabili i computer sono tipicamente costruiti pi` u o meno tutti nella stessa maniera, perch´ e seguono l’architettura di Von Neumann esistono alcune eccezioni per compiti speciali, ma sorvoliamo questo concetto risale agli anni 40, ` e stato in seguito reso pi` u efficiente (architetture di Harvard) ma non superato si immagini di dover svolgere un qualche compito complicato, per il quale vengano date delle istruzioni ben precise ad esempio, trovare una particolare sequenza (sonda) di nucleotidi in un genoma umano genoma: ...TCGTTCCGAAAGTT... sonda: GTT risultato: 2 corrispondenze, al posto 3 e al posto 12 le istruzioni (algoritmo) saranno una cosa di questo tipo 1. comincia dal primo nucleotide del genoma 2. considera il primo nucleotide della sonda 3. se il nucleotide attuale della sonda ` e uguale a quello attuale del genoma (a) confronta tutti i seguenti nucleotidi della sonda con quelli seguenti del genoma (b) se c’` e corrispondenza, memorizza la posizione di inizio 4. passa al nucleotide successivo del genoma, e torna al passo 2, altri- menti prosegui col passo 5 5. restituisci in uscita le posizioni memorizzate al passo 3b 1

Upload: dangthuan

Post on 15-Feb-2019

219 views

Category:

Documents


0 download

TRANSCRIPT

Informatica per Statistica

Riassunto della lezione del 28/09/2011

Seconda parte

Igor Melatti

L’Hardware di un computer: parti immancabili

• i computer sono tipicamente costruiti piu o meno tutti nella stessamaniera, perche seguono l’architettura di Von Neumann

– esistono alcune eccezioni per compiti speciali, ma sorvoliamo

– questo concetto risale agli anni 40, e stato in seguito resopiu efficiente (architetture di Harvard) ma non superato

• si immagini di dover svolgere un qualche compito complicato, per il qualevengano date delle istruzioni ben precise

• ad esempio, trovare una particolare sequenza (sonda) di nucleotidi in ungenoma umano

– genoma: ...TCGTTCCGAAAGTT...

– sonda: GTT

– risultato: 2 corrispondenze, al posto 3 e al posto 12

• le istruzioni (algoritmo) saranno una cosa di questo tipo

1. comincia dal primo nucleotide del genoma

2. considera il primo nucleotide della sonda

3. se il nucleotide attuale della sonda e uguale a quello attuale delgenoma

(a) confronta tutti i seguenti nucleotidi della sonda con quelliseguenti del genoma

(b) se c’e corrispondenza, memorizza la posizione di inizio

4. passa al nucleotide successivo del genoma, e torna al passo 2, altri-menti prosegui col passo 5

5. restituisci in uscita le posizioni memorizzate al passo 3b

1

Figure 1: Cosa c’e dentro un computer

• per eseguire tali istruzioni, la cosa migliore e mettersi su un grande tavolo,con un foglio recante le istruzioni stesse e altri fogli per appunti intermedi(memoria)

• prendere il genoma e la sonda che vengono forniti dall’esterno (input)

• eseguire di volta in volta le istruzioni di cui sopra, eventualmente serven-dosi di una calcolatrice per qualche conto (controllo e unita aritmetico-logica)

– in questo esempio al massimo si somma 1, ma per altri problemi lasituazione potrebbe essere piu complicata...

• dare il risultato all’esterno (output)

• da notare che cio implica la capacita di accedere a proprio piacimento allamemoria, ai dati in input o in output (bus di comunicazione, unico nonesplicitamente indicato in Fig. 2)

Controllo ed unita aritmetico-logica: la CPU

• Grazie al bus, preleva le istruzioni dalla memoria e le esegue, eventual-mente usando la ALU (Arithmetic-Logic Unit)

• detta anche microprocessore per le piccole dimensioni (come un fran-cobollo)

– volendo essere pedanti, il microprocessore e l’implementazionepiu frequente della CPU

2

Figure 2: L’architettura di Von Neumann

Figure 3: Un microprocessore

3

Figure 4: Alcune memorie RAM

– per la precisione e l’implementazione che mette tutto su una piatta-forma di silicio

– ovvero, la CPU e un concetto piu astratto, il microprocessore e ilblocchetto concreto

• sono microprocessori quelli prodotti dalla Intel (i famosi Pentium), dallaAMD (compatibile con l’Intel) e dalla Apple (con IBM e Motorola, maoramai usano i Pentium pure loro)

• la potenza di un processore e tipicamente misurata col suo ciclo di clock

– l’unita di misura e il GHz (GigaHertz), i processori moderni sono sui3 GHz

• fino a qualche anno fa, grazie a continue migliorie tecnologiche si rad-doppiavano i GHz ogni 2 anni (Legge di Moore)

• oggi si preferisce costruire computer con almeno 2 microprocessori e dis-tribuire tra di loro le computazioni

Memoria

• Ci sono 2 tipi di memoria in un computer di cui l’utente si accorge

– quella secondaria o di massa, ovvero la memoria su disco (hard disk)

– quella primaria o centrale, ovvero RAM (Random Access Memory)

– a voler essere precisi, solo la RAM fa parte della memoria com’e intesanell’architettura di Von Neumann

– il disco e a tutti gli effetti input/output, quindi ci ritorneremo dopo

– e importante sottolineare tuttavia la differenza fondamentale traquesti due tipi di memoria

4

Figure 5: Un hard disk

– la RAM e volatile: spegnere il computer vuol dire perdere il con-tenuto della RAM

– il disco e permanente: i dati restano lı anche dopo lo spegnimentodel computer

– inoltre, la RAM ha una capacita di memorizzazione di pochi GB, ildisco di centinaia di GB

– ma leggere e scrivere sulla RAM e molto piu veloce

Input/output

• Sono di solo output: monitor, stampante, masterizzatore CD/DVD

• sono di solo input: tastiera, mouse, lettore CD/DVD, scanner

• sono sia di input che di output: hard disk (Fig. 5), scheda di rete, lettore-masterizzatore CD/DVD

– il disco (detto hard per distinguerlo dagli ormai obsoleti floppy disk)e di output nel momento in cui vi si memorizzano dati di interessepermanente

– e di input nel momento in cui vi si prelevano dati precedentementememorizzati

– un disco fisso puo tipicamente memorizzare 100 GB di informazione,diciamo l’equivalente di 100 film

– giocano lo stesso ruolo dell’hard disk :

∗ i floppy disk (Fig. 6), oramai obsoleti, pero i desktop hanno tut-tora il lettore/scrittore di floppy disk

∗ avevano una dimensione di 1.5 MB circa

∗ oggi ci sono i CD (700 MB circa, Fig. 7)

∗ i DVD (7 GB circa, Fig. 8)

∗ le chiavette USB (tra 1 GB e 8 GB, di solito; Fig. 9); moltocomode perche usabili senza particolari dispositivi

∗ invece, per CD e DVD servono lettori (e scrittori, o masterizza-tori) particolari (Fig. 8)

∗ d’altronde, CD e DVD sono piu economici di una chiavettaUSB...

5

Figure 6: Un floppy disk (dischetto o disquette)

Figure 7: Un DVD

Figure 8: Un lettore CD interno

Figure 9: Una chiavetta USB

6

Figure 10: Una scheda di rete interna

– infine, e di input/output la scheda di rete (Fig. 10), quella che per-mette di usare Internet

Il BUS: la scheda madre

• la scheda madre e una piattaforma grande quanto un foglio di giornalesulla quale si posizionano:

– il microprocessore

– la RAM

– i connettori con le varie unita di input/output

∗ alcune unita di input/output possono essere connesse diretta-mente alla scheda madre “da dentro”

∗ sono i cosiddetti apparecchi “interni” (ad esempio un lettorefloppy o un lettore CD/DVD)

∗ se invece vengono comprati a parte e poi connessi al computer,sono apparecchi “esterni”

∗ la connessione avviene tramite questi connettori (com’era preve-dibile)

∗ i connettori USB si sono diffusi negli ultimi 7-8 anni,e un’unificazione dei tipi di connettori

∗ esistono mouse USB, tastiere USB, stampanti USB...

– un canale che permetta a tutte queste cose di comunicare tra loro (ilbus dell’architettura di Von Neumann)

– o meglio, un canale che permette alla CPU di controllare il tutto

Il sistema operativo

• Abbiamo gia accennato che tutto l’hardware del mondo e inutile senzasoftware

7

Figure 11: Una scheda madre

Figure 12: Sin: una porta parallela (tipicamente per stampanti); Dx: una portaseriale (tipicamente per monitor)

Figure 13: Sin: porta PS2 (per tastiera e mouse); Dx: connettore USB (qualsiasidispositivo USB)

8

Figure 14: Architettura di un sistema operativo

– nella Fig. 14 si vede che tra l’utente (che usa il computer) e l’hardwareci sono 2 strati

– quello piu vicino all’hardware e il sistema operativo (Windows,Linux, MacOS-X, ...)

– quello piu vicino all’utente sono i programmi applicativi (semplice-mente applicazioni o programmi) che l’utente usa direttamente

∗ programmi per scrivere (Word)

∗ fogli di calcolo (Excel)

∗ programmi multimediale (Windows Media Player)

∗ questi sono per Windows, sia chiaro che esistono i corrispettiviprogrammi per Linux e MacOS-X

∗ altro (videogiochi, programmazione, ...)

– per far sı che un software possa essere usato, occorre installarlo

∗ semplificando, vuol dire copiarlo su disco fisso in modo che possaessere propriamente eseguito quando serve

∗ tipica sorgente per l’installazione e un file preso da un qualchesupporto di input (rete, CD, DVD, chiave USB...)

∗ vale sia per l’intero sistema operativo che per i singoli applicativi

∗ a seconda della complessita del programma stesso, puo essereun’operazione facile o difficile

∗ un sistema operativo e tra le cose piu difficili da installare

– usare un software vuol dire eseguirlo (o anche avviarlo, o aprirlo,talvolta lanciarlo)

∗ semplificando, vuol dire prenderlo dal disco fisso e copiarlo (al-meno in parte) in RAM

∗ dalla RAM puo essere eseguito (almeno secondo il modello diVon Neumann)

9

∗ se va tutto bene, un software si installa una sola volta, e lo sisolitamente puo eseguire molteplici volte

– il sistema operativo non viene mai modificato dall’utente “normale”

– e invece abbastanza frequente che un utente crei nuovi programmiapplicativi, per se o anche per altri

∗ per farlo, usa un qualche linguaggio di programmazione

∗ per farlo, occorre usare comunque degli appositi programmi ap-plicativi

∗ si tratta di programmi che creano altri programmi e si chiamanocompilatori

• vediamo ora piu da vicino i sistemi operativi

• tipicamente, si acquista il sistema operativo insieme col computer (sistemaoperativo preinstallato)

– nel caso dei Mac di Apple, praticamente ci puo essere solo una delleversioni di MacOS-X

– nel caso degli IBM-compatibili, nel 99% dei casi (fino a 2 anni faquasi il 100%) c’e Windows

– al giorno d’oggi ci sono anche computer con Linux come sistemaoperativo

∗ costano una 50ina di euro in meno, perche Linux e gratuito

– si possono acquistare IBM-compatibili anche senza sistema operativo

– in questo caso, una volta che lo si accende, lui fa qualche controllo epoi si blocca con una schermata nera lamentandosi di non avere unsistema operativo

• di solito, l’utente normale si limita ad aggiornare il sistema operativo

– di solito per correggere qualche problema di sicurezza riscontrato direcente

– anche cambiare il sistema operativo alla versione successiva (upgrade,ad esempio da Windows XP a Windows Vista) e sostanzialmente unaggiornamento

– qualche volta capita di dover riavviare il computer, ma e comunqueuna cosa semplice da fare

• tuttavia, e possibile anche disinstallare il sistema operativo (pre)installatoe installarne un altro

– operazione non semplicissima, ma neanche impossibile

– con i Mac, lo fanno solo i superhacker

10

– sugli IBM-compatibili ci si puo sbizzarrire a volonta

– la cosa tipica che fa chi si intende un po’ di informatica e fare unsistema dual-boot

∗ quando lo si accende, viene chiesto se far partire Windows oLinux

∗ con il termine “boot” si intende quello che fa il computer nonappena lo si accende

∗ in pratica e la fase in cui viene “caricato” il sistema operativo

∗ ovvero, la fase il sistema operativo fa alcune cose iniziali che glipermetteranno poi di funzionare

∗ puo durare da pochi secondi e un paio di minuti

– aggiornare un sistema operativo (passare da una versione precedentead una piu recente) e facile

– cambiare totalmente un sistema operativo (da Windows a Linux oviceversa) e piu complicato

∗ se non si sta attenti, si perdono tutti i dati

• vediamo che succede quando si accende un computer

1. bootstrap (o solo boot): una parte di software indipendente dal sis-tema operativo fa alcuni controlli sul funzionamente di alcune partidell’hardware

– ad esempio, vede quanta RAM c’e e controlla che funzioninotastiera e monitor

– questa parte di software si trova su una memoria RAM chepero non e volatile, e neanche modificabile

– per questo motivo viene chiamata ROM (Read Only Memory)

– nei sistemi IBM-compatibili, questa procedura software si chiamaBIOS (Basic Input Output System)

2. l’ultima parte del boot fa partire il sistema operativo, da disco, daCD o da floppy

– e possibile scegliere la sequenza di boot all’inizio

– infatti, alcune parti del BIOS sono modificabili

– in pratica, occorre premere un qualche tasto (ad esempio F9) neiprimi 2-3 secondi di accensione del computer

3. dopodiche le istruzioni da eseguire vengono tratte dal disco, da CDo da floppy a seconda della scelta precedente

– il sistema operativo vero e proprio parte praticamente sempre dadisco

– negli altri casi:

11

∗ si e su un sistema piccolo o senza hard disk, e quindi il dis-chetto o il CD contengono il sistema operativo

∗ oppure si vuole installare un nuovo sistema operativo che sitrova si dischetto (difficile) o su CD

∗ in questo caso, si verra avviati ad una serie di passi che cos-tituiscono il programma d’installazione

∗ oppure e successo qualcosa di grave e il dischetto o il CDcontengono programmi di recovery

4. seguendo tali istruzioni (supponendo che non si tratti di installazioneo di recovery), il sistema operativo comincia pian piano a posizionarele sue parti vitali in RAM

5. quando e tutto pronto, si arriva alla schermata di login

– occorre immettere username e password

– sui PC (soprattutto Windows), questa parte viene spesso saltata

– in pratica, si accede come utente generico (user o guest) senzapassword

– sui PC non personali (quelli dei laboratori), chi amministra ilsistema (dei tecnici pagati per questo) vi devono aver rilasciatoun account, ovvero il vostro username e la vostra password

– di solito, vi chiedono di modificare subito la vostra password

– a meno che non siate amici dell’amministratore, non potete cam-biare lo username

– c’e sempre uno user onnipotente (solitamente chiamato supe-ruser, root o administrator)

– e l’unico che puo modificare il sistema operativo, installando ap-plicazioni o facendo aggiornamenti

6. poi viene caricata la GUI (Graphical User Interface) e sipuo cominciare ad usare il computer

– alcuni vecchi sistemi operativi non avevano la GUI, oppure occor-reva farla partire come un’applicazione in un secondo momento

– in questi casi, c’era una schermata nera con un prompt che at-tendeva comandi da tastiera

– oggi la situazione e invertita: si parte con la GUI ed eventual-mente si fa partire la schermata nera come un’applicazione

7. quando si finisce si fa logout (ci si disconnette) ed eventualmente sispegne il computer

– fare logout senza spegnere equivale a permettere ad altre personecon un altro account di accedere

– lo spegnimento va fatto da software, chiedendo al sistema oper-ativo di spegnersi

– infatti, per potersi poi riavviare correttamente la prossima volta,occorre che salvi alcune informazioni

12

– per questo motivo, se si preme normalmente sul pulsante di ac-censione, il computer resta accesso

– occorre tener premuto per qualche secondo

• per usare il sistema operativo ci sono sostanzialmente 2 modi

– da interfaccia grafica (quindi con la GUI)

∗ si va avanti a clic, doppi clic e strascinamenti (drag and drop)col mouse

∗ la tastiera viene usata solo quando e indispensabile

· per esempio, per scrivere una lettera con Word, prima si apreWord e poi si scrive la lettera

· per andare su un sito, prima si apre il Browser (es. InternetExplorer o Firefox) e poi si scrive l’indirizzo

∗ ci sono svariati modi per eseguire un programma

· fare doppio clic su un’icona sul Desktop

· fare clic in una barra di avviamento veloce

· selezionare il programma dai menu

∗ all’interno di un programma, si puo usare il mouse o la tastierain tanti modi, dipendentemente dal programma stesso

· esempio, Explorer, il browser, Word

– da interfaccia a linea di comando (CLI, Command Line Interface)

∗ e piu da geek

∗ l’utente “normale” non lo fa mai

∗ in maniera pura e semplice, non lo si fa piu

∗ quello che talvolta qualche utente (non proprio “normale”) fa e dilanciare un programma applicativo che apre uno schermetto nerodove si possono dare comandi direttamente al sistema operativo

∗ per questo corso, potrebbe servire, quindi noi lo vediamo

∗ in Windows, questa applicazione si chiama Prompt dei comandi

o DOS prompt

∗ sotto Linux la cosa e piu naturale, e ci sono svariate applicazioni:konsole e gnome-terminal sono le piu comuni

∗ i tipici comandi che si danno riguardano il file-system (quindi lirivediamo tra poco) e lanciare altri programmi

· e un po’ piu potente della GUI, perche si possono lanciare iprogrammi con i parametri

· non che con la GUI non si possa fare, ma talvolta none altrettanto agevole

∗ con la GUI, si fanno le stesse cose ma per quanto riguarda ilfilesystem occorre prima lanciare qualche altra applicazione (es.Explorer)

13

• tutti i moderni sistemi operativi (almeno quelli che interessano a noi) sonomultitasking

1. lo possono usare contemporaneamente piu utenti

– sia contemporaneamente per finta, cioe uno entra, lascia un pro-gramma in esecuzione e fa logout, e poi entra un altro che lanciaaltri programmi

– sia contemporaneamente per davvero, cioe il computere connesso in rete e piu utenti contemporaneamente ci ac-cedono con programmi appositi

– simile alla situazione precedente sono i vecchi casi dei mainframecon i terminali

2. uno stesso utente puo far eseguire piu applicazioni contemporanea-mente

3. in entrambi i casi, le varie applicazioni si alternano, sotto il comandodel sistema operativo, nell’uso delle risorse della macchina

– prima fra tutte la CPU...

– la parte del sistema operativo che si occupa di cio e chiamatascheduler (piu o meno organizzatore)

• file system

– tutti i vari dispositivi di memorizzazione di massa (dischi fissi e non,chiavi USB, CD e DVD) sono organizzati con un file system

– vuol dire che le informazioni sono memorizzate in archivi (files), adognuno dei quali occorre dare un nome

– e compito dell’utente dare un nome a ciascun file in maniera da ri-cordare poi che informazioni ci sono dentro

∗ fanno eccezione a questa regola i files di sistema

∗ cioe quelli che servono al sistema operativo

∗ lo stesso sistema operativo e inizialmente un file, prima del boot

∗ i files di sistema non possono essere toccati, a meno di non esseresuperuser

– dato che i files sono spesso molti, non e comodo dover dare un nomediverso a ciascuno di essi

– e comunque sarebbe difficile cercare un files tra migliaia di altri simili

– quindi i file systems offrono di organizzare il tutto in cartelle (direc-tories)

∗ sono dei files anche le directories, ma sono files speciali

∗ servono per contenere altri files

– le directory sono organizzate ad albero

14

∗ c’e una directory iniziale che contiene tutte le altre (/ in Linux,C:\ in Windows)

∗ ogni directory puo contenere sia files che altre directories

∗ all’interno di ogni directory, non ci possono essere 2 files con lostesso nome

– operazioni tipiche (per files si intende sia files regolari che directory)

∗ creare un file vuoto (con un nuovo nome)

∗ cancellare un file

· nel caso di una directory si cancella tutto quello chec’e dentro

· tipicamente, il sistema operativo chiede conferma

∗ copiare un file in una diversa directory o nella stessa ma con unaltro nome

∗ spostare un file in una diversa directory o nella stessa ma con unaltro nome

– tipica forma del nome di un file: qualcosa.estensione

∗ l’estensione e tipicamente di 3 lettere, ma non necessariamente

∗ serve per capire con quale applicazione aprire il file relativo

15