Architettura dei calcolatori. da una lezione del prof. Luca Cabibbo

Documenti analoghi
Architettura di un calcolatore

Lezione 1: L hardware

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica

Il Sistema Operativo

o studiare l architettura del calcolatore significa:

Il processore. Istituzionii di Informatica -- Rossano Gaeta

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore

Architettura dei computer

La memoria principale

Architettura dei calcolatori

Architettura di Von Neumann

L ARCHITETTURA DEI CALCOLATORI. Il processore La memoria centrale La memoria di massa Le periferiche di I/O

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre

Struttura hw del computer

Componenti di un processore

LEZIONE 2 Il processore e la memoria centrale

Architettura dei calcolatori

Componenti e connessioni. Capitolo 3

Architettura hardware

Introduzione al funzionamento di un calcolatore elettronico

Il computer P R O F. L O R E N Z O P A R I S I

Il computer P R O F. L O R E N Z O P A R I S I

Architettura dei calcolatori. Architettura dei calcolatori. Cos'è un computer?

Computer e Programmazione

Il Processore. Informatica di Base -- R.Gaeta 27

Come funzionano i computer

Il Processore: l unità di controllo

Il Modello di von Neumann (2) Prevede 3 entità logiche:

Personal Computer: introduzione

Esame di INFORMATICA Lezione 4

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:

Architettura dei calcolatori e Software di sistema

Elementi di Informatica Corso di Laurea in Scienze Geologiche a.a. 2003/2004. Docente. Orario. Da Ottobre-Dicembre:

Concetti Introduttivi. Il Computer

Informatica. Informazione L Informazione è un dato, o un insieme di dati, interpretati in un determinato contesto.

Introduzione all'architettura dei Calcolatori

Memoria Secondaria o di Massa

(1) (2) (3) (4) 11 nessuno/a (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

Informatica: Lez. 1. Andrea Payaro. (European Logistics Association)

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

Informatica. 80 ore divise in 4 UFC. Docente: Michela Bacchin. Contatti: Tramite Ermes Studenti

Struttura dell elaboratore elettronico

Anatomia e fisiologia del computer: l architettura del calcolatore

Modulo: Elementi di Informatica

Architettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Architettura di un calcolatore

Elementi di base del calcolatore

Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) Software (tutto ciò che non e tangibile)

La macchina di Von Neumann

Lezione 3: Architettura del calcolatore

Architettura del Calcolatore

Corso di Informatica

Il Sistema Operativo. Informatica Sistema Operativo 1

ARCHITETTURA DI UN ELABORATORE

Che cos e l Informatica. Informatica generale. Caratteristiche fondamentali degli algoritmi. Esempi di algoritmi. Introduzione

L architettura del calcolatore

Porte Input/Output (I/O Connectors)

ARCHITETTURA DI UN CALCOLATORE ELETTRONICO

Programma svolto di INFORMATICA. Classe 3 - indirizzo MERCURIO A.S. 2009/2010

Sistema operativo. Interazione con il SO

Lezione 15. L elaboratore Elettronico

Macchine Astratte. Luca Abeni. February 22, 2017

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

Architetture hardware e software dei calcolatori

Architettura dei calcolatori I parte Introduzione, CPU

Architettura di un calcolatore e ciclo macchina. Appunti per la classe 3 Dinf

Corso di Informatica

Programma del corso. Architettura del calcolatore. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Elementi di Programmazione

Informatica giuridica

Il bus. Bus di sistema: insieme di collegamenti (solitamente in rame) che connette tutti i componenti di un architettura

Informatica e Bioinformatica anno 2013/2014

Capitolo 5 Elementi architetturali di base

IL SOFTWARE DI SISTEMA

Programma svolto di INFORMATICA. Classe 3M - indirizzo MERCURIO A.S. 2010/2011

La memoria-gerarchia. Laboratorio di Informatica - Lezione 3 - parte I La memoria - La rappresentazione delle informazioni

