Hva er en filkontrollblokk?
En filkontrollblokk (FCB), også kalt en filbeskrivelse, er en type datastruktur som er midlertidig tildelt av et datamaskinoperativsystem for å opprettholde statusen til en datafil som blir opprettet eller på annen måte manipulert. I de fleste tilfeller brukes en filkontrollblokk til å lagre grunnleggende informasjon om en fil, for eksempel navn, utvidelse og plassering på en logisk stasjon, samt dynamisk informasjon som den gjeldende adressen i filen som leses. Opprinnelig var en filkontrollblokk en veldig veldefinert struktur under visse operativsystemer, men den har siden blitt et mer generisk begrep for strukturen som brukes til å spore informasjon om en aktivt håndtert fil. Et viktig formål med en filkontrollblokk er å hjelpe filsystemet med å holde oversikt over hvilken tilstand filen er i for å forhindre at forskjellige operasjoner prøver å endre filen på motstridende måter, for eksempel å lese fra et område av filen som for tiden blir skrevet til. Strukturen brukes ikke bare for datafiler, men kan også brukes til å spore informasjon om kataloger, selv om datastrukturen vanligvis er forkortet for å fjerne unødvendige felt, fordi en katalog ikke kan inneholde data.
To operativsystemer, nærmere bestemt Microsoft® Disk-operativsystemet (MS-DOS) og kontrollprogrammet for mikroprosessorer (CP / M), var de første operativsystemene som brukte et filkontrollblokkskjema for å administrere filer. Disse systemene brukte veldig like strukturer for å hjelpe deg med å administrere filer som ble åpnet. Etter hvert som andre operativsystemer og filsystemer ble utviklet, forble konseptet med en filkontrollblokk, men implementeringen endret seg og datastrukturen varierte sterkt fra det ene systemet til det neste. De fleste datamaskinoperativsystemer som ble brukt i 2011 bruker en form for en filkontrollblokk, spesielt når du bruker tilpassede filsystemer for flyttbar maskinvare, selv om datastrukturen som brukes ikke er kompatibel med tidligere versjoner uten emulering og generelt er større og skjult for de fleste programmeringsapplikasjoner på høyt nivå.
Stort sett inneholder en filkontrollblokk informasjon som kan endres under bruk av en fil av operativsystemet. Bortsett fra navn og beliggenhet opprettholdes minnepekere til forskjellige punkter i selve filen. Dette tillater sekvensiell lesing og skriving, samt lesing og skriving av tilfeldig tilgang når den er parret med en variabel i FCB som lagrer størrelsen på en tilfeldig tilgangspost. Filtillatelser, for eksempel skrivebeskyttet eller kjørbar status, spores også. Bruken av en FCB gir også en mekanisme for å forhindre at to eller flere prosesser opererer på den samme filen på en uforutsigbar måte, for eksempel å prøve å legge ved informasjon til slutten av en fil mens den samme filen kopieres til et annet sted.