Large-file support

Large-file support (LFS) is the term frequently applied to the ability to create files larger than either 2 or 4 GiB on 32-bit filesystems.

Details

Traditionally, many operating systems and their underlying file system implementations used 32-bit integers to represent file sizes and positions. Consequently, no file could be larger than 232 − 1 bytes (4 GiB − 1). In many implementations, the problem was exacerbated by treating the sizes as signed numbers, which further lowered the limit to 231 − 1 bytes (2 GiB − 1). Files that were too large for 32-bit operating systems to handle came to be known as large files.

While the limit was quite acceptable at a time when hard disks were smaller, the general increase in storage capacity combined with increased server and desktop file usage, especially for database and multimedia files, led to intense pressure for OS vendors to overcome the limitation.

In 1996, multiple vendors responded by forming an industry initiative known as the Large File Summit to support large files on POSIX (at the time Windows NT already supported large files on NTFS), an obvious backronym of "LFS". The summit was tasked to define a standardized way to switch to 64-bit numbers to represent file sizes.[1]

This switch caused deployment issues and required design modifications, the consequences of which can still be seen:

  • The change to 64-bit file sizes frequently required incompatible changes to file system layout, which meant that large-file support sometimes necessitated a file system change. For example, the FAT32 file system does not support files larger than 4 GiB−1 (with older applications even only 2 GiB−1); the variant FAT32+ does support larger files (up to 256 GiB−1), but (so far) is only supported in some versions of DR-DOS,[2][3] so users of Microsoft Windows have to use NTFS or exFAT instead.
  • To support binary compatibility with old applications, operating system interfaces had to retain their use of 32-bit file sizes and new interfaces had to be designed specifically for large-file support.
  • To support writing portable code that makes use of LFS where possible, C standard library authors devised mechanisms that, depending on preprocessor constants, transparently redefined the functions to the 64-bit large-file aware ones.
  • Many old interfaces, especially C-based ones, explicitly specified argument types in a way that did not allow straightforward or transparent transition to 64-bit types. For example, the C functions fseek and ftell operate on file positions of type long int, which is typically 32 bits wide on 32-bit platforms, and cannot be made larger without sacrificing backward compatibility. (This was resolved by introducing new functions fseeko and ftello in POSIX.[4] On Windows machines, under Visual C++, functions _fseeki64 and _ftelli64 are used.)

Adoption

The usage of the large-file API in 32-bit programs had been incomplete for a long time. An analysis did show in 2002 that many base libraries of operating systems were still shipped without large-file support thereby limiting applications using them.[5] The much-used zlib library started to support 64-bit large-files on 32-bit platform not before 2006.[6]

The problem disappeared slowly with PCs and workstations moving completely to 64-bit computing. Microsoft Windows Server 2008 has been the last server version to be shipped in 32-bit.[7] Redhat Enterprise Linux 7 was published in 2014 only as a 64-bit operating system.[8] Ubuntu Linux stopped delivering a 32-bit variant in 2019.[9] Nvidia stopped to develop 32-bit drivers in 2018 and deliver updates after January 2019.[10] Apple stopped developing 32-bit Mac OS versions in 2018 delivering macOS Mojave only as a 64-bit operating system.[11] The end-of-life for Windows 10 has been set to 2025 on the desktop which is related to the latest upgrades from old systems like Windows 7 & Windows 8 in January 2020 as some of those system ran on old computers built on the i386 architecture.[12] Windows 11 however will ship only as a 64-bit operating system since its first version in 2021.

A similar development can be seen in the mobile area. Google required to support 64-bit versions of applications in their app store by August 2019,[13] which allows to discontinue 32-bit support for Android later.[14] The shift towards 64-bit started in 2014 when all new processors were designed to a 64-bit architecture and Android 5 ("Lollipop") was published in that year providing a fitting 64-bit variant of the operating system.[15][14] Apple had made shift in the year before starting to produce the 64-Bit Apple A7 by 2013. Google started to deliver the development environment for Linux only in 64-bit by 2015.[16] In May 2019 the share of Android versions below 5 had fallen to ten percent.[17] As app developers concentrate on a single compilation variant, many manufacturers started to require Android 5 as the minimum version by mid 2019, for example Niantic.[18] Subsequently the 32-bit versions were hard to get.[19]

Except for embedded systems with their special programs, the consideration of varying large-file support becomes obsolete in program code after 2020.

