Wat is een bestandscontroleblok?
Een file control block (FCB), ook wel een bestandsdescriptor genoemd, is een type gegevensstructuur die tijdelijk wordt toegewezen door een computerbesturingssysteem om de status te behouden van een gegevensbestand dat wordt gemaakt of anderszins gemanipuleerd. In de meeste gevallen wordt een bestandsbesturingsblok gebruikt om basisinformatie over een bestand, zoals de naam, extensie en locatie op een logische schijf, op te slaan, evenals dynamische informatie zoals het huidige adres in het bestand dat wordt gelezen. Oorspronkelijk was een bestandsbesturingsblok een zeer goed gedefinieerde structuur onder bepaalde besturingssystemen, maar sindsdien is het een meer algemene term geworden voor de structuur die wordt gebruikt om informatie over een actief verwerkt bestand bij te houden. Een belangrijk doel van een bestandscontroleblok is om het bestandssysteem te helpen bijhouden in welke staat het bestand zich bevindt om te voorkomen dat verschillende bewerkingen proberen het bestand op conflicterende manieren te wijzigen, zoals lezen uit een gedeelte van het bestand dat momenteel wordt gebruikt geschreven naar. De structuur wordt niet alleen 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 Operating System (MS-DOS) en het Control Program for Microprocessors (CP / M), waren de eerste besturingssystemen die een bestandscontroleblokschema gebruikten om bestanden te beheren. Deze systemen gebruikten zeer vergelijkbare structuren om bestanden te helpen die werden benaderd. Terwijl andere besturingssystemen en bestandssystemen werden ontwikkeld, bleef het concept van een bestandsbesturingsblok bestaan, maar de implementatie veranderde en de datastructuur varieerde sterk van systeem tot systeem. De meeste computerbesturingssystemen die in 2011 worden gebruikt, gebruiken een vorm van een bestandscontroleblok, vooral wanneer aangepaste bestandssystemen worden gebruikt voor verwijderbare hardware, hoewel de gebruikte gegevensstructuur niet compatibel is met eerdere versies zonder emulatie en in het algemeen groter en verborgen is voor de meeste hoogwaardige programmeertoepassingen.
In grote lijnen bevat een bestandsbesturingsblok informatie die kan worden gewijzigd tijdens het gebruik van een bestand door het besturingssysteem. Afgezien van de naam en de locatie, blijven geheugenaanwijzers naar verschillende punten in het bestand zelf behouden. Dit maakt sequentieel lezen en schrijven mogelijk, evenals willekeurig lezen en schrijven in combinatie met een variabele in de FCB die de grootte van een willekeurig toegankelijk record opslaat. Bestandsrechten, zoals alleen-lezen of uitvoerbare status, worden ook bijgehouden. Het gebruik van een FCB biedt ook een mechanisme om te voorkomen dat twee of meer processen op een onvoorspelbare manier op hetzelfde bestand werken, zoals proberen informatie aan het einde van een bestand toe te voegen terwijl datzelfde bestand naar een andere locatie wordt gekopieerd.