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


Top Related