The year 2038 problem is well known for another case where a 32-bit "long" on 32-bit platforms will lead into problems. Just like the large-file limitation it will get obsolete when systems move to 64-bit only. In the meantime a 64-bit timestamp was introduced. In the Win32 API it is visible in functions having a "64" suffix along the earlier "32" suffix. When large-file support was added to the Win32 API it has led to functions having an additional "i64" suffix which sometimes makes for four combinations.(findfirst32, findfirst64, findfirst32i64, findfirst64i32).[20] By comparison the UNIX98 API introduces functions with a "64" suffix when "_LARGEFILE64_SOURCE" is used.

Related to the large-file API there is a limitation of block numbers for mass storage media. With a common size of 512 bytes per data block the barrier resulting from 32-bit numbers did occur later. When hard disk drives reached a size of 2 terabyte (around 2010) the master boot record had to be replaced by the GUID Partition Table which uses 64-bit for the LBA numbers (logical block address). On Unix-like operating systems it did also require to enlarge the inode numbers which are used in some functions (stat64, setrlimit64). The Linux kernel introduced that in 2001 leading to version 2.4 which was picked up by the glibc in that year.[21] As the large-file support and large-disk support was introduced at the same time the GNU C Library exports 64-bit inode structures on 32-bit architectures at the same time when the Unix LFS API is activated in program code.[22]

When the kernel moved to 64-bit inodes the file system ext3 used them internally in the driver by 2001. However the inode format on the storage media itself was stuck at 32-bit numbers.[21] As mass storage devices moved to the Advanced Format of 4 kilobyte per block the actual limit of that file system format is at 8 or 16 terabyte.[21] Handling larger disk partitions requires the usage of a different file system like XFS which was designed with 64-bit inodes from the start allowing for exabyte files and partitions.[23][24] The first 16 terabyte magnetic disk drives were delivered by mid 2019. Solid-state drive with 32 TiB for data centers were available as early as 2016 with some manufacturers forecasting 100 TiB SSD by 2020.[25]

See also

References

  1. ^ Solaris OS group (March 1996). "Large Files in Solaris: A White Paper" (PDF). Sun Microsystems. Archived from the original (PDF) on 2007-02-28.
  2. ^ Kuhnt, Udo; Georgiev, Luchezar I.; Davis, Jeremy (2007). "FAT+ draft revision 2" (2 ed.). Archived from the original (FATPLUS.TXT) on 2015-02-19. Retrieved 2015-08-05.
  3. ^ Kuhnt, Udo (2011-07-21). "DR-DOS/OpenDOS Enhancement Project". Archived from the original on 2016-06-04. Retrieved 2015-04-20.
  4. ^ "Adding Large File Support to the Single UNIX Specification". X/Open Base Working Group. 1996-08-14. Retrieved 2006-09-10.
  5. ^ "Distro Makers". 2002-01-13.
  6. ^ https://www.zlib.net/ChangeLog.txt [bare URL plain text file]
  7. ^ Kolokythas, Panagiotis (2007-05-28). "Windows Server 2008: Microsofts letztes 32-Bit-Betriebssystem für Server" (in German). PC Welt.
  8. ^ "Are 32-bit applications supported in RHEL 7 or later releases?". Red Hat. February 2014.
  9. ^ Cooke, Will (2019-06-02). "Intel 32bit packages on Ubuntu from 19.10 onwards". Canonical.
  10. ^ Addams, Matthew (2018-04-12). "Nvidia discontinues support for 32-bit Windows platforms". Windows Report.
  11. ^ Silver, Steven (2018-06-05). "Mojave is Apple's last version of macOS to support 32-bit apps". Apple Insider.
  12. ^ "Der Support für Windows 7 endet am 14. Januar 2020" (in German). Microsoft. Retrieved 2020-02-09.
  13. ^ Sebayang, Andreas (2019-01-17). "Auf dem Weg zu reinen 64-Bit-Android-Apps" (in German). Golem.
  14. ^ a b mw (2019-01-17). "Google kündigt Ende von 32-Bit-Android-Apps per 2021 an" (in German). IT Magazin.
  15. ^ "64-Bit-Android: Diese Prozessoren gibt es, diese Veränderungen kommen" (in German). Android User. 2014-08-26.
  16. ^ "Platform-tools 23.1.0 Linux changed to 64-bit without notice". Android Public Tracker. 2015-12-11. It turns out the android-sdk-linux/platform-tools content is 32-bit ELF in 23.0.1 but 64-bit ELF in 23.1_rc1 and 23.1.0. […] I set ANDROID_EMULATOR_FORCE_32BIT=true […] 23.0.1 is the last 32-bit Linux build.
  17. ^ Tenzer, F. (2019-11-14). "Anteile der verschiedenen Android-Versionen an allen Geräten mit Android OS weltweit im Zeitraum 01. bis 07. Mai 2019" (in German). Statista.
  18. ^ Del Favero, Elia (2019-06-10). "Ingress und Pokémon Go brauchen bald mindestens Android 5".
  19. ^ "Why is 32bit 0.159.0 version apk still not available?". TheSilphRoad/. Reddit. December 2019.
  20. ^ "C Run-time library (CRT) reference: findfirst". Microsoft. Retrieved 2020-02-17.
  21. ^ a b c Jaeger, Andreas (2015-02-15). "Large File Support in Linux". SuSE GmbH.
  22. ^ linux/bits/stat.h: /* Note stat64 has the same shape as stat for x86-64. */
  23. ^ Rutter, M. J. "The 64 bit inode problem". Retrieved 2020-02-10.
  24. ^ "Ext4 Howto". kernel.org. 2019-02-11. Although very large fileystems are on ext4's feature list, current e2fsprogs currently still limits the filesystem size to 2^32 blocks (16TiB for a 4KiB block filesystem). Allowing filesystems larger than 16T is one of the very next high-priority features to complete for ext4.
  25. ^ Scherer, Thomas (2016-08-15). "Samsungs 32-TB-SSD: Der Anfang vom Ende der Festplatte" (in German). Elektor.

