Domanda lista linkata Clicca QUI per vedere il messaggio nel forum |
susy |
Mi sono imbattuta ripassando in questa domanda ma non riesco a ripondere, qualcuno è in grado di spiegarmi?
C’è un file con allocazione linkata da 30 record. La directory dello stesso è già in memoria. Quante operazioni di I/O sono necessarie per inserire un nuovo record nella posizione 20 del file?
Grazie a tutti |
Maverick21 |
Ciao.
Provando a ragionarci sono giunto alla seguente soluzione.
Una lista linkata come saprai è un successione di blocchi in cui ogni blocco oltre ad essere una porzione di file ha anche una sezione dedicata in cui c'è un puntatore che indirizza al blocco successivo.
Dovendo scrivere nel 20esimo blocco del file devo fare in totale 19 accessi a disco (dato che la directory è già caricata e non devo accedere a disco) ma ricevo un segnale di I/O anche in corrispondenza della lettura del puntatore; in questo caso dalla directory ricevo il puntatore ma dovendo scrivere e basta alla 20esima sono altri 19 segnali, per un totale di 38 segnali.
Spero di averlo risolto correttamente perchè non assicuro che la soluzione sia giusta al 100%, è stato più che altro una questione di ragionamento in base a quello che diceva il prof. sulle liste linkate. |
Maverick21 |
Anche se riflettendoci è possibile che essendo già caricato in memoria il primo blocco si risparmi un ulteriore passaggio di comunicazione del puntatore, ma al momento sono troppo stanco per rifletterci ancora su scusa!
Sperando che qualcuno faccia luce, altrimenti prova a chiedere a qualcuno il 12. |
susy |
Mmmm io cedo invece seguendo il tuo ragionamento che glia accesi siano 20 o 21 dato che appunto se la dir è già in memoria devo portarmi alla posizione 20 e scrivere. Mmmm che odio sta domanda! |
poi_1969 |
leggi indirizzo inizio lista link
sommi i byte per 19 posizioni ed hai la testa
sommi i byte per arrivare a 20 e trovi il next
metti in memoria il tuo nuovo elemento e ricavi indirizzio
al 19 gli metti il nuovo interizzo a al nuovo elemento gli petti l'indirizzo next
credo che sia cosi |
|
|
|