pon- mis.1.2 2003/20042004/2005 con stage pr. mars (microgravity advanced research and support...
TRANSCRIPT
PON- mis.1.2 2003/2004—2004/2005con stage pr. “MARS”
(Microgravity Advanced Research and Support Center) Via E. Gianturco, 31 – 80146 Napoli
attività di orientamento introduzione ai
DATA BASEProf.ssa Cutugno
Annamaria
Nuove metodologie di conoscenza distribuita
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
elaborazione a lotti
multiprogrammazione time-sharin
greal-timemultielaborazionesistemi dist
ribuiti
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.
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
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.
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 programmasi definisce RISORSA qualsiasi elemento hardware o software che viene usato da un processo e che ne condiziona l’avanzamento
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.
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.
Dischi/nas.
tastiera
scanner
input
elaboratore
output
Dischi/nas.
video
stampante
C.P.U.
R.A.M.
ALU
U.C.
Permette una visione astratta delle risorse, basata non sul dettaglio tecnico del loro funzionamento, ma sullo scopo che perseguono
Possiamo affermare che il S.O. costituisce l’interfaccia tra la macchina e l’uomo
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à.
Hardware
Nucleo
Gestore memoria
Gestore periferiche
Gestore informazioni
Utilità e applicativi
Lo strato n-esimo dipende solo dagli n-1 strati inferiori, dove lo strato 0 è l’hardware, ovvero la macchina fisica. Grazie a tutti i livelli sovrastanti si arriva alla macchina 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
PersistentenzaSicurezzaClassificazione
SoluzioneI 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 gerarchicacontiene 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 systemNodi interni = directoryFoglie = 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 conAllocazione continua di blocchi di byteAllocazione 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 fissoFloppy disk = dischettoCD Rom
Vari piatti sovrapposti, ogni piatto ha 2 superfici magnetiche sulle quali vengono memorizzati i dati Superfice suddivisa in tracce e settoriCilindro=tracce dei diversi dischi nella stessa posizioneIndirizzo dei dati memorizzati: sup-traccia-settoreDriver fisicopiatti+testine (una per sup.)
Driver logicosoftware di sistema che gestisce disco fisso (C: in
DOS)
Unico disco con 2 superfici magneticheVanno formattati cioè il sistema operativo determina numero settori, densità bit sul dischettoDriver fisico
unità di lettura con 2 testine una per ogni superficie
Driver logicosoftware 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.
•File System
•Storage
Gestione
dei File
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
• Le cartelle di Windows XP possono essere reali o virtuali
Una cartella reale corrisponde ad una directory vera e propria sul disco C:\WINC:\Program Files
Una cartella virtuale corrisponde ad una organizzazione logica degli oggetti di Windows XPRisorse del Computer (Consente l’accesso a
differenti drive)Risorse di rete (Visualizza le risorse connesse
in rete)
Una cartella reale corrisponde ad una directory vera e propria sul disco C:\WINC:\Program Files
Una cartella virtuale corrisponde ad una organizzazione logica degli oggetti di Windows XPRisorse del Computer (Consente l’accesso a
differenti drive)Risorse di rete (Visualizza le risorse connesse
in rete)
• 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
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