Parte VI SISTEMI OPERATIVI



Documenti analoghi
Parte VI SISTEMI OPERATIVI

Il Sistema Operativo (1)

Il Software. Il software del PC. Il BIOS

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

Architettura hardware

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

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

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

Nozioni di Informatica di base. dott. Andrea Mazzini

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

Il computer: primi elementi

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

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

Il Sistema Operativo

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 :

Corso di Informatica

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

Informatica per la Storia dell Arte. Anno Accademico 2014/2015

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Le Infrastrutture Software ed il Sistema Operativo

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

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

Sistemi operativi. Esempi di sistemi operativi

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo

Architettura dei computer

Sistemi Operativi Kernel

Informatica - A.A. 2010/11

Architettura hardware

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

Approccio stratificato

CdL in Medicina Veterinaria - STPA AA

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

Organizzazione della memoria

Esame di INFORMATICA

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

PARTE 4 La Macchina Software

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

La Gestione delle risorse Renato Agati

Introduzione ai Sistemi Operativi

Parte V. Sistemi Operativi & Reti. Sistemi Operativi. Sistemi Operativi

Dispensa di Informatica I.1

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

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

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

Sistema operativo: Gestione della memoria

Varie tipologie di memoria

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

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

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

Il sistema operativo

MODULO 02. Iniziamo a usare il computer

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

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

Il Sistema Operativo: il File System

Informatica e Bioinformatica: Sistemi Operativi

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Laboratorio di Informatica

Architettura del calcolatore

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

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

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

Informatica. Teoria. L architettura dei PC Storia dell informatica Periferiche Reti - Software. Marco Brama

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

Sistemi operativi e reti A.A Lezione 2

Memoria Secondaria o di Massa

Laboratorio di Informatica

Laboratorio di Informatica

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

CPU. Maurizio Palesi

Parte VI SISTEMI OPERATIVI

Software di base. Corso di Fondamenti di Informatica

FPf per Windows 3.1. Guida all uso

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

Sistemi Operativi. Modulo 2. C. Marrocco. Università degli Studi di Cassino

Gestore di Memoria. Gestire le richieste di risorse di memoria Liberare le risorse non più utilizzate. Gestire la memoria virtuale (swap su disco)

Funzioni del Sistema Operativo

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Active Directory. Installatore LAN. Progetto per le classi V del corso di Informatica

Informatica: il sistema operativo

Sistemi Operativi. 5 Gestione della memoria

CdL in Medicina Veterinaria - STPA AA

Architettura dei calcolatori II parte Memorie

Corso di Informatica

Hardware delle reti LAN

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

Cosa è un foglio elettronico

Il software. la parte contro cui si può solo imprecare. Funzioni principali del sistema operativo. (continua) Gestione della memoria principale

Architettura di un sistema operativo

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale

Corso di Sistemi di Elaborazione delle informazioni

Laboratorio di Informatica di Base Archivi e Basi di Dati

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

Il File System. Il file system

Il database management system Access

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

La memoria - generalità

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.

Corso di Alfabetizzazione Informatica

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

Transcript:

Parte VI SISTEMI OPERATIVI

Sistema Operativo Ogni computer ha un sistema operativo necessario per eseguire gli altri programmi Il sistema operativo, fra l altro, è responsabile di riconoscere i comandi di input (da tastiera) e di inviarne una copia sullo schermo gestire l uscita dei dati (modem, rete, stampante ecc.) gestire l archivio dei file (dischi) gestire le unità di memoria aggiuntiva (dischi, dvd, cd, ecc.) gestire la sicurezza (autorizzazione all utilizzo del sistema). Nei sistemi di grandi dimensioni il sistema operativo è anche responsabile della gestione e del coordinamento fra i diversi utenti che utilizzano il sistema 2

