Stor filunderstøttelse
Stor filunderstøttelse er en egenskab ved operativsystemer eller filsystemer for at kunne åbne og redigere meget store filer. Ofte er det anvendte system før denne grænse, nogle (ældre) Linux- versioner, disse er ,. B. 2 GiB eller med FAT32 4 GiB. Store databaser på servere, billedredigering eller videoredigering, men kræver ofte store filer (Engl. Store filer ), der er betydeligt større, så det må ikke påvirkes af en sådan applikation fra en lille størrelsesgrænse for filer.
beskrivelse
Problemet med 32-bit operativsystemer, der har været udbredt i årtier, er størrelsesbegrænsningen af heltal . Et 32-bit heltal værdier kun op til 2 GiB (med tegn repræsenterer) eller 4 GiB (uden tegn). For at understøtte meget store filer skal en ny datatype og tilknyttede operativsystemfunktioner derfor introduceres i 32-bit programmer , hvilket gør det nødvendigt at omskrive gamle programmer. Ældre versioner og især programmer, der ikke længere vedligeholdes, kan derfor kun behandle filer med en maksimal størrelse på 2 eller 4 GiB, selvom der findes stor filunderstøttelse.
Udviklingen af en API med 64-bit egenskaber skete gennem udvikling af harddiske , der brød gigabyte-grænsen i begyndelsen af 1990'erne. Efterfølgende udviklede filsystemer tilpasset det - blandt dem FreeBSD UFS2 , Linux ext2 (1993) og Windows NTFS (1993). Operativsystemets kerne blev videregivet til applikationerne på forskellige måder, indtil der blev aftalt en fælles API i Unix-miljøet på den producentuafhængige "Large File Summit" i 1996. Dette blev oprettet med Single UNIX Specification Version 2 (UNIX 98).
Aritmetikken i de tilknyttede C-kompilatorer blev tilføjet som en ny 64-bit "lang lang" datatype i C med standardiseringen til C99 (fra 1995). Dette fulgte af udviklingen af operativsystemerne til 32-bit arkitekturer til brug af en ILP32 programmeringsmodel, hvor de traditionelle datatyper "int", "lang", "pointer" hver er 32-bit lange. De traditionelle funktioner "ftell" og "fseek" var således begrænset til 32 bits. For Posix "ftello" / "fseeko" og Windows "_ftelli64" / "_fseeki64" introducerede producenterne en 64-bit datatype - oprindeligt med forskellige navne.
implementering
Vedtagelsen af LFS API i 32-bit programmer forblev ufuldstændig i lang tid. En undersøgelse fra 2002 viste, at selv de grundlæggende biblioteker i operativsystemet stadig blev leveret uden LFS-understøttelse og dermed indirekte begrænset adskillige applikationer. Det meget anvendte zlib- bibliotek understøttede ikke 64-bit tilføjelse på 32-bit platforme indtil 2006.
Inden for pc / arbejdsstationer blev problemet i sidste ende løst, fordi kun 64-bit arkitekturer blev brugt. Microsoft Windows Server 2008 var den sidste serverversion, der blev leveret i 32 bit. Redhat Enterprise Linux 7 blev kun leveret som et 64-bit operativsystem, da det først blev udgivet i 2014. Ubuntu Linux stoppede levering som et 32-bit operativsystem i 2019. Nvidia stoppede med at udvikle 32-bit drivere i 2018 og har ikke leveret nogen opdateringer siden januar 2019. Mac OS fra Apple stoppede udviklingen af 32-bit i 2018, så macOS Mojave kun er tilgængelig som et 64-bit operativsystem. Med Microsoft Windows 10 opretholdes 32-bit support på skrivebordet indtil 2025, da det i begyndelsen af 2020 kun erstattede de sidste gamle versioner (Windows 7, Windows 8), hvoraf nogle stadig blev brugt på i386-arkitekturer. Imidlertid er Microsoft Windows 11 kun leveret som et 64-bit operativsystem siden dets oprindelige udgivelse i 2021.
Inden for mobile enheder har Google krævet native support til 64-bit applikationer af applikationer siden august 2019, så 32-bit support i Android afbrydes . Overgangen til 64-bit begyndte i 2014, hvor alle nyere processorer kun blev annonceret i 64-bit, og et passende operativsystem blev stillet til rådighed i år med Android 5 ("Lollipop"). Apple havde allerede startet overgangen med 64-bit Apple A7 , som blev præsenteret i 2013. Fra 2015 leverede Google kun udviklerarbejdsstationen under Linux til 64-bit. I maj 2019 var udbredelsen af Android-versioner under 5 stadig omkring ti procent. For Google Play App Store blev det fastsat, at der fra august 2019 altid skal leveres 64-bit versioner af apps, med undtagelse af spil, for hvilke dette krav gælder fra august 2021. Da appudviklere koncentrerer sig om en samling , har mange producenter sat version 5 som den mindste version fra midten af 2019, for eksempel Niantic. En 32-bit version var derefter vanskelig at få. Pre-release-versionerne af Android 12 fra 2020 tilbød ikke længere en 32-bit emulator til udviklere. Android 12 frigives i september 2021, markedsandelen for Android-versioner op til version 4 var faldet til under 2% inden april 2021.
Bortset fra indlejrede platforme med deres specialiserede programmer vil opmærksomheden på stor filstøtte i programkoden aftage fra 2020.
Relaterede problemer
Især år 2038-problemet viser, at den traditionelle repræsentation af tidsstempler som 32-bit "lange" kan føre til problemer. Disse overhaler også hinanden med overgangen til rene 64-bit-systemer. I mellemtiden er der også gjort et 64-bit tidsstempel tilgængeligt på 32-bit-systemer. I Win32 API betød dette, at nye funktioner med 64-bit tidsstempler fik suffikset "64", og 64-bit fillængderne blev markeret med et tilføjet suffiks "i64" - bestemt i alle fire kombinationer (findfirst32, findfirst64, findfirst32i64, findfirst64i32). UNIX98 API introducerer derimod yderligere funktioner med suffikset "64" med "_LARGEFILE64_SOURCE".
Bloktællere til masselagringsenheder er relateret til API'en til store filer. På grund af den sædvanlige størrelse på datablokkene på 512 bytes blev 32-bit-numrene først senere begrænset. Når harddiske nåede størrelsen på 2 terabyte (omkring 2010), skulle master boot-posten udskiftes som en partitionstabel med GUID-partitionstabellen , som derefter definerede 64-bit tællere til LBA ( lineær blokadresse ). Inode- tællere, der blev brugt i Unix- systemer, måtte også udvides, ligesom andre filtællere (f.eks. Med stat64 / setrlimit64-funktionerne). Revisionen af Linux-kernen til version 2.4 fandt sted omkring 2001 sammen med introduktionen af LFS-support, som derefter blev overtaget af glibc. Da overgangen fandt sted på samme tid, med aktivering af 64-bit LFS i 32-bit arkitekturer i GNU-C-biblioteket til Linux, ændres inode-bloktællere og relaterede funktioner også til 64-bit.
Ext3- filsystemet fra 2001 overtog derefter nogle 64-bit-værdier i driveren, men forblev begrænset til 32-bit bloktællere på masselagerenheden. Da du for det meste arbejder i det avancerede format på 4 kilobyteblokke, er maksimumet her typisk 8 eller 16 terabyte. Større masselagringsenheder i intervallet ti snes terabyte skulle derefter formateres med XFS , som også understøtter 64-bit inoder i dataformatet og dermed trænge ind i exabyte-området. De første 16 terabyte harddiske blev sendt fra midten af 2019. Som et solid state-drev var masselagerenheder med 32 TiB allerede tilgængelige fra 2016, og de blev annonceret i 2020 ud over 100 TiB.
Se også
- RF64 som en 64-bit udvidelse af RIFF WAVE lydfiler
- FAT32 + som en bagudkompatibel udvidelse af FAT-filsystemet (op til 256 GiB)
- ext4 som en 48-bit udvidelse af ext3-filsystemet (> 16 TiB fra e2fsprogs version 1.42)
Weblinks
Individuelle beviser
- ^ Tilføjelse af stor filstøtte til den enkelte UNIX®-specifikation . Den åbne gruppe. 14. august 1996.
- ↑ http://ac-archive.sourceforge.net/largefile/distros.html
- ↑ https://www.zlib.net/ChangeLog.txt
- ↑ Panagiotis Kolokythas: Windows Server 2008: Microsofts sidste 32-bit operativsystem til servere . PC-verden. 28. maj 2007.
- ↑ Understøttes 32-bit applikationer i RHEL 7 eller nyere udgivelser? . Rød hat. Februar 2014.
- ↑ Vil Cooke: Intel 32bit-pakker på Ubuntu fra 19.10 og fremefter . Kanonisk. 2. juni 2019.
- Add Matthew Addams: Nvidia afbryder understøttelse af 32-bit Windows-platforme . Windows-rapport. 12. april 2018.
- ↑ Steven Sølv: Mojave er Apples sidste version af MacOS til at understøtte 32-bit apps . Apple Insider. 5. juni 2018.
- ↑ Support til Windows 7 slutter den 14. januar 2020 . Microsoft. Hentet 9. februar 2020.
- ↑ Florian Müssig: Systemkrav til Windows 11: Hvornår gør det, hvad kan det mislykkes . Hed. 25. juni 2021.
- ↑ Andreas Sebayang: På vej til rene 64-bit Android apps . Golem. 17. januar 2019.
- ↑ a b mw: Google annoncerer afslutningen på 32-bit Android-apps i 2021 . It magasin. 17. januar 2019.
- ↑ 64-bit Android: Disse processorer er der, disse ændringer kommer . Android-bruger. 26. august 2014.
- ↑ Platform-tools 23.1.0 Linux ændret til 64-bit uden varsel. . Android offentlig tracker. 11. december 2015: "Det viser sig, at indholdet af android-sdk-linux / platform-værktøjer er 32-bit ELF i 23.0.1, men 64-bit ELF i 23.1_rc1 og 23.1.0. [..] Jeg indstillede ANDROID_EMULATOR_FORCE_32BIT = sand [..] 23.0.1 er den sidste 32-bit Linux-build. "
- Ten F. Tenzer: Andel af de forskellige Android-versioner på alle enheder med Android OS over hele verden i perioden fra 1. maj til 7. maj 2019 . Statista. 14. november 2019.
- ↑ Google annoncerer afslutningen på 32-bit Android-apps i 2021 . IT magasin. 17. januar 2019.
- ↑ Elia Del Favero: Ingress og Pokémon Go har snart brug for mindst Android 5 . 10. juni 2019.
- ↑ Hvorfor er 32bit 0.159.0 version apk stadig ikke tilgængelig? . Reddit TheSilphRoad /. December 2019.
- ↑ Hent Android 12 . Google.: "Bemærk, at 32-bit Android-emulatorsystembilleder ikke understøttes i Android 12."
- ↑ Andel af de forskellige Android-versioner i internetbrug af enheder med Android OS over hele verden i april 2021 . Statista. 3. maj 2021.
- ↑ CTF-funktionsreference find første . Microsoft. Hentet i 20200210.
- ↑ a b c Andreas Jaeger: Support til store filer i Linux . SUSE GmbH. 15. februar 2015.
- ↑ linux / bits / stat.h: / * Bemærk stat64 har samme form som stat for x86-64. * /
- ↑ MJ Rutter: Problemet med 64 bit inode . Hentet 10. februar 2020.
- ↑ a b Ext4 Howto . kernel.org. 11. februar 2019.: "Selvom meget store filsystemer er på ext4s funktionsliste, begrænser nuværende e2fsprogs i øjeblikket stadig filsystemets størrelse til 2 ^ 32 blokke (16TiB for et 4KiB-blokfilsystem). Tilladelse af filsystemer større end 16T er en af de næste funktioner med høj prioritet, der skal udføres til ext4. "
- Sch Thomas Scherer: Samsungs 32 TB SSD: Begyndelsen på slutningen af harddisken . Vælger. 15. august 2016.