Computers use this to save files.
Computers use a tool to save files.
Computers need a way to organize files on a disk. This tool is called a file system. ext4 is a popular file system for Linux.
ext4 uses a way called extents to manage files. An extent is a group of connected blocks of space. This helps the computer find and read large files faster. It also keeps files from getting messy on the disk. ext4 can also wait to pick where to put data. This is called delayed allocation. By waiting, the computer can group data together better. This makes the whole system work more smoothly. Finally, ext4 tracks time very well. It can measure time in nanoseconds. A nanosecond is a tiny fraction of a second. This helps computers keep very precise records.
Computers need a special way to organize data on a disk. This system is called a file system.
This system works using several clever methods to handle data. One way is through extents. An extent is a range of connected blocks of space on the disk. Instead of tracking every tiny piece, ext4 tracks these large groups. This helps the computer read big files much faster.
Developers worked for a long time to build ext4. It was made to be the successor to an older system called ext3. Between 2003 and 2006, many ideas for it came from the Lustre file system. Theodore Ts'o was the main person in charge of ext3. On June 28, 2006, he announced the new plan to create ext4.
There are many impressive numbers behind how ext4 works. It can support huge volumes up to 64 ZiB in size. A single file can be as large as 16 TiB using standard blocks.
Many big companies rely on this technology every day. For example, Google announced in 2010 that it would upgrade its storage to ext4. Google also chose to use it for Android 2.3.
ext4, or the fourth extended filesystem, is a journaling file system designed for Linux. A file system is the method a computer uses to organize, store, and retrieve data on a storage device. ext4 serves as a vital tool for managing how information is written to disks. It is widely used because it offers high performance and reliability. It is currently the default file system for many popular Linux distributions, such as Ubuntu and Debian.
The system works through several advanced mechanisms to manage data efficiently. One key method is the use of extents. In older systems like ext2 and ext3, the computer used block mapping to track every single piece of a file. An extent replaces this by mapping a range of contiguous, or connected, physical blocks. A single extent can map up to 128 MiB of space using a standard 4 KiB block size. This reduces fragmentation and allows the computer to read large files much faster.
Another important process is called delayed allocation, also known as allocate-on-flush. In many file systems, the computer assigns a specific spot on the disk as soon as data is sent to be written. ext4 instead waits until the data is actually flushed to the disk before choosing its location. This allows the multiblock allocator to see a larger amount of data at once. By waiting, the system can group data into larger, contiguous chunks. This reduces fragmentation and improves overall performance.
To ensure data stays safe, ext4 uses a technique called journaling. A journal is a special file on the disk that records changes before they are permanently applied. ext4 uses journal checksums to improve the reliability of this process. This feature was inspired by research from the University of Wisconsin regarding the IRON file system. By using checksums, the system can also avoid waiting for certain disk operations, which slightly improves speed. Furthermore, metadata checksumming was added in 2012 to help protect the structural information of the file system.
The history of ext4 began with the need to improve upon the older ext3 system. Between 2003 and 2006, many of its features were originally developed for the Lustre file system. While some developers wanted to simply add extensions to ext3, others preferred to create a separate version for better stability. On June 28, 2006, Theodore Ts'o, the maintainer of ext3, announced the official development plan for ext4. A preliminary version appeared in Linux kernel 2.6.19. The stable version was finally merged into the Linux 2.6.28 source code and released on December 25, 2008.
Ext4 offers massive scale and precision compared to its predecessors. It can theoretically support volumes as large as 64 ZiB. A single file can reach a size of 16 TiB using standard 4 KiB blocks. The system also provides much higher timestamp accuracy. While older systems measured time in one-second increments, ext4 uses nanoseconds. It also expands the date range to prevent the "year 2038 problem." This allows the system to track time correctly until the year 2446.
Many major organizations have adopted this technology for their infrastructure. In 2010, Google announced it would upgrade its storage systems from ext2 to ext4. That same year, Google also chose ext4 for the Android 2.3 operating system. Despite its success, the development of ext4 has faced interesting debates. Theodore Ts'o noted in 2008 that while ext4 is an improvement, it is based on older technology. He suggested that other systems, like Btrfs, might offer different advantages in scalability and management. However, many contributors from companies like IBM and Huawei have continued to improve ext4 with features like transparent encryption and project quotas.
🖼️ Images & Media (1)
More to explore
✨ What else?
Related topics you might enjoy
What is Nepedia?
A free, ad-free encyclopedia for children. Every article is written at five reading levels, so the same page works for a five-year-old and a fifteen-year-old — use the level switcher above to see this one change. No account needed to read.