Ha szívesen korrepetálnál, hozd létre magántanár profilodat itt.
Ha diák vagy és korrepetálásra van szükséged, akkor regisztrálj be és írd meg itt, hogy milyen tantárgyban!
Reguláris állományok szerkezete
Morlune
kérdése
204
Egy reguláris állomány 555000. byte-ját akarjuk olvasni. Hol található meg az ehhez
tartozó blokk címe? (Tegyük fel, hogy a rendszer diszkblokkjai 1 K-sak, és 4 byte-on
címezhetőek.)
Ilyen kérdésünk előfordulhat majd a dolgozatunkban, azonban fogalmam sincs, hogy hogyan kéne megoldani, a tanár jegyzetei alapján pedig nem igazán tudom megcsinálni.
Direkt és indirekt blokkokat kell használni, azonban nem tudom, hogy a direkteket feltétlen fel kell-e használni
Jelenleg 1 felhasználó nézi ezt a kérdést.
0
Felsőoktatás / Informatika
Válaszok
1
ISU{ Elismert }
megoldása
A feladat szerint egy reguláris állomány 555 000 byte-ját szeretnénk olvasni. A rendszer diszkblokkjai 1 K (1024 byte) méretűek, és 4 byte-on címezhetőek. Az adott információk alapján meg kell határoznunk, hogy hol található meg az olvasandó blokk címe.
Először meg kell számolnunk, hogy hány diszkblokkra van szükség az olvasandó 555 000 byte tárolásához. Ehhez a következő számítást végezhetjük:
Szükséges diszkblokkok száma = (Olvasandó byte-ok száma) / (Diszkblokk mérete)
Szükséges diszkblokkok száma = 555 000 / 1024 ≈ 542.97
Mivel a diszkblokkok egész számokban mérhetőek, ezért a fenti eredmény alapján tudjuk, hogy legalább 543 diszkblokkra lesz szükségünk.
Az olvasandó byte-ok címzése érdekében direkt és indirekt blokkokat használhatunk. A direkt blokkok az adatokat közvetlenül tárolják, míg az indirekt blokkok további címeket tartalmaznak, amelyekre hivatkozva elérhetjük az adatokat.
A feladat nem határozza meg, hogy pontosan hány direkt és indirekt blokkot kell használnunk. Ezért a konkrét megoldáshoz szükséges lenne több információ.
Ha csak direkt blokkokat használunk, akkor minden diszkblokkhoz 4 byte-os cím tartozik. Tehát az 543 diszkblokkot tartalmazó állományunkat az alábbi módon címezzük:
0 - 542: Direkt blokkok címei (0-tól 542-ig)
Az olvasandó byte-ok címe tehát 0-tól 542-ig terjed.
Ha indirekt blokkokat is használunk, akkor a címeket tovább bővíthetjük. Az egyes indirekt blokkok több címet tartalmaznak, így több diszkblokkot is képesek hivatkozni. Az indirekt blokkok használatával hatékonyabban tudjuk címezni a nagyobb mennyiségű adatot.
A pontos megoldás érdekében további információkra van szükségünk a feladatban. A direkt és indirekt blokkok pontos számának meghatározásához, valamint az egyes blokkok címeinek meghatározásához részletesebb specifikációra lenne szükség.