MODULO 18 –> Il sistema operativo

71
Insegnamento di Informatica – a.a. 2015-16 Il sistema operativo INSEGNAMENTO DI INFORMATICA – A.A. 2015-16 Francesco Ciclosi Macerata, 2 dicembre 2015

Transcript of MODULO 18 –> Il sistema operativo

Insegnamento di Informatica – a.a. 2015-16

Il sistema operativo

INSEGNAMENTO DI INFORMATICA – A.A. 2015-16

Francesco Ciclosi

Macerata, 2 dicembre 2015

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

La gestione dei file

Il sistema operativo si occupa di gestire i file

contenuti nel disco fisso

I file sono individuati con:

• NOME del file

• CARTELLA dove il file è archiviato

• UNITÀ DI MEMORIA dove si trova il file

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Il nome del file

A ogni file è assegnato un nome che lo

identifica in modo univoco (nella cartella)

Il nome è composto da due parti separate da un

punto:

• Nome

• Estensione

Nei moderni sistemi i nomi possono essere

lunghi e descrittivi (≠ 8+3 dello stile MS-DOS)

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Il tipo del file

Può essere identificato in vari modi a seconda

del sistema operativo in uso:

• Magic Number (Linux) un valore numerico o

un testo costante utilizzato per identificare un

formato di file o un protocollo

• Estensione (Windows) la porzione del nome del

file collocata a destra dopo il punto

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Alcune file signatures

Hex signature File extension File Description

D0 CF 11 E0 A1 B1 1A E1 DOC, DOT, PPS, PPT,

XLA, XLS, WIZ

Microsoft Office

Document

50 4B 03 04 14 00 06 00 DOCX, PPTX, XLSX

Microsoft Office Open

XML Format (OOXML)

Document

FF D8 FF E0 xx xx 4A 46

49 46 00 JFIF, JPE, JPEG, JPG JPEG/JFIF graphics file

49 44 33 MP3 MPEG-1 Audio Layer 3

(MP3) audio file

00 01 00 00 53 74 61 6E

64 61 72 64 20 4A 65 74

20 44 42

MDB Microsoft Access file

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

File extensions & file signatures

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Le cartelle

I file vengono raggruppati in apposite cartelle

(directory) al fine di agevolarne il reperimento

Una directory è una struttura (file) di catalogazione

del filesystem che contiene riferimenti a file e/o

eventualmente altre directory

Alcune cartelle «particolari» in Windows:

• Windows (c:\windows), contiene le varie parti del S.O.

• Utenti (c:\users), contiene i profili di tutti gli utenti

presenti nel sistema

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Le unità di memoria

Sono identificate grazie a speciali indicatori

• Storicamente: A e B per i floppy disk, C per gli hard

disk, D per il lettore CD-ROM

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Gerarchie a albero (1/2)

I file sono organizzati salvando quelli correlati

in apposite cartelle

La struttura delle tabelle utilizza un filesystem

gerarchico (struttura ad albero)

Una directory contenuta all’interno di un’altra

directory viene chiamata sottodirectory

La terminologia genitore – figli descrive il

rapporto tra due directory annidate

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Gerarchie a albero (2/2)

La directory che contiene una o più

sottodirectory viene chiamata genitore

La sottodirectory contenuta in una directory

viene chiamata figlia

La directory più in alto nel filesystem gerarchico

(tale da non avere nessun genitore), viene

chiamata directory root

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Un esempio di

directory tree

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

I percorsi (path-names)

Il path specifica la collocazione di un file

all’interno della struttura gerarchica del file system

I file sono identificati tramite:

• Nomi relativi relativi a una particolare directory

attiva

• Nomi assoluti individuano il cammino a partire

dalla radice (root) del file system fino a raggiungere il

file individuato

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Il pathname in Windows (1/2)

Il nome completo di un file è indicato con la

notazione: percorso\nome_del_file

• percorso il supporto di memorizzazione e le

directory da attraversare lungo l’albero per raggiungere

la collocazione del file

• \ il separatore tra le directory

• nome_del_file il nome attribuito al file (può

contenere fino a un massimo di 255 caratteri, spazi

compresi)

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Il pathname in Windows (2/2)

Nel riferire un file occorre considerare sia il

percorso che il supporto di memorizzazione

Ogni unità disco è individuata da una lettera

dell’alfabeto inglese seguito dal simbolo «:»

• A: floppy disk;

• C: disco rigido;

• D: Cd-rom;

• E:, F: ecc.: altre unità spesso rimovibili.

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Il pathname in Linux

Il nome completo di un file è indicato con la

notazione: /percorso/nome_del_file

• / la root directory

• percorso le directory da attraversare lungo

