Corso di Sistemi di Elaborazione delle informazioni



Documenti analoghi
Corso di Sistemi di Elaborazione delle informazioni

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Corso di Informatica

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Il Sistema Operativo

Sistemi operativi. Esempi di sistemi operativi

Il Sistema Operativo (1)

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

Il Software. Il software del PC. Il BIOS

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

Il sistema operativo. Sistema operativo. Multiprogrammazione. Il sistema operativo. Gestione della CPU

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Le Infrastrutture Software ed il Sistema Operativo

12. Implementazione di un File System Struttura a livelli Allocazione contigua

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

Capitolo Silberschatz

IL SISTEMA OPERATIVO. Lezione 1

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Varie tipologie di memoria

Corso di Alfabetizzazione Informatica

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Il Sistema Operativo: il File System

Sistemi Operativi. 5 Gestione della memoria

Dispensa di Informatica I.1

La Gestione delle risorse Renato Agati

Gestione della memoria centrale

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

Sistema operativo: Gestione della memoria

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

Approccio stratificato

Informatica - A.A. 2010/11

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Corso di Sistemi di Elaborazione delle informazioni

11 Realizzazione del File System Struttura a livelli (fig. 11.1) 11.4 Allocazione dei file

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE

Mac Application Manager 1.3 (SOLO PER TIGER)

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base)

Pronto Esecuzione Attesa Terminazione

Infrastrutture Software

Il memory manager. Gestione della memoria centrale

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

PARTE 4 La Macchina Software

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Architettura di un calcolatore

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa

Funzioni del Sistema Operativo

Un sistema operativo è un insieme di programmi che consentono ad un utente di

Fondamenti di Informatica: Sistemi Operativi 1. Introduzione

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

GLI ARCHIVI DI DATI. File Un File è una sequenza di informazioni che costituisce una unità logica. Un file è un un contenitore di di informazioni

Il File System. Il file system

TITLE Sistemi Operativi 1

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

Architettura dei computer

Il sistema operativo

Informatica e Bioinformatica: Sistemi Operativi

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

Esame di INFORMATICA

Corso di Informatica

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi

DMA Accesso Diretto alla Memoria

Informatica: il sistema operativo

GESTIONE DEI PROCESSI

Gestione del file system

Materiali per il modulo 1 ECDL. Autore: M. Lanino

CPU. Maurizio Palesi

HARDWARE. Relazione di Informatica

Architettura del calcolatore

Architettura di un sistema di calcolo

Sistemi Operativi. 12 LEZIONE REALIZZAZIONE DEL FILE SYSTEM CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Operativi 2007/08

Modello dei processi. Riedizione delle slide della Prof. Di Stefano

Sistemi Operativi. Organizzazione logica ed implementazione di un File System

Indice degli argomenti del s.o. Software. Software. Buona lezione a tutti!! SISTEMI OPERATIVI

ESERCIZIO 1 (b) Dove è memorizzato il numero del primo blocco del file? Insieme agli altri attributi del file, nella cartella che contiene il file.

Struttura del calcolatore

Introduzione ai Sistemi Operativi

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

IL SOFTWARE TIPI DI SOFTWARE. MACCHINE VIRTUALI Vengono definite così perché sono SIMULATE DAL SOFTWARE, UNIFORMANO L ACCESSO SISTEMA OPERATIVO

Sistemi operativi e reti A.A Lezione 2

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore

2. Strutture dei Sistemi Operativi

Il software: Istruzioni per il computer. I tre tipi di software di sistema. Compiti del sistema operativo

Secondo biennio Articolazione Informatica TPSIT Prova Quarta

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

STRUTTURE DEI SISTEMI DI CALCOLO

Organizzazione Monolitica

Introduzione al sistema operativo Il file system: file, directory,...

Architettura hardware

Transcript:

Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi a.a. 2010/2011 Francesco Fontanella

Il Sistema Operativo Sistema Operativo 2

Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello; I suoi obiettivi sono: Convenienza: rende l uso del computer più semplice ed intuitivo; Efficienza: consente un utilizzazione efficiente delle risorse disponibili; Capacita di evoluzione: E possibile introdurre nuove funzionalità e/o migliorare le risorse hardware senza interferire con il servizio svolto 3