Parte II. Introduzione ai sistemi operativi e WindowsX. Parte II 1

Corso di Informatica

Fondamenti di Informatica

Abilità Informa/che. capitolo 3. Prof. Fabio Calefato a.a Giurisprudenza

Lez. 4 L hardware. Prof. Pasquale De Michele Gruppo 2

Architettura del Calcolatore. Danilo Ardagna Politecnico di Milano

Programmazione modulare

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Sistemi di Elaborazione delle Informazioni

Capitolo 6 Le infrastrutture SoftWare

Fondamenti di Informatica

I dispositivi di input/output: il mouse

Informatica. Il calcolatore: concetti di base. Vibo Valentia, 24 ottobre 2005 Ercole Colonese IBM S/360

Concetti di base dell ICT

Programma del corso. Architettura del calcolatore. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Elementi di Programmazione

Architettura dei Calcolatori

Informatica Generale 06 - Introduzione ai Sistemi Operativi

Le fasi classiche. Informatica di Base -- R.Gaeta 1

I dischi ottici. Istituzioni di Informatica -- Rossano Gaeta 43

Architettura del calcolatore

Sistemi Operativi. Sistemi I/O SISTEMI DI INPUT/OUTPUT. Hardware di I/O. Interfaccia di I/O per le applicazioni. Sottosistema per l I/O del kernel

Cosa è l Informatica?

SISTEMI INFORMATIVI AZIENDALI

I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.

Informatica. Mario Pavone - Dept. Mathematics & Computer Science - University of Catania. Trasferimento. Ambiente esterno.

Transcript:

Architettura dei calcolatori da una lezione del prof. Luca Cabibbo 1

Applicazioni 1/2 Aspetti rilevanti di un applicazione (o programma applicativo o programma) gestisce informazioni offre operazioni per la manipolazione di queste informazioni consente di perseguire un qualche scopo 2

Il gioco Solitario qual è lo scopo? quali le informazioni? quali le operazioni? informazioni: carte mazzo (in alto a sinistra) pile di carte (sono 4, in alto a destra) colonne di carte (sono 7, in basso) 3

Ulteriori commenti In un applicazione di solito le operazioni possono essere eseguite in modo interattivo non è sempre così l utente può perseguirne lo scopo utilizzando solo le operazioni fornite dall applicazione Componenti software che possono essere (ri)usati nello sviluppo di nuovo software hanno le stesse caratteristiche 4

Applicazioni 2/2 Esistono moltissime tipologie di applicazioni Le applicazioni dei computer hanno in genere caratteristiche simili a quelle del gioco Solitario un applicazione permette ai suoi utenti di perseguire un particolare scopo un applicazione gestisce un insieme di dati e informazioni un applicazione consente l elaborazione delle informazioni che gestisce mediante delle operazioni ciascuna operazione può essere eseguita solo se sono soddisfatte le condizioni che ne abilitano l esecuzione ciascuna operazione va richiesta con la sua modalità l utente interagisce con l applicazione eseguita dal computer richiedendo l esecuzione di una sequenza di operazioni, un operazione alla volta 5

Applicazioni e risoluzione di problemi La possibilità di poter eseguire su un medesimo computer una varietà di applicazioni diverse rende il computer una macchina che può essere utilizzata da un utente, in modo versatile, per la risoluzione di problemi l utente deve possedere un applicazione in grado di risolvere un suo problema inoltre, l utente deve fornire all applicazione delle istruzioni dettagliate su come risolvere il problema ciascuna istruzione corrisponde alla richiesta di eseguire una delle operazioni fornite dall applicazione ciascuna applicazione è infatti caratterizzata dalla tipologia di informazioni che permette di gestire dall insieme delle operazioni che fornisce per usare un applicazione, l utente deve conoscere l insieme delle operazioni che l applicazione fornisce, comprenderne il significato e saperne richiedere l esecuzione 6

Alcuni esempi di applicazioni 7

