The ext2 or second extended filesystem is a file system A file system is a method of storing and organizing computer files and their data. Essentially, it organizes these files into a database for the storage, organization, manipulation, and retrieval by the computer's operating system for the Linux Linux refers to the family of Unix-like computer operating systems using the Linux kernel. Linux can be installed on a wide variety of computer hardware, ranging from mobile phones, tablet computers and video game consoles, to mainframes and supercomputers. Linux is predominantly known for its use in servers; in 2009 it held a server market share kernel In computing, the kernel is the central component of most computer operating systems; it is a bridge between applications and the actual data processing done at the hardware level. The kernel's responsibilities include managing the system's resources . Usually as a basic component of an operating system, a kernel can provide the lowest-level. It was initially designed by Rémy Card as a replacement for the extended file system The extended file system or ext was implemented in April 1992 as the first file system created specifically for the Linux operating system. It has metadata structure inspired by traditional Unix File System and was designed by Rémy Card to overcome certain limitations of the Minix file system (ext).

The canonical implementation of ext2 is the ext2fs filesystem driver in the Linux kernel. Other implementations (of varying quality and completeness) exist in GNU Hurd GNU Hurd is a free software Unix-like replacement for the Unix kernel, released under the GNU General Public License. It has been under development since 1990 by the GNU Project of the Free Software Foundation. It consists of a set of protocols and server processes (or daemons, in Unix terminology) that run on top of the GNU Mach microkernel;, Mac OS X Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, Mac OS X has been included with all new Macintosh computer systems. It is the successor to Mac OS 9, the final release of the "classic" Mac OS, which had been Apple's primary operating system since 198 (third-party), Darwin Darwin is an open source POSIX-compliant computer operating system released by Apple Inc. in 2000. It is composed of code developed by Apple, as well as code derived from NeXTSTEP, BSD, and other free software projects (same third-party as Mac OS X but untested), some BSD Berkeley Software Distribution is a UNIX operating system derivative developed and distributed by the Computer Systems Research Group (CSRG) of the University of California, Berkeley, from 1977 to 1995 kernels, in Atari MiNT, and as third-party Microsoft Windows Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal drivers.

ext2 was the default filesystem in several Linux distributions A Linux distribution is a member of the family of Unix-like software distributions built on top of the Linux kernel. Such distributions (often called distros for short) consist of a large collection of software applications such as word processors, spreadsheets, media players and database applications. The operating system will consist of the, including Debian Debian is a computer operating system composed of software packages released as free and open source software especially under the GNU General Public License and other free software licenses. The primary form, Debian GNU/Linux, which uses the Linux kernel and GNU OS tools, is a popular and influential GNU/Linux distribution. It is distributed with and Red Hat Linux Red Hat Linux, assembled by the company Red Hat, was a popular Linux based operating system until its discontinuation in 2004, until supplanted more recently by ext3 The ext3 or third extended filesystem is a journaled file system that is commonly used by the Linux kernel. It is the default file system for many popular Linux distributions. Stephen Tweedie first revealed that he was working on extending ext2 in Journaling the Linux ext2fs Filesystem in a 1998 paper and later in a February 1999 kernel mailing, which is almost completely compatible with ext2 and is a journaling file system A journaling file system is a file system that logs changes to a journal before committing them to the main file system. Such file systems are less likely to become corrupted in the event of power failure or system crash. ext2 is still the filesystem of choice for flash Flash memory is a non-volatile computer storage technology that can be electrically erased and reprogrammed. It is primarily used in memory cards, USB flash drives, and solid-state drives for general storage and transfer of data between computers and other digital products. It is a specific type of EEPROM that is erased and programmed in large-based storage media (such as SD cards Secure Digital is a non-volatile memory card format developed by Matsushita, SanDisk, and Toshiba for use in portable devices. Today it is widely used in digital cameras, handheld computers, PDAs, Media Players, mobile phones, GPS receivers, and video game consoles. Standard SD card capacities range from 4 MB to 4 GB, and for high capacity SDHC, and USB flash drives A USB flash drive consists of a flash memory data storage device integrated with a USB 1.1 or 2.0 interface. USB flash drives are typically removable and rewritable, and much smaller than a floppy disk. Most weigh less than 30 g (1 oz). Storage capacities in 2010 can be as large as 256 GB with steady improvements in size and price per capacity) since its lack of a journal minimizes the number of writes and flash devices have only a limited number of write cycles.

