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:

Slides:



Advertisements
Presentazioni simili
Scheduling (Schedulazione) Susanna Pelagatti – Università di Pisa
Advertisements

CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
Introduzione Cosa è un Sistema Operativo? Una breve storia
Il Sistema Operativo Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per: gestire.
Requisiti precedenti Contenuti Verifiche Bibliografia Maura Zini.
Scheduling A. Ferrari.
Gestione dei processi A. Ferrari.
TEORIA DEI SISTEMI OPERATIVI
Il Sistema Operativo.
Elaboratore e Sistemi Operativo
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Gestione del processore
12. Il Sistema Operativo Ing. Simona Colucci
Time Sharing Il termine “Time Sharing” proviene dall'inglese e significa letteralmente “partizione di tempo”. Questa è una tecnica sviluppatasi negli.
Sommario Il sistema operativo Introduzione
Il sistema operativo.
5.1 Sistemi operativi Scheduling della CPU Concetti di base Criteri di scheduling Algoritmi di scheduling Scheduling in sistemi con più processori Valutazione.
Scheduling della CPU Concetti fondamentali Criteri di scheduling
Scheduling della CPU Concetti di base Criteri di scheduling
INTRODUZIONE AI SISTEMI OPERATIVI
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Gestione dei processi Un sistema operativo multitasking è in grado di gestire più processi Un processo corrisponde ad un programma in esecuzione. Un programma.
Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.
Introduzione: Sistemi Operativi I
Sistema Operativo e Compilatore
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
FACOLTÁ DI INGEGNERIA CORSO DI LAUREA INGEGNERIA INFORMATICA Progetto e Sviluppo di un Algoritmo di Scheduling per il Sistema RTAI Candidato: Luca Marzario.
1 Gestione del processore Il modello a processi sequenziali.
Sistemi Operativi SCHEDULING DELLA CPU.
Sistemi Operativi GESTIONE DEI PROCESSI.
Il sistema operativo Vito Perrone
Fondamenti di Informatica
Le procedure di gestione input/output Poiché le operazioni di input/output sono più lente rispetto alla velocità del processore, occorrerà sincronizzarle.
Requisiti precedenti Contenuti Verifiche Bibliografia Maura Zini.
TECNICHE DI INPUT/OUTPUT
Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco.
Il sistema operativo.
La schedulazione dei processi
Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina.
1 Scheduling in Windows 2000 Un thread entra in modalità kernel e chiama lo scheduler quando: Si blocca su un oggetto di sincronizzazione (semaforo, mutex,
Il Sistema Operativo (1)
1 Lucidi delle esercitazioni di Sistemi di Elaborazione in Rete Università degli Studi della Calabria Corso di Laurea in Ingegneria Gestionale A.A. 2003/2004.
Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Sistema Operativo (Software di base)
1 Gestione del Processore (Scheduling). 2 Scheduling dei processi È l’attività mediante la quale il sistema operativo effettua delle scelte tra i processi,
Gestione del Processore (Scheduling)
Gestione del processore (Scheduler)
Informatica Lezione 8 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
1 Sommario degli argomenti  Sistemi operativi: DOS, Unix/Linux,Windows  Word processors: Word  Fogli elettronici: Excel  Reti: TCP/IP, Internet, ftp,
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
1 Processi e Thread Processi e thread in Windows 2000.
1 Processi e Thread Scheduling (Schedulazione). 2 Scheduling Introduzione al problema dello Scheduling (1) Lo scheduler si occupa di decidere quale fra.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Informatica Generale Marzia Buscemi
I primi elaboratori Anni ‘50 Rigidamente sequenziali
IL NUCLEO Avvio e terminazione dei processi Assegnazione della CPU ai diversi processi Sincronizzazione tra i processi Sincronizzazione dei processi con.
NUCLEO DI UN SISTEMA A PROCESSI Il modello a processi prevede l’esistenza di tante unità di elaborazione (macchine virtuali) quanti sono i processi; ogni.
INTRODUZIONE AI SISTEMI OPERATIVI. Introduzione Il software può essere diviso un due grandi classi: Il software può essere diviso un due grandi classi:
Gli interrupt Richiesta di attenzione alla cpu. Viene generato un segnale detto di interrupt diretto alla cpu.
Scheduler e politiche di Marco Arcamone.
1 Introduzione pag. 52 Cap.1 - Caratteristiche generali dei sistemi operativi 1.
10. Il Sistema Operativo Ing. Simona Colucci Informatica - CDL in Ingegneria Industriale- A.A
Gestione delle periferiche. Le periferiche sono dispositivi che permettono le operazioni di input/output.
Definizione e obiettivi del Sistema Operativo. DIFFERENZA TRA SISTEMA OPERATIVO – SOFTWARE APPLICATIVO Sistema operativo è un insieme organico di programmi.
IL NUCLEO Le funzioni del nucleo sono: Avvio e terminazione dei processi Assegnazione della CPU ai diversi processi Sincronizzazione tra i processi Sincronizzazione.
Il Sistema Operativo. Sistema Operativo (Software di base) Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità.
Transcript della presentazione:

Orario definitivo Martedì Aula 2 Polo Mercoledì 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 (50s-60s) System/360 IBM compatibili (65-70s) Sistemi operativi UNIX e DOS (80s) WINDOWS (90s)

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 utente programmi applicativi Processo di sistema sistema operativo Processi kernel (nucleo) Gestori interruzioni Esecuzione di un programma può comportare lalternanza di processi utente e di sistema allinterno della CPU

Interruzione interna Lesecuzione 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 lutilizzo della CPU)

Interruzioni esterne Una periferica segnala fine-operazione Lesecuzione 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 Salva stato Ripristina stato Fine Inizio Acknowledg. operazione

Interruzioni esterne attivo pronto Salva stato Ripristina stato 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 lesecuzione (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 lindirizzamento tramite un registro speciale chiamato registro base Registro base: mantiene lindirizzo 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 lindirizzo relativo allinterno 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 Directory Contenitore che contiene lista dei nomi e attributi dei file e directory al suo interno File System Albero Radice=radice delintero file system nodi=file o ulteriori directory

Path names In unorganizzaione ad albero i nomi devono contenere informazioni sui cammini sui quali si trovano i corrispondenti file Nomi relativi: relativi ad una particolare directory Nomi 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\Luglio C: RETI lucidiEsami Luglio Settembre TAMC

Gestione File System File possono venire memorizzati con Allocazione continua di blocchi di byte Allocazione collegata (un blocco contiene lindirizzo 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 dellapparecchiatura (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 lutilizzo 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)