Il supporto al sistema operativo

Documenti analoghi
GESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL

Sistemi operativi e distribuiti

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

Il supporto al Sistema Operativo

Lezione 3 Sistemi Operativi e misure di performance. Parleremo di

I Sistemi Operativi. Prof.ssa Antonella Serra

Gestione della memoria. Introduzione Swapping Allocazione contigua Paginazione

Sistemi Operativi Gestione della Memoria (parte 1)

Il Gestore della Memoria. Tecnica a Partizioni Fisse e a Partizioni Variabili

Bootstrap. Bootstrap. Shutdown. Struttura di un SO. Elementi principali di un SO:

Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per:

Sistemi Operativi: Concetti Introduttivi

I Processi. Il Concetto di Processo

Informatica II Sistemi Operativi DIGIP - a.a. 2015/16

Sistemi Operativi GESTIONE DEI PROCESSI. D. Talia - UNICAL. Sistemi Operativi 4.1

Scheduling della CPU

La gestione della memoria. Lezione 16 Sistemi Operativi

I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.

Corso di Informatica

Sistemi Operativi. Lezione 3 Processi e Thread

Sistema operativo. Utente. Il S.O. mostra offre all utente un ambiente di lavoro che nascondendo la complessità della macchina fisica (hardware). S.O.

Sistemi Operativi. La gestione delle risorse

Funzioni di un Calcolatore

Il Sistema Operativo

Gestione della Memoria

Il Concetto di Processo

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

Sistemi Operativi. A.M. Fanelli Architettura dei Sistemi a. a Livello di Sistema Operativo. Livello di Linguaggi Applicativi

Il software di sistema

GESTIONE DELLA MEMORIA CENTRALE

Gestione della memoria

TECN.PROG.SIST.INF. - Politiche di schedulazione del processore. Roberta Gerboni

CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico)

Cognome e nome: Matricola: Posto:

Ogni computer ha un sistema operativo necessario per eseguire gli altri programmi Il sistema operativo, fra l altro, è responsabile di

Processi. Descrittore di Processo (PCB) Context Switch Primitive per la creazione e terminazione dei processi. Il descrittore di processo (PCB)

Software. Elementi di Informatica. Sistema Operativo (SO) Categorie di Software. Un Po di Storia - 2. Un Po di Storia - 1

Dove siamo. Gestione della Memoria (1) Dove siamo. Dove siamo. Operating Systems and Distributed Systems. Operating Systems and Distributed Systems

Registri della CPU. Memoria Centrale. Memoria di Massa. Memorie di altri sistemi in rete

Il sistema operativo. Sistema Operativo

Gestione della memoria

SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06.

TEORIA DEI SISTEMI OPERATIVI. Sistemi monoprogrammatie multiprogrammati

I sistemi operativi (prima parte) Agostino Lorenzi I sistemi operativi - Atlas

MODULO 1: INTRODUZIONE

CORSO DI Principi di Sistemi Operativi (1? anno Corso di Laurea Specialistica in Ingegneria Informatica) ANNO ACCADEMICO

Gestione della memoria

Memoria secondaria. Fabio Buttussi HCI Lab Dept. of Math and Computer Science University of Udine ITALY

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

1. Che cos è un sistema multiprogrammato? Si può realizzare la multiprogrammazione

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

SISTEMI OPERATIVI. Gestione della memoria. Gestione della memoria. Partizionamento Paginazione Segmentazione Memoria virtuale. 08.

Struttura Logica del S.O:

Reti e problematiche di Rete

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

Gestione Memoria. Gestione della memoria

I processi: concetti di base, context switch e scheduling

Sistemi Operativi (modulo di Informatica II) I processi

14 Struttura della memoria secondaria Struttura del disco Struttura del disco

Sistema operativo (SO)

Sommario. Processi e Programmi. Che cosa e un Processo? Lezione 5 Processi e Threads

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:

Sistema Operativo. (hardware e software) della della macchina

Processi e thread. Concetto di processo

Concetto di Processo Scheduling dei Processi Operazioni sui Processi Processi cooperanti Comunicazione tra processi

2. Nucleo del sistema operativo (la gestione dei processi)

Docente Prò Giuseppe - Corso PENTEST MIND PROJECT A cura di Prò Giuseppe

Il file È un insieme di informazioni: programmi. Il File System. Il file system

I Processi nel Sistema Operativo Unix. Gerarchie di processi Unix. Stati di un processo Unix. Stati di un processo Unix.

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007

Sistemi Operativi 1. Mattia Monga. 11 marzo Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia

Gestione della Memoria Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica

Scheduling della CPU

Informatica Generale 07 - Sistemi Operativi:Gestione dei processi

Gestione dei processi

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

