sistemi operativi: componenti - lezione 02

33
1 I componenti del Sistema Operativo Un SO viene progettato ed implementato a moduli Interfaccia ben definita fra programmi utente e moduli del SO Gli aspetti interni dei diversi SO possono variare notevolmente requisiti diversi obiettivi di design diversi Primo passo della progettazione: DEFINIRE GLI SCOPI DEL SO In base agli scopi, si definisce il design

Upload: majong-devjfu

Post on 14-Aug-2015

429 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Sistemi Operativi: Componenti - Lezione 02

1

I componenti del Sistema Operativo• Un SO viene progettato ed implementato

a moduli• Interfaccia ben definita fra programmi

utente e moduli del SO• Gli aspetti interni dei diversi SO possono

variare notevolmente– requisiti diversi– obiettivi di design diversi

• Primo passo della progettazione:–DEFINIRE GLI SCOPI DEL SO

• In base agli scopi, si definisce il design

Page 2: Sistemi Operativi: Componenti - Lezione 02

2

Componenti di un SO

SO

Page 3: Sistemi Operativi: Componenti - Lezione 02

3

Componenti di un SO

Gestioneprocessi

SO

Page 4: Sistemi Operativi: Componenti - Lezione 02

4

Componenti di un SO

Gestioneprocessi

Gestionememoriacentrale

SO

Page 5: Sistemi Operativi: Componenti - Lezione 02

5

Componenti di un SO

Gestionememoria

secondaria SO

Page 6: Sistemi Operativi: Componenti - Lezione 02

6

Componenti di un SO

Gestionesistema

I/O

SO

Page 7: Sistemi Operativi: Componenti - Lezione 02

7

Componenti di un SO

Gestionefile

SO

Char devices

Page 8: Sistemi Operativi: Componenti - Lezione 02

8

Componenti di un SO

Gestionefile

SO

Block devices

Page 9: Sistemi Operativi: Componenti - Lezione 02

9

Componenti di un SO

Gestionefile

SO

Block device

Page 10: Sistemi Operativi: Componenti - Lezione 02

10

Componenti di un SO

Sistema diprotezione

SO

P1

P2

Page 11: Sistemi Operativi: Componenti - Lezione 02

11

Componenti di un SO

Sistema diprotezione

SO

P1

P2

Page 12: Sistemi Operativi: Componenti - Lezione 02

12

Componenti di un SO

GestionereteSO

Page 13: Sistemi Operativi: Componenti - Lezione 02

13

Componenti di un SO:il quadro complessivo

Gestioneprocessi

Gestionememoriacentrale

Gestionememoria

secondaria

Gestionesistema

I/O

Gestionerete

Gestionefile

Sistema diprotezione

SO

Page 14: Sistemi Operativi: Componenti - Lezione 02

14

Gestione dei processi• Attività principale CPU: esecuzione di

codice• PROCESSO: è un programma in

esecuzione– area codice del processo– area dati del processo– stato del processo

• Tipici processi:– programmi utente– esecuzione driver sistema operativo– servizi (spool di stampa, server Web)

Page 15: Sistemi Operativi: Componenti - Lezione 02

15

Gestione dei processi• PROCESSO != PROGRAMMA• Programma: entità passiva– contenuto di un file (codice) scritto su disco

• Processo: entità attiva– può essere eseguito– ha bisogno di tutta una serie di informazioni

aggiuntive per potersi coordinare con altri processi

– due o più processi possono eseguire lo stesso programma

♦sequenze di esecuzione distinte

Page 16: Sistemi Operativi: Componenti - Lezione 02

16

Gestione dei processi• Un processo, per svolgere i propri

compiti, ha bisogno di risorse– tempo di CPU, accesso a file, dispositivi I/O

• Le risorse possono essere assegnate al processo:– al momento della sua creazione– durante la sua esecuzione

Page 17: Sistemi Operativi: Componenti - Lezione 02

17

Gestione dei processi• Il processo è l'unità di lavoro del SO• SO: caratterizzato da un insieme di

processi– organizzazione ad albero– esecuzione concorrente e sequenziale

♦concorrente: più processi in esecuzione simultaneamente

♦sequenziale: ciascun processo esegue gruppi di istruzioni, una alla volta

Page 18: Sistemi Operativi: Componenti - Lezione 02

18

Gestione dei processi• Responsabilità del SO:– creare processi utente e di sistema– cancellare processi utente e di sistema– sospendere e ripristinare processi– fornire meccanismi per la sincronizzazione

di processo– fornire meccanismi per la comunicazione di

processo– fornire meccanismi per la gestione di

situazioni di stallo

Page 19: Sistemi Operativi: Componenti - Lezione 02

19

Gestione della memoria centrale• Caratteristiche della memoria centrale:– vasto array accessibile per byte/parole– ciascun elemento della memoria ha il

proprio indirizzo–magazzino di dati velocemente accessibili– condivisa fra CPU e dispositivi di I/O

♦CPU legge istruzioni dalla memoria durante il ciclo di fetch delle istruzioni

♦CPU interagisce con la memoria in r/w durante il ciclo di fetch dei dati

