Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Didattica > Corsi N - Z > Sistemi operativi I
 
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

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate