“INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, ,...

33
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 meno gradevoli, in cui se inserisci dati, ottieni dei risultati

Transcript of “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, ,...

Page 1: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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

Page 2: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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

Page 3: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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

Page 4: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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

Page 5: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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

Page 6: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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

Page 7: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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

Page 8: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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

Page 9: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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)

Page 10: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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

Page 11: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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à

Page 12: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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

Page 13: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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!

Page 14: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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

Page 15: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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

Page 16: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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

Page 17: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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

Page 18: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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?

Page 19: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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…

Page 20: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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

Page 21: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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

Page 22: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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

Page 23: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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

Page 24: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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

Page 25: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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

Page 26: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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

Page 27: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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

Page 28: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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…

Page 29: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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

Page 30: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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

Page 31: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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.)

Page 32: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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

Page 33: “INFORMATICA” PARTE 1 · 2010-10-19 · 1 “INFORMATICA” PARTE 1 - ARCHITETTURA COMPUTER, , SISTEMI OPERATIVI, TIPI DI SOFTWARE Informatica - 2010/2011 -Architetture, Sist.

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