39
Fondamenti di Informatica: Sistemi Operativi 1 Introduzione Elaboratori necessitano di SOFTWARE SOFTWARE DI SISTEMA (SISTEMI OPERATIVI): fanno funzionare le varie componenti del computer e permettono all’elaboratore di interagire con l’utente. Caricato automaticamente al momento dell’accensione dell’elaboratore. LINGUAGGI DI PROGRAMMAZIONE: permettono di creare SOFTWARE SOFTWARE APPLICATIVO: programmi di videoscrittura, fogli elettronici, software di gestione delle basi dati, ecc. Universita’ degli Studi di Milano-Bicocca

Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 1

��

��

Introduzione

Elaboratori necessitano di SOFTWARE

SOFTWARE DI SISTEMA (SISTEMI OPERATIVI): fanno funzionare le

varie componenti del computer e permettono all’elaboratore di interagire

con l’utente. Caricato automaticamente al momento dell’accensione

dell’elaboratore.

LINGUAGGI DI PROGRAMMAZIONE: permettono di creare

SOFTWARE

SOFTWARE APPLICATIVO: programmi di videoscrittura, fogli

elettronici, software di gestione delle basi dati, ecc.

Universita’ degli Studi di Milano-Bicocca

Page 2: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 2

��

��

Sistema Operativo - Definizione

SISTEMA OPERATIVO: Insieme di programmi che operano sullamacchina fisica per dare all’utente un livello di astrazione elevato;realizzazione della MACCHINA VIRTUALE.

Diversi sistemi operativi a seconda di scelte di gestione Hardware:

� Interfaccia utente: Caratteri/Grafica

� Sicurezza: Alta/Bassa

� Gestione processi: Monotasking/Multitasking

� Gestione utenti: Monoutente/Multiutente

� Capacita’ elaborazione: 8, 16, 32 bit

� Portabilita’: Vincolato/Non vincolato al processore

Esempi: DOS, Windows, Linux, Unix, OS2, ecc.

Universita’ degli Studi di Milano-Bicocca

Page 3: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 3

��

��

Scopi

� Rendere disponibili le varie unita’ all’utente

� Gestione efficiente delle risorse (es: memoria, processore, ecc.)

� Sicurezza

� Simulare macchina dedicata (Multiutente)

� Gestire comunicazione utente-calcolatore

Universita’ degli Studi di Milano-Bicocca

Page 4: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 4

��

��

Struttura HW-SW

HW

BIOS

SISTEMA OPERATIVO

APPLICATIVI

Universita’ degli Studi di Milano-Bicocca

Page 5: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 5

��

��

Strati del Sistema Operativo

INTERPRETE COMANDI

PROGRAMMI UTENTE

FILE SYSTEM

GESTIONE PERIFERICHE

GESTIONE MEMORIA

NUCLEO (KERNEL): Gestione processi

MACCHINA FISICA (HW)

Universita’ degli Studi di Milano-Bicocca

Page 6: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 6

��

��

Nucleo dei Sistemi Operativi

Compiti del Nucleo:

� Dialogo con l’Hardware

� Esecuzione effettiva comandi

� Risposta a eventi generati da periferiche

� Condivisione risorse (CPU virtuale ad ogni utente)

Universita’ degli Studi di Milano-Bicocca

Page 7: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 7

��

��

Nucleo - Gestione dei Processi

PROGRAMMA: entita’ statica - Insieme di istruzioni

PROCESSO: entita’ dinamica - Programma in fase di esecuzione. E’

costituito dal programma e da tutte le informazioni necessarie

all’esecuzione: Dati, istruzione corrente, stato, ecc.

L’unita’ di elaborazione dei processi: PROCESSORE.

Se il calcolatore ha un solo processore, ad ogni istante solo un processo

puo’ essere in esecuzione.

Universita’ degli Studi di Milano-Bicocca

Page 8: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 8

��

��

Gestione dei Processi

Quando viene interrotta l’esecuzione di un processo?

Interruzione interna - SINCRONA: richiesta di operazione di I/O da parte

del processo; chiamata al supervisore; attivazione nucleo

Interruzione esterna - ASINCRONA: evento non causato dal processo (es.

quanto di tempo esaurito, periferica termina operazione di I/O)

Universita’ degli Studi di Milano-Bicocca

Page 9: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 9

��

��

Esecuzione contemporanea processi

Parallelismo REALE: necessita’ di avere piu’ processori

Parallelismo SIMULATO:

� Time-sharing: quanti di tempo

� Salvataggio e ripristino del contesto

� Vantaggio: sfruttamento risorse: CPU e periferiche

Universita’ degli Studi di Milano-Bicocca

Page 10: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 10

��

��

Stato di un processo

Fine quanto di tempo

Acquisizione CPU

Evento esternoAtteso

Interr. InternaRichiesta I/O

PRONTO

INIZIO ESECUZIONE FINE ESECUZIONE

ATTESA

ESECUZIONE

Universita’ degli Studi di Milano-Bicocca

Page 11: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 11

��

��

Context-Switching

Sospensione processo in ESECUZIONE: necessario memorizzare il

contesto del processo.

CONTESTO: contenuto dei registri del processore in un’apposita zona di

memoria (descrittore del processo)

CONTEXT - SWITCHING:

� Sospensione processo

� Salvataggio contesto

� Scelta tra i processi pronti del prossimo processo da eseguire

� Ripristino del contesto del processo prescelto

� Attivazione del processo prescelto

Universita’ degli Studi di Milano-Bicocca

Page 12: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 12

��

��

Scelta processo per esecuzione

Obiettivi:

� Efficienza elevata: (throughput - numero processi elaborati)

� Garanzia agli utenti

� Parallelizzazione

Universita’ degli Studi di Milano-Bicocca

Page 13: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 13

��

��

Scelta processo per esecuzione

Politica piu’ semplice: quanto di tempo assegnato ai vari processi in ordine.

Politica ROUND-ROBIN (rotazione).

Coda di processi pronti con modalita’ FIFO (First In First Out)

Caratteristiche quanto di tempo:

� Maggiore del tempo di context switching

� Minore del tempo di esecuzione di un programma

� Minore del tempo medio di esecuzione tra due richieste di operazioni di

input/output

Universita’ degli Studi di Milano-Bicocca

Page 14: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 14

��

��

Scelta processo per esecuzione

Round-Robin con priorita’:

� Ad ogni processo e’ assegnata priorita’ (es: importanza processo,

processi con molto I/O)

� Scelta del processo con priorita’ massima

� Processi con priorita’ uguale sono gestiti con Round-Robin

Esempio: WIN 2000

� Round-Robin con priorita’

� Quanto di tempo: 15-30 mSec.

Universita’ degli Studi di Milano-Bicocca

Page 15: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 15

��

��

Altre operazioni gestite dal kernel

Sincronizzazione dei processi (problemi di concorrenza):

� STARVATION: un processo con bassa priorita’ non riesce mai ad

accedere alle risorse

� DEADLOCK: due o piu’ processi si bloccano a vicenda, attendendo

eventi che non si potranno verificare

� Accesso ad informazioni critiche: semafori

Universita’ degli Studi di Milano-Bicocca

Page 16: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 16

��

��

Gestione Memoria Centrale

Memoria centrale: risorsa unica, in genere scarsa. I processi pronti devonorisiedere, almeno in parte, in memoria centrale

Gestore Memoria - Funzioni principali:

� Condivisione Memoria: piu’ utenti e piu’ processi

– Parziale sovrapposizione di spazi

– Comunicazione fra processi

– Minore ridondanza dati

� Protezione memoria: ogni processo possiede un’area riservata