l’albero per raggiungere la collocazione del file

• / il separatore tra le directory

• nome_del_file il nome attribuito al file

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Alcuni esempi

Windows

• C:\Informatica\Modulo18\mod18.pdf

• Indica il file mod18.pdf collocato nella directory Modulo18,

collocata nella directory Informatica, collocata nel disco C

Linux

• /utente/Informatica/Modulo18/mod.18.pdf

• Indica il file mod18.pdf collocato nella directory Modulo18,

collocata nella directory Informatica, collocata nella

directory utente, collocata nella root directory /

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

La formattazione di un hard disk

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Memorizzazione dei dati e frammentazione

La memorizzazione dei dati nelle memorie di

massa avviene:

• In modo lineare, se esiste un numero di cluster

adiacenti sufficiente a garantire l’archiviazione di

tutte le singole porzioni di file

• In modo frammentato, in caso contrario

La deframmentazione del disco consente di

spostare i dati in modo da ridurre i frammenti

dei file su tracce contigue

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

La frammentazione dei file (1/2)

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

La frammentazione dei file (2/2)

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Gli aggiornamenti dei programmi

Di norma includono:

• Funzionalità delle versioni precedenti riviste e corrette

• Nuove funzionalità

Per indicare gli stadi di sviluppo del programma si

utilizzano i numeri di versione

• Parte intera presenza di modifiche sostanziali

• Parte decimale presenza di modifiche sostanziali

e/o correzione di alcuni errori

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Le versioni di un programma

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Windows update (1/3)

È un servizio di aggiornamento software online

per i sistemi operativi Microsoft Windows

Offre aggiornamenti di sicurezza per

• componenti del sistema

• service packs

Offre aggiornamenti gratuiti per componenti

Windows

Offre aggiornamenti di driver e versioni beta

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Windows update (2/3)

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Windows update (3/3)

Insegnamento di Informatica – a.a. 2015-16

Elementi di approfondimento sul

sistema operativo

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Il sistema operativo

Forma con l’hardware una struttura integrata del

sistema di elaborazione dati

Può considerarsi come il coordinatore di tutte le

attività rese disponibili dall’hardware

Ha la funzione di astrarre la struttura hardware

Filtra le interazioni tra mondo esterno e

computer

È il gestore delle risorse

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Il gestore delle risorse

Definiamo risorse tutte le entità hardware e

software che concorrono all’esecuzione dei

programmi:

• memoria centrale

• processore

• memoria di massa

• unità di I/O

• dati e programmi

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Problematiche riguardanti le risorse

Le caratteristiche delle risorse sono

estremamente variegate

• Es: la CPU è molto più veloce dell’unità memoria di

massa (siamo nell’ordine di 10.000 a 1)

Tali disparità, se non correttamente gestite,

possono comportare il degrado delle prestazioni

del computer

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Lo stato dei processi (1/3)

Un processo in esecuzione è soggetto a

cambiamenti di stato

Ogni processo può trovarsi in uno tra i seguenti

stati:

• Nuovo (new), il processo viene creato

• Esecuzione (running), un’unità di elaborazione

(CPU) esegue le istruzioni del relativo programma

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Lo stato dei processi (2/3)

• Attesa (waiting), il processo attende che si verifichi

qualche evento

o Es: Termine di un’operazione di I/O

• Pronto (ready), il processo attende di essere assegnato a

un’unità di elaborazione (CPU)

o Es: Attesa nella coda dei processi

• Terminato (terminated), il processo ha terminato

l’esecuzione

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Lo stato dei processi (3/3)

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Le modalità elaborative

Multitasking

• Es: Windows Family , GNU/Linux Family, MAC

OS X, Unix Family, OS/2

Monotasking

• Es: MS-DOS

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

I sistemi operativi multitasking

I sistemi operativi multitasking consentono di

eseguire parallelamente più task (processi)

Un task (o processo):

• è un programma in esecuzione

• rappresenta l’attività dinamica dell’esecuzione di un

programma

I task sono contemporaneamente nella RAM del

Computer e in modo concorrenziale e ordinato

condividono le risorse del sistema

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Il task

Un task è definito da:

• una componente statica:

o il programma relativo

• una componente dinamica:

o lo stato di avanzamento del task

o lo stato interno (i valori dei registri del processore)

o la priorità

o altre informazioni

PROCESSO

Stato corrente

della RAM PROGRAMMA + =

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Le code dei processi

In un determinato istante un processore esegue

una sola operazione in modalità monotasking o

multitasking

Si creano le «code di processi» (process queues)

Ogni risorsa del computer gestisce una coda di

processi

La coda della CPU viene chiamata coda dei pronti

