Bestand (computer): verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
→‎Bewerkingen: verduidelijkt
Geen bewerkingssamenvatting
Regel 18:
* flushen (''flush''): naar schijf of band schrijven van de in de schrijfbuffer aanwezige gegevens.
 
Deze bewerkingen bestaan vooral uit lezen van dehet filebestand en schrijven naar dehet filebestand, waarbij de bewerking plaatsvindt bij het op dat moment geldende adres (de ''offset''), waarnaar door de impliciete ''file pointer'' verwezen wordt. Deze file pointer blijft na de bewerking aan het eind van de gelezen of geschreven data staan. Lezen is non-destructief, maar bij schrijven wordt de eerdere inhoud op die plaats overschreven, of dehet filebestand wordt langer, bij '' merge'' en ''append''.
 
Daarnaast kunnen filesbestanden worden aangemaakt (aanvankelijk met lengte nul) en worden gewist. Voor lezen of schrijven moet dehet filebestand eerst worden geopend, waarbij het [[besturingssysteem]] aan het [[computerprogramma|programma]] een ''file handle'' (een getal) teruggeeft die bij het aanvragen van verdere bewerkingen moet worden opgegeven. Bestandsbewerkingen worden normaliter door het besturingssysteem afgehandeld naar aanleiding van functieaanroepen van het programma. Dit gebeurt via een deel van het besturingssysteem dat het [[bestandssysteem]] heet. Na het openen staat de file pointer (de offset vanaf het begin) meestal op nul, maar bij aanvullen (append) staat deze aan het eind van dehet filebestand. Er kan een ''file seek'' worden gedaan waarmee de file pointer op een bepaalde waarde wordt gezet. Een filebestand diedat klaar is, moet ook weer worden gesloten. De meeste van deze bewerkingen zijn voor de gebruiker tegenwoordig niet meer zichtbaar.
 
Bestanden zijn geschikt om snel grote hoeveelheden gegevens in een bepaalde volgorde weg te schrijven en in diezelfde volgorde ook weer snel te lezen. Ze zijn niet erg geschikt voor gegevens die voortdurend in andere volgordes moeten worden opgeroepen. Het lezen van de volgende [[byte]] kost een minimale hoeveelheid tijd, maar het lezen van de vorige byte kost doorgaans een heleboel tijd. Dit omdat er dan eerst een seek moet worden gedaan. In de tijd van de magneetband betekende dat: band stilzetten, terugspoelen naar het begin, zoekend vooruitspoelen tot de vorige plaats minus 1, en lezen. Zie b.v. ook de datatypen [[stack (informatica)|stack]], [[queue (informatica)|queue]] en [[array]]. Ook bij het lezen van de [[harde schijf]] is het sequentieel lezen van een filebestand nog steeds honderden malen efficiënter dan alle data in willekeurige volgorde door middel van [[random access]] te lezen.
 
== Organisatie ==