Università degli Studi di Milano Bicocca Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea Specialistica in Informatica
|
|
- Cristiano Silvano Corsini
- 8 anni fa
- Visualizzazioni
Transcript
1 Università degli Studi di Milano Bicocca Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea Specialistica in Informatica Real-time EDF scheduling per il kernel FreeBSD: analisi, implementazione e risultati sperimentali. Relatore: Dott. Sergio Ruocco Correlatore: Prof. Francesco Tisato Riassunto della tesi di Laurea di: Marco Trentini Matr m.trentini@campus.unimib.it cel Anno Accademico 2010/2011 Seduta di Laurea del 24 Novembre 2011
2 I sistemi operativi Unix-like come Linux e FreeBSD nascono negli ultimi 20 anni per soddisfare requisiti in ambiti server e workstation. Recentemente trovato impiego anche in dispositivi embedded e mobili, in molti casi per applicazioni con requisiti real-time, come nel multimedia, per le applicazioni audio, video e di posizionamento, nel campo della robotica, automotive, e in generale, in applicazioni di controllo dove la tempistica di lettura e manipolazione di dati diventa indispensabile per ottenere risultati corretti. In Linux l attività di adattamento del kernel alle necessità delle applicazioni real-time è fervente da anni. Alcune società, come Montavista, Windriver e Timesys, hanno sviluppato e mantengono un propria versione del kernel Linux con supporto al real-time. La comunità opensource ha fornito diverse proposte per integrare il supporto al real-time nel kernel Linux, come OCERA, AQuoSA, Frescor, LITMUS-RT, RTLinux e RT-Preempt, per citare le maggiori. In FreeBSD non ci è nota alcuna iniziativa di adattamento del kernel alle necessità delle applicazioni real-time. Questa tesi presenta l implementazione per FreeBSD di un framework di scheduling real-time originariamente sviluppato per Linux, SCHED_DEADLINE, basato sull algoritmo di scheduling Earliest Deadline First (EDF), con l aggiunta di un meccanismo, noto come Constant Bandwidth Server (CBS), che limita il tempo di esecuzione dei task, garantendo un isolamento temporale tra essi. Scheduling di processi nei sistemi operativi La parte del kernel dedicata alle attività di scheduling di processi è chiamata scheduler. Lo scheduler organizza l esecuzione dei vari processi sulle risorse di calcolo disponibili, al fine di raggiungere certi obiettivi. L algoritmo di scheduling e le relative politiche dipendono quindi fortemente dal tipo e dagli obiettivi degli ambienti esecutivi. Inoltre dipendono dall architettura hardware dei sistemi, le architetture a multiprocessore ne sono un esempio. In genere possiamo suddividere gli ambienti esecutivi in batch, interattivi e in tempo reale. Nei sistemi batch (e.g. sistemi bancari e assicurativi) l interattività è messa in secondo piano, dando più importanza alle prestazioni di calcolo. In questo caso si usano algoritmi nonpreemptive oppure algoritmi preemptive ma con un lungo periodo di esecuzione per ogni processo (riducendo l overhead di switch di contesto). Nei sistemi interattivi (e.g. PC, server) l uso di un algoritmo preemptive è fondamentale per permettere un equa distribuzione del tempo di CPU a tutti gli utenti e dei tempi di risposta rapidi. Nei sistemi in tempo reale ci sono dei vincoli ben precisi sui tempi di esecuzione dei processi e spesso non è necessario un algoritmo preemptive in quanto ogni processo è a conoscenza di questi vincoli. Ad ogni modo, ad ogni interrupt di clock di sistema lo scheduler può verificare che siano rispettati i tempi di esecuzione dei processi e schedulare nuovi processi di conseguenza. Sistemi operativi Linux e FreeBSD Linux Linux è uno Unix-like molto popolare che viene utilizzato come sistema operativo su molte tipologie di elaboratori elettronici, dalle workstation ai server, ai multicomputer e di recente anche su diversi sistemi embedded come cellulari e altri dispositivi. Linux nasce dalle idee di uno studente fillandese, Linus Torvalds, che, prendendo spunto da Minix, sviluppa un nuovo sistema operativo. La prima release di Linux, la 0.01, viene rilasciata nel Il kernel Linux racchiude tutti quelle componenti fondamentali di un sistema operativo come i gestori degli interrupt, lo scheduler, i device driver, il gestore della memoria e diverse system call per fornire servizi di networking, di file system, di IPC e molti altri. 2
3 Il kernel Linux è quindi monolitico: tutte le sue componenti sono eseguite in un unico spazio di indirizzamento, in modalità kernel. La modalità di comunicazione tra le varie componenti è nella maggior parte dei casi quella classica a chiamata di funzione. La struttura del kernel Linux è modulare, nel senso che è possibile caricare in modo dinamico moduli del kernel specifici per certe funzionalità (e.g. device driver o supporto per un certo file system). FreeBSD FreeBSD è un sistema operativo Unix-like che trova il suo maggior impiego nell ambito dei server, per la fruizione dei servizi Internet. Inoltre viene utilizzato (in una percentuale molto inferiore rispetto a quella di Linux) nelle workstation, nei multicomputer (HPC) e anche nei sistemi embedded. Il progetto FreeBSD ha le sue origini agli inizi del 1993 con la patch Unoffical 386BSD PatchKit proposta da Nate Williams, Rod Grimes e Jordan Hubbard, cha andava a risolvere alcuni problemi della versione ufficiale di 386BSD di Bill jolitz. La prima versione di FreeBSD, la 1.0, fù rilasciata nel Dicembre del L architettura del kernel di FreeBSD è molto simile a quella del kernel Linux: si tratta di un kernel monolotico che racchiude le componenti fondamentali come i gestori degli interrupt, lo scheduler, i device driver, il gestore della memoria e diverse system call per fornire servizi di gestione di processi e IPC, di networking, di file system e molti altri. Il kernel, eseguito in modalità kernel ha un unico spazio di indirizzamento. La modalità di comunicazione tra le varie componenti è nella maggior parte dei casi quella classica a chiamata di funzione. Anche per FreeBSD è possibile caricare in modo dinamico moduli del kernel specifici per certe funzionalità (e.g. device driver o supporto per un certo file system). Scheduling in Linux Possiamo individuare l evoluzione dello scheduling nel kernel Linux in 5 filoni principali: kernel 1.1.x-1.2.x ( ); kernel 2.0.x-2.2.x ( ); kernel 2.4.x ( ) kernel ( ); kernel ( Luglio 2011). Nel filone di kernel Linux 1.x lo scheduling si basa sulla tecnica a priorità con time sharing, il kernel non è preemptive e non c è il supporto a SMP. Nel filone di kernel Linux 2.0.x-2.2.x si introduce il meccanismo delle classi di priorità, secondo lo standard POSIX. Il calcolo delle priorità dinamiche per le classi di task utente tiene conto delle affinità dei task in CPU e favorisce i task I/O bound, in genere interattivi. In questo filone si introduce un supporto di base all SMP. Nel filone di kernel Linux 2.4.x si apportano alcune migliorie al supporto SMP e al calcolo delle priorità dei task utente. Nel filone di kernel Linux si introduce il cosiddetto scheduler O(1) con una rivisitazione della gestione delle priorità e del riconoscimento dei task interattivi. Inoltre troviamo un kernel preemptive e l uso della tecnica a priorità ereditata per il problema di priorità inversa. Ogni risorsa di calcolo manitene una propria lista di task che può eseguire, ed è stato introdotto un bilanciamento di carico periodico basato sul domain scheduling. Nel filone di kernel si introduce una nuova tecnica di scheduling modulare e la politica CFS che cerca di distribuire equamente il tempo di esecuzione delle risorse di calcolo ai task utente. Inoltre si introduce la tecnica di group scheduling, che permette di distribuire il tempo di calcolo a gruppi di task utente. 3
4 Scheduling in FreeBSD L architettura del kernel di FreeBSD ha subito un notevole cambiamento a partire dalla release 5.0 con il progetto FreeBSD SMPng Project, che introduce il supporto all SMP. Obiettivi della nuova architettura sono un alta scalabilità (come numero di unità di calcolo), basse latenze per gli interrupt e un kernel il più possibile prelazionabile. Possiamo individuare l evoluzione dello scheduling dei processi in FreeBSD in due scheduler principali: 4BSD (default in FreeBSD 1.X-6.X); ULE (default a partire da FreeBSD 7.X). 4BSD Lo scheduler di FreeBSD 4BSD si basa sullo scheduler del sistema operativo 4.3BSD, il sistema operativo da cui FreeBSD deriva. 4BSD è uno scheduler a classi di priorità: in una decisione di scheduling si manda in esecuzione il task con priorità maggiore. I task delle classi kernel hanno priorità statiche e non hanno time slice: possono essere prelazionati solo da processi di maggiore priorità o quando passano in stato di attesa (sleep o attesa di I/O). I task delle classi utente hanno delle time slice e le relative priorità sono calcolate in modo dinamico, con lo scopo di favorire i task interattivi, I/O bound, a discapito dei task CPU bound. Il calcolo delle priorità dinamiche avviene in modo periodico, con una complessità temporale di O(n), con n numero totale di task sul sistema, risultando poco efficiente con alti carichi di lavoro. In 4BSD si utilizza la tecnica a priorità ereditata per il problema di priorità inversa. Altre caratteristiche di 4BSD sono un supporto a POSIX real-time e la possibilità di prelazionare task in spazio kernel, aumentando la reattività del sistema sui cambi di priorità dei task. Inoltre lo scheduler 4BSD ha un supporto di base alle architetture a multiprocessore (CPU multicore e core multi-tasking SMT e HTT), secondo il modello SMP. Ogni risorsa di calcolo (e.g. CPU o core) ha associato una lista di task che può eseguire. Il bilanciamento di carico avviene in modo statico, in fase di decisione della CPU sulla quale assegnare un nuovo task. Nella decisione si tiene conto dell eventuale affinità dei task, cercando di assegnare task sulle stesse CPU sulle quali sono stati eseguiti in precedenza. L obiettivo di 4BSD è dare massima priorità esecutiva ai task in spazio kernel, minimizzare i tempi di risposta per i task utente interattivi (I/O bound) e avere un supporto di base per le architetture a multiprocessore, secondo il modello SMP. ULE Lo scheduler ULE è stato sviluppato nel contesto del progetto FreeBSD SMPng Project. ULE come 4BSD è uno scheduler a classi di priorità: in una decisione di scheduling si manda in esecuzione il task con priorità maggiore. I task delle classi kernel hanno priorità statiche e non hanno time slice: possono essere prelazionati solo da processi di maggiore priorità o quando passano in stato di attesa (sleep o attesa di I/O). I task delle classi utente hanno delle time slice e le relative priorità sono calcolate in modo dinamico, con lo scopo di favorire i task interattivi, I/O bound, a discapito dei task CPU bound. Rispetto a 4BSD, dove il calcolo delle priorità dinamiche avveniva in modo periodico, con una complessità temporale di O(n), in ULE la priorità dinamica viene aggiornata solo per il task in esecuzione, con una complessità temporale di O(1), risultando efficiente anche con alti carichi di lavoro. Come per 4BSD, ULE utilizza la tecnica a priorità ereditata per il problema di priorità inversa. Altre caratteristiche di ULE sono un supporto a POSIX real-time e la possibilità di prelazionare task in spazio kernel, aumentando la reattività del sistema sui cambi di priorità dei task. In ULE è stato migliorato il supporto SMP. E stato introdotto un riconoscimento della 4
5 topologia delle CPU: nelle decisioni di bilanciamento di carico, oltre all affinità dei task in CPU, si tiene conto della distanza di cache. Inoltre, rispetto a 4BSD, dove il bilanciamento di carico avveniva solo in modo statico, in ULE abbiamo anche un bilanciamento di carico periodico. L obiettivo di ULE è dare massima priorità esecutiva ai task in spazio kernel, minimizzare i tempi di risposta per i task utente interattivi (I/O bound), ridurre la complessità temporale nelle decisioni di scheduling e migliorare il supporto alle architetture a multiprocessore, secondo il modello SMP. Real-time EDF per FreeBSD: implementazione e risultati Per quanto riguarda il supporto al real-time in FreeBSD, inteso come un kernel il più possibile prelazionabile, e dove lo scheduler implementa, attraverso le sue politiche, almeno un algoritmo di scheduling real-time, non sono ad oggi conosciute proposte. Al contrario, in Linux, il tema del real-time viene affrontato da anni, correlato da diverse proposte. Possiamo individuare il mancato supporto al real-time in FreeBSD in tre aspetti principali: la mancanza di una politica di scheduling basata su un algoritmo di scheduling real-time, che tenga conto dei vincoli temporali di esecuzione dei task; un kernel maggiormente prelazionabile, per evitare lunghe latenze prima che un task real-time possa essere mandato in esecuzione; la mancanza di un supporto a timer ad alta risoluzione, indipendenti dal clock di sistema, per una gestione della banda di utilizzo dei task realt-time. In Linux, per ognuno di questi aspetti, sono state proposte delle soluzioni: SCHED_DEADLINE che introduce una nuova politica di scheduling, basata sull algoritmo di scheduling realtime EDF, RT-Preempt che aumenta notevolmente la possibilità di prelazionare tutte le attività che convivono nel kernel, e gli htimer per supportare timer ad alta risoluzione. Le politiche di scheduling che ritroviamo nel kernel ufficiale di FreeBSD, implementate nelle classi di scheduling ithd, real-time, timeshare e idle, funzionano egregiamente nel loro contesto applicativo (e.g. server/desktop). Ad ogni modo queste politiche non possono fornire garanzie su vincoli temporali di esecuzione richieste dalle applicazione real-time. Infatti, le decisioni di scheduling di tutte le classi non si basano su vincoli temporali di esecuzione dei task ma bensì sulla relativa priorità e, per alcune classi, sul relativo quanto esecutivo a disposizione. Con queste politiche non è possibile garantire un budget temporale esecutivo (vincolo - budget esecutivo) di un task rispettando una deadline temporale (vincolo - deadline relativa), ad esempio specificare che un task possa essere eseguito per 20 millisecondi con una deadline relativa di 100 (calcolata nel momento in cui il task va in stato di pronto). Inoltre, il tempo trascorso tra due esecuzioni consecutive di un task (vincolo - periodo relativo) non è deterministico e non può essere fissato a priori. Il rispetto di questi vincoli è fondamentale nelle applicazioni real-time per ottenere risultati corretti. Senza uno scheduler che tenga conto dei vincoli temporali dei task, di fatto, non è possibile fare uno studio di fattibilità del sistema, e non ci sono garanzie che siano rispettati i vincoli temporali di esecuzione dei task. DEADLINE-BSD è una nuova politica di scheduling real-time per lo scheduler ULE di FreeBSD, mutuata da Linux, che implementa l algoritmo di scheduling EDF, con l aggiunta di un meccanismo per limitare il tempo di esecuzione dei task, garantendo un isolamento temporale tra essi. A causa delle sostanziali differenze tra il kernel Linux e FreeBSD, come ad esempio la 5
6 gestione dei timer, dei lock, il framework di scheduling, le strutture dati, per citarne alcune, questo lavoro non può essere considerato come un semplice porting della classe di scheduling real-time fatta per Linux, ma bensì una re-implementazione della stessa. In questa implementazione, un task real-time viene rappresentato dalle seguenti informazioni: dl_runtime: massimo tempo di esecuzione (relativo) di ogni istanza del task, alias budget; dl_deadline: deadline (relativa) entro la quale deve essere consumato il budget a disposisizone dell istanza corrente del task; dl_period: periodo di tempo (relativo) all interno del quale può essere attivata un istanza del task; nella nostra implementazione coincide con la deadline relativa. dl_bw: banda di utilizzo del task, ottenuta dal rapporto tra il dl_runtime e dl_period, ed utilizzata per validare il workload real-time nel test di ammissione. exec_start: tempo di sistema di inizio esecuzione dell istanza del task; runtime: tempo di esecuzione rimanente per l istanza corrente del task (inizialmente pari a dl_runtime); deadline: deadline assoluta (in tempo di sistema) dell istanza corrente del task; La classe di scheduling deadline è stata progettata in ULE in modo tale da lasciare inalterate le caratteristiche di funzionamento delle altre classi, ithd, real-time, timeshare e idle. Per quanto riguarda la priorità esecutiva della classe deadline, è stato deciso di dare una priorità maggiore rispetto alle classi utente real-time, timeshare e idle, ma minore rispetto alla classe ithd. Un task con deadline ottiene una fase di computazione in CPU (chiamata istanza), che può essere attivata in modo periodico, sporadico, o aperiodico, a seconda dell implementazione del task stesso. La durata (massima) di computazione dell istanza di un task è contenuta nel campo dl_runtime della struttura informativa del task, mentre il lasso di tempo entro il quale questa computazione deve avvenire, chiamata deadline relativa, è contenuto nel campo dl_deadline. La deadline assoluta, campo deadline, viene calcolata di volta in volta ed è pari al tempo assoluto del sistema nel quale viene attivata l istanza del task, sommato alla sua deadline relativa. Il periodo di tempo entro il quale può essere attivata una nuova istanza del task è contenuto nel campo dl_period. Per attivazione di un istanza del task si intende il primo passaggio in stato di pronto del task all interno del periodo. La banda di utilizzo dei task, campo dl_bw, è determinata dal rapporto tra il budget assegnato e il relativo periodo, ossia dl_runtime/dl_period. In questa versione di DEADLINE-BSD il periodo dl_period coincide con la deadline relativa dl_deadline. Questo significa che il budget di ogni istanza del task (dl_runtime) può essere consumato all interno di tutto il periodo (dl_period). In una decisione di scheduling l algoritmo EDF seleziona il task da mandare in esecuzione sulla base dei valori delle deadline assolute (campo deadline) dei task: viene mandato in esecuzione il task con il minor valore di deadline, ossia la deadline più prossima alla scadenza. La gestione della capacità esecutiva dei task deadline è regolata dai seguenti parametri di sistema (sysctl): kern.sched.dl_period_us (default a usec o 1 sec); 6
7 kern.sched.dl_runtime_us (default a usec o 0.5 sec); Questi parametri restituiscono (se letti) o settano (se scritti) il budget totale di esecuzione per i task deadline all interno del relativo periodo, per ogni CPU del sistema. I valori di default permettono di riservare un tempo di CPU pari a 50 millisecondi ogni secondo per eseguire task appartenente alle altri classi utente. Questa gestione della capacità di calcolo per i task deadline, insieme all assunzione che l informazione di periodo e di deadline dei task coincidono, ci permettono di definire il seguente controllo di ammissione : somma delle bande di utilizzo dei task deadline < M (dl_runtime_us/dl_period_us), con M numero di CPU del sistema. Questo controllo garantisce una capacità di calcolo sufficiente per eseguire il workload real-time. Ogni task deadline sottomesso nel sistema, viene validato dal controllo di ammissione: se il controllo fallisce, il task non può essere inserito. In FreeBSD la gestione dei timer in kernel (callout) è legata alla frequenza del clock principale di sistema, definita dalla variabile di configurazione del kernel HZ. Questo significa che non è possibile armare timer con una risoluzione inferiore al periodo di clock di sistema. Con valore di HZ pari a 1000 riusciamo ad armare timer con un timeout di, al massimo, un millisecondo, e quindi riusciamo a gestire task con vincoli temporali non inferiori al millisecondo. La granularità dei timer influisce sulla risoluzione e precisione che possiamo avere nei vincoli temporali dei task deadline. Infatti i timer sono utilizzati per controllare la banda di utilizzo dei task e per attivare nuove istanze. Per i thread deadline è stato previsto un bilanciamento di carico statico per configurazioni SMP. Quando bisogna decidere (nella funzione su quale CPU allocare un nuovo thread deadline, si determina la CPU con minor carico di thread deadline e sufficiente banda. Questa ricerca viene effettuata solo per nuovi thread deadline, ossia thread a cui non è stata ancora riservata banda di utilizzo su qualche CPU, altrimenti la CPU selezionata è quella sulla quale è stata allocata la banda di utilizzo. Per la gestione dei thread deadline in userspace sono state aggiunte quattro nuove syscall: sched_getparam_ex(), sched_getscheduler_ex(), sched_setparam_ex(), sched_setscheduler_ex(). Per verificare l implementazione di DEADLINE-BSD sono state condotte alcune prove sperimentali. L ambiente di test è composto da una macchina reale, con la seguenti caratteristiche hardware: AMD Athlon(tm) 64bit X2 Dual Core Processor ( MHz K8-class CPU). La versione di FreeBSD installata è la Il kernel è stato ricompilato con la patch deadline-bsd. Una prima suite di test verifica il rispetto del budget esecutivo e della deadline/periodo di un task deadline (in while(1)), eseguito più volte con diversi vincoli temporali. Una seconda suite di test mette a confronto le tre classi scheduling utente: deadline, real-time e timesharing. Un task while(1) (timeout di 3 secondi) viene mandato in esecuzione in un workload con un alto carico di lavoro. Si vuole verificare il comportamento esecutivo del task a seconda della classe di scheduling assegnata. Un workload con un alto carico di lavoro può essere rappresentato da un task in while(1) con la priorità maggiore per le classi utente, quindi classe di scheduling real-time con valore di priorità 128 (ricordiamo che in ULE tutte le classi di scheduling utente 7
8 funzionano in timesharing e quindi il while(1) non può monopolizzare l esecuzione in CPU). I risultati ottenuti mostrano come un sistema FreeBSD dotato di questa classe di scheduling possa gestire workload real-time periodici e aperiodici rispettando i vincoli di tempo di esecuzione, deadline e periodo, anche in presenza di un elevato carico di sistema. Questo lavoro apre la possibilità di impiegare FreeBSD anche in ambiti applicativi con requisiti real-time, dove Linux è il sistema operativo Unix-like dominante. Inoltre bisogna considerare che la licenza BSD-style di FreeBSD presenta meno restrizioni di quella GPL del kernel Linux e questo rende FreeBSD più appetibile per le aziende nella scelta del sistema operativo da adottare. 8
Real-time EDF scheduling per il kernel FreeBSD: analisi, implementazione e risultati sperimentali
Real-time EDF scheduling per il kernel FreeBSD: analisi, implementazione e risultati sperimentali Marco Trentini m.trentini@campus.unimib.it Relatore: Dott. Sergio Ruocco Correlatore: Prof. Francesco Tisato
DettagliLo scheduling. Tipici schedulatori
Lo scheduling Un processo durante la sua evoluzione è o running o in attesa di un evento. Nel secondo caso trattasi della disponibilità di una risorsa (CPU, I/O, struttura dati, ecc.) di cui il processo
DettagliScheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux
Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola
DettagliAlgoritmi di scheduling
Capitolo 3 Algoritmi di scheduling Come caso particolare di studio, di seguito è discussa in dettaglio la politica di scheduling del sistema operativo LINUX (kernel precedente alla versione 2.6). Sono
DettagliUniversità degli Studi di Milano Bicocca Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea Specialistica in Informatica
Università degli Studi di Milano Bicocca Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea Specialistica in Informatica Real-time EDF scheduling per il kernel FreeBSD: analisi, implementazione
DettagliASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX
Parte 2 Struttura interna del sistema LINUX 76 4. ASPETTI GENERALI DEL SISTEMA OPERATIVO LINUX La funzione generale svolta da un Sistema Operativo può essere definita come la gestione dell Hardware orientata
DettagliScheduling. Scheduling 14/12/2003 1/7
Scheduling In un computer multiprogrammato più processi competono per l'uso della CPU. La parte di sistema operativo che decide quale processo mandare in esecuzione è lo scheduler. Batch OS: scheduling
DettagliSistemi Operativi SCHEDULING DELLA CPU
Sistemi Operativi SCHEDULING DELLA CPU Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling
DettagliSistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling
SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time
DettagliSistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1
SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time
DettagliScheduling della CPU:
Coda dei processi pronti (ready( queue): Scheduling della CPU primo ultimo PCB i PCB j PCB k contiene i descrittori ( process control block, PCB) dei processi pronti. la strategia di gestione della ready
DettagliScheduling. Lo scheduler è la parte del SO che si occupa di
Scheduling Lo scheduler è la parte del SO che si occupa di decidere quale fra i processi pronti può essere mandato in esecuzione L algoritmo di scheduling (la politica utilizzata dallo scheduler) ha impatto
DettagliScheduling. Sistemi Operativi e Distribuiti A.A. 2004-2005 Bellettini - Maggiorini. Concetti di base
Scheduling Sistemi Operativi e Distribuiti A.A. 2-25 Bellettini - Maggiorini Concetti di base Il massimo utilizzo della CPU si ottiene mediante la multiprogrammazione Ogni processo si alterna su due fasi
DettagliIl sistema operativo TinyOS
tesi di laurea Anno Accademico 2005/2006 relatore Ch.mo prof. Domenico Cotroneo candidato Giovanni Chierchia Matr. 534 / 804 ::. Obiettivi del lavoro di tesi Studio del sistema operativo TinyOS Studio
DettagliCalcolatori Elettronici A a.a. 2008/2009
Calcolatori Elettronici A a.a. 2008/2009 PRESTAZIONI DEL CALCOLATORE Massimiliano Giacomin Due dimensioni Tempo di risposta (o tempo di esecuzione): il tempo totale impiegato per eseguire un task (include
DettagliScheduling della CPU
Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux 6.1 Sistemi multiprocessori simmetrici Fin qui si sono trattati i problemi di scheduling
Dettaglischeduling Riedizione modifi cata delle slide della Prof. DI Stefano
scheduling Riedizione modifi cata delle slide della Prof. DI Stefano 1 Scheduling Alternanza di CPU burst e periodi di I/O wait a) processo CPU-bound b) processo I/O bound 2 CPU Scheduler Seleziona uno
DettagliGenerazione Automatica di Asserzioni da Modelli di Specifica
UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Generazione Automatica di Asserzioni da Modelli di Specifica Relatore:
DettagliJ. Assfalg Appunti di Sistemi Operativi
Lo scheduler di Linux (kernel 2.4) La politica di scheduling di Linux si propone il raggiungimento dei seguenti obiettivi (molti dei quali sono in contrasto): timesharing gestione di priorità dinamiche
DettagliPag. 1. Introduzione allo scheduling. Concetti fondamentali. Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Algoritmi.
Concetti fondamentali Scheduling della CU Introduzione allo scheduling Uno degli obbiettivi della multiprogrammazione è quello di massimizzare l utilizzo delle risorse e in particolare della CU er raggiungere
DettagliIl Sistema Operativo. C. Marrocco. Università degli Studi di Cassino
Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.
DettagliSchedulazione in RTAI
Schedulazione in RTAI RTAI: modulo kernel rt_hello_km.c #include #include Thread real-time... Ciclo infinito RT_TASK task; Periodico... void task_routine() { while(1) { /* Codice
DettagliProcessi e Thread. Scheduling (Schedulazione)
Processi e Thread Scheduling (Schedulazione) 1 Scheduling Introduzione al problema dello Scheduling (1) Lo scheduler si occupa di decidere quale fra i processi pronti può essere mandato in esecuzione L
DettagliUn sistema operativo è un insieme di programmi che consentono ad un utente di
INTRODUZIONE AI SISTEMI OPERATIVI 1 Alcune definizioni 1 Sistema dedicato: 1 Sistema batch o a lotti: 2 Sistemi time sharing: 2 Sistema multiprogrammato: 3 Processo e programma 3 Risorse: 3 Spazio degli
DettagliSistemi operativi e reti A.A. 2013-14. Lezione 2
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 2 Giovedì 10-10-2013 1 Sistemi a partizione di tempo (time-sharing) I
DettagliCon il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.
Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell
DettagliLa gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)
La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema
DettagliI Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo
I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?
DettagliScheduling della CPU
Scheduling della CPU Scheduling della CPU Obiettivo della multiprogrammazione: massimizzazione dell utilizzo della CPU. Scheduling della CPU: attivita` di allocazione della risorsa CPU ai processi. Scheduler
DettagliCorso di Informatica
Corso di Informatica Modulo T3 3-Schedulazione 1 Prerequisiti Concetto di media Concetto di varianza 2 1 Introduzione Come sappiamo, l assegnazione della CPU ai processi viene gestita dal nucleo, attraverso
DettagliINFORMATICA. Il Sistema Operativo. di Roberta Molinari
INFORMATICA Il Sistema Operativo di Roberta Molinari Il Sistema Operativo un po di definizioni Elaborazione: trattamento di di informazioni acquisite dall esterno per per restituire un un risultato Processore:
DettagliSistema operativo: Gestione della memoria
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e
DettagliUniversità degli Studi di Salerno
Università degli Studi di Salerno Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea in Informatica Tesi di Laurea Algoritmi basati su formule di quadratura interpolatorie per GPU ABSTRACT
DettagliIl software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.
I Sistemi Operativi Il Software di Base Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer. Il sistema operativo è il gestore di tutte le risorse
DettagliApproccio stratificato
Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia
DettagliSoftware di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche
Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica
DettagliSistemi Operativi Kernel
Approfondimento Sistemi Operativi Kernel Kernel del Sistema Operativo Kernel (nocciolo, nucleo) Contiene i programmi per la gestione delle funzioni base del calcolatore Kernel suddiviso in moduli. Ogni
DettagliPronto Esecuzione Attesa Terminazione
Definizione Con il termine processo si indica una sequenza di azioni che il processore esegue Il programma invece, è una sequenza di azioni che il processore dovrà eseguire Il processo è quindi un programma
DettagliSistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo
Sistema Operativo Fondamenti di Informatica 1 Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al
DettagliIntroduzione alle tecnologie informatiche. Strumenti mentali per il futuro
Introduzione alle tecnologie informatiche Strumenti mentali per il futuro Panoramica Affronteremo i seguenti argomenti. I vari tipi di computer e il loro uso Il funzionamento dei computer Il futuro delle
DettagliFONDAMENTI di INFORMATICA L. Mezzalira
FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software
DettagliLezione 4 La Struttura dei Sistemi Operativi. Introduzione
Lezione 4 La Struttura dei Sistemi Operativi Introduzione Funzionamento di un SO La Struttura di un SO Sistemi Operativi con Struttura Monolitica Progettazione a Livelli di un SO 4.2 1 Introduzione (cont.)
DettagliIl Sistema Operativo (1)
E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale
DettagliPrestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.
Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.net Prestazioni Si valutano in maniera diversa a seconda dell
Dettagli1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?
1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi? 1. La nozione di multiprogrammazione prevede la possibilità di
DettagliArchitetture Applicative
Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture
DettagliSCHEDULATORI DI PROCESSO
Indice 5 SCHEDULATORI DI PROCESSO...1 5.1 Schedulatore Round Robin...1 5.2 Schedulatore a priorità...2 5.2.1 Schedulatore a code multiple...3 5.3 Schedulatore Shortest Job First...3 i 5 SCHEDULATORI DI
DettagliAlgoritmi di scheduling - Parte 2
Algoritmi di scheduling - Parte 2 Automazione I 12/11/2013 Vincenzo Suraci STRUTTURA DEL NUCLEO TEMATICO ALGORITMO DEADLINE MONOTONIC PRIORITY ORDERING (DMPO) ALGORITMO TIMELINE SCHEDULING (TS) SCHEDULING
DettagliConcetti di base. Scheduling della CPU. Diagramma della durata dei CPU-burst. Sequenza Alternata di CPU Burst e I/O Burst
Impossibile visualizzare l'immagine. Scheduling della CPU Concetti di base La multiprogrammazione cerca di ottenere la massima utilizzazione della CPU. L esecuzione di un processo consiste in cicli d esecuzione
DettagliISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche
ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche Sommario Definizione di S. O. Attività del S. O. Struttura del S. O. Il gestore dei processi: lo scheduler Sistemi Mono-Tasking e
DettagliSistema operativo: Gestione dei processi
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica - ICA Prof. Pierluigi Plebani A.A. 2011/2012 Sistema operativo: Gestione dei processi La presente dispensa e da utilizzarsi
DettagliSISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09
SISTEMI OPERATIVI Prof. Enrico Terrone A. S: 2008/09 Che cos è il sistema operativo Il sistema operativo (SO) è il software che gestisce e rende accessibili (sia ai programmatori e ai programmi, sia agli
DettagliTEORIA DEI SISTEMI OPERATIVI
TEORIA DEI SISTEMI OPERATIVI Classificazione dei sistemi operativi (Sistemi dedicati, Sistemi batch, Sistemi interattivi multiutente) CLASSIFICAZIONE DEI SISTEMI OPERATIVI Le tre principali configurazioni
DettagliArchitettura di un calcolatore
2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) 7 Architettura di un calcolatore Lez. 7 1 Modello di Von Neumann Il termine modello di Von Neumann (o macchina di Von
DettagliIl Sistema Operativo
Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al meglio le risorse del Sistema
DettagliMANUALE DELLA QUALITÀ Pag. 1 di 6
MANUALE DELLA QUALITÀ Pag. 1 di 6 INDICE GESTIONE DELLE RISORSE Messa a disposizione delle risorse Competenza, consapevolezza, addestramento Infrastrutture Ambiente di lavoro MANUALE DELLA QUALITÀ Pag.
DettagliComputazione multi-processo. Condivisione, Comunicazione e Sincronizzazione dei Processi. Segnali. Processi e Threads Pt. 2
Computazione multi-processo Avere più processi allo stesso momento implica/richiede Processi e Threads Pt. 2 Concorrenza ed efficienza Indipendenza e protezione dei dati ma deve prevedere/permettere anche:
DettagliScheduling della CPU. Concetti fondamentali. Concetti fondamentali. Concetti fondamentali. Dispatcher. Scheduler della CPU
Scheduling della CPU Concetti fondamentali Criteri di scheduling Algoritmi di scheduling Concetti fondamentali L obiettivo della multiprogrammazione è di avere processi sempre in esecuzione al fine di
DettagliValutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput
Valutazione delle Prestazioni Architetture dei Calcolatori (Lettere A-I) Valutazione delle Prestazioni Prof. Francesco Lo Presti Misura/valutazione di un insieme di parametri quantitativi per caratterizzare
DettagliIl Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera
CPU Memoria principale Il Sistema Operativo Elementi di Informatica Docente: Giorgio Fumera Corso di Laurea in Edilizia Facoltà di Architettura A.A. 2009/2010 ALU Unità di controllo Registri A indirizzi
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Pietro Frasca Lezione 5 Martedì 21-10-2014 Thread Come abbiamo detto, un processo è composto
DettagliAmbienti di calcolo a griglia Parte 2. Risorse (e loro gestione) Job di griglia e applicazioni di griglia Riservare le risorse ai job
Ambienti di calcolo a griglia Parte 2 Risorse (e loro gestione) Job di griglia e applicazioni di griglia Riservare le risorse ai job Docente: Marcello CASTELLANO La vera rivoluzione non è più la capacità
DettagliSOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO
SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO Descrizione Nell ambito della rilevazione dei costi, Solari con l ambiente Start propone Time&Cost, una applicazione che contribuisce a fornire
DettagliObiettivi dell esercitazione. Requisiti (cont.) Requisiti. Università di Roma La Sapienza A.A. 2008-2009. Facoltà di Ingegneria Sede di Latina
Università di Roma La Sapienza A.A. 2008-2009 Facoltà di Ingegneria Sede di Latina Laurea in Ingegneria Informatica ed Ingegneria dell Informazione Corso di PROGETTAZIONE DEL SOFTWARE Esercitazione sulla
DettagliScheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica
Scheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica prof. Ing. Corrado Santoro A.A. 2010-11 Architettura di un sistema operativo Progr 1 Progr 2 Progr
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 3 Martedì 15-10-2013 1 Struttura ed organizzazione software dei sistemi
DettagliArchitettura di un sistema operativo
Architettura di un sistema operativo Dipartimento di Informatica Università di Verona, Italy Struttura di un S.O. Sistemi monolitici Sistemi a struttura semplice Sistemi a livelli Virtual Machine Sistemi
Dettagli1. BASI DI DATI: GENERALITÀ
1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente
DettagliSistemi Operativi. Scheduling dei processi
Sistemi Operativi Scheduling dei processi Scheduling dei processi Se più processi sono eseguibili in un certo istante il sistema deve decidere quale eseguire per primo La parte del sistema operativo che
DettagliLow Power Scheduling per Sistemi Real Time
Low Power Scheduling per Sistemi Real Time Corso di Sistemi Real Time A.A. 2007-08 Ing. Giordano Kaczynski Sistemi Real Time 1 Introduzione Il consumo di energia nei sistemi portatili negli ultimi anni
DettagliArchivi e database. Prof. Michele Batocchi A.S. 2013/2014
Archivi e database Prof. Michele Batocchi A.S. 2013/2014 Introduzione L esigenza di archiviare (conservare documenti, immagini, ricordi, ecc.) è un attività senza tempo che è insita nell animo umano Primi
Dettagli1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi
1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi Il processo E' un programma in esecuzione Tipi di processo Stati di un processo 1 indipendenti
DettagliTITLE Sistemi Operativi 1
TITLE Sistemi Operativi 1 Cos'è un sistema operativo Definizione: Un sistema operativo è un programma che controlla l'esecuzione di programmi applicativi e agisce come interfaccia tra le applicazioni e
DettagliCorso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP
Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Accademia Futuro info@accademiafuturo.it Programma Generale del Corso Analista Programmatore Web PHP Tematiche Trattate
DettagliAlgoritmi di scheduling
Capitolo 2 Algoritmi di scheduling 2.1 Sistemi Real Time In un sistema in tempo reale (real time) il tempo gioca un ruolo essenziale. Le applicazioni di tali sistemi sono molteplici e di larga diffusione.
DettagliFunzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
DettagliAutomazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it
Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione
DettagliSistemi Operativi. 5 Gestione della memoria
Gestione della memoria Compiti del gestore della memoria: Tenere traccia di quali parti della memoria sono libere e quali occupate. Allocare memoria ai processi che ne hanno bisogno. Deallocare la memoria
DettagliDispensa di Informatica I.1
IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.
DettagliIntroduzione alla Virtualizzazione
Introduzione alla Virtualizzazione Dott. Luca Tasquier E-mail: luca.tasquier@unina2.it Virtualizzazione - 1 La virtualizzazione è una tecnologia software che sta cambiando il metodo d utilizzo delle risorse
DettagliIl Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo
Il Sistema Operativo Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo ... ma Cos'è un S.O.? un PROGRAMMA!... ma Cos'è un programma? PROGRAMMA: 1. algoritmo sequenza
DettagliL informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia
L informatica È la disciplina scientifica che studia INTRODUZIONE I calcolatori, nati in risposta all esigenza di eseguire meccanicamente operazioni ripetitive Gli algoritmi, nati in risposta all esigenza
DettagliSistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1
MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati
DettagliMECCANISMI E POLITICHE DI PROTEZIONE 13.1
MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati
DettagliTelerilevamento e GIS Prof. Ing. Giuseppe Mussumeci
Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme
DettagliIntroduzione al sistema operativo. Laboratorio Software 2008-2009 C. Brandolese
Introduzione al sistema operativo Laboratorio Software 2008-2009 C. Brandolese Che cos è un sistema operativo Alcuni anni fa un sistema operativo era definito come: Il software necessario a controllare
DettagliGestione Risorse Umane Web
La gestione delle risorse umane Gestione Risorse Umane Web Generazione attestati di partecipazione ai corsi di formazione (Versione V03) Premessa... 2 Configurazione del sistema... 3 Estrattore dati...
DettagliEsempio: aggiungere j
Esempio: aggiungere j Eccezioni e interruzioni Il progetto del controllo del processore si complica a causa della necessità di considerare, durante l esecuzione delle istruzioni, il verificarsi di eventi
DettagliDefinizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base
Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore
DettagliCriteri di Scheduling Algoritmi di Scheduling Multiple-Processor Scheduling Asymmetric/Symmetric multiprocessing Processori Multicore
Criteri di Scheduling Algoritmi di Scheduling Multiple-Processor Scheduling Asymmetric/Symmetric multiprocessing Processori Multicore 5.2 Silberschatz, Galvin and Gagne 2005 1 Massimizzare lʼutilizzo della
DettagliScheduling della CPU. Contenuti delle lezioni del 23 e del 26 Marzo 2009. Sequenza alternata di CPU burst e di I/O burst.
Contenuti delle lezioni del 23 e del 26 Marzo 2009 Scheduling della CPU Introduzione allo scheduling della CPU Descrizione di vari algoritmi di scheduling della CPU Analisi dei criteri di valutazione nella
DettagliLo scheduler di UNIX (1)
Lo scheduler di UNIX (1) Lo scheduling a basso livello è basato su una coda a più livelli di priorità 1 Lo scheduler di UNIX (2) Si esegue il primo processo della prima coda non vuota per massimo 1 quanto
DettagliEvoluzione dei sistemi operativi (5) Evoluzione dei sistemi operativi (4) Classificazione dei sistemi operativi
Evoluzione dei sistemi operativi (4) Sistemi multiprogrammati! più programmi sono caricati in contemporaneamente, e l elaborazione passa periodicamente dall uno all altro Evoluzione dei sistemi operativi
DettagliCapitolo 1: Introduzione
Capitolo 1: ntroduzione Che cos è un sistema operativo? Sistemi mainframe. Sistemi desktop. Sistemi multiprocessore. Sistemi distribuiti. Sistemi cluster. Sistemi in tempo reale. Sistemi palmari. Migrazione
DettagliLezione 6. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata.
Lezione 6 Sistemi operativi 31 marzo 2015 System Programming Research Group Università degli Studi di Roma Tor Vergata SO 15 6.1 Di cosa parliamo in questa lezione? La schedulazione 1 e caratteristiche
DettagliFasi di creazione di un programma
Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma
DettagliLa Metodologia adottata nel Corso
La Metodologia adottata nel Corso 1 Mission Statement + Glossario + Lista Funzionalià 3 Descrizione 6 Funzionalità 2 Schema 4 Schema 5 concettuale Logico EA Relazionale Codice Transazioni In PL/SQL Schema
DettagliLaboratorio di Architettura degli Elaboratori - A.A. 2012/13
Università di Udine - Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica Laboratorio di Architettura degli Elaboratori - A.A. 2012/13 Circuiti logici, lezione 1 Sintetizzare
DettagliLez. 4 Lo scheduling dei processi. Corso: Sistemi Operativi Danilo Bruschi
Sistemi Operativi Lez. 4 Lo scheduling dei processi 1 Cicli d'elaborazione In ogni processo i burst di CPU si alternano con i tempi di I/O 2 Uso tipico di un calcolatore 3 CPU-bound e I/O-bound Processi
DettagliGESTIONE DEI PROCESSI
Sistemi Operativi GESTIONE DEI PROCESSI Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in Java Concetto
Dettagli