Word processor Un word processor è un applicazione per l elaborazione di testi che consente la scrittura e stampa di documenti 8

Browser web Un browser web consente l accesso a documenti (chiamati pagine) sul World Wide Web e la loro visualizzazione 9

Applicazione web Un applicazione web è un applicazione sul World Wide Web che viene eseguita tramite un browser web 10

Intelligenza Intelligenza: the capacity to learn and solve problems (Websters dictionary) In particolare: the ability to solve novel problems the ability to act rationally the ability to act like humans Intelligenza Artificiale costruire e capire entità o agenti intelligenti 2 approcci principali: engineering versus cognitive modeling

Applicazioni e interfacce Un applicazione viene utilizzata tramite la sua interfaccia utente L interfaccia di un applicazione è il mezzo di interazione tra l utente (utente dell applicazione) e il computer (esecutore dell applicazione) Tre tipi principali di interfacce utente interfacce grafiche (GUI) interfacce a caratteri (stdin / stdout) interfacce digitali (es., arduino) 12

Interfacce grafiche Le interfacce grafiche hanno di solito le seguenti caratteristiche visualizzano sullo schermo del calcolatore delle finestre operazioni e informazioni sono rappresentate da opportuni elementi desktop (scrivania), finestre, menu, pulsanti e icone, finestre di dialogo, tecnologia WYSIWYG (what you see is what you get) permettono l esecuzione di operazioni mediante l interazione con la tastiera e il mouse 13

Architettura dei calcolatori Che cos è un computer (o calcolatore)? Come funziona un computer? Un computer è un sistema programmabile un computer è un sistema un sistema è un oggetto costituito da molte parti (componenti) che interagiscono, cooperando, al fine di ottenere un certo comportamento un computer è programmabile è in grado di eseguire programmi Studiare l architettura di un sistema individuare ciascun componente del sistema comprendere i principi di funzionamento di ciascun componente comprendere come i vari componenti interagiscono tra di loro 14

Hardware e software La prima decomposizione di un computer hardware la struttura fisica del computer, costituita da componenti elettronici ed elettromeccanici software l insieme dei programmi che consentono all hardware di svolgere dei compiti utili software di base e software applicativo software applicativo software di base hardware 15

Software e macchine virtuali Il software virtualizza il computer il software mostra ai suoi utenti il computer come una macchina virtuale più semplice da usare rispetto all hardware macchina virtuale una macchina che fisicamente non esiste nella realtà, ma di cui si può avere la sensazione dell esistenza Ad esempio usando l applicazione Solitario abbiamo l impressione di avere davanti a noi delle carte, e di poterle muovere in realtà, davanti a noi non c è nessuna carta ma solo una loro rappresentazione virtuale 16

Categorie di software Due categorie principali di software software applicativo ad esempio, Word il computer è una macchina virtuale che può essere utilizzata per la risoluzione di problemi software di base ad esempio, il sistema operativo il computer è una macchina virtuale più semplice da gestire e programmare rispetto all hardware utilizzato 17

Organizzazione a livelli e linguaggio macchina Nell organizzazione a livelli, l hardware è l unica macchina reale, mentre gli strati software corrispondono a macchine virtuali il repertorio di operazioni (chiamate istruzioni) che l hardware sa eseguire direttamente è chiamato linguaggio macchina del computer istruzioni estremamente elementari che il computer sa eseguire in modo molto efficiente le diverse macchine virtuali e i relativi insiemi di operazioni sono via via più astratti il significato di ciascuna operazione è sempre più vicino alla logica dell utente e più lontano dalla logica del computer come dispositivo elettronico le macchine virtuali sono via via più semplici da usare le diverse macchine sono comunque ugualmente espressive Andiamo a studiare il funzionamento della macchina computer reale 18

Macchina di Von Neumann L architettura dell hardware di un computer reale è molto complessa la macchina di Von Neumann è un modello semplificato ma effettivo dei computer moderni John Von Neumann è stato il progettista (intorno al 1945) del primo computer in cui i programmi potevano essere memorizzati nel computer anziché codificati mediante cavi e interruttori 19

