• Non ci sono risultati.

Fondamenti di Informatica

N/A
N/A
Protected

Academic year: 2021

Condividi "Fondamenti di Informatica"

Copied!
36
0
0

Testo completo

(1)

17/10/19 1

Fondamenti di Informatica

Prof. Fenza Giuseppe

(2)

Fondamenti di

Informatica

Prof. Fenza Giuseppe

Riepilogo

(3)

Argomenti Principali

• Architettura di un Computer

– CPU

– Bus

– Memorie

– Periferiche

(4)
(5)

Riepilogo

• CPU (ALU, CU)

• REGISTRI

• Gerarchia delle Memorie

– Memoria Centrale

– Memoria Virtuale

– Memoria Cache

• BUS

• Memoria secondaria

• Periferiche di Input/Output

(6)

I tipi di bus

• Bus,

di sistema

oppure

locale

= connessione fisica tra CPU e le altre componenti del computer; trasporta i dati da un dispositivo all'altro.

• Si possono distinguere:

– bus dei dati (data bus): è di tipo bidirezionale (comunicazione cpu > dispositivi, dispositivi > cpu) e su di esso viaggiano dati ed istruzioni;

– bus degli indirizzi ( address bus ): è di tipo unidirezionale (comunicazione cpu > memoria centrale) e serve alla cpu per indicare alla memoria centrale le locazioni interessate dalle operazioni;

(7)

La macchina a registri a programma

memorizzato

– unità centrale di elaborazione (CPU – Central Processing Unit)

• esegue istruzioni per l’elaborazione dei dati

• svolge anche funzioni di controllo memoria centrale

– Memoria

• memorizza e fornisce l’accesso a dati e programmi in esecuzione

– interfacce di ingresso e uscita

• componenti di collegamento con le periferiche del calcolatore

– bus

• svolge funzioni di trasferimento di dati e di informazioni di controllo tra le varie componenti funzionali

La macchina di Von Neumann è composta da 4 tipi di componenti funzionali:

(8)

Il processore

• C.P.U. o unità centrale di elaborazione o

Processore, è un circuito integrato (Chip), che

effettua l’elaborazione vera e propria dei dati,

delle operazioni di calcolo e di controllo.

• Sulla superficie della CPU sono presenti:

– Miliardi di piccoli interruttori elettronici

miniaturizzati, di tipo acceso/spento, i transistor, – Altre componenti elettriche.

(9)

Coprocessori

• La CPU principale “delega” ai processori specializzati (Coprocessori) il trattamento di particolari tipologie di dati (es. filmati o suoni).

– Un coprocessore è un processore “dedicato” che, sotto il controllo della CPU e del Sistema Operativo svolge elaborazioni specialistiche che richiederebbero alla CPU un notevole dispendio di tempo

• Processore scheda video • Processore scheda audio

(10)

Processori Paralleli

• Più processori che collaborano, paritariamente, all’esecuzione di un programma.

– I processori possono cooperare

• Come in una catena di montaggio

• Processando contemporaneamente parti

diverse di una stesso dato (nelle previsioni del

tempo, ad esempio, ogni processore elabora una specifica zona geografica)

(11)

La CPU: Miglioramenti

Migliorare la velocità

• Una CPU con un clock alto è sicuramente veloce

• Attenzione:

– La velocità dipende anche, anzi soprattutto, dalla

velocità delle singole istruzioni che

compongono il suo insieme di istruzioni…

– ... che dipende dal numero di passi elementari

che le singole istruzioni devono effettuare per

(12)

Unità Centrale di Elaborazione (Central Processing Unit, CPU) e collegamento

con le altre unità funzionali.

La CPU è fisicamente realizzata sotto forma di microprocessore. clock

(13)

• PC (Program Counter): registro contatore delle istruzioni, contiene l’indirizzo della prossima istruzione da eseguire

• IR (Instruction Register): registro delle istruzioni, contiene l’istruzione che deve essere eseguita (codificata)

• MAR (Memory Address Register): registro di indirizzamento della memoria, contiene l’indirizzo della cella di memoria che deve essere acceduta o memorizzata

• MDR (Memory Data Register): registro dati di memoria, dato che è stato prelevato dalla memoria o che deve essere memorizzato

• PSW (Processor Status Word): parola di stato del processore; contiene informazioni, opportunamente codificate, circa l’esito dell’ultima istruzione che è stata eseguita