� Spazio virtuale: I processi ignorano l’effettiva collocazione fisica deidati e delle istruzioni

� Memoria virtuale: la memoria disponibile e’ piu’ grande di quellaeffettiva

Universita’ degli Studi di Milano-Bicocca

Page 17: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 17

��

��

Tecniche di Gestione Memoria Centrale

Rilocazione del programma: trasformazione degli indirizzi logici in

indirizzi fisici

Swapping: utilizzo di memorie di massa per simulare memoria centrale

Suddivisione della memoria:

� Segmentazione: La memoria e’ suddivisa in segmenti, parti di

dimensioni diverse le une dalle altre

� Paginazione: La memoria e’ suddivisa in pagine, parti di dimensione

fissa

Universita’ degli Studi di Milano-Bicocca

Page 18: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 18

��

��

Rilocazione

Catena di Programmazione:

Programma sorgente � Compilatore �

� Programma oggetto � Linker �

� Programma eseguibile

Nel programma eseguibile, tutti i nomi simbolici e i riferimenti sono stati

RISOLTI (espressi come indirizzi di memoria).

Gli indirizzi di un programma eseguibile possono presentarsi in:

- formato rilocabile: gli indirizzi fanno riferimento ad un valore base logico

(Indirizzo zero logico).

- formato assoluto: indirizzo fisico

Universita’ degli Studi di Milano-Bicocca

Page 19: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 19

��

��

Rilocazione

Caricatore (Loader): si occupa di caricare i programmi in memoria

� Se indirizzi assoluti � Solo caricamento

� Se indirizzi relativi � Aggiornamento degli indirizzi fisici in base alla

posizione di caricamento � RILOCAZIONE

Due tipi di rilocazione:

- Statica: all’atto del caricamento in memoria, gli indirizzi relativi

divengono indirizzi assoluti

- Dinamica: il codice non viene modificato; utilizzo di indirizzi rilocabili e

REGISTRO BASE. Necessaria per Multiprogrammazione.

Universita’ degli Studi di Milano-Bicocca

Page 20: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 20

��

��

Registro Base

Gli indirizzi relativi fanno riferimento ad un indirizzo zero logico

Registro base: contiene l’indirizzo della prima cella di memoria occupata

dal programma

Indirizzo finale:

registro base + indirizzo rilocabile = indirizzo assoluto

Universita’ degli Studi di Milano-Bicocca

Page 21: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 21

��

��

Memoria virtuale - Swapping

Viene simulata la presenza di RAM sfruttando le memorie di massa

Swap:

� Il contenuto della memoria centrale viene trasferito su una memoria di

massa (Area di SWAP), in modo da liberare spazio

� Solo i processi presenti in memoria centrale possono essere eseguiti

� Quando necessario, i dati memorizzati nell’area di Swap vengono

caricati in memoria (scaricando da questa altri dati, per fare posto)

Universita’ degli Studi di Milano-Bicocca

Page 22: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 22

��

��

Segmentazione della memoria

Divisione della memoria in parti di dimensioni diverse, dette SEGMENTI

Avvio un programma � � Si crea un processo

Devo trovare un segmento libero di dimensione sufficiente a contenere tutte

le informazioni relative al processo (in genere, segmenti un po’ piu’ grandi

per poter allocare dati dinamici)

Universita’ degli Studi di Milano-Bicocca

Page 23: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 23

��

��

Segmentazione della memoria

S3:P1 S4:P3S1:P2 S2 S5

+ >

ERRORE

Registro Base Registro Frontiera

Indirizzo Rilocabile

Universita’ degli Studi di Milano-Bicocca

Page 24: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 24

��

��

Politiche di gestione segmenti

Segmenti a dimensione fissa

� Vantaggio: semplici da gestire

� Svantaggio: parte del segmento non utilizzato, spreco memoria.

Politica del best-fit.

Segmenti a dimensione variabile

� Vantaggio: ottimizzazione uso memoria