Le Funzioni Principali di un S.O. File system Gestione della memoria. Gestione dei processi; Gestione utenti; 4

Il File System Le unità di memoria di massa forniscono il supporto fisico per la memorizzazione permanente dei dati, e presentano caratteristiche estremamente diverse a seconda della casa costruttrice e del tipo di unità. Il File System offre una visione logica uniforme della memorizzazione dei dati basata su un unità di memoria logica, il file, definita indipendentemente dalle caratteristiche fisiche delle particolari unità. 5

Le Directory Le directory sono anch esse dei file; Una directory può contenere anche delle directory Una directory può essere vista come una tabella: Le directory consentono di raggruppare tra loro i file; Elemento della directory FILE 1 FILE 2..... FILE N Attributi Una directory contiene la lista dei nomi dei file e delle directory che contiene. Ogni suo elemento contiene tutte le informazioni relative ad un file. 6

Tree-Structured Directories 7

Organizzazione Fisica dei File su Disco Da un punto di vista fisico, la registrazione del file sul disco viene realizzata dal sistema operativo disponendo il contenuto del file su un insieme di cluster possibilmente contigui. La registrazione dei dati è organizzata in maniera sequenziale, per cui le operazioni di lettura e scrittura possono avvenire solo a partire dall inizio e procedendo verso la fine. La successione dei blocchi nei quali sono memorizzati i bytes che lo compongono può essere strutturata come: File Allocation Table Blocco 1 Blocco 2 Blocco N 8

La File Allocation Table Directory entry File Allocation Table Nome file Blocco di partenza 9

Il Concetto di File e la File Allocation Table La File Allocation Table (FAT) è la realizzazione fisica che implementa il concetto logico di File; E la FAT che ci consente di vedere (dall esterno del S.O.) un file come un unico contenitore un cui sono presenti tutti i dati che abbiamo memorizzato; La FAT è memorizzata nella parte iniziale del disco; La sua esatta posizione è decisa dal sistema operativo all atto della sua installazione; 10

FAT 32 FAT32 è un file system di Windows; FAT32 usa la File Allocation Table per localizzare la posizione dei file sul disco; Esso si basa sul concetto di cluster; Il suffisso 32 indica che sono utilizzati 32 bit per memorizzare l indice del cluster nella tabella; FAT16 è una versione precedente che usava 16 bit; 11

NTFS NTFS (New Technology File System) è il nuovo file system di Microsoft, sviluppato a partire da Windows NT; L'NTFS offre numerosi vantaggi rispetto al Fat32: è possibile utilizzare la condivisione di file e cartelle assegnando permessi di accesso al file in base all'utente o al computer) oppure utilizzare la compressione dei file. identifica i settori danneggiati e ne previene il futuro utilizzo. Si possono definire quote disco, ossia limiti di spazio ai vari utenti E possibile convertire un disco da Fat32 a NTFS, ma non viceversa. 12

I Cluster Un cluster è la quantità minima di disco che può essere allocata per un file ed è formata da un certo numero di settori consecutivi; Le dimensioni del cluster possono essere cambiate, poiché sono unità logiche e non fisiche: Cluster troppo grandi sprecano memoria, ma i file sono meno frammentati e si migliora il tempo di accesso; Cluster troppo piccoli riducono lo spreco di memoria, ma aumentano la frammentazione, peggiorando il tempo di accesso cluster 13

La Formattazione Formattare un dispositivo con FAT32 significa essenzialmente azzerare la sua File Allocation Table. In questo modo si eliminano tutti i riferimenti ai file presenti sul dispositivo; La cancellazione del FAT viene detta formattazione di alto livello (High Level Formatting). Esistono comunque programmi in grado di recuperare il contenuto del disco formattato; Per una eliminazione totale dei file dal disco è necessaria la formattazione di basso livello (Low Level Formatting). In tal modo i cluster vengono cancellati uno ad uno; 14