(14)

IL CICLO fetch/ decode / execute

14

1) FASE DI FETCH: si accede alla prossima istruzione (puntata da PC) e la si

(15)

2) FASE DI DECODE: si decodifica il tipo dell’istruzione in base al suo OpCode,

si individuano i dati usati dall’istruzione, e li si trasferisce nei registri opportuni

3) FASE DI EXECUTE: si esegue l’istruzione

L’esecuzione di un programma avviene eseguendo ordinatamente le istruzioni del programma, svolgendo ripetutamente il ciclo fetch-decode-execute

(16)
(17)
(18)

Principio di Località

• Località spaziale: quando si accede all’indirizzo A,

è molto probabile che gli accessi successivi

richiedano celle vicine ad A.

– le istruzioni vengono in genere lette da locazioni consecutive della memoria;

– gli accessi a vettori o a strutture dati sono “vicini”.

• Località temporale: quando si accede all’indirizzo

A, è molto probabile che negli accessi successivi si

richieda di nuovo la cella A.

– cicli di istruzioni accedono ripetutamente alle stesse locazioni di memoria;

– istruzioni vicine tendono ad utilizzare le stesse variabili.

(19)

Memoria Cache

• Procedimento:

– Si cerca se il dato /istruzione è presente nella cache e se c’è lo si usa (Cache Hit)

– Se invece non c’è (Cache Miss) lo si prende dalla RAM e lo si copia nella cache: la prossima volta verrà ritrovato nella cache

(20)

Memoria Virtuale e Swapping

• La RAM può saturarsi, soprattutto se sono – in esecuzione molti programmi

– aperti documenti molto grandi

• Quando la RAM è satura e l’utente vuole aprire un nuovo programma o un nuovo documento

– Il SO può:

• Impedire l’apertura del documento o del programma • Fare spazio in memoria

– I SO

• Di vecchia generazione adottavano la prima soluzione

(21)

Funzionamento

della Memoria Virtuale

• Il SO per fare spazio all’interno della RAM sposta dati e/o programmi

– dalla RAM – al Disco Fisso

• Questa zona del disco è detta “area di SWAP”, o file di swapping

• La memoria virtuale rallenta l'esecuzione dei programmi, ma

(22)

I diversi supporti

• tipologie di Memorie di massa: • MAGNETICHE

• OTTICHE

(23)

Modalità di Accesso ai Dati

• Accesso sequenziale

: prima di poter leggere una cella, è

necessario leggere quelle che la precedono (es. i nastri magnetici).

• Accesso casuale

: di accedere direttamente a qualunque

indirizzo di memoria ma con lo stesso tempo d'accesso (es. la memoria centrale).

• Accesso diretto o misto

: La memoria ad accesso diretto,

anche chiamata memoria ad accesso misto, è una tipologia di memoria informatica caratterizzata dal permettere l'accesso diretto a qualunque indirizzo di memoria con tempo di accesso variante e dipendente dall'indirizzo di memoria a cui è

avvenuto l'accesso precedente. (es. i dischi magnetici).

• Accesso associativo

: l’accesso a una cella non è guidato

dal suo indirizzo ma dal suo contenuto, che viene ricercato in parallelo su più celle (es. le memorie cache)

(24)

Argomenti Principali

• Sistema Operativo

– Gestione della Memoria

– Gestione dei Processi

– Gestione del File System

– Gestione I/O

(25)

Le funzioni principali del S.O.

Gestisce l’interazione tra utente e computer. Ogni operazione

dell’utente viene intercettata dal S.O.

– direttamente quando l’utente con dei comandi esegue operazioni

predefinite (es: cancellare un documento, …)

– indirettamente quando tramite programmi applicativi (es:

stampa documento tramite word, …)

Gestisce le risorse hardware

– Controlla, ottimizza l’uso e coordina la comunicazione tra le

risorse hardware del computer.

Gestisce le risorse software

– Pilota e controlla l’esecuzione degli altri programmi

– Assegna le risorse ai programmi applicativi e ne controlla

(26)

Le interfacce Grafiche Utente (GUI)

• Primi anni ’80 comparvero le prime interfacce Grafiche

(sviluppate da Xerox e Apple)

GUI (Graphic User Interface, Interfaccia Grafica Utente)

basate sulla Metafora della Scrivania