Architettura della macchina di Von Neumann 7 tastiera 8 mouse schermo < memoria secondaria interfaccia i/o interfaccia i/o interfaccia i/o interfaccia i/o bus memoria centrale CPU unità centrale di elaborazione macchina di Von Neumann 20

Funzionalità nella macchina di Von Neumann Il funzionamento del computer viene descritto in termini di poche funzionalità e di poche componenti (macro-unità) funzionali trasferimento scambio di dati con l utente elaborazione controllo memorizzazione 21

Periferiche e interfacce di ingresso-uscita Lo scambio di dati con l utente avviene mediante diversi dispositivi di ingresso e/o uscita (chiamati periferiche) collegati al computer ad es., tastiera, mouse, schermo, stampante, modem anche le memorie di massa (ad esempio, le unità disco e il lettore di CD- ROM) sono considerati periferiche Nella macchina di Von Neumann, le periferiche non fanno parte del computer ogni periferica viene controllata mediante un opportuna interfaccia un interfaccia ha il compito di tradurre i segnali interni del computer in un formato comprensibile alla periferica stessa, e viceversa 22

Trasferimento Il bus è il componente del computer dedicato al trasferimento dei dati e delle informazioni di controllo tra le varie parti del computer il bus è un insieme dei collegamenti il bus favorisce la modularità e l espandibilità del computer 23

Unità centrale di elaborazione L unità centrale di elaborazione (o processore o CPU) è composta dall unità di controllo e dall unità aritmetico-logica l unità centrale di elaborazione controlla l esecuzione di un programma (memorizzato in memoria centrale sotto forma di una sequenza di istruzioni del linguaggio macchina) eseguendo ordinatamente le istruzioni del programma L esecuzione di un programma è basata sull esecuzione ripetuta, controllata dal processore, di tre passi Ciclo fetch-decode-execute fetch il processore legge dalla memoria la prossima istruzione da eseguire decode il processore si prepara ad eseguire la prossima istruzione execute il processore esegue l istruzione, svolgendo un certo numero di micro-operazioni 24

Controllo Il coordinamento (controllo) tra le varie parti del computer è svolto dall unità di controllo l unità di controllo è un altro componente dell unità centrale di elaborazione ogni componente dal computer esegue solo le azioni che gli sono richieste dall unità di controllo L attività di controllo svolta dall unità di controllo coordinamento dell esecuzione temporale delle funzioni che devono essere svolte sia internamente all unità di elaborazione che negli altri elementi funzionali avviene in modo sincrono rispetto alla scansione temporale imposta dall orologio di sistema (clock) 25

Elaborazione Le istruzioni del linguaggio macchina di un computer per la manipolazione dei dati corrispondono ad operazioni elementari operazioni aritmetiche operazioni relazionali (confronto tra dati) operazioni su caratteri e valori di verità altre operazioni numeriche Un computer sa svolgere poche tipologie di operazioni elementari ma le sa eseguire in modo molto efficiente un computer può eseguire centinaia di milioni di istruzioni del linguaggio macchina al secondo L elaborazione dei dati viene svolta dall unità aritmetico-logica (ALU) l ALU è un componente dell unità centrale di elaborazione 26

Struttura di una unità centrale di elaborazione memoria centrale o leggi scrivi bus controllo bus indirizzi MAR PC IR registro unità di controllo PSW periferiche bus dati MDR registro... registro ALU stato esegui operazione unità centrale di elaborazione 27

Microprocessore L unità centrale di elaborazione è solitamente realizzata fisicamente sotto forma di microprocessore i microprocessori sono dispositivi elettronici estremamente complessi 28

Caratteristiche dei microprocessori Principali caratteristiche tecnologiche di un microprocessore repertorio di istruzioni (linguaggio macchina) velocità (misurata come frequenza del clock) ampiezza del bus co-processore cache numero di core consumo energetico 29

