Nuove metodologie di
conoscenza distribuita
PON- mis.1.2
2003/2004—2004/2005
con stage pr. “MARS”
(Microgravity Advanced Research and Support Center)
Via E. Gianturco, 31 – 80146 Napoli
attività di orientamento
introduzione ai
DATA BASE
Prof.ssa Cutugno Annamaria
ATTIVITA’
• Introduzione ai S.O.—File system—
S.O.Microsoft—Archivi di dati
• Modello dei dati e progetto software
• Le basi di dati
• Ambienti software per data base
• Il linguaggio SQL e Access
Un Sistema Operativo
(S.O.) viene definito come
“un programma o un insieme
di programmi, che
garantisce agli utenti una
visione astratta delle
risorse ed una loro gestione
corretta, sicura ed
efficiente”.
sistemi
dedicati
multiprogrammazione
real-time
sistemi
distribuiti
elaborazione
a lotti
time-sharing
multielaborazione
Per sfruttare al meglio i tempi della CPU è
necessario che in memoria siano
contemporaneamente presenti diversi
programmi in modo tale che se uno di essi
non può continuare l’esecuzione (in attesa
del completamento di un trasferimento di
I/O) sia possibile proseguire subito quella
di un altro programma. Tale concetto è
noto come multiprogrammazione ed ha
determinato la vera e propria nascita dei
SO come disciplina di studio.
Il S.O. deve gestire la condivisione delle risorse sia
software che hardware e tale capacità esprime il
grado di multiprogrammabilità di un sistema, ovvero il
numero dei processi contemporaneamente attivi sulla
stessa C.P.U.
Nasce così la multiprogrammazione che prevede
l’esistenza di un S.O. che tenga conto che più
processi possono avanzare contemporaneamente, in
parallelismo apparente, su una stessa C.P.U.
I vantaggi della multiprogrammazione sono evidenti
quando ci sono operazioni di I/O di una certa
lunghezza, oppure quando vengono elaborati una
serie di processi con diversi tempi di esecuzione
La multiutenza, invece, è la modalità in base alla quale
più utenti collegati possono contemporaneamente
contendersi l’uso delle risorse del sistema.
Quando uno dei processi attivi richiede un’operazione
di I/O, la C.P.U. si dedica ad un altro processo in
attesa. In altri termini le esecuzioni di più programmi
possono ‘inserirsi’ nel tempo (interleaving) le une nelle
altre in modo che la C.P.U. non debba mai aspettare
che i dispositivi di I/O abbiano ultimato un’operazione
di trasferimento
Tempo
C.P.U.
I/O
A
B
pronto
esecuzione
attesa
(o blocco)
Un SO in cui il processore viene assegnato “a
turno” e per un certo tempo (quanto di tempo o
time slice) a più utilizzatori, collegati all’unità
centrale tramite terminali. Si ottiene così un
sistema multiprogrammato, caratterizzato dalla
presenza simultanea di diversi programmi nella
memoria centrale e dalla loro esecuzione basata
sui quanti di tempo ed operazioni di I/O. Inoltre
i sistemi a partizione di tempo sono la risposta
alla necessità di permettere un rapporto
utente-calcolatore di tipo interattivo.
pronto
esecuzione
attesa
(o blocco)
Lo sviluppo di sistemi operativi multiprogrammati e
del time sharing, ha spinto lo sviluppo dei sistemi
hardware, rendendoli sempre più veloci, efficienti e
poco costosi, sino alla generazione dei PC, utilizzati
nelle case come un comune elettrodomestico.
Oggi, riferito alla generazione dei PC con S.O.
Windows , si parla di multitasking.
Bisogna dunque dare la seguente definizione:
Con il termine multitasking definiamo la capacità di un elaboratore
di servire più processi dando a ciascuno l’impressione di utilizzare
la macchina reale e mettendo invece a loro disposizione solo il
servizio di una macchina virtuale. Il multitasking simula quindi la
presenza di più elaboratori all’interno di uno stesso sistema,
servendo più processi e gestendo adeguatamente le diverse
risorse di cui dispone
L’evoluzione dei S.O. ha indotto i ricercatori a studiare i problemi
legati all’esecuzione di diverse attività parallele gettando le basi
teoriche di quella importante disciplina dei S.O. oggi nota come
Programmazione Concorrente contrapposta alla Programmazione
Sequenziale comunemente intesa. La multielaborazione è la
modalità secondo la quale più processi avanzano, in un parallelismo
reale, su un sistema costituito da due o più C.P.U. autonome, ma
interconnesse, che condividono l’utilizzo dalla memoria centrale, e
delle periferiche. Secondo M.J.Flynn fu fatta una classificazione
delle possibili architetture di un sistema di calcolo, tra queste
viene introdotto il concetto di sistema a più processori
(multiprocessor). Ad una di queste classi appartengono quei
sistemi multiprocessor in cui i vari processori eseguono
simultananeamente istruzioni diverse su dati diversi
Un esempio di macchine MIMD (Multiple Istruction
Stream—Multiple Data Stream) è rappresentato dai
sistemi ad architettura distribuita, in cui tra i vari
processori vengono distribuite non solo le risorse di
calcolo e di memorie, come i sistemi paralleli, ma anche
risorse di tipo più generali, come le Basi di Dati.
Le architetture distribuite sono costituite da un insieme
di sistemi, collocati anche a grande distanza, che possono
comunicare tra loro mediante un sottosistema di
comunicazione. Naturalmente un tale sistema richiede la
presenza di un S.O. che consenta di integrare le funzioni
dei singoli sottoinsiemi. Tale integrazione può essere
ottenuta mediante una rete di calcolatori.
In generale, per l’organizzazione di sistemi di
questo tipo, possono essere utilizzati due tipi di
schemi:
•strettamente accoppiato (tightly coupled), in cui i
processori condividono clock di sistema e memoria
e la comunicazione avviene attraverso quest’ultima;
•debolmente accoppiato (slighty coupled) dove ogni
processore dispone di una memoria locale e i
singoli processori comunicano attraverso bus ad
alta velocità o linee telefoniche
•condivisione delle risorse: se più nodi con diverse
potenzialità sono collegati tra loro, l’utente ha la
possibilità di usufruire delle risorse di un’altro;
•accelerazione del calcolo: quando un calcolo può essere
suddiviso in diverse sottoelaborazioni, è possibile
pensare ad un’esecuzione concorrente distribuendo le
varie sottofunzioni su diverse postazioni di un sistema
distribuito. Inoltre, se in un certo istante una
postazione è sovraccarica, il processo può essere
inviato
ad
un’altra
postazione
che
risulti
temporaneamente libera, diminuendo così i tempi
d’attesa;
•affidabilità: se una postazione di un sistema
distribuito improvvisamente si guasta, le restanti
postazioni possono assumere anche il carico di quella
malfunzionanate;
•comunicazione: più postazioni sono collegate tra loro,
è possibile scambiare messaggi e dati da un nodo
all’altro.
Concetti di base
si definisce PROCESSO la sequenza di
transizioni compiute dal sistema
durante l’esecuzione di un programma
si definisce RISORSA qualsiasi
elemento hardware o software che
viene usato da un processo e che ne
condiziona l’avanzamento
Il ruolo principale di un S.O. è la gestione e il
coordinamento delle risorse di cui il sistema dispone. Le
risorse sono dette riusabili quando possono essere date
in uso ripetutamente a diversi processi. Il numero
massimo
di
processi
che
possono
usare
contemporaneamente la risorsa R è detta molteplicità di
R. Se la molteplicità di R è unitaria essa è detta seriale,
ad esempio la C.P.U., la stampante, un file con operazioni
di lettura/scrittura. Sono risorse non seriali, anzi a
molteplicità infinita, ad esempio, le aree di memoria
accessibili per la sola lettura.
Se R è una risorsa a molteplicità finita, ogni processo
deve svolgere la seguente sequenza di azioni:
1. Richiesta e ottenimento di R;
2. Uso di R;
3. Rilascio di R.
Possiamo affermare che il S.O.
costituisce l’interfaccia tra la
macchina e l’uomo
elaboratore
Permette una visione
astratta delle risorse,
basata
non
sul
dettaglio tecnico del
loro
funzionamento,
ma sullo scopo che
perseguono
C.P.U.
ALU
input
output
U.C.
Dischi/nas.
tastiera
scanner
Dischi/nas.
R.A.M.
video
stampante
La classica struttura a “cipolla” favorisce tale visione, in
quanto viene istituita una gerarchia di livelli di astrazione
tale da consentire che ciascun livello ignori i dettagli di
ciò che accade ai livelli inferiori, ma nel contempo ne
utilizzi le funzionalità.
Lo
strato
n-esimo
Utilità e applicativi
dipende solo dagli n-1
strati inferiori, dove lo
Gestore informazioni
strato 0 è l’hardware,
Gestore periferiche
ovvero
la
macchina
fisica. Grazie a tutti i
Gestore memoria
Nucleo
livelli sovrastanti si
arriva alla macchina
Hardware
virtuale.
Gli strati
prevedono le seguenti
funzioni che mostra la
figura
Ogni S.O. prevede un componente noto come File System che consente
al programmatore un discreto livello di astrazione sull’uso della
memoria secondaria e mette a disposizione degli utenti adeguati
meccanismi di protezione. Il F.S di ogni S.O. deve assolvere i seguenti
compiti:
Rendere disponibili alcuni tipi di files implementati secondo la
filosofia dei tipi astratti di dato.
Prevedere un sistema di identificazione che consenta agli utenti di
riferirsi agevolmente ad uno specifico file e che rende efficiente lo
stesso processo di identificazione.
Consentire la condivisione di files.
Rendere disponibili dei meccanismi di protezione dei files.
Rendere disponibili alcune operazioni di utilità.
Gestire le aree di memoria secondaria in modo efficiente
raggiungendo un soddisfacente compromesso fra efficienza in spazio
ed efficienza in tempo.
Memoria di massa serve per gestire
grandi quantità di dati
Persistentenza
Sicurezza
Classificazione
Soluzione
I dati vengono organizzati logicamente in
file e gestiti dal sistema operativo
E’ un file di tipo speciale che mantiene
informazioni su altri file
permette di strutturare insiemi di file (dati) in
maniera gerarchica
contiene la lista dei nomi e attributi dei file e
directory al suo interno
Quindi: il file system ha una struttura ad albero
Radice = radice dell’intero file system
Nodi interni = directory
Foglie = documenti/programmi
In un’organizzazione ad albero i nomi devono
contenere informazioni sui cammini sui quali si
trovano i corrispondenti file
Nomi relativi:
relativi ad una particolare directory
Nomi assoluti:
specificano il cammino a partire dalla radice
(root) del file system (mai ambigui)
File possono venire memorizzati con
Allocazione continua di blocchi di byte
Allocazione collegata (un blocco contiene
l’indirizzo del prossimo)
Allocazione con indice (si mantiene una tabella
in memoria per recuperare i blocchi) – DOS I-node: tabella con puntatori ad altre tabelle
(combina le ultime due) – UNIX –
Il device controller controlla i meccanismi fisici
dell’apparecchiatura
(es. unità di lettura di floppy disk)
Il device controller dialoga con la CPU attraverso
registri e attraverso una memoria dedicata alle
operazioni I/O chiamata DMA (Memoria ad
accesso diretto)
La DMA memorizza informazioni che il device
controller puo usare per scrivere in memoria
direttamente senza passare attraverso la CPU
Software che maschera i device fisici
Gestisce gli errori in lettura/scrittura
Gestisce i nomi del device driver
Gestisce i demoni per code di attesa per
l’utilizzo di device
•ad es code di stampa
Memoria persistente e di accesso
lento
Hard disk = disco fisso
Floppy disk = dischetto
CD Rom
Vari piatti sovrapposti, ogni piatto ha 2 superfici
magnetiche sulle quali vengono memorizzati i dati
Superfice suddivisa in tracce e settori
Cilindro=tracce dei diversi dischi nella stessa posizione
Indirizzo dei dati memorizzati: sup-traccia-settore
Driver fisico
piatti+testine (una per sup.)
Driver logico
software di sistema che gestisce disco fisso (C: in
DOS)
Unico disco con 2 superfici magnetiche
Vanno formattati cioè il sistema operativo
determina numero settori, densità bit sul
dischetto
Driver fisico
unità di lettura con 2 testine una per ogni
superficie
Driver logico
software che gestisce trasferimento dati da/su
floppy (driver A: in DOS)
Caratteristiche principali
dell'architettura dei S.O.Win.
Configurazione dinamica dell'ambiente e dei componenti
hardware. Plug and Play
Miglioramento delle prestazioni globali e della pulizia del
sistema dopo errori di applicazioni o di driver.
Supporto del modello di driver Win32 (WDM).
Un componente kernel a 32 bit che permette la gestione
della memoria.
Modalità avanzata.
Driver a 32 bit installati per il supporto dei file system
FAT16, FAT32, ISO 9660, ISO 13346, per il
reindirizzamento di rete e per prestazioni più elevate.
Partizionamento del disco rigido.
Gestione
dei File
•File System
•Storage
File System
Windows XP supporta tre tipi di File System
– FAT (FAT16) – fino a 4GB
• Per compatibilità verso il basso con altri S.O.
• Semplifica l’upgrade da un altro S.O.
• Consente ai sistemi multi boot di condividere i dischi
– FAT32 – fino a 32GB
• Usato per dischi di grande capacità,
• Consente la condivisione dei dischi con Windows
95/98 nel caso di multi boot
– NTFS (Il File System proprietario) – fino a 4TB
• Usato per dischi di capacità superiore
• Offre servizi di compressione e di crittografia
• Offre servizi di Sicurezza
File System
• Qualunque sia il File System implementato,
esso è organizzato in maniera gerarchica
– Cartelle
– File
 Windows rappresenta
