Implementing File Systems - Free-Space Management
7 belangrijke vragen over Implementing File Systems - Free-Space Management
De free-space list bevat alle diskblokken die niet aan een file of directory zijn toegewezen. Noem vier manieren om een free-space list te implementeren.
- Bit vector: een vector waarin alle diskblokken worden gerepresenteerd door een 1 (vrij) of een 0 (toegewezen)
- Linked list: het eerste vrije diskblok bevat ene pointer naar het volgende vrije diskblok enzovoort.
- Grouping: het eerste vrije diskblok bevat de adressen van de volgende n vrije diskblokken
- Counting: elke entry in de free-space list verwijst naar het eerste diskblok van een groep aaneengesloten diskblokken.
Waar staat de registratie van vrije blokken?
Het gaat om vrije blokken op een bepaald achtergrondgeheugen. Die registratie moet primair op datzelfde achtergrondgeheugen staan. Een kopie ervan kan ook in een cache of in het geheugen aanwezig zijn.
Een methode om vrije blokken van een schijf te registreren is met behulp van een bitvector. Hoeveel ruimte is bij deze methode nodig voor de registratie van vrije blokken?
Bij de bitvector zijn er evenveel bits nodig als er blokken zijn op dat achtergrondgeheugen.
- Hogere cijfers + sneller leren
- Niets twee keer studeren
- 100% zeker alles onthouden
Een methode om vrije blokken van een schijf te registreren is door het linken van vrije blokken. Hoeveel ruimte is bij deze methode nodig voor de registratie van vrije blokken?
Bij gelinkte vrije blokken moet er een verwijzing, enkele bytes groot dus, naar het eerste vrije blok zijn. De andere verwijzingen staan in de vrije, niet-gebruikte blokken.
Een methode om vrije blokken van een schijf te registreren is counting. Hierbij wordt in een lijst steeds het adres van het eerste vrije adres aangegeven, gevolgd door het aantal vrij blokken erachter. Hoeveel ruimte is bij deze methode nodig voor de registratie van vrije blokken?
In minimaal één blok wordt van elke serie opeenvolgende vrije blokken de positie van het eerste vrije blok in de serie opgeslagen, gevolgd door het aantal blokken in de serie. In een vol aanwijzingsblok verwijst de laatste aanwijzing naar het volgende aanwijzingsblok (en dus niet naar een vrij blok).
Vier methoden om vrije blokken van een schijf te registreren zijn met behulp van een bitvector, door het linken van vrije blokken, via grouping en via counting. Welke methode is het minst geschikt als op de schijf aaneengesloten plaatsing wordt toegepast?
Bij aaneengesloten plaatsing wordt een ruimte gezocht voor een bepaald aantal blokken. Dat is bij gelinkte vrij blokken zeer arbeidsintensief, immers elk blok in de gelinkte rij moet apart opgehaald worden totdat er (bij het first-fitprincipe) een voldoende grote ruimte gevonden is.
Bij de andere methoden is er na het in het geheugen lezen van één blok met informatie, overzicht over de beschikbare ruimte over alle blokken (bitvector) of over vrij blokken (grouping en counting).
Vier methoden om vrije blokken van een schijf te registreren zijn met behulp van een bitvector, door het linken van vrije blokken, via grouping en via counting. Welke methoden zijn geschikt als er één vrij blok gevonden moet worden?
Dat kan met alle methoden.
Bij gelinkte vrije blokken wijst de startpointer direct naar een vrij blok. Dat blok moet voor gebruik gelezen worden om het adres van het volgende vrije blok te lezen en in de startpointer te plaatsen. Bij de andere methodes moet er een registratieblok gelezen en gewijzigd teruggezet worden.
De vragen op deze pagina komen uit de samenvatting van het volgende studiemateriaal:
- Een unieke studie- en oefentool
- Nooit meer iets twee keer studeren
- Haal de cijfers waar je op hoopt
- 100% zeker alles onthouden
![Trustpilot-logo](/images/design_2020/lp/clp-trustpilot-nl.png)