Log in Sign up
Back to Discover
💻

ext4

technology Maturity 11-13 war conflict
This article covers sensitive topics: war_conflict. Parents can manage visibility in Parental Controls.

Computers use this to save files.

Simplified Structure of the Linux Kernel.svg
Simplified Structure of the Linux Kernel.svg
It keeps your work safe. It works very fast. It helps your computer stay organized. It is very good at its job. Do you like using computers?
Simplified Structure of the Linux Kernel.svg
Simplified Structure of the Linux Kernel.svg

45 words

Computers use a tool to save files.

Simplified Structure of the Linux Kernel.svg
Simplified Structure of the Linux Kernel.svg
This tool is called ext4. It helps the computer stay organized. It can hold many large files. It also keeps track of time very well. It can even record the exact tiny moment a file was made. This helps the computer work much faster. It is a very helpful part of a computer.
Simplified Structure of the Linux Kernel.svg
Simplified Structure of the Linux Kernel.svg

72 words

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.

Simplified Structure of the Linux Kernel.svg
Simplified Structure of the Linux Kernel.svg
It was made to improve an older system called ext3. Many big companies like Google use it. ext4 is very good at handling large amounts of data. It can hold files that are very big. It can also hold a huge number of folders. In the past, folders had a limit. Now, ext4 can hold billions of entries in one folder.
Simplified Structure of the Linux Kernel.svg
Simplified Structure of the Linux Kernel.svg

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.

197 words

Computers need a special way to organize data on a disk. This system is called a file system.

Simplified Structure of the Linux Kernel.svg
Simplified Structure of the Linux Kernel.svg
ext4 is a very popular file system used by Linux. It helps a computer know exactly where to store and find files. Without a file system, a disk would just be a huge pile of data. ext4 is important because it makes storing information fast and reliable. It is the default choice for many Linux systems like Debian and Ubuntu.
Simplified Structure of the Linux Kernel.svg
Simplified Structure of the Linux Kernel.svg

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.

Simplified Structure of the Linux Kernel.svg
Simplified Structure of the Linux Kernel.svg
It also uses delayed allocation. This means the system waits a moment before picking a spot for new data. By waiting, it can group data together in large, neat chunks. This prevents files from becoming messy or fragmented on the disk.

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.

Simplified Structure of the Linux Kernel.svg
Simplified Structure of the Linux Kernel.svg
A version of ext4 was first put into the Linux kernel 2.6.19. Later, on December 25, 2008, the stable version was finally released. This marked the end of the main development phase.

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.

Simplified Structure of the Linux Kernel.svg
Simplified Structure of the Linux Kernel.svg
It also tracks time much better than older systems. It uses nanoseconds, which are tiny fractions of a second, for its timestamps. This is much more precise than the one-second marks used before. Most importantly, it fixes a time problem that would have happened in 2038. Because of ext4, computers can track dates until the year 2446.

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.

Simplified Structure of the Linux Kernel.svg
Simplified Structure of the Linux Kernel.svg
You can think of ext4 like a very smart librarian. A normal librarian might put books on any empty shelf they see. A smart librarian waits until they have a whole cart of books. Then, they find one big, continuous space to put them all together. This keeps the library much more organized and easy to use.

472 words

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.

Simplified Structure of the Linux Kernel.svg
Simplified Structure of the Linux Kernel.svg

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.

Simplified Structure of the Linux Kernel.svg
Simplified Structure of the Linux Kernel.svg

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.

Simplified Structure of the Linux Kernel.svg
Simplified Structure of the Linux Kernel.svg

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.

Simplified Structure of the Linux Kernel.svg
Simplified Structure of the Linux Kernel.svg

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.

Simplified Structure of the Linux Kernel.svg
Simplified Structure of the Linux Kernel.svg

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.

Simplified Structure of the Linux Kernel.svg
Simplified Structure of the Linux Kernel.svg

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.

Simplified Structure of the Linux Kernel.svg
Simplified Structure of the Linux Kernel.svg

645 words
🖼️ Images & Media (1)
File:Simplified Structure of the Linux Kernel.svg
Simplified Structure of the Linux Kernel.svg
Up Next
💻
Android (operating system)
Technology
More to explore

🔬 Go deeper

More advanced topics to explore

🪜 Step back

Simpler topics to build understanding

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.