Informatica Lezione 8 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico: 2005-2006.

Slides:



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

STRUTTURA DEL SISTEMA OPERATIVO
CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
Gestione della memoria centrale
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.
Gestione dei processi A. Ferrari.
TEORIA DEI SISTEMI OPERATIVI
Il Sistema Operativo.
Orario definitivo Martedì Aula 2 Polo Mercoledì Aula 1 Fondi Palazzina delle Scienze Giovedì 9-11 Aula 1 Fondi Palazzina delle Scienze Nota:
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.
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.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
2) Sistemi operativi Lab. Calc. AA2004/05 - cap.2.
Sistemi Operativi GESTIONE DEI PROCESSI.
Introduzione Cosa è un Sistema Operativo ?
Il sistema operativo Vito Perrone
SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (alla lettera, ferramenta). La struttura.
Requisiti precedenti Contenuti Verifiche Bibliografia Maura Zini.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Il Software Una programmazione diretta della macchina hardware da parte degli utenti è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica.
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.
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:
Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
Il Software Programmare direttamente la macchina hardware è molto difficile: l’utente dovrebbe conoscere l’organizzazione fisica del computer e il suo.
1 Nomi di Unità n I sistemi sono dotati di più unità di memoria n DOS e Windows usano nomi di unità per distinguerle n In UNIX la gestione è trasparente.
(processore, i dispositivi di input/output, ecc.)
Sistema Operativo (Software di base)
Prima di iniziare… Durata attività: due lezioni frontali + una lezione laboratorio + compiti per casa Prerequisiti: elementi base architettura dei calcolatori.
Informatica Lezione 8 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
INFORMATICA CdL in Scienze e Tecniche Psicologiche
1 Gestione della Memoria. 2 Idealmente la memoria dovrebbe essere –grande –veloce –non volatile Gerarchia di memorie –Disco: capiente, lento, non volatile.
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Gestione del processore (Scheduler)
INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte III Software e.
Introduzione Cos’è un sistema operativo ?. Hardware Sistema Operativo Applicazioni È il livello di SW con cui interagisce l’utente e comprende programmi.
1 Sommario degli argomenti  Sistemi operativi: DOS, Unix/Linux,Windows  Word processors: Word  Fogli elettronici: Excel  Reti: TCP/IP, Internet, ftp,
Il software Componente del computer costituita dai: –programmi di base per la gestione del sistema –programmi applicativi per l’uso del sistema Queste.
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.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
Sistema operativo Il Sistema Operativo gestisce le risorse hw e sw del sistema di elaborazione Facilita l'interazione tra utente e sistema Esistono diversi.
Sistema operativo Il sistema operativo è un insieme di programmi che gestiscono tutte le componenti hardware e software di un calcolatore. Spesso si può.
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.
Informatica Lezione 7 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Informatica Lezione 6 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
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
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
3  L’hardware da solo non è sufficiente per il funzionamento dell’elaboratore ma è necessario introdurre il software  … ovvero un insieme di programmi.
IL NUCLEO Avvio e terminazione dei processi Assegnazione della CPU ai diversi processi Sincronizzazione tra i processi Sincronizzazione dei processi con.
INTRODUZIONE AI SISTEMI OPERATIVI. Introduzione Il software può essere diviso un due grandi classi: Il software può essere diviso un due grandi classi:
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.
1 Informatica di Base Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Transcript della presentazione:

Informatica Lezione 8 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:

Funzioni principali del sistema operativo Avvio del computer Gestione del processore e dei programmi in esecuzione (detti processi) Gestione della memoria principale Gestione della memoria virtuale Gestione della memoria secondaria Gestione dei dispositivi di input/output Interazione con l’utente

Avvio dell’elaboratore Il sistema operativo viene mandato in esecuzione al momento dell’accensione del computer Questa fase prende il nome di bootstrap In questa fase una parte del sistema operativo viene caricata nella memoria principale

Avvio dell’elaboratore In genere questa parte del sistema operativo comprende: I programmi per la gestione del processore I programmi per la gestione della memoria I programmi per la gestione dell’input/output I programmi per la gestione delle risorse hardware I programma per la gestione del file system Un programma che crea l’interfaccia verso l’utente

Avvio dell’elaboratore Una parte del sistema operativo deve essere sempre mantenuta in memoria principale e deve essere sempre pronta per l’esecuzione N S.O. spazio utente

Avvio dell’elaboratore (i virus) Spesso durante questa fase sono eseguiti anche dei programmi che verificano l’eventuale presenza di virus sul disco dell’elaboratore I virus può danneggiare il funzionamento dell’elaboratore Possono essere trasmessi da un elaboratore ad un altro quando si copiano dei programmi oppure quando si salvano degli allegati dalla casella di posta elettronica

Funzioni principali del sistema operativo Avvio del computer Gestione del processore e dei programmi in esecuzione (detti processi) Gestione della memoria principale Gestione della memoria virtuale Gestione della memoria secondaria Gestione dei dispositivi di input/output Interazione con l’utente

