Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Algoritmi scheduling del disco

    Chi può darmi una delucidazione sull'algoritmo SCAN e C-SCAN per lo scheduling del disco nel caso ci trovassimo in questa situazione?
    numero cilindri 5000 : 0-4999
    richiesta corrente=143
    precedente=125

    86,1470,913,1774,948,1509,1022,1750,130

    quando con l'algoritmo C-SCAN arriviamo al cilindro 1774
    dobbiamo sommare anche i cilindri che lo separano dalla fine del disco e anche
    i cilindri che ci sono dalla fine del disco all'inizio???
    1774->4999->0->86 quindi
    ..+(4999-1774)+(4999)+86=..

    E con lo SCAN si devono calcolare i cilindri che separano 1774 dalla fine per
    poi ritornare indietro?
    1774->4999->130
    (4999-1774)+(4999-130)=..



    Lang=Java
    Ambiente = Eclipse forever
    Ubuntu & Win XP Pro

  2. #2
    Nessuno???
    :quipy: :quipy:
    Lang=Java
    Ambiente = Eclipse forever
    Ubuntu & Win XP Pro

  3. #3
    Utente di HTML.it L'avatar di AR64S-H
    Registrato dal
    Jun 2002
    Messaggi
    568
    che vuol dire tutto ciò che hai detto

  4. #4
    Gli algoritmi di scheduling dei dischi possono basarsi semplicemente sull’ordine di arrivo o su altre caratteristiche dei processi da servire, oppure sulle conoscenze delle tracce a cui si deve accedere, che permette di minimizzare i tempi di seek, ovviamente solo nel caso di dischi a testine mobili, posto che i tempi di latenza sono fissi. Alla prima categoria appartiene l’algoritmo FCFS (First Come First Served) detto anche FIFO, che è il più elementare, in quanto serve le richieste in ordine di arrivo, ma è proponibile asolo per dischi con pochi accessi, poiché, non minimizzando i movimenti della testina, ha tempi di seek medi molto alti, e ha il solo vantaggio di non comportare il rischio di Starvation (tutte le richieste, infatti, verranno prima o poi servite). Dello stesso tipo è l’algoritmo LIFO (Last In First Out), che, servendo sempre l’ultima richiesta, può minimizzare, nei sistemi transazionali, il movimento del braccio all’interno di un file sequenziale, sfruttando la località e diminuendo la lunghezza della coda. Stavolta, però, il rischio di Starvation è reale,poiché si potrebbe creare una coda alla quale continuano ad aggiungersi nuove richieste: il primo arrivato non verrebbe allora mai servito. Un altro possibile algoritmo è quello a priorità, che può dare, ad esempio la precedenza ai processi più brevi. Anche questo algoritmo, ovviamente, non è Starvation-Free. Alla seconda categoria appartiene invece l’algoritmo SSTF (Shortest Seek Time First), che, servendo sempre le richieste con minor tempo di ricerca (traccia più vicina alla posizione corrente), riesce a minimizzare i tempi medi di seek ma non i cambi di direzione della testina. L’algoritmo non è ottimale perché comporta il rischio di Starvation (richieste con alti tempi di seek potrebbero non essere mai servite). Starvation-Free è, al contrario, l’algoritmo SCAN (o dell’ascensore), che serve le richieste man mano che la testina le raggiunge nel senso del suo movimento dall’esterno verso l’interno: il cambio di direzione avviene solo quando è stata raggiunta la traccia più interna del disco. Se il disco è occupato si opera un confronto tra la traccia richiesta e la traccia corrente: se quella richiesta è uguale a quella corrente, la richiesta viene accodata per essere servita nel successivo cambio di direzione, se segue quella corrente nel movimento della testina, viene inserita nella coda che sarà servita per prima, altrimenti viene aggiunta sempre alla cosa che verrà servita ad inversione del movimento avvenuta. L’unico problema dello SCAN è che privilegia le tracce più periferiche, sulle quali la testina passa due volte in poco tempo ad ogni andata e ritorno. A questo inconveniente riesce ad ovviare l’algoritmo C-SCAN (Circular SCAN) che rende i tempi di attesa più uniformi, facendo muovere la testina in una sola direzione, come se il disco fosse circolare (raggiunto un estremo, riparte immediatamente dall’altro). Varianti di SCAN e C-SCAN sono gli algoritmi LOOK e C-LOOK, nei quali la testina non raggiunge l’estremità del disco, ma arriva solo fino all’ultima traccia richiesta.

  5. #5
    Ehm .. queste cose le so
    Il mio dubbio era solo rivolto a quel calcolo...
    Il fatto è che la teoria mi ha un pò confuso soprattutto sul C-Scan in quanto non so se si tiene cmq conto dei cilindri che passano sotto la testina per arrivare alla fine e tornare indietro senza leggere
    Lang=Java
    Ambiente = Eclipse forever
    Ubuntu & Win XP Pro

  6. #6
    Tnx per la risposta

    Lang=Java
    Ambiente = Eclipse forever
    Ubuntu & Win XP Pro

  7. #7
    Non ho tempo per fare i tuoi conti , anche se pure io non è che sono un esperto in materia! Quello che ho scritto è per far capire agli altri di cosa parliamo :gren: !

    CIAOOOOOOOOOOOOOOOOO!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.