(ready queue)

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Lo scheduler della CPU

Lo scheduler ha il compito di selezionare un

task da una coda

Long-term scheduler:

• sceglie da un buffer dedicato i processi che devono

passare nella coda dei pronti

Short-term scheduler:

• sceglie dalla coda dei pronti i task che devono essere

eseguiti dal processore

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Il task

manager - 1

Richiamabile con

la combinazione

di tasti CTRL +

SHIFT + ESC

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Il task manager - 2

• La priorità dei processi troppo onerosi in termini di CPU

va abbassata per favorire la stabilità del sistema

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Modalità di selezione: per priorità

Viene selezionato il task con priorità più alta

La priorità può essere statica o dinamica

I task più brevi hanno maggiore priorità (tempo

della CPU)

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Modalità di selezione: Round Robin

La ready queue (coda dei pronti) è vista come una

coda circolare

Il processore (CPU) è assegnato

• a rotazione

• ai vari task in coda

al massimo per il time slice (quanto di tempo)

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Scelta del time slice

L’efficienza del round robin dipende molto

dall’ampiezza del time slice:

• un time slice molto grande può rallentare gli altri

processi

• un time slice molto piccolo fa intervenire spesso lo

scheduler che appesantisce il sistema

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Il modello Onion-skin (1/2)

È un modello a strati

• 1° strato: Hardware

• 2° strato: gestore CPU

• 3° strato: gestore Memoria Centrale

• 4° strato: periferiche virtuali

o (DRIVER logico): software che permette di accedere agli

indirizzi delle periferiche

o (DRIVER fisico): componente hardware

• 5° strato: file system

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Il modello Onion-skin (2/2)

• 6° strato: Programmi di libreria

o Editor, compilatori, interpreti, gestori di DB

• 7° strato: Interfaccia grafica utente (GUI)

o Rendere visibile l’organizzazione dei file nelle memorie di

massa

o Facilitare l’esecuzione dei programmi

o Rendere più friendly l’interazione uomo/macchina

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Interfaccia nucleo verso l’esterno

hardware

Gestore

processi

Gestore

memoria Gestore I/O File system

Gestore

processore

Servizi richiesti dagli utenti al SO

nucl

eo

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Le funzionalità di un S.O.

Possiamo identificare 5 strati tra macchina fisica

e utente

1. Gestore dei processi

2. Gestore della memoria

3. Gestore delle periferiche

4. File system

5. Interprete dei comandi

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

1) Gestore dei processi

Gestisce l’esecuzione dei programmi

I programmi in esecuzione vengono chiamati

processi ( task) attivi nella CPU fino alla loro

completa esecuzione

In ambiente multi utente il gestore (supervisore)

decide a quale processo assegnare la CPU

Coordina gli eventi esterni (interruzioni

provenienti dalle periferiche)

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

2) Gestore della memoria

È compito del gestore della memoria:

• allocare la memoria (utilizzo da parte degli utenti)

• partizionarla tra i processi che la richiedono

Contiene gli indirizzi degli strati di memoria

dedicata ai processi

Si ha la rilocazione quando terminata

l’esecuzione di un task, il risultato viene

depositato in uno spazio di memoria

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Il gestore della memoria centrale

Il gestore della memoria (memory manager) è un

componente del sistema operativo dedito alla

gestione della memoria RAM disponibile sul

computer

Si preoccupa di allocare, deallocare e gestire la

memoria che viene assegnata sia agli applicativi che

allo stesso sistema operativo

Gestisce ordinatamente i task che in

contemporanea risiedono in memoria centrale

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Suddivisione della memoria centrale

La memoria centrale è suddivisa in (almeno) due

partizioni:

• partizione del Sistema Operativo Residente

• partizione dei processi utente

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

La memoria virtuale (1/2)

È la tecnica adottata dai sistemi operativi

multitasking attuali

Il principio è il seguente:

• ogni programma è diviso in blocchi di uguali

dimensioni detti blocchi logici

• analogamente la RAM è divisa in pagine fisiche di

dimensione uguale a quelle delle pagine logiche

• In tal modo non è necessario mantenere tutto il

programma nella memoria centrale

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

La memoria virtuale (2/2)

Caratteristiche:

• se la pagina del programma che contiene la

successiva istruzione da eseguire non è in memoria

si carica da disco (page swapping)

• occorre trovare spazio in memoria centrale (si

rilasciano le pagine già eseguite)

• la tabella può contenere le pagine in ordine sparso

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

La frammentazione della RAM (1/2)

La frammentazione è un indicatore della

quantità di memoria inutilizzabile a seguito di

una particolare configurazione dei processi

presenti nel sistema