– Il video è una specie di scrivania (virtuale), il Desktop – L'utente comunica con il PC tramite mouse, e

iconeFinestre

menu a discesa che semplificano la scelta dei comandi. • Le GUI utilizzano la tecnologia WYSIWYG (What you see

is what you get). I documenti cioè vengono visualizzati così

(27)

KERNEL

Struttura del Sistema Operativo

(cont.)

Gestore dei Processi Gestore della Memoria Centrale Gestore degli I/O Gestore del File System

(28)

La Gestione dei Processi

• Un programma in esecuzione è anche detto processo – Programma = lista di istruzioni = nozione statica

(29)

Stato di un processo (1)

• In esecuzione: assegnato al

processore ed eseguito da esso

• Pronto: può andare in esecuzione, se il

gestore dei processi lo decide

• In attesa: attende il verificarsi di un evento esterno per andare in stato di pronto Processo in esecuzione Processo pronto Processo in attesa Inizio esecuzione Primo processo pronto

- Fine quanto di tempo - Interruzione esterna

Interruzione interna

Evento esterno atteso

- Fine esecuzione - Abort per errore

(30)

Allocazione Contigua

• Partizioni fisse

– Frammentazione Interna

– Frammentazione Esterna

• Partizioni variabili/dinamiche

– Frammentazione Esterna

(31)

MEMORIA Processo P

Allocazione Contigua

Sistema Operativo Processo Q Processo R Processo S MEMORIA Sistema Operativo Processo P Processo Q Processo R Processo S (1) Processo S (2)

Frammentazione Esterna

(32)

Cartelle o Directory

• Per rendere più agevole il ritrovamento dei files, il disco è diviso

in cartelle (chiamate directory)

– Una directory è un contenitore logico che, a sua volta, può

contenere altre cartelle o semplici files

– Una directory ha un nome che la contraddistingue dalle altre directory

• La maggior parte dei sistemi operativi adotta un file system

gerarchico: le cartelle sono strutturate ad albero, la cui radice è detta directory principale o ROOT

(33)
(34)

Master File Table (MFT)

• C'è un record nella MFT per ogni file sul disco, in cui troviamo le

seguenti informazioni:

– Nome lungo del file. – Nome in formato 8.3. – numero del file.

– Dimensioni dei file.

– Data e ora di creazione / modifica / accesso. – Attributi del file.

– I diritti di accesso

(35)

La Gestione delle Periferiche di I/O

(Cont.)

• Una caratteristica comune a tutti i dispositivi è quella di operare in

modo asincrono rispetto al processore

– Es.: Tastiera

• Sono pertanto necessarie delle forme di sincronizzazione tra i

dispositivi e il processore

– Un dispositivo di input deve avvertire il processore quando un

dato di input è disponibile

– Un dispositivo di output deve avvertire il processore quando ha

terminato di produrre dati in uscita

– I dispositivi di Input/Output inviano al processore un segnale,

detto interrupt, per richiedere l'attenzione del processore stesso

(36)

Device Dirver

• 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

Riferimenti

Documenti correlati

Paginazione a più livelli: allocazione non contigua della tabella delle pagine -> si applica ancora la paginazione alla tabella della

–  Allocazione della memoria ai singoli job –  Protezione dello spazio di indirizzamento –  Condivisione dello spazio di indirizzamento –  Gestione dello swap.. • 

Inoltre, quando l’unità centrale richiede l’accesso a una locazione di memoria virtuale non presente in una cella di memoria reale, si rende necessario effettuare

Negli studi analizzati sono state identificate ulteriori barriere allo screening, in particolare le partecipanti hanno menzionato più frequentemente gli obblighi religiosi e

notevolmente le prestazioni servendo prima tutte le richieste che sono vicine alla posizione attuale della testina. • Su questa ipotesi è basato l’algoritmo Shortest Seek Time

Presto in un palazzo della via Giu- lia, la loro casa, è nato Gianni, il primogenito, ma non c'è stato molto tempo per gioire, perché è sopraggiunta la tristezza dell'Eso- do

3.2. La libera manifestazione del pensiero e di ricerca storica. L’ intersezione tra memoria e diritto penale si può cogliere anche in un’altra dimensione. Si

Con internet la libertà religiosa informatica diviene figlia della modernità e l'individuo si riappropria della propria verità identitaria, assumendo un ruolo di