� Svantaggio: spreco CPU per compattare la memoria

Gestione multiprogrammazione: per fare spazio ad un processo, devo

liberare un intero segmento

Universita’ degli Studi di Milano-Bicocca

Page 25: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 25

��

��

Paginazione della memoria

La memoria e’ suddivisa in parti che hanno tutte la stessa dimensione

Una pagina e’ costituita da un certo numero di celle di memorie

Il numero di celle per pagina e’ una potenza di due, per semplificare

l’indirizzamento

I processi sono suddivisi in varie pagine, NON NECESSARIAMENTE

CONTIGUE

Universita’ degli Studi di Milano-Bicocca

Page 26: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 26

��

��

Paginazione della memoria

Vantaggi:

� Non e’ necessario avere uno spazio libero consecutivo per contenere un

processo

� Non e’ necessario avere l’intero processo caricato in memoria. Si

mantiene in memoria solo la parte effettivamente utilizzata

Universita’ degli Studi di Milano-Bicocca

Page 27: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 27

��

��

Paginazione della memoria

Supponiamo registro indirizzi a � bit

I � bit sono divisi (logicamente) in due parti:

� I � bit piu’ significativi per indirizzare ��� pagine

� I restanti � � ��� � bit per indirizzare � celle all’interno di ogni pagina

� � ��� �

Universita’ degli Studi di Milano-Bicocca

Page 28: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 28

��

��

Paginazione della memoria

Esempio: memoria di 16 pagine

� � � i-esima pagina

� � � � � Processo h-esimo, parte j-esima

Tabella delle pagine:

00 01 10 11

00 M0:P2,0 M1:P1,2 M2:P4,0 M3:P1,1

01 M4:P3,0 M5:P4,2 M6:P3,3 M7:P2,1

10 M8:P2,2 M9:P1,4 M10:P3,2 M11:P2,3

11 M12:P1,0 M13:P4,3 M14:P3,1 M15:P3,4

Universita’ degli Studi di Milano-Bicocca

Page 29: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 29

��

��

Paginazione della memoria

Tabella del processo P1:

Pagina logica Presenza Pagina fisica Ind. Memoria di Massa

P1,0(0000) Y M12(1100) I1,0

P1,1(0001) Y M3(0011) I1,1

P1,2(0010) Y M1(0001) I1,2

P1,3(0011) N I1,3

P1,4(0100) Y M9(1001) I1,4

Universita’ degli Studi di Milano-Bicocca

Page 30: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 30

��

��

Paginazione della memoria

Come avviene l’indirizzamento rilocabile?

Viene fornito un indirizzo rispetto all’indirizzo logico zero. E’ necessario:

1 Ricavare la posizione effettiva della pagina in memoria

2 Indirizzare la cella all’interno di questa pagina

Nota: la posizione della cella all’interno della pagina e’ la stessa per pagina

logica e pagina fisica (bit meno significativi).

Universita’ degli Studi di Milano-Bicocca

Page 31: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 31

��

��

Da Indirizzo logico a Indirizzo fisico

Dato l’indirizzo logico:

1. I � bit piu’ significativi permettono di ricavare la pagina logica delprocesso

2. Mediante la tabella del processo, verifico se la pagina e’ presente inmemoria

3. Se non e’ presente (Page Fault): si libera (se necessario) una pagina dimemoria, si carica la pagina del processo richiesta, e si aggiorna latabella processi (sia per la pagina caricata, che per la paginacancellata). Passo al punto successivo

4. Se presente: ricavo l’indirizzo della pagina fisica; compongo taleindirizzo con i bit meno significativi; ottengo un indirizzo assoluto(fisico) per indirizzare la cella che interessa

Universita’ degli Studi di Milano-Bicocca

Page 32: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 32

��

��

MMU e tecniche di paginazione

Memory Management Unit: Supporto HW che

