We are independent & ad-supported. We may earn a commission for purchases made through our links.
Advertiser Disclosure
Our website is an independent, advertising-supported platform. We provide our content free of charge to our readers, and to keep it that way, we rely on revenue generated through advertisements and affiliate partnerships. This means that when you click on certain links on our site and make a purchase, we may earn a commission. Learn more.
How We Make Money
We sustain our operations through affiliate commissions and advertising. If you click on an affiliate link and make a purchase, we may receive a commission from the merchant at no additional cost to you. We also display advertisements on our website, which help generate revenue to support our work and keep our content free for readers. Our editorial team operates independently of our advertising and affiliate partnerships to ensure that our content remains unbiased and focused on providing you with the best information and recommendations based on thorough research and honest evaluations. To remain transparent, we’ve provided a list of our current affiliate partners here.

Our Promise to you

Founded in 2002, our company has been a trusted resource for readers seeking informative and engaging content. Our dedication to quality remains unwavering—and will never change. We follow a strict editorial policy, ensuring that our content is authored by highly qualified professionals and edited by subject matter experts. This guarantees that everything we publish is objective, accurate, and trustworthy.

Over the years, we've refined our approach to cover a wide range of topics, providing readers with reliable and practical advice to enhance their knowledge and skills. That's why millions of readers turn to us each year. Join us in celebrating the joy of learning, guided by standards you can trust.

What Is a File Control Block?

By Eugene P.
Updated: May 16, 2024

A file control block (FCB), also called a file descriptor, is a type of data structure that is temporarily allocated by a computer operating system to maintain the status of a data file that is being created or otherwise manipulated. In most instances, a file control block is used to store basic information about a file, such as its name, extension and location on a logical drive, as well as dynamic information such as the current address within the file that is being read. Originally, a file control block was a very well-defined structure under certain operating systems, but it since has become a more generic term for the structure used to track information about an actively handled file.

One important purpose of a file control block is to help the file system keep track of what state the file is in to prevent different operations from attempting to modify the file in conflicting ways, such as reading from an area of the file that is currently being written to. The structure not only is used for data files, but also can be used to track information about directories, although the data structure usually is shortened to remove unnecessary fields, because a directory cannot contain data.

Two operating systems, specifically the Microsoft® Disk Operating System (MS-DOS) and the Control Program for Microprocessors (CP/M), were the first operating systems to use a block scheme to manage files. These systems used very similar structures to help manage files that were being accessed. As other operating systems and file systems were developed, the concept of a block remained, but the implementation changed and the data structure varied greatly from one system to the next. Most computer operating systems in use in 2011 use some form of a file control block, especially when using custom file systems for removable hardware, although the data structure that is employed is not compatible with earlier versions without emulation and generally is larger and hidden from most high-level programming applications.

Broadly, a file control block contains information that can be changed during the use of a file by the operating system. Aside from the name and location, memory pointers to different points within the file itself are maintained. This allows sequential reading and writing, as well as random access reading and writing when paired with a variable in the FCB that stores the size of a random access record. File permissions, such as read-only or executable status, also are tracked. The use of a FCB also provides a mechanism to prevent two or more processes from operating on the same file in an unpredictable way, such as attempting to append information to the end of a file while that same file is being copied to another location.

EasyTechJunkie is dedicated to providing accurate and trustworthy information. We carefully select reputable sources and employ a rigorous fact-checking process to maintain the highest standards. To learn more about our commitment to accuracy, read our editorial process.
Discussion Comments
EasyTechJunkie, in your inbox

Our latest articles, guides, and more, delivered daily.

EasyTechJunkie, in your inbox

Our latest articles, guides, and more, delivered daily.