I dischi rigidi possono leggere e scrivere simultaneamente su brani diversi? Come?

È ansible che una testa di lettura-scrittura sia in grado di copiare e incollare contemporaneamente anche su tracce diverse? Come succede?

Le richieste di I / O vengono messe in una coda e trattate una per una .

Ci sono diversi algoritmi di pianificazione dei dischi , scegliendo il migliore migliora il tempo necessario per gestire tutte le richieste che si trovano nella coda. Un algorithm di pianificazione del disco in genere ordina questa coda nel tentativo di gestire in modo più efficiente la richiesta in modo che la testa deve muoversi less, l'algorithm FIFO aka FCFS è un'exception a questo mentre legge la coda …

Dato che il tempo di ricerca (il tempo per andare in una località) è più piccolo se la testa deve muoversi less veloce, le richieste multiple vengono gestite abbastanza velocemente utilizzando l'algorithm di pianificazione del disco corretto. Ecco perché sembra che sia stato letto / scritto molto velocemente, ma in nessun caso simultanea … 🙂

Elenca i più popolari algoritmi di pianificazione del disco, più possono essere trovati a Wikipedia .

Nota: i file sono di solito frammentati, in modo da leggere una singola richiesta di file vengono inseriti nella coda.

Nota 2 : se si intende "perché si sposta un file di grandi size da una directory all'altra sullo stesso volume tanto più veloce di spostarlo in una partizione diversa?" allora la risposta è perché solo la voce del file nella tabella file viene modificata piuttosto che spostare fisicamente il file. – Commento di Amazed

FIFO aka FCFS: First-In First-Out è il primo arrivato prima servito

Tutte le richieste vengono prelevate dall'inizio della coda senza riordinarle.

SSTF: primo tempo di ricerca più breve.

La richiesta che prende il minimo movimento della testa viene prelevata dalla coda.

Notate come la testa deve muoversi less, rimane ferma per le prime tre immagini.

SCAN: Come un ascensore.

Questo prende sempre il più lontano, poi gestisce le cose che passa lungo la strada.

In questa foto parte dalla pista 2 e prevede di andare alla traccia 4; così prova tutto alla pista 2, quindi pista 3 (niente), poi pista 4, dopo di che va alla più lontana richiesta che è la pista 1; così, torna indietro e prova la traccia 4, la traccia 3 (nulla), la traccia 2 (nulla) e poi la traccia 1.

Immagini: Università di Wisconsin-Madison – CS 537 – Disco di pianificazione (originariamente potrebbe essere da un libro)

Un passo alla volta.

  1. Impostare k su 0.
  2. Leggi da x+k .
  3. Scrivere a y+k .
  4. Incremento k per 1.
  5. Se non è fatto, vai a 2.

Come è ansible che una testa di lettura-scrittura possa fare sia copia e incolla contemporaneamente anche su tracce diverse?

Non è ansible.

Le teste di lettura-scrittura non eseguono operazioni "copia" o "incolla". Questi sono concetti molto più alti che si applicano nelle applicazioni di gestione file come Esplora risorse.

L'applicazione e il sistema operativo interrompono progressivamente l'operazione di copia e incolla in diverse operazioni più piccole e minori. Eventualmente il controller del disco chiede al disco di leggere alcuni settori. In seguito chiede ai dischi di scrivere alcuni dati a certi altri settori. Durante e tra queste operazioni le teste effettive possono anche eseguire molte altre operazioni non correlate e cercare avanti e indietro attraverso le colonne fisiche o le tracce. Le ottimizzazioni vengono svolte a molti livelli in questo process per massimizzare la quantità di lavoro utile che può essere eseguito dal disco each microsecondo e per massimizzare il numero di processi le cui operazioni IO possono essere avanzate, secondo le loro priorità stabilite.