Fondi Interprofessionali: principali caratteristiche dei fondi con i quali lavora LEN
Orario definitivo Martedì 14-16 Aula 2 Polo Mercoledì 12-13 Aula 1 Fondi Palazzina delle Scienze...
-
Upload
geronimo-alessi -
Category
Documents
-
view
214 -
download
0
Transcript of Orario definitivo Martedì 14-16 Aula 2 Polo Mercoledì 12-13 Aula 1 Fondi Palazzina delle Scienze...
Orario definitivo Martedì 14-16
Aula 2 Polo Mercoledì 12-13
Aula 1 Fondi Palazzina delle Scienze Giovedì 9-11
Aula 1 Fondi Palazzina delle Scienze Nota: non ci sono lezioni al DISI!
Ancora su Software di Base Software di base=strato (software) tra
macchina e utente che fornisce una macchina virtuale facile da usare
Evoluzione: Sistemi batch con schede (50’s-60’s) System/360 IBM compatibili (65-70’s) Sistemi operativi UNIX e DOS (80’s) WINDOWS (90’s)
Uno sguardo al sistema operativo
Gestione dei Processi Gestione della Memoria Centrale File System Gestione delle Periferiche
Ciclo di vita dei processi Processo = programma+stato mem e
registri Processo utenteprogrammi applicativi Processo di sistemasistema operativo
Processi kernel (nucleo) Gestori interruzioni
Esecuzione di un programma può comportare l’alternanza di processi utente e di sistema all’interno della CPU
Interruzione interna L’esecuzione di un processo attivo si
interrompe ad es. per input/output (operazioni costose in termini di tempo)
Lo stato corrente (contenuto reg..) del processo interrotto viene salvato in memoria
Il processo passa allo stato in attesa Il controllo passa ad un processo di sistema
che assegna la CPU ad un altro processo (per poter ottimizzare l’utilizzo della CPU)
Interruzioni esterne Una periferica segnala fine-operazione L’esecuzione del processo corrente viene
interrotta (attraverso un controllo sul Reg. RINT) e passa al gestore delle interruzioni
Il gestore delle interruzioni provvedere ad es a trasferire dati in memoria e risvegliare il processo in attesa che passa allo stato pronto
Il controllo passa poi al nucleo che manda in esecuzione uno dei processi in stato pronto
Gestore lavoro con interruzioni disabilitate
Interruzioni interne
attivo pronto
attesa
Salvastato
Ripristinastato
Fine
Inizio
Acknowledg. operazione
Interruzioni esterne
attivo pronto
Salvastato
Ripristinastato
Fine
Inizio
Scheduling dei processi Il sistema operativo può interrompere i
processi per assicurare una politica fair di esecuzione
Scheduler= parte di sistema operativo che sceglie il processo da mandare in esecuzione
Due possibili politiche di scheduling: Round robin Priorità
Criteri di valutazione: efficienza, tempi di risposta, fairness, ecc
Round Robin Gestione dei processi in attesa tramite
una coda (FIFO=first-in first-out) Ogni processo ha un quanto di tempo
di esecuzione dopo il quale torna in attesa Quanto >> Tempo per salvare-ripristinare
stato (context switching) Quanto << Tempo di esecuzione del
programma (per assicurare fairness)
Priorità Si assegna una priorità ad ogni processo
e si manda in esecuzione il processo con priorità più alta
La priorità può essere assegnata staticamente ed essere ridotta durante
l’esecuzione (ancora per ragioni di fairness) e se risulta più bassa di un processo in attesa context switching
Assegnata dinamicamente a seconda delle operazioni effettuate dal processo (es seleziona subito processi con operazioni I/O)
Gestione Memoria Centrale I processi si alternano nella CPU Per ragioni di efficienza dobbiamo
mantenere più programmi in memoria centrale partizionamento memoria e del suo spazio di indirizzi. Possibili tecniche: Segmentazione paginazione
Problema: rilocazione di un programma=trasformare indirizzi logici in indirizzi fisici
Rilocazione di programmi Compilatore+Linker: traducono programmi
scritti in linguaggio ad alto livello in programmi in linguaggio macchina che accedono dati (variabili ecc) utilizzando indirizzi logici indipendenti dalla posizione in memoria centrale
Loader: carica il programma compilato in memoria centrale.
(Linker: per compilare programmi divisi in moduli)
Rilocazione Statica: il loader trasforma indirizzi logici
in indirizzi assoluti durante il caricamento in memoria centrale
Dinamica: il loader carica il programma con indirizzi logici. Il programma compilato deve pero gestire l’indirizzamento tramite un registro speciale chiamato registro base
Registro base: mantiene l’indirizzo assoluto della parte di memoria dove si trova il programma
Segmentazione Memoria centrale suddivisa in segmenti di
lunghezza variabile contenenti i programmi Registro base:indirizzo prima cella del
segmento contenente il programma in esecuzione
Registro frontiero: ultima cella... Rilocazione:
ind. assoluto=ind. logico+cont. reg. base
Problema= frammentazione della memoria
Paginazione Memoria e programmi suddivisi in
pagine di lunghezza fissa I programmi vengono caricati in memoria
anche in pagine non contigue La tabella delle pagine mantiene la
corrispondenza tra pagine dei programmi e pagine in memoria centrale
Problema= ridurre no. di caricamenti pagine
Paginazione: rilocazione Se registro indirizzi ha k bit e una pagina ha
2^p celle, vi sono q=k-p pagine in memoria centrale I primi q bit di indirizzo logico indicano una
pagina (logica) nella tabella (la tabella mappa pagine logiche in pagine fisiche)
ultimi p bit indicano l’indirizzo relativo all’interno della pagina
Rilocazione: tramite i primi q bit si recupera indirizzo pagina fisica e poi lo si concatena con gli ultimi p bit ind. assoluto di k bit!
Memoria Virtuale Con la suddivisone del programma in
pagine non è necessario mantenere tutto il programma in memoria centrale
Paginazione a richiesta: Se la pagina del programma che contiene la
prossima esecuzione da eseguire non è in memoria si carica da disco (page swapping)
occorre trovare spazio in memoria e nella tabella (dobbiamo uccidere altre pagine)
Indirizzi nei programmi diventano virtuali infatti la tabella può contenere le pagine in ordine sparso
Gestione dei File Memoria di massa server per
gestire grandi quantità di dati Persistentenza Sicurezza Classificazione
Soluzione=dati organizzati logicamente in file e gestiti dal sistema operativo
File Nome: identificail file spesso con una
estensione che indica il tipo di file (es. Tesi.doc oppure somma.exe)
Struttura: ad esempioç Sequenza di byte Sequenza di blocchi (record) di byte
Tipo: File di caratteri e binari (eseguibili) Directory
Attributi: nome, diritti di accesso,proprietario
Operazioni su File Creazione Cancellazione Apertura e chiusura Lettura e scrittura Aggiunta Modifica Attributi Ridenominazione
File System Consente di creare, cancellare,
spostare, recuperare, ecc documenti in memoria di massa (persistente)
Directory File di tipo speciale che mantiene
informazioni su altri file: permette di strutturare insiemi di file (dati) in maniera gerarchica
DirectoryContenitore che contiene lista dei nomi e attributi dei file e directory al suo interno
File System Albero Radice=radice del’intero file system nodi=file o ulteriori directory
Path names In un’organizzaione ad albero i
nomi devono contenere informazioni sui cammini sui quali si trovano i corrispondenti file Nomi relativi: relativi ad una
particolare directoryNomi assoluti: specificano il cammino a partire dalla radice (root) del file system (mai ambigui)
File System in DOS Disco fisso indicato con C: Dischetto indicato con A: Es. Directory:
C:\Delzanno_TAMC_00\tamc_intro Es Comandi:
‘dir’ = lista file dir corrente ‘cd nome’=si posiziona nella dir nome ‘md nome’=crea dir nome sotto dir.
Corrente ‘rd nome’=rimuove dir nome
Es C:\TAMC\Esami\LuglioC:
RETI
lucidi Esami
Luglio Settembre
TAMC
Gestione File System File possono venire memorizzati con
Allocazione continua di blocchi di byte Allocazione collegata (un blocco contiene
l’indirizzo del prossimo) Allocazione con indice (si mantiene una
tabella in memoria per recuperare i blocchi) – DOS -
I-node: tabella con puntatori ad altre tabelle (combina le ultime due) – UNIX –
Gestione delle periferiche Driver fisici (hardware): per
trasferire e manipolare Driver logici (software): parte del
sistema operativo che forniscono funzionalità ad alto livello che riguardano le periferiche
Driver fisico Parte elettronica: device controller che
controlla i meccanismi fisici dell’apparecchiatura (es unità di lettura di floppy disk) Il device controller dialoga con la CPU attraverso
registri e attraverso una memoria dedicata alle operazioni I/O chiamata DMA (Memoria ad accesso diretto)
DMA libera la CPU dal controllo di operazioni I/O DMA memorizza informazioni che il device
controller puo usare per scrivere in memoria direttamente senza passare attraverso la CPU
Driver logici Software che mascherano i device
fisici Gestiscono errori Gestisce nomi dei device drivers Gestisce demoni per code di attesa
per l’utilizzo di device (ad es code di stampa per stampare file)
Memoria di Massa: Disco Fisso Vari piatti sovrapposti, ogni piatto ha 2
superfici magnetiche sulle quali vengono memorizzati i dati
Superfice suddivisa in tracce e settori Cilindro=tracce nella stessa posizione Dati memorizzati sup-traccia-settore Driver fisico=piatti+testine (una per sup.) Driver logico=software di sistema che
gestisce disco fisso (C: in DOS) cioè interruzioni
Memoria di Massa: Floppy Unico disco con 2 superfici magnetiche Vanno formattati cioè il sistema
operativo determina numero settori, densità bit sul dischetto
Driver fisico=unità di lettura con 2 testine una per ogni superficie
Driver logico=software che gestisce trasferimento dati da floppy (driver A: in DOS)