Sistema Operativo Non facile da definire esattamente definizione informale Quello che nel sistema non è applicazione o hardware Software che permette alle applicazioni di utilizzare in modo conveniente l hardware Utenti Applicazioni Word processing, compilatori, basi dati... Sistema Operativo Hardware dispositivi I/O,dischi, CPU, memoria... 3

Sistema Operativo Definizione Formale : Il sistema operativo è un insieme di programmi, invisibili all utente, che si interpongono tra l hardware e i programmi applicativi/utility visibili all utente (interfaccia utente) per governare l hardware nascondendo le diversità di hardware al software applicativo. Il sistema operativo quindi forma uno strato di software che opera direttamente sull hardware, isolando i dettagli dell architettura hardware (attraverso i driver che sono parti di sistema operativo adattate alle specifiche caratteristiche dell hardware) e fornendo un insieme di funzionalità e di astrazioni ad alto livello. 4

Obiettivi del sistema operativo semplificare e ottimizzare l accesso alle risorse dell sistema garantire la correttezza dell esecuzione concorrente assicurare la portabilità delle applicazioni indipendenza dalla piattaforma: stesso hardware sono possibili diversi SO stesso SO può girare su piattaforme HW diverse 5

Sistema operativo e CPU Struttura a livelli Il livello 2 è il più basso al quale un utente può programmare la macchina Normalmente la programma a livello 5 6

Sistema operativo e CPU Le unità funzionali principali sono: Gestione dei processi ( ogni programma in corso nel computer ) Gestione della memoria centrale Gestione delle periferiche File system L insieme di questi moduli costituisce il nucleo del sistema operativo, denominato anche kernel. Il sistema operativo possiede inoltre una interfaccia per l`interazione con l`utente che è formata dall insieme dei programmi di utilità o utilities. Esempio: in DOS i comandi copy e rename permettono di copiare e ridenominare i file; comandi analoghi in altri sistemi; In Windows interfacce grafiche permettono di dare comandi con interazione diversa (ad esempio click con il mouse). 7

Virtualizzazione delle risorse le applicazioni e i programmi (che poggiano sul SO) vedono risorse virtuali ignorano i dettagli eventuali altri programmi in concorrenza risorse virtualizzate CPU: Multiprogrammazione (più programmi sono eseguiti concorrentemente) memoria: ciascun programma vede uno spazio di memoria autonomo I/O: la memoria di massa (dischi) e periferiche di I/O sono viste dai programmi tramite il SO 8

Sistema operativo e CPU Funzioni Sistema operativo Gestione dei processi Memoria virtuale I/O dei file 9

gestione dei processi processi concorrenti elaborati in parallelo su architetture multiprocessore elaborati a rotazione (time sharing) su architetture uniprocessore problemi: sincronizzare l utilizzo delle risorse comuni (memoria centrale e di massa, I/O) garantire accesso in mutua esclusione garantire la correttezza della elaborazione 10

gestione dei processi stati di un processo running: in esecuzione sulla CPU blocked: bloccato in attesa di un evento (fine I/O,...) ready: pronto a riprendere la sua elaborazione scheduler: processo del SO che decide quale fra i processi ready mandare in esecuzione 11

gestione dei processi scheduler: processo del SO che decide quale fra i processi ready mandare in esecuzione In un computer ci possono essere molti programmi in corso di esecuzione (caricati in memoria centrale) dello stesso utente o di utenti diversi. E compito di un programma del sistema operativo (schedulatore) commutare l attività della CPU tra i vari programmi in corso di esecuzione dedicando a ciascuno una piccola porzione del tempo di elaborazione in modo che si abbia la percezione che tutti i programmi avanzino contemporaneamente. 12

