1 Matteo Cristani Dipartimento di Informatica Facoltà di Scienze MM. FF. NN. Università degli Studi di Verona Corso di.

Slides:



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

Training On Line - CONP. 2 Richiesta Da Menu: Conferimenti ad inizio anno termico > Agosto > Pluriennali > Nuova Richiesta Si accede alla pagina di Richiesta.
STRUTTURA DEL SISTEMA OPERATIVO
Dipartimento di Ingegneria Idraulica e Ambientale - Universita di Pavia 1 Caduta non guidata di un corpo rettangolare in un serbatoio Velocità e rotazione.
Meccanismi di IPC Problemi classici di IPC
TAV.1 Foto n.1 Foto n.2 SCALINATA DI ACCESSO ALL’EREMO DI SANTA CATERINA DEL SASSO DALLA CORTE DELLE CASCINE DEL QUIQUIO Foto n.3 Foto n.4.
1 Introduzione ai calcolatori Parte II Software di base.
Gestione della memoria centrale
1 Pregnana Milanese Assessorato alle Risorse Economiche Bilancio Preventivo P R O P O S T A.
Unità D2 Archivi e file.
Gestione dei processi A. Ferrari.
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:
File System Cos’è un File System File e Directory
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
Frontespizio Economia Monetaria Anno Accademico
I sistemi di riferimento
Time Sharing Il termine “Time Sharing” proviene dall'inglese e significa letteralmente “partizione di tempo”. Questa è una tecnica sviluppatasi negli.
Scheduling in Linux (Kernel 2.6)
Realizzazione del file system
Scheduling della CPU Concetti fondamentali Criteri di scheduling
Scheduling della CPU Concetti di base Criteri di scheduling
Implementazione dell algortimo di Viterbi attraverso la soluzione del problema di cammino mi- nimo tramite software specifico. Università degli studi di.
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
I MATEMATICI E IL MONDO DEL LAVORO
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Programmazione 1 9CFU – TANTE ore
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
Ufficio Studi UNIONCAMERE TOSCANA 1 Presentazione di Riccardo Perugi Ufficio Studi UNIONCAMERE TOSCANA Firenze, 19 dicembre 2000.
Realizzazione e caratterizzazione di una semplice rete neurale per la separazione di due campioni di eventi Vincenzo Izzo.
Corso di Informatica per Giurisprudenza Lezione 5
Corso di Informatica per Giurisprudenza
Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.
I Thread.
Master universitario di II livello in Ingegneria delle Infrastrutture e dei Sistemi Ferroviari Anno Accademico 2012/2013 Cultura dimpresa, valutazione.
La partita è molto combattuta perché le due squadre tentano di vincere fino all'ultimo minuto. Era l'ultima giornata del campionato e il risultato era.
Dipartimento di Ingegneria Idraulica e Ambientale - Universita di Pavia 1 Scritte scritte scritte scritte scritte scritte scritte Scritte scritte Titolo.
2) Sistemi operativi Lab. Calc. AA2004/05 - cap.2.
Sistemi Operativi SCHEDULING DELLA CPU.
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
19 Lezione 21/5/04 Composizione dell'immagine 1 COMPOSIZIONE DELLIMMAGINE.
Contatore: esempio di circuito sequenziale
Velocità ed accelerazione
Corso di Informatica per Giurisprudenza Lezione 7
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
1 Negozi Nuove idee realizzate per. 2 Negozi 3 4.
ISOIVA (LOCALE) TO ISOIVA (WEB) RIPARTIZIONE INFORMATICA UFFICIO APPLICATIVI AMMINISTRATIVI 13/04/2011 UNIVERSITÀ DEGLI STUDI DI FERRARA 1.
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
1 Guida per linsegnamento nei corsi per il conseguimento del CERTIFICATO DI IDONEITÀ ALLA GUIDA DEL CICLOMOTORE.
Bando Arti Sceniche. Per poter procedere è indispensabile aprire il testo del Bando 2ROL - Richieste On Line.
Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina.
Il Sistema Operativo (1)
1 Questionario di soddisfazione del servizio scolastico Anno scolastico 2011/2012 Istogramma- risposte famiglie.
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.
Sviluppare un programma in C che, dato un array da 100 elementi interi caricato con numeri casuali compresi tra [10,100], sia in grado di cercare il valore.
Threads.
Scheduling della CPU.
Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
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.
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)
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
1 Gestione della Memoria. 2 Idealmente la memoria dovrebbe essere –grande –veloce –non volatile Gerarchia di memorie –Disco: capiente, lento, non volatile.
Gestione del processore (Scheduler)
Informatica Generale Marzia Buscemi
INTRODUZIONE AI SISTEMI OPERATIVI. Introduzione Il software può essere diviso un due grandi classi: Il software può essere diviso un due grandi classi:
Scheduler e politiche di Marco Arcamone.
Transcript della presentazione:

1 Matteo Cristani Dipartimento di Informatica Facoltà di Scienze MM. FF. NN. Università degli Studi di Verona Corso di Informatica per Giurisprudenza Lezione 6

2 Agenda ä Struttura di un sistema operativo ä Processi, gestione memoria, file system; ä Dispositivi di input-output; ä Backup ä Sistemi operativi esistenti ä DOS, Windows, MAC OS, Linux

3 Schema generale di un sistema operativo

4 Concetto di processo ä Un processo è un programma in esecuzione ä Sistemi operativi diversi modellano diversamente le relazioni temporali tra processi ä ATTENZIONE: Unapplicazione non è necessariamente un programma ä Molte applicazioni sono implementate da un insieme di programmi e quindi quando sono in esecuzione vi sono molti processi

5 Stato di un processo ä Un processo, in un sistema operativo, può trovarsi in una delle seguenti situazioni ä Attivo: il processo è in esecuzione, e controlla le risorse; ä In attesa:il processo è in esecuzione, ma non controlla le risorse; ä Sopito:il processo non è in esecuzione, ma attende di essere richiamato

6 Gestione delle risorse ä Le risorse a disposizione di un processo sono fondamentalmente tre: ä Il tempo di CPU, ovvero il controllo dellesecuzione su macchine sequenziali, il possesso di una delle risorse di calcolo parallele su macchine non sequenziali ä La memoria centrale ä Le periferiche

7 Condivisibilità ä Una risorsa si dice condivisibile se il fatto che un processo vi acceda non significa che la controlli ä Un processo accede ad una risorsa quando può farne uso, ovvero quando i comandi che invia a quella risorsa sono eseguiti ä Un processo controlla una risorsa quando ogni richiesta di accesso da parte di altri processi effettuata mentre il processo stesso vi accede viene respinta

8 Monitor ä Un pezzo essenziale del kernel di un sistema operativo è il monitor ä Presiede al coordinamento ed al controllo delle funzioni del Resource Manager che gestisce ä Job Scheduling (CPU Time) ä Memory assignement ä Periferiche

9 Funzioni del monitor ä Il monitor ä Stabilisce laccesso alla CPU ä Gestisce laccesso a memoria e periferiche ä Coordina le funzioni di accesso

10 Problema generale ä I tempi daccesso a ä Operazioni di CPU ä Memoria centrale ä Periferiche sono enormemente differenti ä un accesso a periferica si compie in tempi dellordine dei millisecondi ä un accesso a memoria centrale in tempi dellordine dei microsecondi ä una operazione di CPU si compie in tempi dellordine dei picosecondi

11 Conseguenze ä Nel tempo che un processo impiega a fare accesso a memoria centrale o addirittura ad una periferica la CPU è posseduta ma ferma ä Meccanismo risolutore ä Si sottrae la CPU ä Si INTRAPPOLA il processo, cosicchè il monitor, quando riceve notizie dalla memoria o dalla periferica interessata che segnalano la terminazione dellaccesso toglie il processo dalla sua trappola e lo riammette in coda

12 Resource manager

13 Trap e DMA (1) ä Se la CPU viene sottratta ad un processo e questo processo deve accedere ad una risorsa, chi eseguirà i comandi di accesso? ä La tecnica implementata negli attuali H/W è la DMA (Direct Memory Access) ä Ogni banco di memoria centrale (RAM, ROM) ed ogni periferica posseggono un chip collaterale che esegue i comandi di accesso relativi alla memoria od alla specifica periferica: la DMA

14 Trap e DMA (2) ä Se intrappoliamo un processo e lo consegnamo alla DMA che eseguirà la sua richiesta di accesso alla risorsa controllata otteremo lo scopo prefissato ä La CPU sarà libera ä La coda non verrà interrotta

15 Fatti storici ä Anche se la tecnica sulle DMA è posteriore alla concezione di algoritmi atti ad implementare una politica di scheduling ROUND-ROBIN esse sono molto motivanti per tale scelta ä Inoltre, senza ROUND-ROBIN le DMA sono poco utili

16 Funzioni generali di un sistema operativo ä Il sistema operativo deve svolgere le seguenti funzioni 1. Processare le richieste di risorse non condivisibili stabilendo le modalità con cui i processi richiedenti accedono alle risorse stesse e lordine di accesso; 2. Processare le richieste di risorse condivisibili stabilendo lordine di accesso

17 Accesso alla CPU ä Storicamente ä Accesso secondo richiesta FIFO ä Accesso secondo priority PQ ä Accesso secondo dimensioni SJF ä Accesso a rotazione ROUND-ROBIN