La Frammentazione del Disco Un file è fisicamente sul disco su un insieme di cluster che non sono quasi mai contigui, si parla di frammentazione. L uso nel tempo di un disco ne aumenta la frammentazione; Usare il disco significa: Aumentare o diminuire le dimensioni di file esistenti, questo comporta, in molti caso allocazione e deallocazione di cluster; Aggiunta di nuovi file (allocazione); Cancellazione di file esistenti (deallocazione); La frammentazione del disco aumenta il tempo di accesso ai file presenti. Infatti per recuperareun file frammentato sareanno necessarie molti spostamenti della testina del disco; 15

La Deframmentazione La maggior parte dei sistemi operativi moderni sono in grado di deframmentare il disco Sono cioè in grado modificare la posizione dei cluster sul disco, in maniera tale che i cluster di un file siano contigui; Tale operazione migliora le prestazioni del sistema, diminuendo il tempo di accesso ai file presenti su disco; 16

Gestione dei Files Operazioni definite sui file: Open Close Read Write Append 17

La chiamata READ Applicativo Read(file_name, mem_pos) Sistema operativo File System FAT block number HD Driver Cyl, sec, Hard disk 18

La Gestione dei Processi 19

Che cos è un processo? Un processo è un programma in esecuzione ed è caratterizzato da: Uno spazio di indirizzamento; Il valore contenuto nell insieme di registri del processore: program counter, instruction register, e l insieme di registri della CPU. la distinzione fondamentale tra processo e programma è che un processo è un entità attiva, dinamica caratterizzato ad ogni istante da un suo stato, un programma invece è un entità statica. 20

Lo spazio di Indirizzamento Lo spazio di indirizzamento è una lista di locazioni di memoria comprese tra un minimo ed un massimo che possono essere usate per la lettura e la scrittura; Contiene: il programma eseguibile; I dati del programma; Il suo stack STACK LIBERO DATI CODICE FFFF 0000 21

La Gestione dei Processi Molti programmi prevedono un elevato scambio di informazioni con le periferiche di I/O. Quando un programma chiede un operazione di I/O la CPU è ferma in attesa del completamento dell operazione; In alcuni casi, il tempo di attesa di I/O può arrivare anche al 80 o al 90% del tempo totale di esecuzione di un programma. Si ha un notevole spreco della risorsa CPU (tempo macchina); 22

La Gestione dei processi Il problema della gestione dei processi si presenta ai giorni nostri in maniera diversa. Lo stesso sistema operativo è un insieme di programmi che devono essere eseguiti conteporaneamente. Ma generalmente si ha a disposizione un unica CPU che lavora in maniera sequenziale (modello di Von Neumann): come è possibile fare in modo che questi processi vengano eseguiti insieme? L unico modo è quello di simulare il parallelismo 23

La Multiprogrammazione La multiprogrammazione implica la gestione delle principali risorse disponibili: Il tempo macchina; MEMORIA P 1 La memoria; P 2 La gestione delle periferiche; STACK LIBERO DATI CODICE... P n 24

Il Tempo Macchina Il tempo macchina della CPU viene quantizzato; In pratica, la risorsa tempo viene suddivisa in parti uguali chiamate: ticks (istanti). Ogni processo viene eseguito per un certo numero di ticks e poi messo in attesa 25

Gli Stati di un Processo ESECUZIONE 1 2 BLOCCATO 4 3 PRONTO 1. Blocco in attesa di I/O; 2. Viene scelto un altro processo; 3. Il processo viene scelto; 4. L attesa per I/O è terminata; 26

Lo Sceduling La simulazione di questo parallelismo viene chiamata scheduling La parte del SO che si occupa della sceduling è lo scheduler Lo scheduler fa parte del kernel del SO P1 P2. Pn SCHEDULER 27

Lo Sceduling Abbiamo visto che un processo è caratterizzato dal contenuto di tutti i suoi registri nel momento in cui viene sospeso. Il contenuto dei registri di un processo rappresenta un istantanea del processo in esecuzione al momento della sua interruzione. Quest istantanea deve ripristinata all atto della ripresa di quello specifico processo.il contenuto dei registri di un processo rappresenta un istantanea del processo in esecuzione al momento della sua interruzione. Quest istantanea deve ripristinata all atto della ripresa di quello specifico processo. 28