tutti gli oggetti, file e
cartelle, con icone
Cartelle

cartella reale
directory vera e
• Una
Le cartelle
di corrisponde
Windowsad
XPunapossono
propria sul disco
essere reali o virtuali
 C:\WIN
 C:\Program Files
 Una cartella virtuale corrisponde ad una
organizzazione logica degli oggetti di Windows XP
 Risorse del Computer (Consente l’accesso a
differenti drive)
 Risorse di rete (Visualizza le risorse connesse in
rete)
Nomi dei File
• Possono essere lunghi 255 caratteri
• Possono contenere:
– Tutte le lettere (A-Z), maiuscole e
minuscole
– Tutte le cifre (0-9)
– Molti segni di punteggiatura e caratteri
speciali come la virgola, il punto, il punto
e virgola, lo spazio, etc.
Nomi dei File
• Quando si salva un file con un nome
lungo, Windows XP crea anche un
nome breve detto alias.
• Questo è necessario per compatibilità
verso il basso con altri sistemi
operativi
• Esempio:
– My First C Program.c
– alias MYFIRS~1.C
Nomi dei File
• I nomi dei file devono essere unici in
ogni cartella
• Windows è case insensitive
– Lettere maiuscole e minuscole possono
essere usate per migliorare l’impatto
visivo, ma Windows non le distingue
Protezione dei File
• Ai file e alle cartelle possono essere
assegnati differenti attributi per
controllarne l’accesso
• Attributi “RASH”
–
–
–
–
Read only (sola lettura)
Archive (archivio)
System (sistema)
Hidden (nascosto)
Associazione
File - Applicazione
• Windows XP permette di mantenere
un elenco di associazioni tra tipi di
file e applicazioni
– Esempio: File.txt è associato a Notepad
• L’ associazione tra programma e file
può essere modificata dall’utente
– Esempio: File.txt può essere associato a
Word
Storage
• Windows XP supporta due tipi di
memorizzazione su disco fisso
 Basic Storage – compatibile con altri S.O.
 Consente la configurazione di partizioni primarie e di
partizioni estese
 Consente fino a quattro partizioni per hard disk
 I P.C. portatili usano solo la basic storage
 Windows XP può essere installato solo in partizioni di tipo
basic storage
 Dynamic Storage – supportata da Windows
2000/XP
 Configurata come dischi dinamici
 Due o più dischi fisici possono appartenere ad un unico
disco dinamico
 I dischi dinamici sono divisi in volumi
Dynamic Storage
• Volume – una porzione di disco
dinamico che funziona come un disco
separato
– A ogni volume è assegnata una lettera
identificativa
– Solo Windows 2000 e XP possono
accedere ai dati sul volume
• Vi sono tre tipi di volumi
– Simple volume
– Spanned volume
– Striped volumes
Simple Volume
• E’ contenuto in un solo disco fisico
Spanned Volume
• E’ contenuto su due o più dischi fisici
Striped Volume
• Memorizza i dati in strisce uguali
distribuite su due o più (fino a 32) dischi
fisici
Scarica

Nuove metodologie di conoscenza distribuita