Più alto è il tasso di frammentazione e peggiore

è l’utilizzo del sistema

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

La frammentazione della RAM (2/2)

La tecnica della memoria virtuale elimina la

frammentazione della RAM

Si utilizza la tecnica dello swapping per il

caricamento dei programmi (task)

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Lo swapping

Lo swapping riguarda il salvataggio dello stato

di un task nel momento in cui esso rilascia la

C.P.U. (swap-out) per far posto ad un nuovo

task (swap-in)

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

3) Gestore delle periferiche

Maschera al S.O. le caratteristiche hardware

delle periferiche

Gestisce le operazioni di input e output

Fornisce procedure di alto livello

• Es: scrittura su stampanti

• Es: operazioni di I/O sulle memorie secondarie

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

La gestione delle periferiche

I dispositivi visti a due livelli:

• Driver fisici (hardware)

o per trasferire e manipolare

• Driver logici (software)

o porzione del S.O. che fornisce funzionalità di alto livello

riguardanti le periferiche e il loro indirizzamento

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Driver fisico

Il device controller si occupa di gestire i

meccanismi fisici dell’unità di lettura dei dispositivi

esterni di I/O

• Es: unità di lettura di floppy disk

Interagisce con la CPU

• attraverso i registri

• attraverso una memoria dedicata alle operazioni I/O

(Memoria ad accesso diretto o DMA)

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

La DMA

Ha il compito di memorizzare le informazioni

che il device controller può usare per scrivere

in memoria direttamente senza passare

attraverso la CPU

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Driver logico

È un software che si occupa di mascherare i

device fisici:

• Gestisce gli errori in lettura/scrittura

• Gestisce i nomi e gli indirizzi del device driver

• Gestisce le code di attesa

o Es: code di stampa

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

4) File System

Consente la gestione dei dati presenti nelle

memorie di massa

I dati sono strutturati in modo gerarchico

utilizzando file e directory

Fornisce meccanismi per la gestione dei file

Garantisce la sicurezza dei dati (protezione dei

dati da accessi esterni)

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Gestione dei file

Le memorie di massa memorizzano grandi

quantità di dati

Sono garantite le seguenti caratteristiche:

• persistenza

• sicurezza

I dati vengono organizzati logicamente in file

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Il file

Il file è un insieme omogeneo di dati

• Nome

o identifica il file (e a volte il tipo con l’estensione)

• Struttura

o sequenza di blocchi (record) di byte suddivisa in campi

• Tipologia di accesso

o sequenziale, diretto, ecc

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Alcuni esempi di file in Windows

.exe sono programmi eseguibili

.txt sono file di testo semplice

.doc .xls .mdb .ppt sono documenti di office

.htm .html sono documenti ipertestuali

.wav .mp3 sono file audio

.jpg .gif .bmp .png sono file immagini

.mov .avi sono file video

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Le operazioni sui file

Il file system consente di:

• creare, cancellare, spostare, recuperare,

modificare i documenti nelle memorie di massa

(memoria persistente)

• modificare gli elementi di un file

• rinominare i file

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

La directory (cartella)

È un particolare file che contiene informazioni su

altri file

• organizza i file (dati) in modo gerarchico

• contiene la lista dei nomi dei file collegati

Il file system ha una struttura ad albero costituito da:

• Radice si riferisce all’intero file system

• Nodi interni directory

• Foglie documenti/programmi

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Gestione del file system in Windows

Per gestire il file system il Sistema Operativo

Windows mette a disposizione due strumenti:

• risorse del computer

• esplora risorse

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Gestione file system

L’allocazione può essere di tipologia:

• statica

• dinamica

I file possono essere memorizzati con:

• struttura di blocchi di byte collegati (ogni blocco

contiene l’indirizzo del successivo)

• struttura con indice (si mantiene una tabella in

memoria con gli indirizzi dei blocchi - FAT)

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

5) L’interprete dei comandi

Consente all’utente di lanciare i programmi

Contiene funzionalità per:

• cercare in memoria il programma

• allocare la memoria richiesta dal programma

• lanciare una funzione per eseguire il programma

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

Traduttori, linker e loader

Compilatore, Interprete

• traducono programmi scritti in linguaggio di alto

livello in linguaggio macchina

Linker

• collegano i programmi divisi in moduli

Loader

• si occupa del caricamento del programma compilato

nella memoria centrale

Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati

© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code

Insegnamento di Informatica – a.a. 2015-16

I miei contatti linkedin

http://it.linkedin.com/pub/francesco-ciclosi/62/680/a06/

facebook

https://www.facebook.com/francesco.ciclosi

twitter

@francyciclosi

www

http://www.francescociclosi.it