Sei sulla pagina 1di 9

SBOBINATORE: Martina Campione

CONTROSBOBINATORE: Maria Pia Guardino


MATERIA: Informatica
PROFESSORE: Vitabile
LEZIONE: settima
DATA: 31/10/2016

CAPITOLO 7: LE INFRASTRUTTURE SOFTWARE


Nella lezione precedente abbiamo definito il sistema operativo come lo strato intermedio tra quelli che sono
gli insiemi dei software applicativi e lhardware che materialmente esegue le operazione che si vogliono
svolgere. Linsieme dei programmi applicativi non vengono direttamente trasmessi allhardware ma vi uno
strato intermedio che filtra queste richieste ed le esegue sfruttando al massimo le caratteristiche fisiche del
calcolatore. Grazie allazione combinata di hardware pi sistema operativo si tende addirittura a superare
quelli che sono i limiti fisici dellhardware. Il sistema operativo riesce quindi ad estendere quelle che sono le
caratteristiche dellhardware stesso infatti pi avanti si parler di MACCHINA ASTRATTA, ovvero una
macchina che fisicamente non esiste, ma le cui caratteristiche e prestazioni quasi sempre sono maggiori delle
caratteristiche dellhardware. Quindi da un lato vi la gestione di tutte le componenti dellhardware,
dallaltro invece lo sviluppo di N macchine astratte che saranno pi potenti tanto quanto ci si allontana
dallhardware. Il sistema operativo quindi lintermediario per lesecuzione delle applicazioni.
Le componenti del sistema operativo sono:

Il nucleo (o Kernel) il gestore del processore.


Il sistema di gestione della memoria occupa un proprio modulo nel sistema operativo, da un lato ci
sono le celle e i segnali da scrivere, dallaltro la macchina astratta che supera i limiti della memoria
RAM( non sufficiente per contenere i dati di tutti i programmi)
Il sistema di gestione delle periferiche dingresso e di uscita, da un lato ci sono i segnali per
comandare queste periferiche e dallaltro la macchina astratta che estende il limite fisico delle
periferiche che si hanno a disposizione.
Il sistema di gestione file ( file system) gestisce le memorie di massa (magnetica e ottica) ed
direttamente accessibile dallutente. Dal punto di vista fisico non si conoscono le zone dellhard disk
dove sono collocati i dati cos come non si conoscono le celle dove materialmente vengono gestiti i
dati.
Sistema di gestione degli utenti e dei relativi comandi. Generalmente i sistemi operativi sono multiutente ovvero pi utenti contemporaneamente possono accedere al computer dove c a disposizione
lhardware e il software in termini di sistema operativo, il quale ha uninterfaccia, di interazione con
lutente. questa quella che viene continuamente aggiornata in termini di USABILIT, ovvero la
facilit e limmediatezza di utilizzo di un calcolatore e quindi di un sistema operativo in modo
tale che luso sia esteso anche a utenti che non sono specializzati e addetti del settore.
Il sistema di gestione della rete trasmette e riceve informazioni tramite dei canali di comunicazione
ampi e generici. Ne esistono di due grosse categorie, senza fili o con fili. In ogni caso un canale di
comunicazione attraverso il quale vengono spediti e ricevute informazioni o risorse ( di memoria o
di calcolo).

SO vs APPLICAZIONI
Da un lato ci sono i programmi applicativi e dallaltro i sistemi operativi( chiamato software di base perch
sta alla base ma anche perch il primo software ad essere eseguito). I programmi applicativi generalmente
non hanno accesso a tutte le risorse del calcolatore perch alcune sono mascherate per evitare il

danneggiamento delle risorse stesse. Di contro il sistema operativo ha accesso a tutte le risorse. I programmi
applicativi usano un solo sottoinsieme delle istruzioni del processore mentre il sistema operativo pu
utilizzare tutte le istruzioni del processore. I programmi applicativi non possono decidere quando e come
avere accesso alle risorse del sistema, ma sono programmi che richiedono laccesso e poi sono gestiti per
ordine dal calcolatore; al contrario i sistemi operativi stabiliscono come e in che ordine le richieste che
ricevono devono essere soddisfatte.

