I seguenti appunti non hanno la pretesa di essere esaustivi, ma hanno l’unico scopo di illustrare in
modo schematico i concetti necessari allo sviluppo del programma di Informatica della 1D del Liceo
Scientifico Scienze Applicate 2013-2014 partendo dalla preparazione specifica degli studenti.
MACCHINA DI VON NEUMANN
Il Modello di Von Neumann per la rappresentazione di un elaboratore può essere schematizzato
come in fig. 1, dove la CPU (Central Processing Unit) è realizzata come in fig.2:
fig 1
fig 2
CPU: esegue le istruzioni per l'elaborazione dei dati e svolge funzioni di controllo o
coordinamento delle altre componenti funzionali. E’ a sua volta formata da:
•
ALU (unità logico aritmetica) può eseguire solo somme, sottrazioni e confronti e
contiene un registro - detto accumulatore - che fa da buffer (sala d’attesa) tra input
e output. Le operazioni di prodotto, potenza, divisione, radice etc, vengono
realizzate mediante iterazioni rispettivamente della somma e della sottrazione. Con
il confronto si possono effettuare le operazioni di ricerca, ordinamento di dati,
riconoscimento di un bit di fine stringa, etc
•
REGISTRI DI MEMORIA contengono le istruzioni di funzionamento della ALU, cui
dicono come deve effettuare il caricamento degli operatori, le diverse operazioni,
etc
•
UNITA’ DI CONTROLLO regola il flusso di informazioni fra gli altri blocchi verificando
lo stato dei blocchi e abilitando la comunicazione fra i blocchi che in quel momento
devono colloquiare, tramite enable (abilitazioni).
Unità di memoria, memoria di massa (RAM)
Unità I/O, interfacce mediante le quali i dati da elaborare vengono inseriti nel calcolatore e i
dati elaborati vengono restituiti all'operatore (tastiere, mouse, sensori, stampanti, scheda video,
scheda audio, display, attuatori)
BUS, canale che collega tutti i componenti fra loro. Due di essi possono dialogare solo quando
entrambi abilitati alla comunicazione dei dati.
R. Guma – appunti di Informatica destinati a scopo di studio. Non possono
essere usati a scopo di lucro o copiati in tutto o in parte. Tutti i diritti riservati.
REGISTRI
I registri sono delle celle di memoria contenute nell'unita di elaborazione centrale.
Nella CPU sono presenti i seguenti registri aventi funzionalità specifiche:
•
Il registro contatore delle istruzioni (PC), che ha la funzione di memorizzare
l'indirizzo della prossima istruzione da eseguire.
•
Il registro delle istruzioni (IR), che memorizza l'istruzione che deve essere eseguita,
opportunamente codificata.
•
Il registro di indirizzamento della memoria (MAR), che memorizza l'indirizzo della
cella di memoria che deve essere acceduta o memorizzata.
•
Il registro dati di memoria (MDR), che memorizza il dato cui abbiamo acceduto o che
deve essere memorizzato.
•
Il registro parola di stato (PSW) contenente le informazioni, codificate, circa l'esito
dell'ultima istruzione che è stata eseguita.
MEMORIE
1. RAM (Random Access Memory) memoria ad accesso casuale, si sovrascrive e si cancella
quando il sistema si spegne
2. ROM (Read Only Memory) è preprogrammata dal costruttore e non può essere modificata
dall’utente. Contiene ad esempio le istruzioni di funzionamento di un dispositivo sul quale
è installata
3. PROM (Programmable Read Only Memory)
4. EPROM (Erasable Programmable Read Only Memory)
5. EEPROM (Electrically Erasable Programmable Read Only Memory)
Nell'architettura dei calcolatori si distinguono due tipi di memoria:
•
memoria primaria, che lavora a più diretto contatto con il processore (RAM, ROM e cache)
•
memoria secondaria o memoria di massa (hard disk, CD, DVD, memorie flash, etc). È detta
di massa perché raccoglie tipicamente grandi quantità di dati rispetto alla memoria primaria e
in maniera non volatile cioè permanente fino a che non venga cancellata o sovrascritta per
volontà dell'utente.
REGISTRO DI STACK
Dall’inglese, pila, catasta, è un’area di memoria utilizzata secondo il paradigma LIFO (Last In
First Out).
R. Guma – appunti di Informatica destinati a scopo di studio. Non possono
essere usati a scopo di lucro o copiati in tutto o in parte. Tutti i diritti riservati.
SISTEMA OPERATIVO
Il Sistema Operativo (SO) è un software che fa da intermediario tra l’utente e la macchina
gestendo le risorse (hardware e software) della macchina. Rende possibile la gestione,
l’elaborazione e l’immagazzinamento dell'INFORMAZIONE.
L’hardware fornisce potenza di calcolo, il sistema operativo la rende disponibile agli utenti,
gestendo l’hw in modo efficiente.
Il SO controlla l’esecuzione di tutti gli altri programmi e dei processi.
Si devono distinguere i programmi dai processi:
•
Un programma presenta soluzioni per classi di problemi simili (ad es. soluzione delle
equazioni di primo grado).
•
Il processo è un programma in esecuzione in risposta ad una specifica istanza (quindi
soluzione di quella specifica equazione di primo grado con determinati dati).
Un processo incorpora le istruzioni, i dati da elaborare, lo stato dell’elaborazione.
Funzioni del Sistema Operativo
Tipologie di Sistemi Operativi
•
•
•
•
•
•
•
•
•
•
•
•
Gestione dei Processi (multitasking)
Gestione della memoria (scheduler)
Gestione dei file (file system)
Gestione degli utenti (multiutenza)
Gestione dell’I/O (stampanti, video, tastiera, etc)
Gestione servizi di Rete
Protezione del sistema
Interprete di comandi
Singolo utente / Multi utente
Real time
Sistemi distribuiti
Embedded
Si possono avere sistemi multitask e sistemi multicore.
I sistemi multicore presentano più nuclei (core) di elaborazione della CPU, quindi riescono ad
operare con diversi processi svolti in parallelo ciascuno da un nucleo di elaborazione.
R. Guma – appunti di Informatica destinati a scopo di studio. Non possono
essere usati a scopo di lucro o copiati in tutto o in parte. Tutti i diritti riservati.
Multitasking è una tecnica del SO che consente di dedicare la CPU a più processi. E’ nota anche
con il termine di time-sharing.
Il multitasking si distingue in:
•
cooperativo: tecnica in cui viene condivisa la CPU per svolgere più compiti. Le
applicazioni al momento opportuno cedono il controllo alla CPU. L'esecuzione di un
processo continua fino a quando esso non restituisce il controllo al sistema. Solo allora il
sistema operativo può effettuare il cambiamento di contesto.
•
preemptive: a prelazione, cioè la ripartizione dell'utilizzo della CPU viene gestita
completamente dal sistema operativo. Non è più il processo che decide quando rilasciare
la CPU ma è lo scheduler (componente del sistema operativo) che effettua lo scheduling
della CPU. Nello scheduling ogni processo a rotazione può tenere occupata la CPU per un
intervallo di tempo stabilito, misurato generalmente in millisecondi.
Lo scheduler è il dispositivo che in un sistema multitask sostituisce un processo - finito o meno
- con un altro, poiché il sistema operativo permette di lavorare con un solo processo alla volta.
Nel multitasking, il controllo della CPU viene passato, a turno, da un processo ad un altro: poiché
questo avviene in modo molto rapido, gli utenti hanno una “illusione” di contemporaneità. Il
turno dipende anche dalla priorità assegnata al processo.
Nella figura seguente vengono mostrati i due modi in cui si passa da uno stato all’altro. Con le
frecce rosse sono indicate le transizioni di stato normalmente generate dallo scheduler (quelle
determinate dai passaggi illustrati nella figura precedente), mentre in azzurro sono indicate
quelle generate da interruzioni provenienti dai dispositivi di ingresso/uscita:
R. Guma – appunti di Informatica destinati a scopo di studio. Non possono
essere usati a scopo di lucro o copiati in tutto o in parte. Tutti i diritti riservati.
Le transizioni tra lo stato “running” e gli altri stati comportano un “context switch” della CPU.
Context switch: L'operazione che porta lo stato di un processo da pronto ad esecuzione ovvero
operazione in cui il contesto del processo uscente (stato dei registri del processore e dello stack
nella memoria centrale) viene salvato per poter essere ripristinato in un secondo tempo per il
suo avanzamento.
Un’interrupt (interruzione) comunica al sistema che si è verificato qualcosa di insolito
(ad esempio la necessità di salvare lo stato del sistema perché sta per venir meno
l’energia elettrica, oppure l’arrivo di una richiesta prioritaria rispetto a quelle che si
stanno svolgendo.
MODALITA’ OPERATIVE
Premesso che:
•
BIOS è un programma che il microprocessore usa per inizializzare il computer dopo che il
bottone di accensione è stato premuto. E' anche responsabile della comunicazione tra l’SO
e le periferiche di I/O. E’ parte integrante del PC e viene salvato su una EPROM. Quando il
computer si avvia, il processore avvia il BIOS, questi controlla che quanto è collegato al
processore sia funzionante e quindi carica l’SO in memoria.
•
KERNEL è la parte principale del SO. Caricato in memoria subito dopo il BIOS, si
occupa del trasferimento dei dati fra le componenti del sistema e della gestione
della CPU. Riceve ed inoltra i comandi dell'utente tramite la shell.
•
SHELL è uno strumento software che permette la comunicazione diretta tra
l’utente e il sistema operativo. In genere è un programma separato.
Per proteggere l’hardware dal malfunzionamento di applicazioni software (crash) esistono dei
modi operativi distinti dalla CPU.
- USER MODE (esecuzione di operazioni per un utente. Es. applicativi). La user mode gestisce i
vari processi attribuendo ad ognuno di essi un determinato periodo di tempo oltre il quale non
possono operare.
- KERNEL MODE (esecuzione di operazioni per il sistema operativo). E’ una modalità protetta
nella quale il processore non interrompe e non esclude il processo che sta operando.
R. Guma – appunti di Informatica destinati a scopo di studio. Non possono
essere usati a scopo di lucro o copiati in tutto o in parte. Tutti i diritti riservati.
FILE
• Per l’utente, un file è un insieme di dati con un nome.
• Per la macchina, un file è una sequenza di byte terminata da un carattere di EOF (End Of File)
I file risiedono nella memoria secondaria (dischi). Esistono comandi per creare, distruggere,
aprire, chiudere, leggere, scrivere file. In un sistema multiutente è necessario proteggere i file ci
possono essere più livelli di protezione per diverse tipologie di utenti .
Il file system è l’insieme dei file, della loro organizzazione in directory e dei metodi di gestione
e di accesso. Possiamo immaginarlo come il classificatore indicato nella figura successiva,
contenente delle cartelle contenenti sottocartelle nelle quali ci sono i vari documenti, immagini,
fogli di calcolo, etc…
Per individuare un file file.doc contenuto in una sottocartella subfolder contenuta in una cartella
folder contenuta nella directory principale (root) del sistema si scrive:
/cart/sott/a.doc
NB: Studiare anche da pag 93 a pag 97 del libro di testo svolgendo i test previsti a fine capitolo.
R. Guma – appunti di Informatica destinati a scopo di studio. Non possono
essere usati a scopo di lucro o copiati in tutto o in parte. Tutti i diritti riservati.