Esempio di repertorio di istruzioni read x write x legge il dato dal registro della periferica di I/O e lo scrive nella cella di memoria di indirizzo x scrive nel registro della periferica di I/O il dato contenuto nella cella di memoria di indirizzo x loada x (loadb x) scrive nel registro A (B) il contenuto della cella di memoria di indirizzo X sumab (multab) esegue la somma (il prodotto) dei dati nei registri A e B, e scrive il risultato nel registro A storea x scrive il contenuto del registro A nella cella di memoria di indirizzo x halt termina l esecuzione 30

Es.: Programma per la somma di due numeri x y z = x+y 1 2 loada 11 3 loadb 12 4 sumab 5 storea 13 6 7 8 9 10 11 35 12 7 13 14 programma dati 31

Memorizzazione Un computer ha la necessità di memorizzare, in modo temporaneo o permanente, dei dati l unità responsabile della memorizzazione dei dati è la memoria la memoria è organizzata in celle indirizzo memorizzazione di un valore Un unità di memoria fornisce due sole operazioni memorizzazione di un valore in una cella (scrittura) accesso al valore memorizzato in una cella (lettura) che sono rappresentate da ulteriori istruzioni del linguaggio macchina La memoria viene usata per memorizzare le informazioni di interesse i programmi per l elaborazione delle informazioni di interesse 32

Memoria centrale La memoria è il componente del computer in cui vengono immagazzinati e da cui vengono acceduti i dati e i programmi la memoria centrale (o principale) è la memoria che può essere acceduta direttamente dal processore 33

Memoria centrale Una memoria si compone di celle (o locazioni) di memoria ogni cella di memoria è in grado di memorizzare una parola di memoria (ovvero, un sequenza di bit di lunghezza fissata) ogni cella è caratterizzata da un indirizzo (univoco) un valore fornisce le operazioni di lettura e scrittura 34

Caratteristiche delle memorie centrali Le caratteristiche principali di una memoria centrale capacità 1Kbyte indica 2 10 byte = 1024 byte 10 3 byte 1Mbyte indica 2 20 byte = 1024 Kbyte = 1 048 576 byte 10 6 byte 1Gbyte indica 2 30 byte = 1024 Mbyte 10 9 byte velocità di accesso volatilità memorie RAM (random access memory) memorie ROM (read only memory) e loro varianti 35

Rappresentazione di informazioni Scopo fondamentale di un computer è consentire l elaborazione di informazioni informazioni rappresentate sotto forma di dati un dato è un informazione elementare i computer sanno rappresentare ed elaborare direttamente solo dati molto semplici numeri interi numeri reali (razionali) caratteri valori di verità (vero/falso) 36

Codifica dei dati In un computer, i dati (e le istruzioni) sono codificati in forma binaria, ovvero mediante delle sequenze finite di cifre 0 e 1 il bit (cifra binaria) la più piccola unità di informazione in un computer un bit può avere valore 0 oppure 1 ciascun bit è memorizzato da una cella elementare di memoria un dispositivo (ad es., elettronico, magnetico o ottico) in cui sono chiaramente distinguibili due stati Un bit è un unità di informazione troppo piccola per essere usata individualmente dati codificati sotto forma di sequenze di bit problema dell interpretazione delle sequenze di bit 37

Sequenze di bit e loro interpretazione Ad esempio, un byte è una sequenza di 8 bit Le possibili combinazioni degli 8 bit in un byte sono 2 8 = 256 un byte può essere utilizzato per rappresentare un valore tra 256 diversi possibili valori ad esempio, un piccolo numero intero, o un carattere in un alfabeto che contiene al più 256 caratteri,... solitamente sono possibili diverse scelte sull insieme dei valori possibili ad esempio, con un byte si può rappresentare un numero naturale compreso nell intervallo da 0 a 255, oppure un numero intero relativo nell intervallo da -128 a 127 necessario un meccanismo per poter interpretare correttamente ciascun byte nella programmazione, vengono usati dei meccanismi di tipizzazione, immersi nei programmi 38