gestione dei processi i Sistemi operativi possono essere classificati nel seguente modo: multi-user : multiutente (due o più utenti utilizzano il programma (anche migliaia nei casi più grandi) multiprocessing : permette la possibilità che un programma sia eseguito da più processori (CPU) multitasking : permette che uno o più programmi siano eseguiti concorrentemente (anche dello stesso utente) multithreading : permette che diversi parti di un unico programma siano eseguite concorrentemente. Usano il time sharing, condivisione del tempo fra più utenti o più programmi Il processore centrale è commutato velocemente da un programma ad un altro 13

gestione dei processi Windows: è un prodotto di Microsoft con licenza commerciale adatto a qualsiasi hardware di tipo PC compatibile. In realtà è formato da varie famiglie di sistemi operativi diversi destinati a categorie diverse di computer. Gli esempi che seguono sono tutti caratterizzati dall appartenere ad una unica famiglia di Windows chiamata genericamente Win32 per indicare che sfruttano la capacità di indirizzamento a 32 bit offerta dalle CPU Intel o compatibili a partire dall 80386 14

gestione dei processi Windows: Windows 95/98/ME/XP-HOME: sono sistemi operativi multiprocesso ( NON vuol dire multiprocessor!! ) e monoutente destinati all utilizzo come workstation in un ambiente preferibilmente non di rete. Windows NT-WKS/2000-WKS/XP-PRO: sono sistemi operativi multiprocesso e monoutente destinati all utilizzo come workstation particolarmente adatti all ambiente di rete. Windows NT-SRV/2000-SRV/2003-SRV: sono sistemi operativi multiprocesso e multiutente destinati all utilizzo come minicomputer (detti anche server) in ambiente di rete. Windows CE: è una versione particolarmente alleggerita adatta ai computer palmari ma che può essere utilizzata anche negli embedded computer. 15

gestione dei processi Unix: è una ampia famiglia di sistemi operativi prodotti da varie aziende con licenza commerciale nel rispetto di standard comuni (Open Systems) e adatti a vari tipi di hardware compreso il tipo PC compatibile. Viene utilizzato sia per la realizzazione di server che di workstation. Gli standard Open Systems sono insiemi di norme pubbliche che specificano le regole che il software deve rispettare e differenziano questi sistemi operativi dai sistemi proprietari le cui regole di funzionamento invece non sono rese note dal produttore. Sono sistemi operativi multiprocesso e multiutente 16

gestione dei processi Linux: è un sistema operativo che deriva da Unix ma è prodotto con licenza Open Source da vari produttori che in questo caso vengono chiamati distribuzioni. E adatto all hardware PC compatibile, sfrutta la capacità di indirizzamento a 32 bit ed è multiprocesso e multiutente. Può essere usato sia come minicomputer (server), e in questo ruolo è stato un potente motore di sviluppo della rete Internet, sia come workstation non utilizzando in questo caso la sua funzione di multiutenza. Le più famose distribuzioni sono Red Hat, Fedora, Mandrake, Suse, Debian, Slackware, Knoppix 17

gestione dei processi Mac OS: è un prodotto di Apple con licenza commerciale adatto agli hardware di tipo MacIntosh. E stato il primo sistema operativo con interfaccia utente grafica (1984). Sebbene sia molto meno diffuso dei precedenti riveste una grande importanza nel campo delle workstation per usi specialistici (grafica, architettura ). L ultima versione ha una base UNIX di OpenStep completata con l'interfaccia grafica e le molte tecnologie ad alto livello del Mac OS 18

memoria virtuale Ogni programma in corso di esecuzione (processo), compreso il sistema operativo, occupa una parte della memoria centrale in cui risiedono le sue istruzioni codificate ed i suoi dati. Al crescere dei processi la memoria RAM diviene rapidamente insufficiente, per cui il sistema operativo fornisce ai processi un area di memoria centrale virtuale ottenuta da un opportuno spazio riservato nella memoria di massa. Il sistema operativo fa in modo che questa memoria di massa sembri (per questo si chiama virtuale = finta) allocata al processo come se fosse memoria centrale ma questa apparenza è dovuta a continui caricamenti e scaricamenti fatti dal sistema operativo tra memoria centrale fisica e blocco di memoria virtuale della memoria di massa (hard disk). 19

memoria virtuale L operazione quindi è trasparente per il programma in corso di esecuzione che non si accorge di non possedere tutta la memoria centrale che gli serve perché ogni volta che la utilizza il sistema operativo gliela copia dalla memoria di massa scaricandola quando non serve più ma le prestazioni complessive del sistema ne sono influenzate se si pensa ai tempi medi di accesso di un disco di media qualità (decine di ms). Questo meccanismo spiega perché uno dei fattori principali nelle prestazioni di un computer è la quantità della memoria centrale. 20

memoria virtuale: memoria virtuale lo stesso spazio di memoria è diviso fra più programmi ogni programma vede uno spazio di indirizzamento più ampio di quello effettivamente disponibile spazio indirizzi: virtuali: dipende dalle modalità di indirizzamento fisico: dipende dalle dimensioni della memoria 21

memoria virtuale programmi usano lo spazio virtuale lo spazio virtuale è allocato in memoria secondaria (dischi) si mantiene in memoria solo un sottoinsieme dello spazio virtuale (spazio logico) si trasferiscono quando servono le parti dello spazio virtuale alle quali il programma fa riferimento la gestione è fatta dal SO (trasparente all utente/programmatore) PROBLEMA: traduzione indirizzi; efficienza 22

memoria virtuale: paginazione modo semplice di organizzare la corrispondenza fra indirizzi virtuali e fisici lo spazio di memoria (fisico e virtuale) è organizzato in pagine (0.25-4 KB), della stessa dimensione quando serve un dato in memoria si trasferisce tutta la pagina che lo contiene 23

memoria virtuale: paginazione Spazio fisico in Memoria RAM, Memoria fisica del computer suddivisa in 8 pagine Spazio logico su disco PL0 PL1 Organizzazione logica del processo 1 2 pagine logiche PF1 PF2 PF3 PF4 PF5 PF6 PF7 PF8 Spazio logico Organizzazione logica Del processo 2 4 pagine logiche. Non trova 4 pagine fisiche contigue 24

memoria virtuale: paginazione la struttura dello spazio virtuale si riflette nella struttura degli indirizzi offset: lunghezza della pagina k bit più significativi: numero della pagina indirizzi fisici hanno la stessa struttura 25

memoria virtuale: paginazione Il programma viene suddiviso in un certo numero di sezioni, di dimensioni fisse e uguali fra loro, dette pagine logiche, e in corrispondenza organizzando allo stesso modo anche la memoria fisica in pagine fisiche, della stessa dimensione delle pagine logiche. 26

memoria virtuale: paginazione Spiazzamento relativo all inizio della pagina specificata dai k bit iniziali, in pratica dice quanto è lunga la pagina i programmi specificano indirizzi virtuali l indirizzo fisico è diverso prima di accedere in memoria bisogna tradurre l indirizzo virtuale in indirizzo fisico Nota Bene: l indirizzo virtuale è fisso, quello fisico può cambiare nel corso dell esecuzione 27

memoria virtuale: paginazione con la memoria a pagine posso avere uno spazio fisico piccolo ma uno spazio virtuale grande posso utilizzare la memoria (piccola) per più programmi contemporaneamente due pagine vicine (nello spazio logico) possono essere in posti diversi dello spazio fisico una su disco e l altra in memoria centrale tutte e due su disco (o memoria centrale) ma con indirizzi fisici diversi 28

memoria virtuale: traduzione indirizzi La traduzione degli indirizzi avviene a cura della CPU (prima di accedere in memoria fisica) La corrispondenza tra pagine virtuali e pagine fisiche (page frames) viene mantenuta nella Tavola delle Pagine (nella CPU) e viene gestita dall hardware aggiuntivo Memory Management Unit presente nella CPU 29

memoria virtuale: traduzione indirizzi Numero pagina fisica ( Sei ) tavola delle pagine contiene la corrispondenza fra indirizzo virtuale (o logico) e indirizzo fisico Numero pagina logica (Due ) Lo spiazzamento rispetto all inizio della pagina è uguale sia per la pagina logica che la pagina fisica Pagina già in memoria si/no 4 bit 3 bit 30

memoria virtuale: come funziona se la pagina richiesta è in memoria: ok altrimenti page fault. il SO interrompe l esecuzione del programma la pagina richiesta viene trasferita da disco a memoria centrale (attesa) una volta trasferita la pagina richiesta l esecuzione del programma può riprendere a seguito di un page fault posso dover togliere una pagina dalla memoria per fare spazio a quella nuova, questo implica che le pagine virtuali non hanno necessariamente lo stesso indirizzo fisico 31

località dei programmi gli accessi in memoria rispettano un principio di località quando mi serve un dato che non è in memoria trasferisco tutta la pagina che contiene quel dato quando devo togliere una pagina dalla memoria per fare spazio alla nuova pagina trasferisco pagine richieste indietro nel tempo (meno probabili che siano richieste nel futuro) 32

Gestione dei file: importanza I/O Applicazioni hanno due componenti fondamentali: Elaborazione informazione Input/Output (I/O) (esistono applicazioni senza I/O?) Dati sono nei dispositivi di memoria diversi fra loro (velocità, modi di accesso,...) Utente vede dati come una libreria standard operazioni utente sono astratte: inserisci, cancella, duplica,... non dipende dal tipo di dato o da dove è il dato Funzioni SO: fornire operazioni standard per accedere e modificare i dati fornire protezioni ai dati (limitare le operazioni permesse) semplificare accesso a utente fornire interfaccia omogenea 33

Astrazione: File Punto di vista utente Insieme di dati con un nome tipo di dato (si usa spesso estenzione: txt - testo, exe - eseguibile, gif - immagine,...) utilizzabile sempre in modo conveniente (utente non vuole sapere dove si trova fisicamente il file) Punto di vista del sistema operativo crea corrispondenza fra i byte che costituiscono il file su blocchi di memoria non volatile Dischi, nastri, CD,... Dati persistenti (assenza di corrente, riavvi del sistema,...) 34

Astrazione: Direttorio Organizzare i file: una tabella contiene le informazioni su dove ciascun file si trovi sul disco Approccio semplice: ogni file ha un solo nome In pratica: un direttorio per ogni utente, per specificare un file: <nome utente, nome file> per ogni utente organizzazione ad albero del direttorio (es. cartelle di windows) Esempio: Mario/a/b.gif utente m ario ha un direttorio a che contiene un fileim m agine b (Mario può avere tanti direttori;apuò contenere tantifile o direttori) 35

Meta-Dati di un file Meta-dati: Informazioni addizionali associate ad ogni file Nome del file Tipo del file Puntatori (indirizzi) ai blocchi del disco che contengono i dati Dimensione del file Informazioni temporali: creazione, aggiornamento Proprietario (utente, gruppo) Bit di protezione (autorizzazione in lettura, scrittura) I Meta-dati sono memorizzati nel disco parte del disco contiene le informazioni necessarie <nome file, indice sui metadati> (l indice indica dove sono presenti i metadati nella memoria del disco) 36

Gestione del direttorio Direttorio contiene per ogni file una coppia <nome, indice>, (in cui il nome può essere un altro direttorio) Direttorio è memorizzato e organizzato come un file Indice indica dove sono le informazioni sui metadati associati al nome Per indicare un file si specifica il nome del file indicando tutti i direttori a partire dalla radice Esempio: mkdir mario/a/b/c crea direttorio c contenuto in b che a sua volta è contenuto in a Leggi i metadati associati a utente mario e cerchi a ; ad esempio trovi < a, 5> leggi le informazioni indicate da 5, e cerca b ; ad esempio trovi < b, 9> leggi le informazioni indicate da 9, verifichi che non esiste c ; allochi c e aggiungi c dove necessario 37

Esercizio Illustrare i compiti del sistema operativo nella gestione dei file e dell Input/Output. 38