Esecuzione dei programmi Quando si scrive un comando (oppure si clicca sull’icona di un programma) …. C:> print foo1.doc C:> oppure

Esecuzione dei programmi Quando si scrive un comando (oppure si clicca sull’icona di un programma), il sistema operativo: Cerca il programma corrispondente sulla memoria secondaria Copia il programma in memoria principale … Processore Stampante Memoria secondaria Memoria principale

Esecuzione dei programmi Quando si scrive un comando (oppure si clicca sull’icona di un programma), il sistema operativo: Cerca il programma corrispondente sulla memoria secondaria Copia il programma in memoria principale Imposta il registro Program Counter con l’indirizzo in memoria principale della prima istruzione del programma

Sistemi mono-utente, mono- programmati Un solo utente può eseguire un solo programma alla volta È forzato a “sequenzializzare” i programmi Il programma viene lanciato, eseguito e quindi terminato Ma il processore viene sfruttato al meglio?

Sistemi mono-utente, mono- programmati No, il processore non viene sfruttato al meglio: si spreca molto tempo Il processore è molto più veloce dei supporti di memoria secondaria e delle altre periferiche Passa la maggior parte del suo tempo in attesa Durante l’attesa si dice che il processore è un uno stato inattivo (idle)

Esempio 1 Un processo è costituito da 1000=10 3 istruzioni Ogni istruzione richiede secondi per essere eseguita dal processore Tempo totale di esecuzione: 10 3 * = = 1 millisecondo A metà esecuzione è richiesta la lettura di un dato dal disco. Il tempo di lettura è 1 millisecondo Tempo totale di esecuzione = 2 millisecondi Idle time = 1 millisecondo: 50% del tempo totale di esecuzione è tempo sprecato

Esempio 2 Un processo è costituito da 1000=10 3 istruzioni Ogni istruzione richiede secondi per essere eseguita dal processore Tempo totale di esecuzione: 10 3 * = = 1 millisecondo A metà esecuzione è richiesta un dato al’utente. Il tempo di reazione è 1 secondo Tempo totale dell’esecuzione = 1001 millisecondi Idle time = 1 secondo: 99,9% del tempo totale di esecuzione è tempo sprecato

Esecuzione sequenziale Processo P1 Processo P2 Processore iniziofineiniziofine esecuzione in attesa attivo idle

Esecuzione sequenziale Supponiamo che il nostro sistema sia un bar in cui il barista serve diversi clienti Il barista è corrispondente del processore, i clienti sono l’equivalente dei processi da eseguire Esecuzione mono-programmati: OrdinarePreparare il caffé Consumare Pagare OrdinarePreparare il caffé Consumare Pagare Client 1Client 2

Soluzione In realtà: Ordinare (C1) Preparare il caffé (C1) Pagare (C1) Ordinare (C2) Preparare il caffé (C2) Pagare (C2) Client 1 Client 2

Soluzione: sistemi multiprogrammati Quando il processore è nello stato di idle la si può sfruttare per eseguire (parte di) un altro processo Quando un processo si ferma (per esempio in attesa di un dato dall’utente) il processore può passare ad eseguire le istruzione di un altro processo Il sistema operativo si occupa dell’alternanza tra i processi in esecuzione

Sistemi multiprogrammati Dal punto di vista dei processi Dal punto di vista del processore P1 P2 esec P1 esec P2

Sistemi multiprogrammati Più programmi sembrano essere eseguiti “contemporaneamente” In realtà in esecuzione c’è sempre un solo processo Ma, se l’alternanza è molto frequente, si ha un’idea di simultaneità

Sistemi multiprogrammati Un processo può trovarsi in tre diversi stati: in esecuzione, in attesa, pronto esecuzione attesapronto Quando sta utlizzando il processore Quando è in attesa del verificarsi di un evento esterno Quando è potenzialmente in condizione di poter utilizzare il processore che è occupato da un altro processo

Sistemi multiprogrammati esecuzione attesapronto scambio esecuzione richiesta I/O o risorse I/O terminato o risorsa disponibile terminazione

Sistemi multiprogrammati pronto Quando un processo viene creato viene messo nello stato di pronto in tale stato rimane fino a quando non arriverà il suo turno

Sistemi multiprogrammati esecuzione attesapronto scambio esecuzione

Sistemi multiprogrammati esecuzione attesapronto Un processo può abbandonare lo stato di esecuzione per tre diverse ragioni

Sistemi multiprogrammati esecuzione attesapronto terminazione Un processo può abbandonare lo stato di esecuzione per tre diverse ragioni Il processo termina la sua esecuzione e abbandona il sistema

Sistemi multiprogrammati esecuzione attesapronto richiesta I/O o risorse terminazione Un processo può abbandonare lo stato di esecuzione per tre diverse ragioni Il processore viene liberato e può essere concesso ad un altro processo pronto