Tipi di dato Alcuni tipi di dato in un computer numeri naturali (ovvero, senza segno) a 8 bit per valori compresi tra 0 e +255 interi relativi (ovvero, con segno) a 8 bit per valori compresi tra -128 e +127 interi relativi (ovvero, con segno) a 32 bit per valori compresi tra -2147483648 e +2147483647 caratteri dell alfabeto ASCII (8 bit) caratteri dell alfabeto Unicode (16 bit) numeri reali (razionali) in virgola mobile a 64 bit mantissa con 18 cifre significative ed esponente tra -324 e +308 numeri reali (razionali) in virgola mobile a 32 bit 9 cifre significative ed esponente tra -45 e +38 valori logici (vero o falso) 39

Struttura di una memoria centrale 128 celle di memoria di 16 bit ciascuna indirizzo della cella 0 1 1 1 1 0 1 0 cella selezionata bus indirizzi 1 0 1 0 1 0 0 1 1 1 1 1 0 0 0 0 00000000 00000001 00000010 00000011 00000100 00000101 00000110 00000111............ 01111000 01111001 01111010 01111011 01111100 01111101 01111110 01111111 leggi/scrivi bus di controllo 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 bus dati parola letta o da scrivere 40

Potenze di 2 e potenze di 10 1K (kilo) = 2 10 = 1024 10 3 1M (mega) = 2 20 = 1 048 576 10 6 1G (giga) = 2 30 10 9 1T (tera) = 2 40 10 12 1P (peta) = 2 50 10 15 1m (milli) = 10-3 1μ (micro) = 10-6 1n (nano) = 10-9 41

Memorie secondarie Le memorie secondarie hanno le seguenti caratteristiche specifiche, che le differenziano dalle memorie centrali non volatilità grande capacità bassi costi bassa velocità di accesso 42

Memorie secondarie I dati di una memoria secondaria, per essere acceduti dal processore, devono comunque transitare nella memoria centrale la memoria secondaria memorizza tutti i programmi e i dati del computer la memoria centrale memorizza i programmi in esecuzione e i dati necessari per la loro esecuzione 43

Velocità a confronto Alcuni indicatori di prestazioni di computer commerciali attuali processore: 3GHz lavora per micro-operazioni da 0,33 ns (1 ns = 10-9 s) 2 core bus a 64 bit memoria RAM: 1333MHz tempo di accesso di 0,75 ns disco rigido: 7200 rpm = 120 rps tempo medio di accesso 4 ms per un intero settore di 4kB (1 ms = 10-3 s) ma circa 1 μs per byte (1 μs = 10-6 s) 44

Il sistema operativo Il sistema operativo è il principale componente del software di base, che ha le seguenti funzionalità è responsabile della gestione delle risorse del computer, e in particolare di come le risorse vengono allocate alle applicazioni e dell ottimizzazione del loro uso fornisce all utente un interfaccia per usare e gestire il computer in modo semplice Ad esempio come fa un utente ad avviare l esecuzione di un programma? che succede quando l utente avvia l esecuzione di un programma? 45

sistema operativo Architettura di un sistema operativo programmi applicativi interprete comandi gestore della memoria gestore delle periferiche gestore dei file programmi di utilità nucleo hardware 46

Sistema operativo e macchine virtuali Le diverse componenti di un sistema operativo hanno, tra l altro, lo scopo di gestire e virtualizzare le diverse risorse del computer, ovvero di renderle più semplici da utilizzare da parte dei suoi utenti utenti utenti finali interagiscono attraverso l interprete comandi programmi in esecuzione risorse processori, memoria principale, periferiche, memorie secondarie, interfaccia utente 47

