Wat is een bestandsbeheersingsblok?
Een bestandscontroleblok (FCB), ook wel een bestandsdescriptor genoemd, is een type gegevensstructuur die tijdelijk wordt toegewezen door een computerbesturingssysteem om de status van een gegevensbestand te handhaven dat wordt gemaakt of anderszins wordt gemanipuleerd. In de meeste gevallen wordt een bestandsbeheersingsblok gebruikt om basisinformatie over een bestand op te slaan, zoals de naam, extensie en locatie op een logische schijf, evenals dynamische informatie zoals het huidige adres in het bestand dat wordt gelezen. Oorspronkelijk was een bestandscontroleblok een zeer goed gedefinieerde structuur onder bepaalde besturingssystemen, maar sindsdien is het een meer generieke term geworden voor de structuur die wordt gebruikt om informatie over een actief behandeld bestand bij te houden. Een belangrijk doel van een bestandscontroleblok is om het bestandssysteem te helpen bij te houden in welke staat het bestand zich bevindt om te voorkomen dat verschillende bewerkingen het bestand op tegenstrijdige manieren proberen te wijzigen, zoals lezen vanuit een deel van het bestand dat momenteel wordt geschreven. De structuur niet opLy wordt gebruikt voor gegevensbestanden, maar kan ook worden gebruikt om informatie over mappen bij te houden, hoewel de gegevensstructuur meestal wordt ingekort om onnodige velden te verwijderen, omdat een map geen gegevens kan bevatten.
Twee besturingssystemen, met name het Microsoft® Disk-besturingssysteem (MS-DOS) en het besturingsprogramma voor microprocessors (CP/M), waren de eerste besturingssystemen die een bestandscontroleblokschema gebruiken om bestanden te beheren. Deze systemen gebruikten zeer vergelijkbare structuren om te helpen bij het beheren van bestanden die toegankelijk waren. Naarmate andere besturingssystemen en bestandssystemen werden ontwikkeld, bleef het concept van een bestandscontroleblok over, maar de implementatie veranderde en de gegevensstructuur varieerde sterk van het ene systeem tot het andere. De meeste computerbesturingssystemen die in 2011 worden gebruikt, gebruiken een vorm van een bestandsbeheersingsblok, vooral bij het gebruik van aangepaste bestandssystemen voor verwijderbare hardware, hoewel de gegevensstructuurdie wordt gebruikt, is niet compatibel met eerdere versies zonder emulatie en is over het algemeen groter en verborgen voor de meeste programmeertoepassingen op hoog niveau.
In het algemeen bevat een bestandsbeheersingsblok informatie die kan worden gewijzigd tijdens het gebruik van een bestand door het besturingssysteem. Afgezien van de naam en de locatie worden geheugenaanwijzers naar verschillende punten in het bestand zelf gehandhaafd. Dit maakt opeenvolgende lezen en schrijven mogelijk, evenals lees- en schrijven van willekeurige toegang wanneer ze worden gecombineerd met een variabele in de FCB die de grootte van een willekeurige toegangsrecord opslaat. Bestandsmachtigingen, zoals alleen-lezen of uitvoerbare status, worden ook gevolgd. Het gebruik van een FCB biedt ook een mechanisme om te voorkomen dat twee of meer processen op hetzelfde bestand op een onvoorspelbare manier werken, zoals proberen informatie toe te voegen aan het einde van een bestand terwijl datzelfde bestand naar een andere locatie wordt gekopieerd.