Sistemi multiprogrammati esecuzione attesapronto scambio esecuzione richiesta I/O o risorse terminazione Un processo può abbandonare lo stato di esecuzione per tre diverse ragioni Per realizzare in modo equo l’alternanza tra i processi, in certi casi può essere opportuno fermare un processo e concedere il processore ad un altro processo

Sistemi multiprogrammati In quali casi è opportuno fermare un processo e concedere il processore ad un altro processo? Se un processo non si ferma mai in attesa di input/output o di una risorsa Se più utenti vogliono usare il computer In questi casi è necessario far sì che il processore sia distribuita tra i processi dello stesso utente e di utenti diversi Si parla di scheduling del processore

Esempio di scheduling: Round Robin Ad ogni processo viene assegnato un quanto di tempo del processore (time slice) Terminato il quanto di tempo, il processo viene sospeso e rimesso nella coda dei processi pronti (al fondo della coda) Il processore viene assegnata ad un altro processo pronto Un processo può usare meno del quanto che gli spetta se deve eseguire operazioni di I/O oppure ha terminato la sua computazione

Esempio di scheduling: Round Robin esecuzione attesapronto in esecuzione richiesta I/O o risorse I/O terminato o risorsa disponibile terminazione quanto di tempo scaduto Più precisamente, nel caso della politicà di scheduling Round Robin

Sistemi multi-utente, multi- programmati Più utenti possono usare allo stesso tempo il computer … perché il processore viene assegnata periodicamente ai processi dei vari utenti (per esempio ogni 10 o 100 millisecondo) All’aumentare del numero di processi e del numero di utenti le prestazioni del sistema possono degradare

Esercizio 1a Supponiamo di avere nella coda dei processi pronti tre processi P1, P2 e P3 con i seguenti “comportamenti” in termini di computazione e tempi di attesa Quante unità di tempo ci vogliono per portare a termine tutti e tre i processi in un sistema mono-programmato? calcolo in attesa P1 P2 P3

Esercizio 1a: soluzione Quante unità di tempo ci vogliono per portare a termine tutti e tre i processi in un sistema mono-programmato? Tot(P1)=60, Tot(P2)=60, Tot(P3)=50 Tot(P1+P2+P3) = =

Esercizio 1b Supponiamo di avere nella coda dei processi pronti tre processi P1, P2 e P3 con i seguenti “comportamenti” in termini di computazione e tempi di attesa Quante unità di tempo ci vogliono per portare a termine tutti e tre i processi in un sistema multi-programmato, se si applica l’alternanza tra i processi? calcolo in attesa P1 P2 P3

Esercizio 1b: una soluzione Quante unità di tempo ci vogliono per portare a termine tutti e tre i processi in un sistema multi-programmato, se si applica l’alternanza tra i processi? P1 P2 P3 P1 in attesa P2 in attesa P3 in attesa In questo caso, quando un processo va in attesa, Il processsore viene assegnato al primo processo pronto Totale = 100

Esercizio 1b: un’altra soluzione Quante unità di tempo ci vogliono per portare a termine tutti e tre i processi in un sistema multi-programmato, se si applica l’alternanza tra i processi? P1 P2 P3 P1 in attesa P2 in attesa P3 in attesa Totale = 100

Esercizio 1b: una soluzione optimale Quante unità di tempo ci vogliono per portare a termine tutti e tre i processi in un sistema multi-programmato, se si applica l’alternanza tra i processi? P1 P2 P3 P1 in attesa P2 in attesa P3 in attesa Totale = 90

Esercizio 2 Supponiamo di avere nella coda dei processi pronti i processi P1 durata = 40 unità di tempo P2 durata = 10 unità di tempo P3 durata = 60 unità di tempo P4 durata = 30 unità di tempo Qual è una sequenza di esecuzione con una politica di scheduling Round Robin e quanto di tempo pari a 20 unità?

Esercizio 2: una soluzione P1 durata = 40 unità di tempo P2 durata = 10 unità di tempo P3 durata = 60 unità di tempo P4 durata = 30 unità di tempo P1 020 P2P3P4P1P3P4P Non consideriamo eventuali tempi di attesa

Gestione dei processi Per gestire un insieme di processi “contemporaneamente” attivi il sistema operativo mantiene la tabella di processi Per ogni processo vi è un descrittore nel quale sono memorizzate informazioni come:  L’identificatore del processo  L’identificatore dell’utente proprietario  Lo stato del processo  Ecc. Queste informazioni servono per realizzare l’operazione di cambio di contesto

Gestione dei processi Cambio di contesto: Quando un processo rilascia il processore, le informazioni sul suo stato vengono memorizzate nel suo descrittore all’interno della tabella dei processi In questo modo, quando tornerà nuovamente in esecuzione, il processo potrà ripartire dal punto in cui era stato interotto