♦Trasferimento efficiente dei dati tramite DMA

Page 20: Sistemi Operativi: Componenti - Lezione 02

20

Gestione della memoria centrale• Solitamente, la memoria è l'unico

dispositivo indirizzabile direttamente dalla CPU– i dati del disco, vanno trasferiti in memoria

attraverso richieste di I/O, prima di poter essere utilizzati

– le istruzioni vanno trasferite in memoria centrale prima di poter essere eseguite

Page 21: Sistemi Operativi: Componenti - Lezione 02

21

Gestione della memoria centrale• Schema di esecuzione di un programma

1.Il programma viene mappato in indirizzi assoluti e caricato in memoria.

2.Viene generato l'indirizzo assoluto corrispettivo ad istruzione/dato corrente.

3.Viene eseguita l'istruzione corrente oppure elaborato il dato corrente.

4.Al termine dell'esecuzione, lo spazio di memoria occupato dal processo viene reso di nuovo disponibile.

Page 22: Sistemi Operativi: Componenti - Lezione 02

22

Gestione della memoria centrale• La memoria centrale è un dispositivo

molto veloce– più processi mantengo in memoria centrale,

più veloce sarà la loro esecuzione

• Diversi schemi di gestione della memoria– la scelta dello schema più adatto dipende

dalle esigenze specifiche– in pratica, il tipo di hardware detta la scelta

dello schema di gestione

Page 23: Sistemi Operativi: Componenti - Lezione 02

23

Gestione della memoria centrale• Responsabilità del SO:– tenere traccia di quali parti della memoria

sono attualmente utilizzate e da chi– decidere quali processi debbano essere

caricati in memoria quando vi sia lo spazio disponibile

– allocare e deallocare lo spazio di memoria in base alle necessità

Page 24: Sistemi Operativi: Componenti - Lezione 02

24

Gestione della memoria secondaria• La memoria centrale è troppo piccola per

poter contenere l'intero insieme di programmi– serve una memoria secondaria di ausilio a

quella centrale

• Caratteristiche memoria secondaria:–molto più ampia della memoria centrale–molto più lenta della memoria centrale

Page 25: Sistemi Operativi: Componenti - Lezione 02

25

Gestione della memoria secondaria• Tipicamente, la memoria secondaria

viene fornita da un disco– dispositivo di massa–memorizza codice e dati indifferentemente

• I programmi rimangono sul disco fino a quando non vengono eseguiti

• Quando un programma deve essere eseguito, viene caricato in memoria

Page 26: Sistemi Operativi: Componenti - Lezione 02

26

Gestione della memoria secondaria• Responsabilità del SO:– gestione dello spazio libero su disco– allocazione di spazio su disco– scheduling/riordino delle richieste per il

disco

Page 27: Sistemi Operativi: Componenti - Lezione 02

27

Gestione del sistema di I/O• SCOPI del sistema di I/O:–mascherare le differenze tra i vari dispositivi

di I/O– presentare all'utente una visione omogenea

dei dispositivi– concetti di:

♦File♦Directory♦File system

Page 28: Sistemi Operativi: Componenti - Lezione 02

28

Gestione del sistema di I/O• Responsabilità del SO:– gestire un sistema di buffer caching

♦memorizzazione preventiva di dati non ancora letti dai programmi

♦scrittura dei dati a buffer riempito

– fornire un'interfaccia generica di uso per i device driver

Page 29: Sistemi Operativi: Componenti - Lezione 02

29

Gestione dei file• Le informazioni possono essere

memorizzate sui supporti fisici più disparati– nastro magnetico– disco magnetico

– disco ottico

• Il SO maschera le differenze fra device e fornisce una visione unica ad alto livello– file

Page 30: Sistemi Operativi: Componenti - Lezione 02

30

Gestione dei file• FILE: raccolta di informazioni definite dal

loro creatore– sequenza di bit, byte, righe o record– significato di tale sequenza definito dal

programmatore– contengono codice di programmi oppure dati

• L'organizzazione dei file è gerarchica– organizzazione per cartelle (directory)– rappresentazione ad albero

Page 31: Sistemi Operativi: Componenti - Lezione 02

31

Gestione dei file• Responsabilità del SO:– creare e cancellare file– creare e cancellare directory– supportare primitive per la manipolazione di

file e directory–mappare file su memoria secondaria

Page 32: Sistemi Operativi: Componenti - Lezione 02

32

Sistema di protezione• I diversi processi di un SO devono

essere protetti contro le attività di altri processi– attività involontarie o maliziose

• PROTEZIONE: meccanismo che controlla l'accesso alle risorse di calcolo da parte di:– programmi– processi– utenti

Page 33: Sistemi Operativi: Componenti - Lezione 02

33

Sistema di protezione• ESEMPI DI MECCANISMI:– il SO sfrutta l'hardware di indirizzamento

della memoria per impedire che un processo possa accedere ad aree non di sua competenza

– il timer di sistema assicura che nessun processo possa acquisire il controllo indefinito della CPU

– esecuzione di istruzioni di I/O diretto solo tramite interfaccia privilegiata (system call)

– classificazione degli utenti e schema di permessi per accesso alle risorse