MULTIPROGRAMMAZIONE
Per multiprogrammazione si intende il fatto che un calcolatore ( per semplicit consideriamo un solo CPU,
un solo CORE e una sola ALU) riesce a gestire unalternanza continua tra quanti di esecuzione ( ovvero
parti del tempo in cui effettivamente i dati vengono elaborati-zone in grigio per limmagine nella slide- e i
quanti di attesa quelli bianchi per la slide- dove il programma si interrompe autonomamente in attesa di
tutte le operazione di ingresso e di uscita. Spesso lelaborazione si interrompe perch non ci sono dati o
istruzioni da eseguire e mandare in elaborazione. Se da punto di vista teorico si suppone di avere tre
programmi in esecuzione (1,2,3) e le alternanze sono quelle che si trovano nellimmagine della slide ,
succede che cambia il contesto e tutti i dati, dal momento in cui il programma 1 viene arrestato, non sono pi
quelli del programma 1, ma del programma 3. Questultimo viene mandato in esecuzione e poi si interrompe
naturalmente perche attende anchesso delle operazioni di ingresso e di uscita. Si crea dunque unalternanza
tra i tre programmi che vengono mandati in elaborazione simultaneamente ( no contemporaneamente perch
la CPU unica e vi un solo programma alla volta che va in esecuzione).

PROCESSO vs PROGRAMMA
Il programma unentit statica costituita dallinsieme delle istruzioni che possono essere mandate in
esecuzione da un processore. Un processo invece unentit dinamica che ha oltre alle istruzioni che
compongono il programma anche i dati che servono per lesecuzione di quel programma e anche le
informazioni sullo stato del programma( a che punto arrivata la sua esecuzione e quali sono i dati che trovo
allinterno delle memorie e nei registri del processore ). Per esempio Word quando si scrive nel suo
complesso un processo, mentre le istruzioni contenute su Word sono un programma statico. Il Word che
attiva la stampa di un documento un ulteriore processo dove ci sono le istruzione che permettono la stampa
e i dati da stampare.

ORGANIZZAZIONE DI UN SO
Si pu schematizzare con una struttura a strati dove al centro c lhardware e poi tutte le componenti del
sistema operativo: processore, memoria elettronica, periferiche di masse e interprete dei comandi. Ogni
strato si occupa della gestione dellambito e del sottoinsieme fisico a cui si riferisce: il nucleo per esempio si
occuper dellesecuzione del programma.
Vi anche la visualizzazione delle macchine virtuali , ovvero se si prende un punto di osservazione sui vari
strati di organizzazione , si possono visualizzare solamente le risorse che si hanno a disposizione; per
esempio se mi metto nella circonferenza del nucleo, visualizzer solamente il nucleo(primo strato del sistema
operativo che gestisce il processore) e le risorse fisiche, ovvero lhardware. Allo stesso modo se ci spostiamo
sui vari punti delle circonferenze limite andando sempre verso fuori, si pu notare una maggiore
visualizzazione delle varie parti del sistema operativo. Quindi la macchina virtuale permette di avere uno
strumento pi potente rispetto al semplice hardware fisico. Ogni macchina virtuale gestisce specifiche
risorse.

NUCLEO

Chiamato anche kernel interagisce direttamente con lhardware, infatti il primo strato del sistema
operativo. Il nucleo si occupa dellesecuzione dei programmi e della risposta agli eventi esterni generati dalle
unit periferiche. Quando la periferica completa un suo ciclo di gestione dei dati, il processore capta il
segnale e deve interrompere le operazioni che stava facendo. La stessa cosa succede se spedisco dei dati alla
stampante e questo invio avviene in pi blocchi: quando la stampante finisce di stampare il primo blocco,
lancia un segnale per ricevere un secondo blocco di dati. Dunque lo scopo principale del nucleo quello di
gestire i processi corrispondenti ai programmi che sono contemporaneamente attivi, ovvero entit dinamiche
che via via devono essere completate. Tutto ci avviene a livello di gestione del processore. Se si guarda
invece alla macchina astratta, il nucleo fornisce alle macchine virtuali di livelli superiori la visione di un
insieme di unit di elaborazioni virtuali ciascuna dedicata ad un processo presente in memoria. come se ci
fossero tante CPU, ognuna dedicata ad un singolo programma; in realt per la CPU unica e condivisa.
Fisicamente solo una CPU, in modo astratto sono tante CPU pronte a gestire i singoli programmi. I dati del
processo 1 vengono mandati in esecuzione; quando termina ed entra in esecuzione il processo 3 , come se
si dovesse fare una fotografia al contenuto in quel momento. Spiegando in modo pi chiaro cosa accade, si
ha che passando dal programma 1 al programma 3 si ha un CAMBIO DI CONTESTO; tutto quello che si
ha nella CPU un istante prima di cambiare programma deve essere conservato in modo tale che quando
ritorno al programma 1 riprendo da dove si era interrotto. Tutto quindi deve essere conservato un attimo
prima del cambio di contesto e ripristinato una attimo prima che ricominci lelaborazione; questo avviene in
modo automatico senza che lutente intervenga.
SCHEDULING = politica di alternanza nellaccesso alla CPU da parte dei processi in esecuzione. Il nucleo
visto in questo caso come uno schedulatore, come colui che gestisce e decide lalternanza dei programmi
allinterno della CPU.
Quindi scompare la parte della CPU fisica e si creano n-CPU virtuali, ciascuno delle quali prende in carico
lesecuzione di un solo processo.

GESTORE DELLA MEMORIA ELETTRONICA


Il suo compito quello di controllare la memoria centrale, al fine di risolvere le relative esigenze dei vari
processi in modo trasparente ed efficiente. Il processo quando in esecuzione ha bisogno della memoria pi
veloce che esista nel sistema dal punto di vista fisico e quindi necessita della memoria RAM, le cui
dimensioni sono per abbastanza limitate. Tutti i dati dellhard disk non possono quindi stare allinterno
della memoria RAM, ovvero tutti i dati di un processo che vengono eseguiti non possono stare
contemporaneamente nella memoria RAM. Ci che accade unalternanza di dati, cio quando avviene il
cambio di programma tra l1 e il 3, la RAM lascia un momento prima tutti i dati relativi al processo 1 per
poter quindi acquisire quelli del processo 2. Questo cambiamento viene fatto dal gestore della memoria, il
quale direttamente collegato con lo schedulatore.
Inoltre il gestore della memoria consente ai programmi di lavorare in un proprio spazio di indirizzamento
virtuale e di ignorare quindi le rispettive zone di memoria fisica occupata. Nessuno di noi conosce le celle
della memoria RAM su cui sono i dati memorizzati relativi ad un processo.
In particolare il gestore della memoria protegge i programmi e i relativi dati caricati nella memoria di lavoro,
ovvero fa in modo che istruzioni e dati relativi al processo 1 non vengano sovrascritti da istruzioni e dati
relativi al processo 2 e viceversa. In pi il gestore della memoria permette, in modo controllato , la parziale
sovrapposizione degli spazi di memoria associati ai vari programmi. Si supponga di utilizzare 2 documenti
Word che sfruttano lo stesso programma ma sono un po' particolari perch la parte delle istruzioni relative ai
due uguale per cui viene attivata una sola volta; a questo poi si aggiungono i dati relativi al documento 1 e
si fa un processo e i dati relativi al documento 2 e si fa un secondo processo ( sistema multi-utente).
Dal punto vista delle macchine astratte il gestore della memoria fornisce la possibilit di lavorare come se si
avesse a disposizione una memoria dedicata, di capacit anche maggiore di quella fisicamente disponibile.
Quindi dal fatto che nella memoria fisica si alternino i dati relativi ai programmi che vanno in esecuzione, ci

permette di dire che anche per la memoria astratta come se venisse utilizzata per ogni singola esecuzione
(associazione di n- memorie logiche a quella fisica) .

GESTORE DELLE PERIFERICHE


Il gestore delle periferiche fornisce una visione del sistema in cui i processi possono operare mediante
periferiche astratte. Se vi sono due processi relativi al Word e i due documenti vanno in stampa, un modo di
gestirli quello di accodarli in unarea di memoria e stamparlo in base allordine in cui arrivano. Per
come se i due processi avessero a disposizione singole stampanti logicamente, che dal punto di vista fisico
solamente una. Quindi scompare la periferica fisica in modo che ad ogni processo viene assegnata una
periferica virtuale.

FILE SYSTEM
Si occupa della gestione dei file, ovvero si preoccupa di comandare tutto il sistema di memorizzazione per
materialmente memorizzare le informazioni in codice binario. Dal punto di vista logico fa in modo che
queste informazioni siano raggruppate in modo opportuno secondo una visione particolare, chiamata
dellALBERO CAPOVOLTO. Nei rami trovo o i file stessi o gli archivi che contengono i file oppure dei
contenitori(DIRECTORY) allinterno dei quali posso trovare dei contenitori o dei file: ci crea una visione
gerarchica che nasconde una visione logica. A livello fisico ci sono delle areole magnetizzate con un campo
magnetico positivo o negativo, poi viene interpretato in modo che lutente possa accedervi e comprendere.
Dal punto di vista dei segnali gestisce la memoria di massa e i file .

INTERPRETE DEI COMANDI


Ha la funzione di interpretare i comandi che giungono o da tastiera, attraverso linee di comando, o da mouse
e di attivare i programmi corrispondenti.
Le operazioni principali che svolge sono : lettura della memoria di massa del programma da eseguire,
allocazione della memoria centrale, caricamento del programma e dei dati relativi nella memoria allocata,
creazione e attivazione del processo corrispondente.
Quando si avvia il Word succede che vengono lette dalla memoria di massa (hard disk)tutte le istruzioni
relative al Word; queste istruzioni vengono caricate direttamente sulla memoria centrale (essendo la pi
veloce), ma prima di fare questo c una parte di prenotazione di queste celle cio si dice in quali celle
materialmente e fisicamente devo trasferire le istruzioni del Word presenti nellhard disk; a questo punto si
attiva il processo corrispondente al Word che comprende sia le istruzioni del programma che i dati del
documento che intende eseguire.
Ogni elemento dapprima analizzato verr adesso approfondito per capire cosa avviene istante per istante in
ogni modulo.

NUCLEO
Avvengono : Esecuzione di un processo , elaborazione, attesa delle operazioni di ingresso e uscita.
Ogni operazione di ingresso-uscita consiste in una chiamata al sistema operativo e quindi in una sospensione
del processo utente per lesecuzione dei processi ingresso-uscita da parte del nucleo (kernel), pu significare
periferica, tastiera, utente, ecc ma anche dati provenienti dalle varie memorie(elettronica e allora
linterruzione sar molto breve; mentre memoria di massa e allora linterruzione sar meno breve); tastiera o

coinvolgimento dellutente ( vi saranno sicuramente tempi di attesa molto pi ampi) ; sicuramente ci sar
alternanza tra elaborazione e tempi dattesa.
Tutti i processi istante per istante si possono trovare in due stati diversi :
- processo attivo
- processo in attesa
Istante per istante solo un processo in esecuzione, tutti gli altri sono pronti in attesa di essere eseguiti. Il
processo di attesa non va in esecuzione perch attende le operazioni di ingresso e uscita. Attivi non vuol
dire in esecuzione ma significa pronti per essere mandati in esecuzione.
I processi in non esecuzione sono la maggior parte perch istante per istante c solo un processo in
esecuzione. Si distinguono in:
- processo in attesa di un evento esterno (ingresso e uscita);
- processi pronti per essere eseguiti in attesa che si liberi la CPU.
I primi restano in attesa di completare tutto quanto, i secondi tipicamente vengono messi in una lista e
appena c la possibilit vengono mandati in esecuzione; ovviamente sono due condizioni differenti.
Riassumendo quello che accade:
- Processo in esecuzione
- Processi pronti sono quelli che hanno tutti i dati (operazioni di ingresso-uscita) completi e sono
potenzialmente pronti ad essere mandati in esecuzione
- Processi in attesa sono invece quelli che attendono per le operazioni di ingresso e uscita; non possono
essere mandati in esecuzione.
Cosa succede ad un processo in esecuzione? Pu finire in elaborazione e quindi scompare il processo, pu
uscire dallo stato di esecuzione perch tipicamente ad ogni processo viene assegnato un quanto di
elaborazione(un periodo di tempo nel quale viene mandato in elaborazione circa 100 millisecondi); se
nellambito di questi 100 millisecondi finisce in elaborazione si ha il termine e il processo si conclude
venendo eliminato, altrimenti finisce il quanto di elaborazione e ovviamente passa nella lista dei processi
pronti. Pu anche succedere che mentre in esecuzione ha bisogno di operazioni di uscita e da qui passa
direttamente nella lista dei processi in attesa che restano qui fin tanto che le operazioni di ingresso e uscita
non sono completate, appena sono completate vanno in coda alla lista dei processi pronti, il primo viene
mandato appena possibile allinterno della CPU. Tipicamente viene utilizzata unalternanza a ciclo tra tutti i
processi pronti avendo come quanto di esecuzione un periodo fisso che tipicamente di 100 millisecondi.
Nella lista dei processi pronti (P)vi sono tre processi :
P1 : Allinizio dellelaborazione viene mandato in esecuzione, viene eseguito per 100 millisecondi, esce
dallesecuzione e va in coda alla lista dei processi pronti;
P2 : entra nella CPU e viene mandata in esecuzione, non interviene nulla e ritorna in coda alla lista dei
processi pronti;
P3: viene mandata in esecuzione, non si verifica nulla e viene mandato in coda alla lista dei processi pronti.
Entra P1, ad un certo punto durante la sua esecuzione si interrompe lesecuzione perch esso ha bisogno di
operazioni di ingresso e uscita e va nella lista dei processi in attesa; a questo punto entra P2, finendo va nella
lista dei processi pronti ed entra P3 cambio di contesto (tutte quelle che erano le informazioni relative a
P2 ovvero memoria, stato del processore ecc vengono conservate e caricate). P2 e P3 continuano mentre

P1 attende; P1 completa le operazioni di ingresso e uscita (solitamente sono le pi ampie) e torna in coda.
Questo quello che normalmente accade allinterno dei moderni sistemi operativi.
Ci sono dei casi particolari in cui ai processi in esecuzione viene assegnata una priorit differente. Quello che
abbiamo visto accade quando i processi hanno tutti la stessa priorit; ci sono dei casi in cui il sistema
operativo permette di associare ai vari processi un livello di priorit.

CPU VIRTUALE E GESTORE DELLA MEMORIA


Devono andare di pari passo, siccome il processo deve trovare i dati da elaborare nella memoria centrale che
la pi veloce questa deve essere sincronizzata con lesecuzione dei processi; ci viene fatto in questo
modo: nel processo in esecuzione si deve avere che i dati relativi al processo in esecuzione vengono caricati
nella memoria centrale, se il processo mentre che in esecuzione va in attesa perch aspetta dati di ingresso
e uscita allora va nella lista dei processi in attesa e la memoria viene scaricata completamente perch i dati
relativi a quel processo non hanno nessuna ragione di stare in memoria perch devo aspettare che prima si
completino le operazioni di ingresso e uscita. Tipicamente questo succede memorizzando e trasferendo le
operazioni relative ai processi in attesa in unarea del disco fisso che chiamata area di swap (area del disco
fisso che il sistema operativo prenota e dove lutente non pu assolutamente scrivere). I processi pronti
possono essere sia in memoria che sul disco; perch questa distinzione? Immaginiamo che in un istante di
tempo vi siano 20 processi pronti ad essere eseguiti, ovviamente ci sar unalternanza supponiamo senza
priorit, quindi i primi 5-6- li terr in memoria mentre gli altri li metto sul disco perch tanto passer un bel
po di tempo prima che vengano eseguiti.

PAGINAZIONE
La paginazione un fenomeno che crea delle pagine logiche e fisiche. Le pagine logiche sono dei blocchi di
memoria, di istruzione e dati in cui viene suddiviso un processo; mentre le pagine fisiche sono dei blocchi di
memoria in cui viene suddivisa la memoria RAM. Per semplicit pagine logiche e pagine fisiche hanno la
stessa dimensione.
Es: supponiamo di avere una memoria RAM di 8 gigabyte, divido la memoria RAM in 8 parti ognuna delle
quali di 1 gigabyte (questa sar la mia pagina fisica). Supponiamo adesso di avere un processo di 16
gigabyte, lo divido in 16 blocchi da 1 gigabyte (il blocco da 1 gigabyte sar la mia pagina logica). Le prime 8
pagine del processo vanno direttamente sulla memoria centrale (una pagina logica uguale a una pagina
fisica), lo spazio logico di indirizzamento del processo suddiviso in sezioni dette pagine logiche, lo spazio
fisico disponibile nel calcolatore suddiviso in pagine fisiche della stessa dimensione delle pagine logiche.
Si basa sul principio di localit spazio-temporale. Il meccanismo il seguente : vengono caricate nella RAM
solo alcune pagine logiche sulle pagine fisiche della RAM, le pagine logiche necessarie vengono caricate di
volta in volta in base allesigenza. Qual il principio che ne sta sotto?
Se il processo di 16 gigabyte ovviamente non andr in esecuzione tutto insieme, ma prima la prima parte,
poi la seconda ecc. se io sto eseguendo la prima parte delle pagine relative allultima parte del processo
non ne faccio nulla.
(si consiglia di vedere le slides) questo lo spazio fisico con 8 pagine fisiche, lo spazio logico con solo due
pagine logiche. Le due pagine logiche vengono caricate sulle due pagine fisiche dove c spazio anche in
zone non consecutive. A questo punto arriva un processo 2 che ha 4 pagine logiche, qui abbastanza

semplice perch trovo le celle libere nella memoria e vengono direttamente caricate. Che cosa succede con
un terzo, quarto processo in modo tale che linsieme delle pagine logiche maggiore delle pagine fisiche?
La RAM al tempo t1 avr la pagina 1 del processo 1, la pagina 2 del processo 1, la pagina 3 del processo 1 e
la pagina 4 del processo 1; quindi ha le prime 4 pagine di un processo in esecuzione. Se la fotografo al tempo
t2 avr la 5-6-7- del tempo t1 e solo la 3-4, la 1 e 2 sono scomparsi.
Colui che svolge ci il Memory Management Unit che non altro che un modulo del sistema operativo
che si occupa di questa alternanza sia tra processi pronti, in attesa e in esecuzione ma anche paginando un
unico processo in modo tale da essere efficacemente gestito dalla memoria RAM.
PAGINAZIONE risolve contemporaneamente tre problemi:
- dove mettere il processo in memoria
- superare il numero di processi che possono essere gestiti contemporaneamente
- superare la dimensione fisica della memoria di lavoro, cio gli 8 gigabyte della memoria di lavoro servono
per 5-6 processi contemporaneamente mettendo insieme tutte queste cose, ecco perch si supera la
dimensione della memoria fisica. Scompare la memoria fisica e compare la memoria logica.

COMUNICAZIONE TRA CPU, RAM E DISPOSITIVI ESTERNI


Non pi un numero fisico di periferiche ma un numero N di risorse logiche da associare ai processi . Si
maschera la differenza tra le caratteristiche fisiche delle varie periferiche. Ad alto livello per accedere alle
periferiche si usano meccanismi quali driver che non sono altro che software che trasferiscono i dati da e
verso le periferiche collegate; ad alto livello vi una macchina con una periferica.
I sistemi operativi comprendono i driver per la gestione delle periferiche pi lunghi, nel senso che i moderni
sistemi operativi vengono venduti con i driver delle periferiche pi comuni sul mercato. Quando connetto
fisicamente la stampante, essa trasferisce un identificativo il quale viene riconosciuto dal sistema operativo e
viene selezionato il driver per quella particolare periferica. Se ci non dovesse avvenire posso inserire i
driver tipici di quella periferica, tipicamente il costruttore della stampante associa un dischetto con il driver
di quella particolare periferica. Ogni aggiunta o modifica della configurazione di un sistema comporta
tipicamente linstallazione di driver aggiuntivi.

PLUG & PLAY (inserisco e lavoro)


E quel meccanismo in cui la periferica appena installata lancia il proprio identificativo al sistema operativo,
se il sistema operativo ha gi i driver per quella stampante immediatamente lo utilizza altrimenti vi pu
attivare una serie di informazioni per andare a recuperare il driver o sul disco o su internet.

SPOOLING
Lo spooling quellarea del disco fisso che viene messa a disposizione da parte del sistema operativo per
gestire la periferica (ad es una stampante). Nel directory spool vengono direttamente memorizzati i dati
prima di essere stampati dalla stampante, quindi io stampo un documento, i dati vengono trasferiti nel
directory spool e accodati uno dopo laltro, dopo di che la stampante prende il primo documento che giunge
e lo stampa.

Quando la directory spool si svuota il sistema rimane in attesa che un processo richieda lutilizzo della
stampante; dal punto di vista astratto come se ogni processo avesse una propria stampante a disposizione
ma la stampante solamente una. Installato il driver, dal punto di vista logico, avr un sistema dotato di
stampante, la stampante pu essere a getto dinchiostro, a laser ecc .
STAMPANTE HP 2200 : una stampante non locale ma accessibile attraverso i canali di comunicazione.
Come tratta il sistema operativo questo tipo di periferiche remote? In un modo assolutamente identico a
come tratta quelle locali.
Cosa succede nel caso di stampante remota? I dati vengono impacchettati e spediti attraverso il canale di
comunicazione alla stampante remota.
Cosa succede nel caso di stampante locale? I dati vengono impacchettati e spediti attraverso i driver di quella
particolare stampante.
Ma chi si occupa di fare entrambe le cose? Se ne occupa il gestore delle periferiche del sistema operativo.
Il word (programma ad alto livello) prende i dati del documento e li passa al sistema operativo per la relativa
stampa.
Ogni processo ha il suo sistema dingresso-uscita virtuale.

FILE SYSTEM
Sistema di gestione della memoria di massa
Obiettivo non tanto accedere alle varie tracce del disco magnetico ma di accedere ai dati effettivamente
memorizzati nella memoria di massa . lobiettivo di un file system quello di presentare allutente
lorganizzazione logica dei dati e le operazioni che sono possibili compiere su di essi. Elemento base il file
(archivio di dati congruenti tra di loro sempre prodotti dalla stessa applicazione), quindi i dati relativi a un
file word vengono memorizzati in un file prodotto dallapplicazione e cos via .
OPERAZIONI DI BASE CHE UN FILE SYSTEM E CAPACE DI COMPIERE :
ci indipendente dal particolare sistema operativo che sto scegliendo
1.
2.
3.
4.

Recupero di dati precedentemente memorizzati;


Eliminazione (cancellazione) dei dati obsoleti (non pi corretti) per creare spazio;
Modifica/aggiornamento dei dati preesistenti;
Copia di dati (e.g da HD a FD) per backup o per il trasferimento.

Tutto ci viene fatto dal sistema operativo che fornisce i servizi sia ai programmi applicativi che agli utenti.
Es: da word io posso decidere di salvare un file e si apre la visione che il sistema d del file system.
Tutte le operazioni di recupero, eliminazione, copia, trasferimento ecc. vengono forniti sia ai programmi
applicativi che agli utenti.
FILE - contenitore logico di informazione
- oggetto a lunga vita, per conservare le informazioni anche dopo la terminazione del processo che
lo ha generato.
PER OGNI FILE :

- Identificare (nome.estensione). il nome viene utilizzato come etichetta per accedere ai dati effettivamente
memorizzati sullhard disk;
- periferica (drive) dove il file memorizzato e percorso sulla periferica;
- data creazione;
- dimensione in byte o multipli del byte;
- posizione effettiva dei dati nella memoria di massa (questi sono nascosti allutente)
- altre informazioni:
* applicazione che consente allutente di usare il file;
* data di ultima modifica;
* diritti di accesso al contenuto del file. Laccesso pu avvenire in due modalit principali: in sola lettura
(lutente pu solamente leggere il contenuto di un file) oppure accesso anche in scrittura (lo posso
modificare) e viene gestito dal sistema operativo. Nel caso di Windows lapplicazione che consente di
utilizzare il file e il nome del file sono direttamente collegati.
Tipicamente il nome di un file costituito da un nome e da unestensione separati da un punto. Tutto ci che
sta a sinistra del punto il nome del file mentre tutto ci che a destra lestensione del file.
Ogni sistema operativo pone dei vincoli sulla lunghezza dei filename e sui caratteri di cui possono essere
costituiti:
- MS-DOS imponeva una lunghezza massima di 8+3 caratteri per nomi ed estensioni
- Windows ha un limite di 254 caratteri (compreso il path percorso per andare a trovare il file)
I file sono generalmente organizzati in cartelle (directory) e sottocartelle in una gerarchia ad albero (o, al
limite, a grafo aciclico).

I sistemi operativi multiutenti : tipicamente un utente viene identificato prima dellaccesso al sistema,
laccesso al sistema non pi libero ma viene consentito solamente agli utenti che superano il processo di
identificazione, processo che avviene nella versione base attraverso due caratteristiche: il nome dellutente e
la parola chiave. Questo il primo livello di identificazione. In questo modo sapendo chi lutente che in
quel momento sta usando il sistema possono partire tutte quelle politiche di sicurezza e di accesso ai file.

GESTIONE DELLA RETE


Le risorse siano esse locali(direttamente presenti sul calcolatore) che remote vengono visualizzate dai
moderni sistemi operativi in maniera assolutamente identica, copiare un file sullhard disk e copiare un file
su dropbox richiede lo stesso tipo di operazioni da parte dellutente .