“INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, ,...
Transcript of “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, ,...
1
“INFORMATICA”
PARTE 1- ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 1.2
Cosa vede l’utente dell’informatica? DATI
• Una “scatola”, con interfacce più o menogradevoli, in cui se inserisci dati, ottieni dei risultati
2
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 1.3
Il Computer è un mezzo per ...1. Memorizzare informazioni
2. Elaborare informazioni
3. Acquisire informazioni
4. Riprodurre informazioni
5. Trasmettere informazioni
Tutte le informazioni memorizzate, elaborate, acquisite, riprodotte e trasmesse sono in
formato digitale
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 1.4
Componenti di un Computer
Hardware (“ferraglia”) (abbreviato HW)● Tutti i dispositivi fisici contenuti in un computer.
L’HW funziona sotto il controllo del software, senza il quale è inutile. L’HW contiene tutti i circuiti che consentono l'elaborazione dei dati
Software (abbreviato SW)● Sono i programmi, le applicazioni, composte da
istruzioni dettagliate che “dicono” al computer come svolgere una determinata operazione
● Software di sistema● Software applicativo
3
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.5
Hardware e software
• Hardware è un termine sempre utilizzato nella lingua inglese per indicare i pezzi metallici usati nelle costruzioni, e per indicare gli oggetti di “ferramenta”– Oggi si riferisce anche alle parti fisiche di un
computer
• Software è un termine creato appositamente per i computer (per analogia)
Hardware
4
Tipi di computer
• Lato utente– PC a componenti (desktop)– PC monolitici (laptop)– ma anche palmtop, smartphone, netbook, ecc.
• Lato servizi– Computer server– Cluster di computer– Data center– …
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 1.7
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 1.8
Desktop• Il desktop è tipicamente un
PC con componenti separati – monitor– hard disk– Tastiera– casse– ecc.
• La componete principale è detta case
• Permette agli utenti di personalizzarne la configurazione hardware
Esempio di computera componenti
5
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 1.9
Desktop: tanti cavi ...• Collegano i componenti al computer e all’alimentazione• Devono essere collegati nel modo corretto
– i cavi e le prese sono contrassegnate da ICONE standard
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 1.10
Laptop
• I laptop sono PC portatili, costituiti da un unico blocco che comprende tutti i componenti hardware
• semplici nella struttura, leggeri, maneggevoli
• alimentazione anche a batteria Esempio di computer
monolitico
6
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 1.11
Palmtop• I palmtop sono PC
ultraportatili, non dotati di tastiera alfanumerica
• Hanno due origini:– Laptop sempre più piccoli
con integrazione di telefono
– Telefoni cellulari arricchiti di maggiori funzionalità (smartphone)
• Accedono ad Internet mediante connessioni wireless (=senza fili)
Esempi di computerpalmtop
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 1.12
Netbook• E’ l’ultima (in ordine di
tempo) tipologia di computer personale
• Detto anche mini-portatile– Schermi piccoli (10-12 pollici)
– Dotati di memoria e disco di dimensioni sufficienti
– Durata della batteria almeno doppia rispetto a quella dei normali laptop
Esempio di netbook
7
I computer che l’utente non vede
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 1.13
• I computer server sonocomputer “più potenti” deitipici PC utente, in quantohanno dispositivi hardware e dotazioni “migliori”:– Memoria centrale più ampia
– Dischi con capacità maggiore
– Processori più potenti
– Connessioni a reti a larga banda
Esempi di computer Server
I computer che l’utente non vede (2)
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 1.14
Rack di server blade
• Molti computer server hanno una forma piatta(“blade”) così che ‘ facile impilarli in un “rack”
• Molti “rack” (da decine a migliaia e oltre) costituiscono un “data center” che è dotato anchedi protezione fisica, ridondanza elettrica e direte per proteggere i servizipiù importanti che devonofunzionare “sempre”
Blade
Data center
8
Elementi dell’hardware e funzionalità• Processore (CPU)
• Memoria centrale “volatile” (RAM)• Memorie periferiche “permanenti”
– Fisse: Hard disk– Rimovibili: CD-ROM, DVD, Flash memory, …
• Periferiche di ACQUISIZIONE (INPUT)– Tastiera, Mouse, Scanner, Video touch screen, …
• Periferiche di RIPRODUZIONE (OUTPUT)– Stampante, Plotter, Video, Casse, …
• Periferiche di COMUNICAZIONE– Modem, Interfaccia di rete LAN, Scheda wireless WiFi, …
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 1.15
ELABORAZIONE
MEMORIZZAZIONE
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 1.16
Esempio periferica di riproduzione: Monitor
• Schermo interattivo (mostra info generata sia del computer che dell'utente)– matrice di bit
o mostra informazione contenuta nella memoria del computer
9
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 1.17
Pixel
• Lo schermo è suddiviso in una griglia di punti chiamati pixel (picture element)– un pixel ha circa le dimensioni del puntino di una
lettera i stampata in corpo 10
• Il computer visualizza ogni pixel nel colore dell’immagine da rappresentare
• Maggiore è il numero di pixel in ogni riga e colonna, maggiore risulta la risoluzione dell’immagine
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 1.18
Memoria centrale
• Il luogo ove risiedono i programmi e i dati durante l’elaborazione
• RAM (Random Access Memory): memoria ad accesso casuale. Chiamata memoria principale
• Accesso casuale:– qualsiasi elemento può essere recuperato
direttamente– diverso dall’accesso sequenziale (usato ad esempio
nei dispositivi a nastro come audio e videocassette)
10
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 1.19
Hard disk
• Periferica di memorizzazione persistente ad alta capacità– memorizza i programmi e i dati quando non sono
in uso
– è fatto da una lega ferrosa che può essere magnetizzata
o l’informazione rimane anche con il PC spento
o chiamata memoria permanente o memoria di massa o memoria secondaria
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 1.20
Hard disk (cont.)
• Assomiglia a una piccola pila di sottili dischi metallici su cui si muovono testine magnetiche
11
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 1.21
Salvare informazioni dalla RAM all’Hard disk
• La Ram è volatile– i dati vengono persi quando il computer è spento– se il computer “va in crash” o non funziona più
correttamente, rimangono solo i dati sul disco
• L’operazione di salvataggio consiste nello spostare i dati dalla RAM all’hard disk– un utente esperto salva frequentemente
– Operazione di backup
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 1.22
Motherboard - Scheda madre
• Un circuito stampatoinstallato nel case– contiene la maggior parte
dei componenti piùimportanti di un computer tra cui:o il microprocessore (CPU)o la memoria centrale (RAM)
– Schede più piccole siinstallano nellamotherboard per aggiungere funzionalità
12
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 1.23
Struttura del computer
• La memoria contiene sia i dati sia le istruzioni• Il contenuto dei registri può essere scambiato con la memoria e l’I/O
• Le istruzioni trasferiscono i dati e modificano il contenuto dei registri
• Registri particolari:– PC: indirizza l’istruzione corrente– IR: contiene l’istruzione corrente
PC: Program CounterIR: Instruction RegisterA: Accumulator
Memoria cache
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 1.24
Microprocessore (o Processore, CPU)
• È la parte che esegue molto rapidamente (miliardi di operazioni al secondo) tutte le istruzioni e i calcoli
• Il termine “micro” è stato adottato intorno al 1980 per distinguere un singolo chip dai più grandi mainframe di quel tempo
• Il termine microprocessore è ormai desueto: oggi è più comune dire semplicemente CPU o processore
13
Software
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 1.26
Considerazione ...Se l’utente inserisce dati nel computer e ottiene
risultati significa che aveva un problema che
qualcuno ha risolto per lui:
Chi ha risolto il problema?
Il computer? NO!
14
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 1.27
Quindi ...Il problema è stato risolto dall’esperto informatico che:
• ha trovato una soluzione• l’ha “spiegata” al computer• la “spiegazione” è stata memorizzata nel computer• l’utente ha attivato la soluzione• il computer ha eseguito la soluzione in modo
eccezionalmente veloce (se confrontato alla velocitàumana)
Il computer non risolve problemi, ma elaboravelocemente le soluzioni che ha trovato l’uomo
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 1.28
Elaborazione delle soluzioni:ciclo Fetch-Decode-Execute
L’esecuzione di ciascuna istruzione da parte della CPU consta dei seguenti passi:
1. Carica l’istruzione da memoria in IR (Instruction Register) (Fetch)
2. Incrementa PC (Program Counter)3. Decodifica l’istruzione (Decode)4. Carica l’operando in un registro5. Esegui l’istruzione (Execute)6. Torna al passo 1 per l’esecuzione dell’istruzione successiva
15
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.29
Algoritmi: come “trovare” soluzioni• Algoritmo Sequenza finita di mosse che risolve in un
tempo finito una classe di problemi
– E’ un metodo sistematico per risolvere un problema. Es.o lo svolgimento di operazioni aritmeticheo il processo di spedizione di una cartolinao la ricerca di un numero telefonicoo il metodo per determinare quando il puntatore del mouse clicca su
un pulsante virtualeo …
– Gli algoritmi devono essere non ambigui, essere costituiti da un insieme finito di passi e terminare in un tempo finito
– E’ l’uomo che risolve problemi (inventa algoritmi)
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.30
Programmi: come “spiegare” al computer le soluzioni trovate
• “Traduzione” di un algoritmo attraverso un insieme ordinato di frasi (“istruzioni”), descritte in un linguaggio di programmazione, che specificano le azioni da compiere in modo formale che sia interpretabile dal computer, il tutto allo scopo di risolvere un problema
• L’azione di scrittura di programmi prende il nome di PROGRAMMAZIONE o IMPLEMENTAZIONE
16
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.31
Algoritmi e programmi sono diversi
• La programmazione consiste nello scrivere i passi di un algoritmo in uno specifico linguaggio– un programma è un algoritmo codificato in uno specifico
linguaggio di programmazione (es., Java, C, Fortran, …)
• Esecuzione di un programma– per avviare un programma si può “cliccare” sulla sua
icona (ad es., Word, Explorer, Firefox) – così facendo si dice al computer di caricare il
programma in memoria principale e di far eseguire il programma dalla CPU
Cos’è il software?• “Il Software è un insieme di programmi che permettono ad
un calcolatore di eseguire determinate funzionalità”
Cos’è un programma?Un PROGRAMMA è un’entità statica (descritta in un dato LINGUAGGIO) che specifica:– l’insieme di istruzioni che il calcolatore deve eseguire– e la sequenza in cui devono essere eseguite
Nel momento in cui un PROGRAMMA VIENE MANDATO IN ESECUZIONE, si ha l’attivazione di un PROCESSO Una entità dinamica. Attraverso il suo stato si rappresenta il modo in cui avviene l’esecuzione del programma
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.32
17
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.33
Sinonimi comunemente adottati
• Programmi• Applicazioni• Servizi softwareAnche se non sono proprio sinonimi, nell’uso comunesono considerati come tali. Hanno, in effetti, lacomune caratteristica di essere implementazioni dialgoritmi per computer
Le applicazioni software danno valoreaggiunto all’hardware
I ruoli…
ProgrammaFormulazionedi un problema
Individuazionedi un algoritmo
Metodo risolutivo(progetto)
Linguaggio diProgrammazione
(codifica)
(ese
cuzi
one)
DATI
INFORMATICO(Sviluppo applicazioni)
UTENTE
INFORMATICO(Tecnico)
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.34
18
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.35
Principali componenti software
• Due grandi famiglie di software– Software di sistema: Sistema operativo– Software applicativo: Applicazioni
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.36
Organizzazione a “strati”
Qual è il vantaggio diun sistema a livelli,dove lo stratosuperiore mascheraquello inferiore?
19
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.37
Perché costruire un “sistema a livelli”?
Quindi, un sistema a livelli consente ai progettisti disemplificare la soluzione del problema complesso di progettare,realizzare e successivamente modificare un sistema informaticoe renderlo facilmente utilizzabile da chiunque (o quasi …)
“Virtualizzazione” far apparire la realtà in modo diverso(tipicamente più semplice e/o più gradevole)
OBIETTIVO RIVOLTO AGLI “UTILIZZATORI”
L’hardware ha molte virtù (veloce, miniaturizzato), ma nonè né semplice né gradevole! Quindi farlo risultare tale è unproblema molto complesso per i progettisti informatici
QUANDO UN PROBLEMA E’ COMPLESSO, L’UOMO …
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.38
Componenti di un Sistema di Elaborazione + Utente
APPLICAZIONI
Sistema Operativo
ControllerSCSI
ControllerKeyboard
ControllerMouse
ControllerPCI Bus
ControllerFloppy
ControllerATAPI
SCSI Bus Tastiera Mouse PCI Bus Floppy CD-ROM
Softw
are
Har
dwar
e
?
UTENTE…
20
Quante sono le applicazioni software?• Esistono tantissimi tipi di software
– per calcolo scientifico– per videoscrittura– per memorizzazione e recupero dati– per comunicazione– per svago– …
• Per ogni tipo di software, esistono innumerevoli applicativi software prodotti da “fonti” molto varie– Multinazionali del software: IBM, Microsoft, EDS, …– Grandi software house– Gruppi di sviluppatori “free software”– Gruppi di ricerca per prototipi– Singole persone (per interesse o svago personale)– …
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.39
Esempi• Software per l’elaborazione testi
– creazione, modifica e stampa di un documento: Word, Editor, OpenOffice, ...
• Foglio elettronico– tabella di valori disposti in righe e colonne: Excel, Lotus, …
• Software per Database– sistema per l’archiviazione ed il recupero efficiente di dati in
formato digitale: Access, Oracle, MySQL, …
• Software per presentazioni– creazione di testi/immagini per la creazione di diapositive e
prospetti: Powerpoint, Acrobat, …
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.40
21
Esempi (cont.)
• Software per la comunicazione– creazione, invio e ricezione di posta elettronica: Outlook,
Eudora, pine, ...– Navigazione su Web: Explorer, Firefox, …
• Software per il calcolo– Simbolico e/o numerico: MatLab, …
• Software di utilità– Antivirus, antispyware, …
• Cos’è un virus informatico?
E’ parte del software anche lui…
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.41
Esecuzione di un programma
• L’esecuzione delle azioni nell'ordine specificato dall’algoritmo consente di ottenere, a partire dai dati di ingresso, i risultati che risolvono il problema
Computer
INPUTDATI
OUTPUT
RISULTATI
Hardware
Sistema Operativo
Applicazioni
UTENTE
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.42
22
Sistema operativo
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.44
Sistema operativo
Il sistema operativo (Operating System - OS):– offre le operazioni base necessarie per:
o l’uso efficace del computer mediante funzionalità che non sono fornite direttamente dall’hardware
o agisce da intermediario fra l’Utente e l’Hardware, con lo scopo di fornire un ambiente nel quale l’utente possa eseguire i programmi applicativi in maniera “sicura” ed efficiente
– è un insieme di programmi che gestisce tutte le funzioni basilari di un computer (gestione disco, tastiera, video, mouse, reti, ecc.)
– installato nell’hard disk, è un software (di sistema) che viene caricato all’accensione del computer (fase di boot) e rimane attivo fino allo spegnimento
23
Sistemi operativi - tipi
Hp/UX
Mondo MICROSOFT Windows
Mondo Unix - Linux
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.45
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.46
Microsoft Windows
• Vent’anni di versioni:– 1.0 (1985) - 2.0 (1987) - 3.0 (1990) – 95 – NT – 98 –
2000• Terzultimo: XP• Penultimo (2007): Vista• Ultimo (ottobre 2009): Windows 7
• Esistono anche versioni specifiche per dispositivi palmari: Windows CE e Pocket PC
24
Unix
• Unix è utilizzato principalmente in ambito aziendale ed in particolare su computer inseriti in rete
• Sviluppato dal Computing Science Research Group dei Bell Laboratories AT&T
• Nato nel 1969 (prima versione in lingaggio assembly), si è diffuso rapidamente in ambito accademico grazie al fatto che i sorgenti (scritti in linguaggio di programmazione C dal 1973) venivano inviati gratuitamente
• Oggi, lo Unix più diffuso è Sun Solaris
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.47
Linux• Nel settembre 1991 viene completata la versione
0.01, resa liberamente disponibile sul server dell’università di Helsinki da Linus Torvalds
• Il motivo di tanto successo è stato dovuto alla possibilità di reperire liberamente il codice sorgente di Linux
• 16 Gennaio 1992: viene rilasciata la versione 0.12 che porta novità a livello legale riguardanti la licenza– In precedenza era esplicitamente vietato ottenere un
qualsiasi ritorno economico dalla sua diffusione– Da questa versione viene adottata la GNU General
Pubblic License• 14 Marzo 1994: si arriva alla versione 1.0
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.48
25
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.49
Scopi di un Sistema Operativo1. Rendere disponibile un’interfaccia user-friendly (amichevole)
per l’interazione uomo-macchina
2. Fornire un supporto interattivo e per utenti multipli (nel caso di sistema multi-programmato o multi-tasking)2.1 Gestire i Processi (e l’uso della CPU)2.2 Gestire la Memoria Centrale
3. Fornire un supporto uniforme per l’Input/Output
4. Gestire la memoria secondaria
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.50
Prima impressione• Se l’impressione che avete avuto è che:
– il Sistema Operativo gestisca tutto,– senza il Sistema Operativo, la vita degli informatici
professionisti sarebbe molto più complessa– senza il Sistema Operativo, la vita degli utilizzatori
dell’informatica sarebbe molto più complessa– l’evoluzione e la diffusione dell’informatica si deve in
larga parte anche ai progressi nel campo dei sistemi operativi
… siete sulla buona strada per capire
26
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.51
Funzioni del Sistema Operativo
• Il Sistema Operativo è un software (di sistema) sempre attivo, ovvero sempre caricato in memoria centrale, in tutte le fasi:
– Fase di avvio (bootstrap)
– Fase di funzionamento
– Fase di spegnimento (shutdown)
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.52
Fase di avvio: BOOTSTRAP
• Fase iniziale che, all’accensione del computer, carica il Sistema Operativo in memoria principale (RAM) per poterlo rendere attivo
• Il bootstrap avviene in fasi successive:– prima viene caricata una piccola parte che si trova in un
supporto di memoria elettronica permanente (ROM), che sa dove andare a prendere e caricare un’altra, ...,
– fino a che tutto il Sistema Operativo (necessario) è in memoria centrale e in esecuzione
27
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.53
Fase di spegnimento: SHUTDOWN• Quando il computer è in funzione, utilizza molti dati
temporanei che (per efficienza) vengono mantenuti in memoria centrale (RAM) e solo periodicamente o a richiesta vengono memorizzati su memoria secondaria (disco)
• Lo shutdown consente di “fare ordine e pulizia”:– le informazioni utili temporaneamente in RAM vengono
copiate su memoria secondaria che non è volatile– le informazioni non necessarie vengono eliminate– i “canali” aperti vengono chiusi, ecc.
• Se lo shutdown non viene effettuato correttamente (es., guasto, black-out) c’è il rischio di perdere informazioni utili o di trovarsi con dati incongruenti
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.54
Componenti
• I Sistemi Operativi sono generalmente costituiti da un insieme di moduli, ciascuno dedicato a svolgere una determinata funzione
• I vari moduli del Sistemi Operativi interagiscono tra di loro secondo regole precise al fine di realizzare le funzionalità di base dalla macchina
28
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.55
Sistemi operativi - componenti
• Kernel (nucleo) – la parte più vicina all’hardware
• Programmi di gestione dei dispositivi (driver)
• Interprete dei comandi
• Gestore della memoria primaria
• Gestore dei processori
• Gestore dell’I/O
• Gestore dei file (File System)
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.56
Sistema di Elaborazione + Utente
APPLICAZIONI
Sistema Operativo
ControllerSCSI
ControllerKeyboard
ControllerMouse
ControllerPCI Bus
ControllerFloppy
ControllerATAPI
SCSI Bus Tastiera Mouse PCI Bus Floppy CD-ROM
Softw
are
Har
dwar
e
?
UTENTE…
29
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.57
Sistemi operativi - componenti
Kernel del Sistema Operativo (gestione memoria, CPU)
Sottosistema di gestione Input/OutputDriverSCSI
DriverKeyboard
DriverMouse
DriverPCI Bus
DriverFloppy
DriverATAPI
ControllerSCSI
ControllerKeyboard
ControllerMouse
ControllerPCI Bus
ControllerFloppy
ControllerATAPI
SCSI Bus Tastiera Mouse PCI Bus Floppy ATAPIDevices
(es. CD-ROM)
Har
dwar
e
Meglio fare un passo indietro…
Sist
ema
Op.
• Elementi principali di un sistema operativo e dei componenti hardware:
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.58
Un quadro più preciso
DriverSCSI
DriverKeyboard
DriverMouse
DriverPCI Bus
DriverFloppy
DriverATAPI
ControllerSCSI
ControllerKeyboard
ControllerMouse
ControllerPCI Bus
ControllerFloppy
ControllerATAPI
SCSI Bus Tastiera Mouse PCI Bus Floppy (es. CD-ROM)
Sist
ema
Ope
rativ
oH
ardw
are
Kernel del Sistema operativo (Gestione memoria, Gestione CPU)
Sottosistema di gestione Input/Output
Gestione file system
Interfaccia utente
APPLICAZIONI …UTENTE
SW
30
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.59
Kernel del Sistema Operativo
• Kernel = nocciolo, nucleoContiene i programmi per la gestione delle funzioni base del calcolatore
• Kernel suddiviso in moduli. Ogni modulo ha una funzione diversa
• Funzioni più importanti: – gestione processore– gestione processi– gestione memoria (principale e secondaria)– gestione dispositivi di I/O
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.60
Dispositivi di Input/Output
• I dispositivi sono oggetti complessi da gestire!• Ad esempio, la maggior parte dei dispositivi sono
seriali (es., stampante) possono essere usati da un solo processo alla volta
• Tuttavia, molti dispositivi (es., stampante di rete) possono ricevere molte richieste contemporaneamente
Servono:• Meccanismi per la coordinazione delle varie richieste• Diverse strategie per la gestione dei processi in attesa
di utilizzare una risorsa
31
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.61
Gestione Input/Output
• Il SO fornisce un insieme di comandi (linguaggio d’interazione tra utente e sistema) che fornisce una visione astratta del dispositivo
• Es. – Stampa: per l’utente equivale all’invio di un messaggio,
indipendentemente da come avviene il trasferimento dei byte
– Lettura dello stato della stampante– Modifica delle caratteristiche della stampa: l’utente
utilizza un pannello di controllo, senza curarsi dei dettagli implementativi
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.62
Device Driver
• Il controllo dei dispositivi di I/O avviene attraverso speciali programmi detti Device Driver
• I device driver sono spesso realizzati dai produttori dei dispositivi stessi che ne conoscono le caratteristiche fisiche in maniera approfondita
• I device driver servono per tutti i dispositivi che si connettono al computer (compresi lettori DVD, pen drive, macchina fotografica, ecc.)
32
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.63
Device Driver (Cont.)
Kernel del Sistema Operativo (gestione memoria, CPU)
Sottosistema di gestione Input/OutputDriverSCSI
DriverKeyboard
DriverMouse
DriverPCI Bus
DriverFloppy
DriverATAPI
ControllerSCSI
ControllerKeyboard
ControllerMouse
ControllerPCI Bus
ControllerFloppy
ControllerATAPI
SCSI Bus Tastiera Mouse PCI Bus Floppy (es. CD-ROM)
Har
dwar
eSi
stem
a O
p.
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.64
Gestore del File System• Il gestore del file system è quel
modulo del sistema operativo incaricato di gestire le informazioni memorizzate sui dispositivi di memoria di massa DISCO
• Il gestore del file system deve:– Associare un nome di file ad una
parte dello spazio del disco– Fornire metodi per accedere ai file– Rendere trasparente la struttura
fisica del disco
33
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.65
Interfaccia utente
• Tutti i Sistemi Operativi implementano dei meccanismi per rendere agevole l’utilizzo del sistema da parte degli utente
• L’insieme di questi meccanismi di accesso al computer prende il nome di Interfaccia Utente
Informatica - 2010/2011 - Architetture, Sist. operativi, Software 2.66
Due tipi di interfaccia utente• Interfaccia testuale
– Interprete dei comandi (shell)– Esempi: Linux/Unix (prime versioni),
MS-DOS
• Interfaccia grafica (a finestre):Graphical User Interface (GUI)– L’output dei vari programmi viene
visualizzato in maniera grafica all’interno di finestre
– L’utilizzo di disegni rende più intuitivo l’uso del calcolatore
– Esempi: Linux/Unix, Microsoft WINDOWS