I dispositivi di input/output: il mouse
• Oggi quasi tutti i computer hanno un dispositivo di
puntamento detto mouse
• Una freccia indica la posizione del mouse sul video e lo spostamento del mouse sul tavolo viene comunicato al
processore, che produce lo spostamento corrispondente della freccia sul video
• Una volta raggiunta la posizione desiderata, premendo uno dei pulsanti del mouse si genera un segnale in input che può corrispondere a diverse funzioni
I dispositivi di input/output: le stampanti
• La stampante è un dispositivo di output che consente lastampa su carta delle informazioni
• Parametri in base ai quali si valutano le prestazioni di una stampante
– La velocità di stampa: viene solitamente misurata in pagine al minuto o in caratteri al secondo,
– la risoluzione (qualità) di stampa: indica quanto precisa è la riproduzione dei simboli. Si misura in dpi (dot per inch).
I dispositivi di input/output: le stampanti
• Esistono diversi tipi di stampanti; i più comuni sono:– Stampanti a margherita o a testina rotante – Stampanti ad aghi
– Stampanti a getto di inchiostro. – Stampanti laser
Lo scanner
• Dispositivo che permette l’acquisizione di immagini in formato digitale
• La sua precisione (risoluzione) si misura in DPI (Dot Per Inch).
• Maggiore il DPI maggiore la risoluzione delle immagini acquisibili
• La risoluzione ottica indica il numero massimo di “puntini” in cui lo scanner è capace di scomporre una immagine, riferita alla lunghezza/larghezza di un pollice (25,4 mm).
Lo scanner
Lo scanner
• Quanta memoria occupa una immagine 2``x3``
acquisita tramite uno scanner a 300 DPI,
256 colori?
300 DPI x 2 Inch = 600 Dot
300 DPI x 3 Inch = 900 Dot
600x900 = 540.000 Dot
Lo scanner: che risoluzione usare?
• Per una visualizzazione sullo schermo di un monitor è del tutto inutile superare i 100DPI, visto che il monitor ne può rappresentare normalmente una novantina (perché?). Questo consente oltretutto un buon risparmio di memoria.
• Per l'editoria vanno normalmente usati 300DPI, limite fisico delle più comuni macchine da stampa, salvo diverse richieste dell'editore o pubblicazione di dettagli ingranditi tratti da quell'immagine.
Altri dispositivi di input/output
• Lettori di codici a barre• Modem • Fax
• Microfono (il controller si chiama scheda audio)
• Casse acustiche (il controller si chiama scheda audio)
La codifica del suono: scheda audio
Non è il clock del processore!!!
Interazione tra processore e memorie e
dispositivi di I/O
PROCESSORE UC ALU MEMORIA CENTRALE BUS CLOCK LETTORE CD_ROM HARD DISK TASTIERA MONITOR &21752//(5 &21752//(5 &21752//(5 &21752//(5La memoria cache
• Nello schema di funzionamento di un calcolatore il processore continuamente preleva informazioni ed istruzioni dalla memoria centrale e scrive in essa informazioni
• La memoria centrale, il bus ed il processore lavorano a velocità diverse
• La velocità complessiva del sistema è determinata dal componente più lento
La memoria cache
• Per accelerare questa interazione si impiega una memoria ad alta velocità localizzata tra processore e memoria centrale detta CACHE
• Se il processore ha bisogno di leggere un dato o un’istruzione dalla memoria centrale la cerca prima nella cache che è molto più veloce • Se il dato o l`istruzione non si trovano memorizzati nella cache
allora il processore chiede alla memoria centrale di fornire l’elemento richiesto
• Ci sono alcune tecniche per decidere cosa memorizzare nella cache • Se dati ed istruzioni più frequentemente usati dal processore si
trovano nella cache allora si ha una grande velocizzazione delle operazioni (si evita il tempo che è necessario per accedere alla RAM tramite il bus)
La memoria cache
• Le memoria cache sono realizzate con SRAM (molto più veloci delle DRAM e molto più costose)
• Si distinguono due livelli di memoria cache:
• Cache di livello 1 (L1) che è integrata nel chip del microprocessore; capacità media di 256-512 KB
• Cache di livello 2 (L2) che di solito è esterna al chip del microprocessore ma su circuiti molto veloci; capacità fino ad 1MB
Interazione tra processore, cache, memorie e
dispositivi di I/O
PROCESSORE MEMORIA CENTRALE BUS CLOCK LETTORE CD_ROM HARD DISK TASTIERA MONITOR UC ALU L1 L2 &21752//(5 &21752//(5 &21752//(5 &21752//(5Memoria ROM
• Esiste una ulteriore memoria di
sola lettura
(ROM =Read Only Memory) che viene trascritta direttamente dal produttore del computer su circuiti appositi
• Viene utilizzata per contenere le informazioni di inizializzazione usate ogni volta che si accende l'elaboratore
• Cosa succede all’accensione di un calcolatore?
– nel PC viene forzato l’indirizzo della cella di memoria ove inizia il primo programma da eseguire (programma di bootstrap)
– questo programma iniziale risiede in ROM • Non modificabile!!!!
Gerarchia di memoria
velocità
capacità
registri
cache
memoria
disco
Il software: Istruzioni per il computer
• Software applicativo – aiuta a svolgere operazioni utili in vari campi
– programmi di videoscrittura, fogli elettronici, videogiochi
• Software di sistema – permette l’utilizzo delle risorse hardware del computer e di eseguire le operazioni di base ed il software applicativo
I tre tipi di software di sistema
• Sistemi operativi
– Windows 98, 2000, XP, DOS, Unix, Mac OS, Linux • Driver
Compiti del sistema operativo
• Boot• Gestione della CPU • Gestione dei task • Gestione dei file • Formattazione • ………
• ………
Gestione del processore e dei processi
Avviamento dell’elaboratore
Gestione dei supporti di memoria secondaria
Avviamento dell’elaboratore
• In genere il sistema operativo viene mandato in esecuzione al momento dell'accensione della macchina
• Questa fase iniziale prende il nome di bootstrap
• In questa fase una parte del S. O. (ossia un insieme di programmi e un insieme di dati) viene caricata in memoria principale
Avviamento dell’elaboratore
• In genere questa parte del S. O. comprende:
– i programmi per la gestione dei processi e del processore – i programmi per la gestione della memoria
– i programmi per la gestione delle periferiche e dell'input/output – i programmi per la gestione del file system
– un programma che crea l'interfaccia verso l’utente (che può essere sia di tipo testuale che di tipo grafico)
Avviamento dell’elaboratore
• Una parte del sistema operativo deve essere sempre mantenuta in memoria principale e deve essere sempre pronta per l’esecuzione
• Questo significa che parte della memoria principale dovrà essere dedicata a mantenere i programmi e i dati riguardanti il sistema operativo
• Durante la fase di bootstrap vengono inoltre effettuate operazioni di inizializzazione del sistema per tener conto delle risorse hardware collegate all'elaboratore
Avviamento dell’elaboratore
• Vengono identificati i dispositivi di memoria secondaria e le periferiche collegate e, per ciascuno di essi, viene inizializzato il programma di gestione (driver)
• In alcuni sistemi vengono anche effettuate delle verifiche sulle risorse hardware, ad esempio, sullo stato dei dischi per scoprire se esistono inconsistenze che si sono create nel corso dell'uso dell'elaboratore
Avviamento dell’elaboratore
• Spesso durante questa fase sono eseguiti anche dei programmi
che verificano l'eventuale presenza di
virus
annidati sul discodell'elaboratore
• I virus sono dei programmi pirata che possono essere trasmessi da un elaboratore ad un altro quando si copiano dei programmi
• Un virus può danneggiare il funzionamento dell'elaboratore generando operazioni di disturbo o condizioni di errore (in alcuni casi i virus possono anche portare a danneggiamenti seri)
Il File System
• Esistono diversi tipi di supporti per la memorizzazione permanente delle informazioni: dischi magnetici (floppy disk, hard disk), dischi ottici (cd), nastri magnetici
• Un file è un insieme di byte che codificano una certa entità logica (testo, immagine, suono, programma, etc), organizzati secondo un certo formato, memorizzati su supporti di memoria secondaria.
Il file system
0 3 4 5 6 7 0 1 2 3 4 5 6Il File System
• Il File System è quella parte del S.O. che si occupa di gestire
e strutturare le informazioni memorizzate su supporti permanenti
• Il sistema operativo deve fornire una visione astratta dei file
su disco e l'utente deve avere la possibilità di:
– identificare ogni file con un nome (filename) astraendo completamente dalla sua memorizzazione fisica (blocchi su disco rigido e localizzazione dei blocchi)
– avere un insieme di operazioni per lavorare sui file: creare o rimuovere un file, copiarlo, cambiargli nome, inserire informazioni in un file
Il File System
– avere la possibilità di
strutturare
un insieme di file,organizzandoli in sottoinsiemi secondo le loro caratteristiche, per avere una visione ordinata e strutturata delle informazioni sul disco
– in un sistema multi-utente, inoltre l’utente deve avere dei
meccanismi per
proteggere
i propri file, ossia per impediread altri di leggerli, scriverli o cancellarli
– i moderni sistemi operativi forniscono supporto per queste attività
Il file system
• Il file system deve tenere traccia di tutte le caratteristiche di file e sottoinsiemi di file (il nome, la dimensione, quali sono gli indirizzi dei blocchi sui quali sono memorizzati, etc.)
• Dove sono memorizzate queste informazioni?
• Una parte del disco rigido (un sottoinsieme di tracce) è riservato al sistema operativo per questi (ed altri) scopi
• N.B. Anche una parte della memoria centrale (RAM) è riservata alla memorizzazione del sistema operativo
Operazioni sui File
• Un insieme di operazioni minimale, presente in tutti i sistemi, è il seguente:
– creazione di un file
– cancellazione (rimozione) di un file
– copia di un file
– visualizzazione del contenuto di un file ad esempio sul video del terminale o in una finestra sul video
– stampa di un file
– lettura e modifica del contenuto di un file
– ridenomina di un file, per cambiare il nome ad un file
Organizzazione Gerarchica dei file
• Il numero di file che devono essere memorizzati su un disco può essere estremamente elevato
• Si ha quindi la necessità di mantenere i file in una forma ordinata
• Un unico spazio (contenitore) di file è scomodo perché le operazioni di ricerca di un file e di creazione di un nuovo file diventano onerose (non è possibile avere due file con lo stesso nome)
• L'idea è quella di raggruppare i file in sottoinsiemi (seguendo magari dei criteri di tipo logico)
Organizzazione Gerarchica dei file
• Tutti i sistemi operativi forniscono operazioni per creare delle
directory (cartelle)
• Una directory (cartella) è costituita da un insieme di file
• I nomi dei file sono locali alle directory (si possono avere due file con lo stesso nome purché siano in due directory diverse)
• In questo modo l’indice conterrà due tipi di oggetti:
nomi di file
e
nomi di directory
– relazione1 – relazione2 – cartella-esami – cartella-documenti-privati•Rel-esame1
•Rel-esame2
{
Organizzazione Gerarchica dei file
Floppy da 3,5 pollici (A:) Applicazioni Biblioteca Elab_imm Elab_suoni Elab_testi Narrativa-Fra Narrativa-Ing Narrativa-Ita Bianchi Photoshop.exe Premiere.exe Winword.exe libro1 libro2 libro1 libro2 libro3 libro1 libro2 libro3Nodi
Foglie
Questa struttura viene chiamata alberoOrganizzazione Gerarchica dei file
• Se non esiste la strutturazione in directory, tutti i file possono essere identificati mediante il loro nome
• Nel caso di un’organizzazione gerarchica a più livelli il nome non è più sufficiente ad identificare il file (nell’esempio precedente esistono diversi file con lo stesso nome)
• Per individuare un file o una directory in modo univoco si deve allora specificare l'intera sequenza di directory che lo contengono, a partire dalla radice dell'albero
Organizzazione Gerarchica dei file
• Ad esempio il file
libro1
di narrativa italiana è univocamenteidentificato dalla sequenza:
A:\Biblioteca\Narrativa-Ita\libro1
• La directory
Pautasso
diUtenti
è identificata dalla sequenza:A:\Utenti\Pautasso
il carattere “\” (
slash
) viene usato come separatore.• Una sequenza di questo tipo può essere vista come il
cammino
che si deve compiere per raggiungere un determinato file a
Organizzazione Gerarchica dei file
• Un altro modo di individuare un file (o una directory) è basato sul concetto di posizione
• In questo caso per individuare un file o una directory in modo univoco si deve specificare l'intera sequenza di directory che lo contengono, a partire dalla posizione corrente
Organizzazione Gerarchica dei file
Floppy da 3,5 pollici (A:) Applicazioni Biblioteca Elab_imm Elab_suoni Elab_testi Narrativa-Fra Narrativa-Ing Narrativa-Ita Bianchi Photoshop.exe Premiere.exe Winword.exe libro1 libro2 libro1 libro2 libro3 libro1 libro2 libro3Organizzazione Gerarchica dei file
Per raggiungere un determinato file a partire dalla
posizione
corrente
si utilizza il pathname relativo• Se la posizione corrente è A:\Biblioteca, il file
libro1
dinarrativa italiana è univocamente identificato dalla sequenza:
Narrativa-Ita\libro1
• Se la posizione corrente è A:\Utenti, la directory
Pautasso
èidentificata dalla sequenza:
Organizzazione Gerarchica dei file
• Per usare il pathname relativo bisogna anche poter denotare la directory che contiene la posizione corrente
• Si usa il simbolo .. cioè due punti in sequenza che si pronuncia:
“punto punto”
• Se la posizione corrente è A:\Biblioteca, il file
Photoshop.exe
èunivocamente identificato dalla sequenza:
..\Applicazioni\Elab_imm\Photoshop.exe
• Se la posizione corrente è A:\Utenti\Pautasso, la directory
Narrativa-Fra
è identificata dalla sequenza:Organizzazione Gerarchica dei file
Floppy da 3,5 pollici (A:) Applicazioni Biblioteca Utenti Elab_imm Elab_suoni Elab_testi Narrativa-Fra Narrativa-Ing Narrativa-Ita Bianchi Photoshop.exe Premiere.exe Winword.exe libro1 libro2 libro1 libro2 libro3 libro1 libro2 libro3Organizzazione Gerarchica dei file
• Per organizzare gerarchicamente i file, il sistema operativo deve fornire all'utente un insieme di operazioni sulle directory, per esempio:
– creare una nuova directory
– rimuovere una directory
– ridenominare una directory
– elencare il contenuto (l'insieme di file e sotto-directory) di una directory