18 Modello FIFO ä I processi che chiedono la CPU ne entrano in possesso quando tutti i processi che ne avevano fatto richiesta prima lhanno impiegata ä Un processo in coda è sempre in attesa ä Non esistono processi sopiti

19 Esempio ä Al tempo 0 chiede la CPU il processo p 1, che la terrà occupata per 10 secondi ä Al tempo 3 chiede la CPU il processo p 2 che la terrà occupata per 12 secondi ä Al tempo 8 chiede la CPU il processo p 3 che la occuperà 3 secondi ä Al tempo 11 chiede la CPU il processo p 4 che la occupa 7 secondi ä Al tempo 17 chiede la CPU il processo p 5 che la occuperà per 4 secondi

20 Esempio ä Pertanto: ä Al tempo 0 il processo attivo è p 1, nessun processo in coda ä Al tempo 3 si accoda p 2 ä Al tempo 8 si accoda p 3 ä Al tempo 10 termina p 1 e diviene attivo p 2 ä Al tempo 11 si accoda p 4 ä Al tempo 17 si accoda p 5 ä Al tempo 22 termina p 2 e diviene attivo p 3 ä Al tempo 25 termina p 3 e diviene attivo p 4 ä Al tempo 32 termina p 4 e diviene attivo p 5 ä Al tempo 36 termina p 5

21 Schema p5p5 p2p2 p2p2 p3p3 p3p3 p3p3 p4p4 p3p3 p4p4 p4p4 p5p5 p1p1 p1p1 p1p1 p2p2 p2p2 p2p2 p3p3 p4p4 p5p5 } processo attivo

22 Caratteristiche di FIFO ä Vantaggi ä Ordine di precedenza rispettato ä Certezza dellesecuzione ä Completamento di un singolo processo in tempo pari al tempo di esecuzione dopo laccesso alla risorsa ä ä Svantaggi ä Tempo di attesa in coda variabile ä Impossibilità di gestire le urgenza ä Processi molto lunghi possono tenere in coda processi molto corti

23 Priority queueing ä I processi che chiedono la CPU ne entrano in possesso quando tutti i processi che ne avevano fatto richiesta prima avendo priorità maggiore o uguale al processo richiedente lhanno impiegata ä Un processo in coda è sempre in attesa ä Non esistono processi sopiti

24 Implementazioni di PQ (1) ä A coda singola ä I processi vengono monitorati solo allingresso in coda e la risalgono fino a quando il processo che le precede ha la stessa priorità, o priorità maggiore o hanno raggiunto la cima della coda

25 Implementazioni di PQ (2) ä A coda multipla ä Ogni priorità ha la sua coda ä I processi di una coda vengono eseguiti in ordine FIFO ä Le code vengono monitorate in ordine diretto dalla priorità più alta a quella più bassa

26 Caratteristiche di PQ (1) ä Vantaggi ä Garanzia di priorità per processi urgenti ä Tempo di attesa in coda dipende dalla priorità ä ä Svantaggi ä Processi a bassa priorità possono restare in coda potenzialmente allinfinito ä Difficile attribuire le priorità in modo automatico

27 Caratteristiche di PQ (2) ä Vantaggi ä Garanzia di priorità per processi urgenti ä Tempo di attesa in coda dipende dalla priorità e in parte dallordine di richiesta ä I processi, anche a bassa priorità vengono sempre eseguiti ä ä Svantaggi ä Difficile attribuire le priorità in modo automatico ä Processi ad alta priorità possono attendere a lungo in ogni caso, essendo in coda alle richieste

28 Shortest Job First ä Viene eseguito per primo il processo più breve tra quelli in coda ä Un processo in coda è sempre in attesa ä Non esistono processi sopiti

29 Caratteristiche di SJF ä Vantaggi ä Tempo medio di attesa in coda è minimizzato ä ä Svantaggi ä Processi lunghi possono restare in coda potenzialmente allinfinito ä Nessuna priorità

30 Round-Robin ä Ogni processo è ripartito in fette di tempo (time-slice) di durata massima predefinita ä Quando una time-slice è terminata la CPU viene attribuita al processo successivo in coda ä I processi in coda sono sia in attesa che sopiti

31 Round-Robin e DMA ä Se un processo fa solo operazioni CPU durante il suo Time-Slice, allora, dato che non verrà intrappolato continuerà a possedere la CPU ä Se un processo accede a memoria o periferiche finirà intrappolato e il monitor gli sottrarrà la CPU ä Perciò, in presenza di un trap, la durata di una time-slice sarà inferiore