Nucleo Il nucleo del sistema operativo (o kernel) è il componente del sistema operativo più complesso, che in particolare è responsabile della gestione della risorsa unità di elaborazione (processore) e dei processi (un processo è un programma in esecuzione) un solo processore reale (o comunque pochi) tanti processori virtuali, uno per ciascun processo ciascun processo in esecuzione ha l impressione di essere l unico processo eseguito dal computer il nucleo ripartisce la capacità di elaborazione dell unico processore reale (o dei pochi) tra i tanti processori virtuali Il nucleo fornisce anche un insieme di servizi di base di supporto agli altri componenti del sistema operativo 48

Gestore della memoria Il gestore della memoria è responsabile dell allocazione dinamica della memoria centrale ai programmi in esecuzione per ciascun processo viene allocata un area di memoria virtuale sufficiente per la sua esecuzione gestione della corrispondenza tra le memorie virtuali e l unica memoria reale la dimensione della memoria virtuale può essere maggiore di quella reale 49

Gestore delle periferiche Il gestore delle periferiche adatta la modalità d uso delle singole periferiche (che possono essere estremamente diverse) a quello di poche tipologie di periferiche virtuali ad esempio, un programma può usare una stampante senza conoscere i dettagli precisi di funzionamento della stampante fisicamente disponibile un driver è un adattatore di dati dal formato virtuale (generico) usato dai programmi applicativi a quello reale della periferica effettivamente in uso 50

Gestore dei file Il gestore dei file (o file system) è dedicato alla gestione della memoria secondaria (dischi) i dischi sono fisicamente organizzati in superfici, cilindri e settori il gestore dei file consente l uso della memoria secondaria mediante una organizzazione logica in volumi, cartelle e file un file è una sequenza di dati di dimensioni variabili, con accesso sequenziale oppure casuale una cartella (o direttorio) è un contenitore di un insieme di file e cartelle un volume è un contenitore di file e cartelle, solitamente corrispondente ad una unità a disco gestione delle corrispondenze tra file e settori Il gestore dei file permette inoltre di mostrare anche le periferiche come dei file, da cui è possibile leggere e/o su cui è possibile scrivere sequenze di dati 51

Interprete comandi L interprete comandi è l interfaccia utente del sistema operativo definisce le operazioni che possono essere utilizzate direttamente dall utente finale, chiamate comandi esempi di comandi sono esegui un applicazione apri un documento (eseguendo l applicazione responsabile della manipolazione di quel tipo di documento) L interprete comandi può essere basato su una interfaccia a caratteri interfaccia grafica 52

Programmi di utilità Il sistema operativo è corredato da un insieme di programmi di utilità, per la configurazione, l ottimizzazione e la gestione ordinaria del sistema gestione degli utenti gestione delle periferiche gestione delle applicazioni altri accessori 53

Programmi Un programma è una descrizione di un insieme di operazioni che possono essere eseguite da un computer dei dati necessari all esecuzione delle operazioni La programmazione è l attività di scrittura dei programmi svolta dai programmatori Per evitare ambiguità, chiamiamo applicazione, un programma dal punto di vista dell utente programma, la descrizione di un applicazione 54

Linguaggi di programmazione Un programma è la descrizione di un applicazione in pratica, un programma è un insieme di frasi le frasi descrivono le operazioni e le tipologie di dati di interesse le frasi sono scritte in un qualche linguaggio specializzato per la definizione di programmi Un linguaggio di programmazione è un linguaggio specializzato per la definizione di programmi ad esempio, Pascal, C, C#, Java, Perl, Visual Basic, Prolog, ML, Python, Ruby, in questo corso faremo riferimento a Java 55

Compilatori Un computer è in grado di eseguire solo le istruzioni elementari del proprio linguaggio macchina in teoria i programmi vanno scritti in linguaggio macchina in pratica, i programmi vengono scritti usando linguaggi di programmazione di alto livello i linguaggi di programmazione di alto livello sono più semplici da usare del linguaggio macchina i compilatori sono applicazioni per tradurre programmi scritti in un linguaggio di programmazione in programmi equivalenti scritti nel linguaggio macchina di un computer 56