La Tabella dei Processi Ogni processo è rappresentato nel SO da una struttura dati chiamata Process Control Block (PCB) che contiene tutte le informazioni su un determinato processo: Identificativo del processo (Process Identification Number, PID); stato (ready, waiting,...); Program Counter, e registri CPU; (indirizzi delle aree di memoria assegnate (dati, codice, stack); Informazioni di I/O; Informazioni per lo scheduling; 29

Lo Sceduling Lo scheduler gestisce una particolare struttura dati chiamata tabella dei processi Nella tabella dei processi sono memorizzati tutti i dati relativi ai processi in esecuzione La transizione tra i processi è possibile tramite un meccanismo hardware chiamato interruzione (interrupt). Il meccansimo degli interrupt è per l appunto quello che consente di interrompere un processo in esecuzione per l avvio di un altro processo. 30

Le Interruzioni Il meccanismo delle interruzioni è implementato in hardware; Quando arriva un interruzione la CPU salva in maniera automatica le parti essenziali del programma in esecuzione e fa partire lo scheduler che poi porta a termine il lavoro; Le interruzioni possono essere di due tipi: Software (o Interne): è generata all interno del processore da una particolare istruzione (Es: chiamata di sistema) Hardware (o esterne) : è generata all esterno del processore dalle periferiche (Es: l hard-disk comunica che ha terminata la lettura di un cluster); 31

Le Interruzioni Hardware Le interruzioni hardware sono implementate per mezzo di particolari circuiti presenti sulla scheda madre chiamati PIC (Programmable Interrupt Controller) Tutte le periferiche provocano gli interrupt tramite il PIC, il quale dopo aver ricevuto conferma dalla CPU, invia sul bus dei dati l indirizzo del codice da avviare per gestire l interruzione 00 02 04 CPU bus 00F4 0C30 0D44 indirizzo PIC 0 1 2 3 4 5 6 TIMER keyboard hard disk floppy Vettore delle interruzioni RAM 32

I Thread Il concetto di processo è associato a quello di thread, abbreviazione di Thread of execution (filo di esecuzione) con cui si intende l'unità granulare in cui un processo può essere suddiviso. Un processo ha sempre almeno un thread (sé stesso), ma in alcuni casi un processo può avere più thread che vengono eseguiti in parallelo. Mentre i processi sono fra loro indipendenti (utilizzano diverse aree di memoria ed interagiscono solo mediante appositi meccanismi di comunicazione) i thread condividono le medesime informazioni di stato, la memoria ed altre risorse di sistema. Mentre la creazione di un nuovo processo è sempre onerosa per il sistema in quanto devono essere allocate le risorse necessarie alla sua esecuzione, il thread è parte del processo, e quindi una sua nuova attivazione viene effettuata in tempi ridottissimi. 33

I Thread Processo a thread singolo Processo a thread multipli 34

Thread e Processi L esecuzione di diversi thread in parallelo deve essere supportata comunque dal sistema operativo, Le differenze fondamentali tra thread e processi sono: Il processo è l entità a cui sono assegnate tutte le risorse di sistema per l'esecuzione di un programma, tranne la CPU. Il thread è è l entità a cui sono a cui è assegnata la CPU per l'esecuzione. I thread devono essere supportati dal sistema operativo (Multithreaded) 35

Il Task manager di Windows In windows I processi possono essere visualizzati per mezzo del task manager. Questo programma può essere invocato premendo conteporaneamente I tasti ctrl alt canc 36

Il Task manager di Windows 37

La Gestione della Memoria 38

Gestione della Memoria La parte del SO che si occupa della gestione della memoria è il gestore della memoria (memory manager). Il suo compito è: Sapere, ad ogni istante, quali parti della memoria sono in uso e quali no; Allocare memoria ai processi quando ne hanno bisogno; Deallocare la memoria dei processi che hanno terminato; 39

Gestione della Memoria Altri compiti del gestore della memoria sono: Implementare il meccanismo della memoria virtuale; Implementa un meccanismo di protezione: impedisce che un programma possa accedere ad uno spazio di memoria esterno a quello che gli è stato assegnato; 40

La Frammentazione della Memoria L utilizzazione della memoria da parte di diversi processi che vengono iniziati e terminati dagli utenti è un processo dinamico e poco prevedibile e porta ad una frammentazione dello spazio di memoria C è bisogno di una strategia di allocazione dello spazio di memoria ai vari processi, in maniera tale da ottimizzare al massimo l impiego delle risorse disponibile e ridurre gli sprechi. RAM P 1 P 2 P 3 Il gestore della memoria memorizza la situazione della memoria istante per istante e applica la strategia scelta SISTEMA OPERATIVO 41

La Memoria Virtuale Molto spesso la quantità di memoria richiesta dall insieme dei programmi in esecuzione eccede quella disponibile. Si usa la memoria virtuale, la quantità di memoria richiesta dai programmi può superare quella fisica effettivamente disponibile: l idea è quella di tenere in memoria solo le parti i dati e i programmi effettivamente utilizzati in quel momento. Mentre tutte le altre parti vengono spostate sul hard disk e caricate in memoria solo quando sono effettivamente richieste. La memoria virtuale utilizza lo spazio di indirizzamento virtuale 42

La Memoria Virtuale Quando si usa la memoria virtuale gli indirizzi che fanno riferimento sia ai dati che alle istruzioni sono chiamati indirizzi virtuali formano lo spazio di indirizzamento virtuale Gli indirizzi di memoria non vengono mandati direttamente sul bus ma ad un circuito speciale chiamato Memory Management Unit (MMU) che trasforma l indirizzo virtuale in indirizzo fisico. Scheda CPU CPU MEMORIA HARD DISK MMU bus 43

La Paginazione Lo spazio di indirizzamento virtuale viene diviso in pagine, le quali hanno dimensioni fisse e sono le quantità minime di memoria, spostate da e per la memoria. La MMU contiene una tabella delle pagine che associa gli indirizzi virtuali a quelli fisici. Quando una pagina non si trova sul disco il MMU chiama il gestore della memoria che toglierà dalla memoria fisica la pagina usata meno di recente e vi inserirà quella richiesta Memoria virtuale 64k 0000 x x x x 7 x 5 x x x Memoria Fisica 32k 3 4 6 0 1 2 0000 44

Interprete dei Comandi 45

L Interprete dei Comandi L interprete dei comandi (o shell) è la parte più esterna del SO con la qual l utente interagisce; Attraverso l interprete, l utente richiede un servizio al SO (esecuzione di un programma, copia di un file, ecc.) l utente inserisce un comando in accordo ad una certa sintassi l interprete riconosce il comando ed attiva una serie di funzioni dei livelli interni l esecuzione di tali funzioni di fatto porta al compimento del comando richiesto L interprete si presenta con un interfaccia di tipo alfanumerico con un interfaccia di tipo grafico (GUI) 46

L Interprete dei Comandi Interfaccia alfanumerica (finestra DOS) comandi uscite 47

L Interprete dei Comandi Interfaccia GUI 48

La Gestione degli Utenti 49

La Gestione degli Utenti Il problema della gestione degli utenti si è presentato sin dalle prime generazioni di utenti: una singola macchina doveva essere accessibile a molte persone, ma non a tutte! L accesso deve essere consentito e anche garantito solo agli utenti autorizzati, i quali devono essere riconosciuti dal SO (username, password). Ogni utente deve accedere solo alle proprie risorse e non a quelle altrui. In tali sistemi ai file devono essere associate tutte le informazioni relative all utente che ne è proprietario e quali sono i diritti di accesso da parte degli altri utenti. Si parla di autorizzazioni. 50

La Gestione degli Utenti Il concetto di gruppo un gruppo è un insieme di utenti che condividono un certo insieme di risorse. Es. il gruppo degli studenti di Ing Meccanica possono condividere l accesso ad una specifica cartella, e a deteminati programmi. L amministratore di sistema E un utente speciale che può accedere a tutte alle risorse assegnate agli utenti presenti. E l unico che può effettuare determinate operazioni: Inserimento di nuovi utenti Cancellazione di utenti Modifica delle autorizzazioni 51