Contents

History

The early development of the Linux kernel was made as a cross-development under the Minix MINIX is a Unix-like computer operating system based on a microkernel architecture created by Andrew S. Tanenbaum for educational purposes; MINIX also inspired the creation of the Linux kernel operating system. Naturally, it was obvious that the Minix file system would be used as Linux's first file system. The Minix file system was mostly free of bugs A software bug is the common term used to describe an error, flaw, mistake, failure, or fault in a computer program or system that produces an incorrect or unexpected result, or causes it to behave in unintended ways. Most bugs arise from mistakes and errors made by people in either a program's source code or its design, and a few are caused by, but used 16-bit offsets internally and thus only had a maximum size limit of 64 megabytes The megabyte is a multiple of the unit byte for digital information storage or transmission with two different values depending on context: 1048576 bytes generally for computer memory; and one million bytes (106, see prefix mega-) generally for computer storage. The IEEE Standards Board has decided that "Mega will mean 1 000 000", with. There was also a filename length limit of 14 characters. Because of these limitations, work began on a replacement native file system for Linux.

To ease the addition of new file systems and provide a generic file API An Application Programming Interface is an interface implemented by a software program which enables it to interact with other software. It is similar to the way the user interface facilitates interaction between humans and computers. An API is implemented by applications, libraries, and operating systems to determine their vocabularies and, VFS A virtual file system or virtual filesystem switch is an abstraction layer on top of a more concrete file system. The purpose of a VFS is to allow client applications to access different types of concrete file systems in a uniform way. A VFS can, for example, be used to access local and network storage devices transparently without the client, a virtual file system layer was added to the Linux kernel. The extended file system (ext The extended file system or ext was implemented in April 1992 as the first file system created specifically for the Linux operating system. It has metadata structure inspired by traditional Unix File System and was designed by Rémy Card to overcome certain limitations of the Minix file system), was released in April 1992 as the first file system using the VFS API and was included in Linux version 0.96c. The ext file system solved the two major problems in the Minix file system (maximum partition size and filename length limitation to 14 characters), and allowed 2 gigabytes The gigabyte is a multiple of the unit byte for digital information storage. The prefix giga means 109 in the International System of Units (SI), therefore 1 gigabyte is 1000000000bytes. The unit symbol for the gigabyte is GB or Gbyte, but not Gb (lower case b) which is typically used for the gigabit of data and filenames of up to 255 characters. But it still had problems: there was no support for separate access, inode In computing, an inode is a data structure on a traditional Unix-style file system such as UFS. An inode stores basic information about a regular file, directory, or other file system object modification and data modification timestamps A time code is a sequence of numeric codes generated at regular intervals by a timing system. Time codes are used extensively for synchronization, and for logging material in recorded media. SOM is also a related term and stands for 'Start of Message' or 'Start of Media' also known as Time Code (TC) in. Similarly EOM stands for 'End of Message' or.

As a solution for these problems, two new filesystems were developed in January 1993: xiafs and the second extended file system (ext2), which was an overhaul of the extended file system incorporating many ideas from the Berkeley Fast File System The Unix file system is a file system used by many Unix and Unix-like operating systems. It is also called the Berkeley Fast File System, the BSD Fast File System or FFS. It is a distant descendant of the original filesystem used by Version 7 Unix. ext2 was also designed with extensibility in mind, with space left in many of its on-disk data structures for use by future versions.

Since then, ext2 has been a testbed for many of the new extensions to the VFS API. Features such as POSIX POSIX or "Portable Operating System Interface [for Unix]" is the name of a family of related standards specified by the IEEE to define the application programming interface (API), along with shell and utilities interfaces for software compatible with variants of the Unix operating system, although the standard can apply to any operating ACLs An access control list , with respect to a computer file system, is a list of permissions attached to an object. An ACL specifies which users or system processes are granted access to objects, as well as what operations are allowed on given objects. Each entry in a typical ACL specifies a subject and an operation. For instance, if a file has an and extended attributes were generally implemented first on ext2 because it was relatively simple to extend and its internals were well-understood.