Capitolo 6 Le infrastrutture SoftWare

Capitolo 1: Introduzione

Sistemi in tempo reale: applicazioni alla robotica. Sistemi in tempo reale: applicazioni alla robotica p.1/15

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni

Nei sistemi moderni si usano sistemi di avvicendamento sofisticati al fine di garantire ad ogni processo quanti di esecuzione considerevoli.

1. Le componenti principali di un sistema operativo sono: interfaccia con l utente (interprete dei comandi e/o interfaccia

Lezione 2 Chiamate di procedura e risposta alle interruzioni

La gestione della memoria

Facoltà di Ingegneria - Università degli studi di Catania. Corso di Laurea in Ingegneria Civile. Sistemi Operativi. Fondamenti di Informatica

Componenti principali

Il software: cenni sul sistema operativo

La gerarchia delle memorie

interoperabilità fra dispositivi forniti da diversi produttori; superare i problemi legati alla limitazione del numero di risorse.

Multiprogramming with fixed partitions (MFT) Gestione memoria: funzioni. Monoprogrammazione

Componenti di un sistema operativo

Modulo 3. Software. Corso di Sistemi di elaborazione delle informazioni -Autore: Ing. Maurizio Patanè

Il sistema operativo

Il Processore. Informatica di Base -- R.Gaeta 27

Università degli Studi di Ferrara

2) Sistemi operativi. Lab. Calc. AA 2006/07

LA GESTIONE DELLA I/O

Operazioni di I/O. Schema di collegamento fra dispositivi periferici e CPU

Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica

I file utente sistema operativo nome

Transcript:

Politecnico di Milano Il supporto al sistema operativo Prof. Mariagiovanna Sami sami@elet.polimi.it 2007-

Obiettivi e Funzioni Perché introdurre il sistema operativo? Convenienza Rende più facile usare il calcolatore Efficienza Permette miglior uso delle risorse del calcolatore In una visione a livelli del sistema di calcolo, che cosa dev e essere noto al progettista di ogni livello? Operating System Support 2007-

Livelli e viste del sistema di calcolo Operating System Support 2007-

I servizi offerti dal Sistema Operativo Supporto a: Creazione del programma Esecuzione del programma Accesso ai dispositivi di I/O Accesso controllato ai files Accesso al sistema di elaborazione Identificazione e gestione degli errori Contabilità Operating System Support 2007-

Il S.O. come gestore di Risorse Operating System Support 2007-

Tipi di Sistemi Operativi Interattivo Batch Programma singolo (Uni-programmazione) Multi-programmazione (Multi-tasking) Operating System Support 2007-

Un po di storia Fino alla metà degli anni 50: Non esistono Sistemi Operativi I programmi interagiscono direttamente con lo hardware Problema principale: Lo Scheduling come ordinare la successione dei compiti che il calcolatore deve eseguire. Operating System Support 2007-

I primi sistemi batch batch Programma Monitor residente L utente consegna programmi e dati ( job da eseguire) all operatore L operatore provvede all esecuzione dei job separatamente, uno alla volta dall inizio alla fine ( in blocco batch); Il Monitor controlla la sequenza di eventi necessari per elaborare ogni batch; Quando un job termina, il controllo torna al Monitor che legge il prossimo job; È il Monitor che gestisce l ordinamento delle operazioni. Operating System Support 2007-

Organizzazione della memoria nel caso di monitor residente Operating System Support 2007-

Aspetti hardware desiderabili Protezione della memoria Per proteggere il Monitor Timer Per impedire che un job monopolizzi il sistema Istruzioni privilegiate Eseguibili solo dal Monitor - es.: I/O Interruzioni Consentono di rilasciare e riprendere il controllo Comunque I dispositivi di I/O sono molto lenti Quando un program è in attesa dell I/O, un altro programma può usare la CPU Operating System Support 2007-

Sistemi Batch Multi- programmati Quando un program è in attesa dell I/O, un altro programma può usare la CPU; L utente non ha ancora possibilità di interagire col sistema nel corso dell esecuzione di un programma (ogni programma viene eseguito dall inizio alla fine senza possibilità di interventi) ma oiù programmi condividono le risorse di calcolo. Operating System Support 2007-

Programma singolo: Operating System Support 2007-

Multi-Programmazione con due programmi Operating System Support 2007-

Multi-Programmazione con tre programmi Operating System Support 2007-

Sistemi in Time Sharing Una soluzione più evoluta: time-sharing Consente agli utenti di interagire direttamente col calcolatore Es.: sistemi interattivi La multi-programmazione consente che più utenti interagiscano col calcolatore Operating System Support 2007-

Scheduling (ordinamento dei compiti) Fondamento della multi-programmazione Include una fase a lungo termine, oltre a Fase a medio termine, e A breve termine E infine riguarda l I/O Operating System Support 2007-