� Converte indirizzi logici in indirizzi fisici

� Informa il Sistema Operativo di Page Fault

In caso di Page Fault:

� Il processo passa in stato di attesa, finche’ la pagina richiesta e’

presente in memoria

� Il SO libera piu’ pagine di memoria: pagine utilizzate piu’ indietro nel

tempo (principio di localita’ dei programmi)

� Il SO carica piu’ pagine del processo che ha provocato il page fault.

Numero di pagine caricate: non troppo elevato (spreco memoria) e non

troppo ridotto (nuovi page fault)

Universita’ degli Studi di Milano-Bicocca

Page 33: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 33

��

��

Gestione Periferiche

Obiettivi: visione di alto livello

� Indipendenza dalla struttura Hardware delle periferiche

� Gestione errori

� Gestione accessi concorrenti alle periferiche

Si utilizzano due tipi di driver:

Driver Fisici (hardware): attivati dal gestore delle interruzioni per eseguire

le operazioni di trasferimento e manipolazione dei dati

Driver logici (software): fanno parte del sistema operativo, anche se in

genere sono forniti dai costruttori dei dispositivi. Gerarchia di operazioni

con organizzazione a strati.

Universita’ degli Studi di Milano-Bicocca

Page 34: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 34

��

��

Gestione Periferiche

Lettura/scrittura su disco: gestione dischi e testine.

Esempio: posizionamento testine. Shortest Seek First ed Elevator

Algorithms.

Spooling system: Accesso concorrente a risorse condivise (stampante).

Universita’ degli Studi di Milano-Bicocca

Page 35: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 35

��

��

Gestione dei File

File: contenitore logico delle informazioni presenti nelle memorie di massa

File System: software per la gestione dei file. Scopo: trasparenza rispetto

alle caratteristiche fisiche della memoria di massa

Operazioni:

� Creazione/Modifica file con scrittura dati

� Lettura dati da file precedentemente memorizzati

� Cancellazione file

� Copia file tra dispositivi diversi

Universita’ degli Studi di Milano-Bicocca

Page 36: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 36

��

��

Gestione dei File

Filename:

� Nome

� Estensione

� Informazioni ausiliarie

Suddivisione file: Directory (Cartelle)

� Nome locale

� Nome completo

� Operazioni: MD, CD, RD

Universita’ degli Studi di Milano-Bicocca

Page 37: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 37

��

��

Interprete dei Comandi

Strato superiore del sistema operativo

Riceve ed interpreta i comandi dell’utente

I comandi richiamano funzioni del sistema operativo

In un sistema multiutente si deve generare un interprete comandi per ogni

utente collegato

Universita’ degli Studi di Milano-Bicocca

Page 38: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 38

��

��

Esecuzione di un programma applicativo

� L’utente seleziona il programma: interprete comandi

� Associazione file-dati da caricare: file systems

� Lettura effettiva dei dati da disco: gestore periferiche

� Allocazione memoria centrale e trasferimento dati: gestore memoria

� Creazione, attivazione e gestione processo: Kernel

Universita’ degli Studi di Milano-Bicocca

Page 39: Introduzione - Università degli Studi di Milano-Bicoccazandron/InfoGen/lucidi/06SistOp.pdf · 2008-02-29 · 2. Mediante la tabella del processo, verifico se la pagina e’ presente

Fondamenti di Informatica: Sistemi Operativi 39

��

��

Utilities dei Sistemi Operativi

Software aggiuntivo che svolge operazioni utili all’utente.

� Formattazione: prepara il disco in modo da rendere possibile la

memorizzazione dei dati. Creazione FAT, tabella che registra la

localizzazione di tutti i file sul disco

� De-Frammentazione: riunisce i frammenti dei file in posizioni contigue

� Scanning del Disco: individua e marca eventuali settori del disco

rovinati

� Eliminazione dei File: Cestino

Universita’ degli Studi di Milano-Bicocca