On Linux kernels prior to 2.6.17,[1] restrictions in the block driver mean that ext2 filesystems have a maximum file size of 2TB.

ext2 is still recommended over journaling file systems on bootable USB flash drives and other solid-state drives A solid-state drive is a data storage device that uses solid-state memory to store persistent data. An SSD emulates a hard disk drive interface, thus easily replacing it in most applications. An SSD using SRAM or DRAM (instead of flash memory) is often called a RAM-drive, not to be confused with a RAM disk. ext2 performs fewer writes than ext3 since it does not need to write to the journal. As the major aging factor of a flash chip is the number of erase cycles, and as those happen frequently on writes, this increases the life span of the solid-state device.[2] Another good practice for filesystems on flash devices is the use of the noatime mount option, for the same reason.

ext2 data structures

The space in ext2 is split up in blocks In computing , a block is a sequence of bytes or bits, having a nominal length (a block size). Data thus structured are said to be blocked. The process of putting data into blocks is called blocking. Blocking is used to facilitate the handling of the data-stream by the computer program receiving the data. Blocked data are normally read a whole, and organized into block groups, analogous to cylinder groups in the Unix File System. This is done to reduce external fragmentation and minimize the number of disk seeks Seek time is one of the three delays associated with reading or writing data on a computer's disk drive, and somewhat similar for CD or DVD drives. The others are rotational delay and transfer time. In order to read or write data in a particular place on the disk, the read/write head of the disk needs to be physically moved to the correct place when reading a large amount of consecutive data.

Each block group may contain a copy of the superblock and block group descriptor table, and all block groups contain a block bitmap, an inode bitmap, an inode table and followed by the actual data blocks.

The superblock The Unix file system is a file system used by many Unix and Unix-like operating systems. It is also called the Berkeley Fast File System, the BSD Fast File System or FFS. It is a distant descendant of the original filesystem used by Version 7 Unix contains important information that is crucial to the booting of the operating system An operating system is the software on a computer that manages the way different programs use its hardware, and regulates the ways that a user controls the computer. Operating systems are found on almost any device that contains a computer with multiple programs—from cellular phones and video game consoles to supercomputers and web servers. Some, thus backup copies are made in multiple block groups in the file system. However, typically only the first copy of it, which is found at the first block of the file system, is used in the booting.

The group descriptor stores the location of the block bitmap, inode bitmap and the start of the inode table for every block group and these, in turn are stored in a group descriptor table.

Example of ext2 inode structure:

Quote from the linux kernel documentation for ext2:

"There are pointers to the first 12 blocks which contain the file's data in the inode. There is a pointer to an indirect block (which contains pointers to the next set of blocks), a pointer to a doubly-indirect block (which contains pointers to indirect blocks) and a pointer to a trebly-indirect block (which contains pointers to doubly-indirect blocks)."

So, there is a structure in ext2 that has 15 pointers, the first 12 are for direct blocks. Pointer number 13 points to an indirect block, number 14 to a doubly-indirect block and number 15 to a trebly-indirect block.

You can calculate the maximum number of pointers and the maximum size of a file, this way:

Simple indirect pointers = block size / pointer size

Doubly indirect pointers = Simple indirect pointers * Simple indirect pointers

Trebly indirect pointers = Simple indirect pointers * Doubly indirect pointers

Direct blocks size = 12 * block size

Simple indirect blocks size = Simple indirect pointers * block size

Doubly indirect blocks size = Doubly indirect pointers * block size

Trebly indirect blocks size = Trebly indirect pointers * block size