Scheduling a lungo termine Determina quali programmi sono presentati per l elaborazione; es., controlla il grado della multi-programmazione Una volta presentato, un job diventa O un processo per lo scheduler a breve termine (v.) (oppure diventa un job swapped out che viene fornito allo scheduler a medio termine) Operating System Support 2007-

Scheduling a medio termine Fa parte della funzione di swapping (v. avanti ) Di norma basato sulla necessità di gestire la multiprogrammazione; Se non si ricorre alla memoria virtuale, riguarda anche la gestione della memoria. Operating System Support 2007-

Scheduling a breve termine Dispatcher Decisioni di fino sul prossimo lavoro da eseguire, cioè stabilire quale dei programmi in attesa otterrà effettivamente il controllo della CPU nel prossimo intervallo di tempo. Operating System Support 2007-

Stato di un processo Operating System Support 2007-

Blocco di controllo di un processo (PCB) Identificatore Stato Priorità Program counter Puntatori alla memoria Dati di contesto Stato dell I/O Informazioni di contabilità Operating System Support 2007-

Diagramma di un PCB Operating System Support 2007-

Elementi fondamentali di un S.O. Operating System Support 2007-

Scheduling dei processi Operating System Support 2007-

Gestione della memoria Uni-programmazione La memoria viene divisa in due parti (in termini logici) Una per il S.O. (monitor) Una per il programma attualmente in esecuzione Multi-programmazione La parte di utente viene ripartita e condivisa fra i processi attivi Operating System Support 2007-

Swapping Problema: l I/O è così lento in confronto alla CPU che anche nei sistemi multiprogrammati, la CPU può essere in ozio per la maggior parte del tempo Soluzioni: Aumentare la memoria primaria Costoso Porta a programmi più grandi Swapping Operating System Support 2007-

Che cosa è lo Swapping? Esiste una coda a lungo termine di processi memorizzata sul disco; I processi vengono scambiati (swapped portati in memoria di lavoro al posto di altri) mano a mano che si rende disponibile spazio; Quando un processo viene completato, esce dalla memoria di lavoro e torna su disco; Se nessuno dei processi in memoria è pronto (cioè, tutti sono bloccati in attesa di I/O): Swap out il processo bloccato viene spostato da memoria a coda intermedia: Swap in un processo pronto (ready) o un processo nuovo viene portato in memoria: Ma lo swapping è un processo di I/O... Operating System Support 2007-

Partizionamento Si suddivide la memoria in sezioni da allocare ai processi (incluso il Sistema Operativo) Partizioni di dimensione fissa: Possono non avere tutte dimensioni identiche Il processo viene inserito nella partizione libera più piccola che lo può contenere (best fit) C è spreco di memoria Porta a partizioni di dimensione variabile Operating System Support 2007-

Partizionamento fisso Operating System Support 2007-

Partizioni di dimensione variabile (1) A un processo si alloca esattamente la memoria che gli occorre; conseguenza: area vuota alla coda della memoria, troppo piccola per poterla usare Ma ce ne è solo una minor spreco Quando tutti i processi sono bloccati, si procede a swap out di un processo per portarne un altro in memoria Il nuovo processo può essere più piccolo di quello swapped out Si crea un altra area vuota e inutilizzabile. Operating System Support 2007-

Partizioni con dimensione variabile (2) Alla fine ci si trova con una quantità di buchi (frammentazione) Soluzioni: Fusione si riuniscono le aree vuote adiacenti un un unica area grande Compattamento di tanto in tanto si esplora tutta la memoria e si spostano tutti I buchi in un unico blocco libero (si può confrontare la tecnica con la cosiddetta de-fragmentazioe del disco ) Operating System Support 2007-

Rilocazione Non c è garanzia che il processo la prossima volta verrà ricaricato nella stessa area di memoria; Le istruzioni contengono indirizzi di memoria: Indirizzi di dati Indirizzi-obiettivo dei salti Si distinguono: Indirizzi logici - relativi all inizio del programma Indirizzi fisici le effettive posizioni in memoria (nel momento attuale!) Meccanismi di conversione che fanno riferimento a un indirizzo base. Operating System Support 2007-

Paginazione Soluzione alternativa al partizionamento: Si suddivide la memoria in piccole aree tutte di uguale dimensione riquadri di pagine (page frames) Si suddividono i programmi (processi) in piccoli blocchi di pari dimensioni le pagine A un processo si alloca il numero di page frames necessario Il Sistema Operativo mantiene una lista delle frames libere Un processo non ha bisogno di page frames contigue Si usa una tabella delle pagine per tener conto della situazione (meccanismo della memoria virtuale!) Operating System Support 2007-