32 Caratteristiche del Round-Robin ä Vantaggi ä Certezza dellesecuzione ä Minimizzazione del tempo di attesa in coda ä Sfruttamento completo delle risorse ä ä Svantaggi ä La maggior complicazione dellalgoritmo di scheduling richiede grande attenzione alla sua implementazione

33 Schemi del Job Scheduling

34 Concorrenza ä Processi eseguiti in coda su macchine sequenziali monitorate da un sistema operativo con Job Scheduler a politica Round-Robin si dicono concorrenti ä La concorrenza non è parallelismo

35 Tipi di sistema operativo (1) ä Rispetto allesecuzione di applicazioni un sistema operativo può concepire applicazioni in tre stati ä Con il Focus ä Attive ä Accessibili

36 Tipi di sistema operativo (2) ä Se un sistema operativo ammette più applicazioni con il focus e il Job Scheduling è Round-Robin, allora due utenti potrebbero eseguire applicazioni diverse in concorrenza ä Se ciò avviene diremo che il sistema operativo con time-sharing competitivo

37 Tipi di sistema operativo (3) ä Nel caso opposto, cioè quando una applicazione cede il focus solo spontaneamente, diremo che il time-sharing è cooperativo ä Windows95 e Mac OS fino alla versione 4 sono sistemi definiti cooperativi ä Da Windows98 in poi e da Mac OS 5 si parla di sistemi competitivi

38 File system ä Si chiama File System lorganizzazione strutturale dei dati di memoria di massa gestita da un sistema operativo ä Questa funzione è fondamentale

39 Organizzazione del file system ä Aspetto ä È un albero ä Navigabile bidirezionalmente ä I nodi si chiamano Directory, e i legami parenthood links

40 Organizzazione dei dati ä I file vengono collocati nel disco dove possibile ä Per sfruttare al meglio lo spazio i file possono essere spezzati in blocchi ä La cancellazione di un file o la sua modifica comporta la modifica (e potenzialemte) leliminazione dei blocchi che lo compongono

41 Metodo ä Occorre quindi progettare tecniche di Allocazione dei Blocchi che consentano di evitare sprechi e garantire la conservazione dellintegrità dei dati stessi ä Le politiche di allocazione sono uno delle più significative scelte strategiche nella definizione di un sistema operativo

42 Tecniche di allocazione (1) ä Le tecniche di allocazione dei blocchi sono costruite sui seguenti assunti ä I blocchi hanno tutti le stesse dimensioni ä Il numero di blocchi di un file è variabile

43 Best-Fit ä Trova le zone libere del disco ä Ripartisci il file in segmenti di blocchi adiacenti in modo da garantire che ogni segmento occupi una zona libera del disco con il minimo spreco di memoria

44 Caratteristiche di Best-Fit ä Potenzialmente difficile il problema di trovare le aree per lallocazione ä Se residuano piccole porzioni del disco esse saranno certamente sprecate ä Esempio ä Windows95, Windows98 ä Implementava una FAT (File Allocation Table) dove registrava le informazioni di allocazione e disallocazione ä Dopo un periodo di uso intenso occorreva operare una deframmentazione per compattare e quindi riutilizzare le aree del disco inutilizzate

45 Worst-Fit ä Trova le zone libere del disco ä Ripartisci il file in blocchi in modo da garantire che ogni segmento occupi una zona libera del disco con il massimo spreco di memoria

46 Caratteristiche di Worst-Fit ä Minor spreco ä È più probabile che se un file è piccolo si allochi subito

47 Backup (1) ä A causa dei crash elettrici, degli errori umani e dei problemi con software con bachi è possibile che dati recentemente scaricati sul computer siano illeggibili ä Per prudenza, quindi, si fa copia del contenuto del disco (o talvolta di una sua parte) ä Tale copia si chiama backup

48 Backup (2) ä Il backup, per sistemi di grandi dimensioni, può risultare voluminoso e lungo da fare a mano ä Si ricorre quindi a tecniche di Backup periodico (ogni giorno)

49 Sistemi operativi esistenti ä La grande famiglia UNIX ä Unix ä Linux ä NetBSD, FreeBSD ä Windows ä Windows 95 ä Windows 98 ä Windows 2000 ä Windows XP

50 DOS e Windows ä DOS (Disk Operating System) fu una idea di interesse sviluppata con lo scopo di rendere semplice laccesso a risorse di un computer da parte di utenti inesperti ä Attualmente esso è una componente di Windows (il Prompt dei Comandi)

51 Mac OS ä La Apple ha sempre prodotto il software di gestione delle proprie macchine in modo totalmente autonomo rispetto alle pressioni del mercato ä Il sistema operativo, molto simile come ambiente operativo a Windows, gestisce la memoria e le altre risorse in modo prioritario