Then, Max file size = (# of direct blocks + Simple indirect pointers + Doubly indirect pointers + Trebly indirect pointers) * block size

On a real system[3],

Max file size = (12 + 1024 + 1024*1024 + 1024*1024*1024) * 4

(that results in a little more than 4 TiB for max inode size, given those structures, but that doesn't mean that the max inode size for ext2 in every Operating System is 4 TiB, because the max inode size can be different being defined by each OS implementation)

File system limits

Theoretical ext2 filesystem limits under Linux[4]
Block size: 1 KB 2 KB 4 KB 8 KB
max. file size: 16 GB 256 GB 2 TB 2 TB
max. filesystem size: 4* TB 8 TB 16 TB 32 TB

The reason for some limits of the ext2-file system are the file format of the data and the operating system's kernel. Mostly these factors will be determined once when the file system is built. They depend on the block size and the ratio of the number of blocks and inodes. In Linux the block size is limited by the architecture page size.

There are also many userspace programs that can't handle files larger than 2 GB Large file support, often abbreviated to LFS, is the term frequently applied to the ability to create files larger than 2 GiB on 32-bit operating systems.

The limit of sublevel-directories is about 32768.[citation needed] Enabling directory indexing will increase performance for directories with a large number of files (10,000+). The theoretical limit on the number of files in a directory is 1.3 × 1020, although this is not relevant for practical situations.

Note: In Linux kernel 2.4 and earlier block devices were limited to 2 TB, limiting the maximum size of a partition regardless of block size.

Compression extension

e2compr is a modification to the ext2 file system A file system is a method of storing and organizing computer files and their data. Essentially, it organizes these files into a database for the storage, organization, manipulation, and retrieval by the computer's operating system driver in the Linux kernel The Linux kernel is an operating system kernel used by the Linux family of Unix-like operating systems. It is one of the most prominent examples of free and open source software to support online compression and decompression of files on file system level without any support by user applications.

e2compr is a small patch against the ext2 file system that allows on-the-fly compression In computer science and information theory, data compression or source coding is the process of encoding information using fewer bits than an unencoded representation would use, through use of specific encoding schemes and decompression. It compresses only regular files; the administrative data (superblock The Unix file system is a file system used by many Unix and Unix-like operating systems. It is also called the Berkeley Fast File System, the BSD Fast File System or FFS. It is a distant descendant of the original filesystem used by Version 7 Unix, inodes In computing, an inode is a data structure on a traditional Unix-style file system such as UFS. An inode stores basic information about a regular file, directory, or other file system object, directory Folder, directory, catalog, or drawer, in computing, is a virtual container within a digital file system, in which groups of computer files and other folders can be kept and organized files A computer file is a block of arbitrary information, or resource for storing information, which is available to a computer program and is usually based on some kind of durable storage. A file is durable in the sense that it remains available for programs to use after the current program has finished. Computer files can be considered as the modern etc.) are not compressed (mainly for safety reasons). Access to compressed blocks In computing , a block is a sequence of bytes or bits, having a nominal length (a block size). Data thus structured are said to be blocked. The process of putting data into blocks is called blocking. Blocking is used to facilitate the handling of the data-stream by the computer program receiving the data. Blocked data are normally read a whole is provided for read and write operations. The compression algorithm In computer science and information theory, data compression or source coding is the process of encoding information using fewer bits than an unencoded representation would use, through use of specific encoding schemes and cluster size In computer file systems, a cluster is the unit of disk space allocation for files and directories. To reduce the overhead of managing on-disk data structures, the filesystem does not allocate individual disk sectors, but contiguous groups of sectors, called clusters is specified on a per-file basis. Directories can also be marked for compression, in which case every newly created file in the directory will be automatically compressed with the same cluster size and the same algorithm that was specified for the directory.

e2compr is not a new file system. It is only a patch to the ext2 file system made to support the EXT2_COMPR_FL flag. It does not require you to make a new partition, and will continue to read or write existing ext2 file systems. One can consider it as simply a way for the read and write routines to access files that could have been created by a simple utility similar to gzip or compress. Compressed and uncompressed files coexist nicely on ext2 partitions.

The latest e2compr-branch is available for current releases of 2.6 and 2.4 Linux kernels, but development is stalled. There are also older branches for older 2.0 and 2.2 kernels, which are more stable.

See also

References

  1. ^ http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=a0f62ac6362c168754cccb36f196b3dfbddc3bc3 — Commit allowing for large files
  2. ^ "Solid State Disk Drives". Super Talent Technology. http://www.supertalent.com/tools/ssd.php.
  3. ^ in a standard ext2 implementation, on a standard linux 2.6 kernel on a x86-32 system
  4. ^ "File system guide". Linux Reviews. http://linuxreviews.org/sysadmin/filesystems/.

Further reading

External links

File system
Disk

Advanced Disc Filing SystemAdvFSBe File System (BeGS) • BtrfsCodaCrossDOSDisc Filing System (DFS) • EpisodeEFSexFATextext2ext3ext3cowext4Global File System (GFS) • Hierarchical File System(HFS) • HFS PlusHigh Performance File SystemHigh Sierra Format (HSF) • IBM General Parallel File SystemJFSMacintosh File SystemMINIXNetWare File SystemNILFSNovell Storage ServicesNTFSOCFSQFSQNX4FSReiser4ReiserFSSpadFSSquashFSUBIFSUnix File SystemVeritas File System (VxFS) • VFATWinFSWrite Anywhere File Layout (WAFL) • XFSXsanZFSMore...

Optical Disc ISO 9660UDF
Flash memory/SSD FATexFAT (FAT64) • TFATFFS2JFFSJFFS2LogFSNVFSYAFFS
Distributed · CXFSFiles-11Global File SystemGoogle File SystemOCFSQFSXsanMore...
NAS AFS · OpenAFSAFPDFSGPFSGoogle File SystemLustreNCPNFSPOHMELFSHadoopHAMMERSMB (CIFS)More...
Specialized

cramfsFUSESquashfsUMSDOSUnionFSMore...

Pseudo- and virtual configfsdevfsprocfsspecfssysfstmpfsWinFS
Encrypted EncFSEFS • FSFS • SSHFS • SolFS • ZFS

Categories: 1993 software | Disk file systems | Linux file systems | File systems

 

The above information uses material from Wikipedia and is licensed under the GNU Free Documentation License.
Some facts may not have been fully verified for accuracy. [Disclaimers]
This page was last archived by our server on Sun Aug 1 05:24:44 2010. [ refresh local cache ]
Displaying this page or its contents does not use any Wikimedia Foundation's resources.
The owners of this site proudly support the Wikimedia Foundation.


Linux CTO Google -
news.google.com
Linux CTO Google



Google ext2 ext4 T'so Linux Linux Linux ...

Linux CTO Google



all 9 news articles »
Google News Search: Ext2,
Sat Jan 23 13:07:25 2010
ext2 JPG
tropicatruislip.co.uk
ext2 JPG
568px x 759px | 98.60kB

[source page]



Yahoo Images Search: Ext2,
Sat Jan 23 13:00:57 2010
 , ext2 ext4 ::
barosl.com
, ext2 ext4 ::



Fri, 15 Jan 2010 11:01:50 GM

ext4 . . ext2. " ", . , ' ...

Google Blogs Search: Ext2,
Sat Jan 23 12:59:31 2010
Why wont my new TV play ps2?
Q. Iv got the top box and dvd pluged into ext1 and ext2. When i unplug the dvd and insert ps2 scart,it comes up on tv no signal! The ps2 works fine on a seperate tv!?
Asked by General Lee - Sun Feb 3 07:06:06 2008 - - 2 Answers - 0 Comments

A. NO, you don't need an RF mod. To all other americans: SCART is the standard connector type used in Europe. I found this bit of info in the wiki page about SCART: "Some TV sets that have multiple SCART connectors have only one capable of receiving RGB and the other one capable of receiving S-video" I bet your ps2 is trying to output in RGB, though maybe european ps2's can do both. They say Euro DVD players mostly can. So first, try plugging the ps2 into the OTHER scart socket. If it works it could be a RGB/S-video issue. If not, you've ruled that out. I couldn't find out the maximum video SCART can carry, but that unofficially some dvd-players will let you send a Y/Pb/Pr, or component video, signal over a SCART cable. If your DVD… [cont.]
Answered by kozzm0 - Sun Feb 3 08:01:27 2008

Yahoo Answers Search: Ext2,
Mon Nov 2 00:18:23 2009