Read other articles:

Tric Trac oder Tricktrack (englisch: backgammon) ist ein Brettspiel und eine Mischung aus Strategie- und Glücksspiel, es gehört zu den Wurfzabel-Spielen und ist einer der ältesten Brettspielefamilien der Welt. Es gewinnt der Spieler, der als Erster alle eigenen Steine aus dem Spielfeld abtragen kann.eine französische, niederländische oder belgische Backgammon-Variante. Ein literarisches Denkmal ist die Erzählung Die Tricktrackpartie von Prosper Mérimée. Tric-Trac-Spieler (17. Jh.), Ge...

 

  Phaetusa simplex Dos ejemplares de Phaetusa simplex en Rio Cuiabá, Pantanal, Estado de Mato Grosso, Brasil Ejemplar juvenil de Phaetusa simplex en Parque Nacional da Lagoa do Peixe, Tavares, Estado de Rio Grande do Sul, BrasilEstado de conservaciónPreocupación menor (UICN 3.1)[1]​TaxonomíaReino: AnimaliaFilo: ChordataClase: AvesOrden: CharadriiformesFamilia: SternidaeGénero: PhaetusaWagler, 1832Especie: P. simplex(Gmelin, 1789)Distribución [editar datos en Wikidat...

 

  Lapacho negro Un ejemplar en Asunción, ParaguayTaxonomíaReino: PlantaeSubreino: TracheobiontaDivisión: MagnoliophytaClase: MagnoliopsidaOrden: LamialesFamilia: BignoniaceaeTribu: TecomeaeGénero: HandroanthusEspecie: Handroanthus heptaphyllus(Vell.) Mattos 1952[editar datos en Wikidata] El Handroanthus heptaphyllus, llamado lapacho negro[1]​ (por el color de su madera), también conocido, junto con H. impetiginosus,[2]​ como lapacho rosado (por el color de sus ...

Ретамаль-де-ЛьєренаRetamal de LlerenaМуніципалітетКраїна  ІспаніяАвтономна спільнота ЕстремадураПровінція БадахосКоординати 38°34′44″ пн. ш. 5°50′17″ зх. д. / 38.579° пн. ш. 5.838° зх. д. / 38.579; -5.838Координати: 38°34′44″ пн. ш. 5°50′17″ зх. д. / &...

 

Medaglia ai benemeriti della cultura Repubblica ItalianaTipoMedaglia di benemerenza Statusattuale IstituzioneRoma, 16 novembre 1950 Concessa aPersone ed enti Diametro32 mm Gradibronzo, argento, oro Medaglie, decorazioni e ordini cavallereschi italianiNastro Manuale La medaglia ai benemeriti della scuola, della cultura e dell'arte, ed il relativo diploma, sono stati istituiti dal Governo italiano con legge n. 1093 del 1950[1], per le persone e gli enti che, con opere di riconosciuto va...

 

Bandar Udara Internasional Luis Muñoz MarínAeropuerto Internacional Luis Muñoz MarínIATA: SJUICAO: TJSJFAA LID: SJUInformasiJenisPublicPemilikPuerto Rico Ports AuthorityPengelolaAerostar Airport HoldingsMelayaniSan Juan, Puerto RicoLokasiCarolina, Puerto RicoMaskapai penghubungPassenger Air Sunshine Cape Air M&N Aviation Seaborne Airlines Tradewind Aviation Cargo Ameriflight Mountain Air Cargo Maskapai utama JetBlue Airways Ketinggian dpl mdplKoordinat18°26′21″N 066°00...

Tunisian football forward Abderraouf Ben Aziza Aziza in 1978Personal informationDate of birth (1953-09-23) 23 September 1953 (age 70)Place of birth Grombalia, TunisiaPosition(s) ForwardSenior career*Years Team Apps (Gls)1972-1979 Étoile Sportive du Sahel 185 (80)1979–1982 Al-Nassr 1982-1983 CS Hammam Lif 39 (10)International career1973-1978 Tunisia 43 (7) *Club domestic league appearances and goals Abderraouf Ben Aziza (Arabic: عبد الرؤوف بن عزيزة; born 23 September 19...

 

Lebanese-born French author (born 1949) Amin MaaloufAmin Maalouf in 2013Born (1949-02-25) 25 February 1949 (age 74)Beirut, LebanonOccupationWriter, scholar and novelist, Perpetual Secretary of the Académie Française (elected September 28, 2023)LanguageFrenchNotable worksLeo Africanus, The Rock of Tanios, The Crusades Through Arab Eyes, Samarkand Amin Maalouf (French: [maluf]; Arabic: أمين معلوف Arabic pronunciation: [maʕˈluːf]; born 25 February 1949) is a Le...

 

Костел святої Єлизавети (Яблунів) 49°08′43″ пн. ш. 25°50′49″ сх. д. / 49.145333333361° пн. ш. 25.84708333336111252° сх. д. / 49.145333333361; 25.84708333336111252Координати: 49°08′43″ пн. ш. 25°50′49″ сх. д. / 49.145333333361° пн. ш. 25.84708333336111252° сх. д. / 49.145333333361; 2...

Indian web series High PriestessOfficial posterGenreMysteryThrillerCreated byPushpa IgnatiusWritten byPushpa Ignatius(Screenplay)Shashank Srivastav(Dialogues)Directed byPushpa IgnatiusStarring Amala Akkineni Kishore Kumar ComposerGopal Rao ParanandiCountry of originIndiaOriginal languageTeluguNo. of seasons1No. of episodes8 (list of episodes)ProductionExecutive producer Ram Ganesan Producers Krishna Kulasekaran Shanmugharaja. H Production locationIndiaCinematographySoundararajanEditorRichard ...

 

State highway in Kalamazoo County, Michigan, United States M-343M-343 highlighted in redRoute informationMaintained by MDOTLength7.928 mi[2] (12.759 km)ExistedJanuary 7, 2019 (January 7, 2019)[1]–presentMajor junctionsWest endRiverview Drive in KalamazooEast end M-89 in Richland LocationCountryUnited StatesStateMichiganCountiesKalamazoo Highway system Michigan State Trunkline Highway System Interstate US State Byways ← M-331→ I-375 M-343 is ...

 

Series of monolithic columns on the Indian subcontinent Ashoka Pillar redirects here. For the pillar in Delhi also known as Ashoka pillar, see Iron pillar of Delhi.Not to be confused with Lion Capital of Ashoka. Pillars of AshokaOne of the Pillars of Ashoka, in VaishaliMaterialPolished sandstonePeriod/culture3rd century BCSarnathSanchiRampurvaVaishaliSankissaNandangarhMeerutTopra KalanArarajAllahabadRummindeiNigaliclass=notpageimage| Known locations of the Pillars of Ashoka[1] The pil...

Public school in Pittsfield, , Massachusetts, United StatesPittsfield High SchoolPHSAddress300 East StreetPittsfield, (Berkshire County), Massachusetts 01201United StatesInformationTypePublicCoeducationalOpen enrollment[1]Established1844School districtPittsfield Public SchoolsDeanChristina HuffPrincipalMaggie EskoGrades9–12Enrollment861 (2016–17)[3]Color(s)Purple and White   Athletics conferenceBerkshire County ConferenceMascotThe GeneralTeam nameGeneralsRivalTac...

 

Haplothrix rivulosus Klasifikasi ilmiah Kerajaan: Animalia Filum: Arthropoda Kelas: Insecta Ordo: Coleoptera Famili: Cerambycidae Genus: Haplothrix Spesies: Haplothrix rivulosus Haplothrix rivulosus adalah spesies kumbang tanduk panjang yang tergolong famili Cerambycidae. Spesies ini juga merupakan bagian dari genus Haplothrix, ordo Coleoptera, kelas Insecta, filum Arthropoda, dan kingdom Animalia. Larva kumbang ini biasanya mengebor ke dalam kayu dan dapat menyebabkan kerusakan pada batang k...

 

Dit is een lijst van bergen in de Volksrepubliek China. Berg Afbeelding Provincie Top (m) Opmerkingen Amne Machin Qinghai 6282 Badaling Beijing 1015 Paektusan Jilin 2744 Hoogste top van Noordoost-China en het Koreaans Schiereiland Baishishan Hebei 2096 Baiyunshan Guangdong 382 Beiwudangshan Shanxi Bijiashan Liaoning Bogda Feng Xinjiang 5445 Broad Peak Xinjiang 8051 Bukadaban Feng Qinghai/Xinjiang 6860 Cangyanshan Hebei 1000 Chakragilshan Xinjiang 6760 Changbaigebergte Heilongjiang 2000 Changl...

Jacques DanoisLe Désarroi de Confucius book signingBornJacques Maricq(1927-09-27)27 September 1927 Brussels, BelgiumDied20 September 2008(2008-09-20) (aged 81) Carpentras (Vaucluse), FranceOccupation(s)Journalist, writerSpouseYolandeChildrenEtienne, CarolineWebsitehttp://jacquesdanois.blogspot.com Jacques Danois, pseudonym of Jacques Maricq (11 September 1927 – 20 September 2008), was a reporter and writer who was director of information at Unicef. He was born in Brussels. Upon retire...

 

German dual-code rugby international footballer Jimmy KeinhorstPersonal informationFull nameThomas James Keinhorst[1]Born (1990-07-14) 14 July 1990 (age 33)Leeds, West Yorkshire, EnglandHeight6 ft 1 in (1.86 m)[2]Weight14 st 7 lb (92 kg)[2]Playing informationRugby unionPositionInside-Centre, Outside-Centre, Second Row Club Years Team Pld T G FG P 2009–10 Heidelberger RK 8 4 0 0 20 2010–11 Otley 11 3 0 0 15 Total 19 7 0 0 35 R...

 

Mountain range in Arkansas and Oklahoma, United States Ouachita MountainsThe Ouachita Mountains near Caney Creek, ArkansasHighest pointPeakMount MagazineElevation2,753 ft (839 m)Coordinates35°10′01″N 93°38′41″W / 35.167016203°N 93.644725919°W / 35.167016203; -93.644725919NamingEtymologyChoctaw for large buffaloes[1] or big hunt,[1] or Caddo[2]GeographyLevel III ecoregions in the region, with the Ouachita Mountains ecor...

Canadian-American broadcast journalist (1938–2005) This article is about the Canadian-American journalist. For other uses, see Peter Jennings (disambiguation). Peter JenningsCMJennings in 2002BornPeter Charles Archibald Ewart Jennings(1938-07-29)July 29, 1938Toronto, Ontario, CanadaDiedAugust 7, 2005(2005-08-07) (aged 67)New York City, U.S.CitizenshipCanadaUnited StatesOccupationTelevision journalistYears active1947–2005Notable creditsABC Evening Report/Peter Jennings with the N...

 

Este artículo o sección necesita referencias que aparezcan en una publicación acreditada.Este aviso fue puesto el 5 de julio de 2019. Este artículo o sección necesita ser wikificado, por favor, edítalo para que cumpla con las convenciones de estilo.Este aviso fue puesto el 5 de julio de 2019. Copa Mundial de Críquet de 20152015 ICC Cricket World Cup Copa Mundial de Críquet Datos generalesSede  Australia Nueva ZelandaFecha 14 de febrero de 201529 de marzo de 2015Edición XIOr...

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!