Nagy fájlok támogatása
A nagy fájlok támogatása az operációs rendszerek vagy fájlrendszerek tulajdonsága, hogy nagyon nagy fájlokat képesek megnyitni és szerkeszteni. Az alkalmazott rendszer gyakran meghaladja ezt a határt, néhány (régebbi) Linux verzió, ezek a következők. B. 2 GiB vagy FAT32 4 GiB-vel. A kiszolgálókon lévő nagy adatbázisok , képszerkesztés vagy videószerkesztés, de gyakran nagy fájlokat (angolul Nagy fájlok ) igényelnek , amelyek lényegesen nagyobbak, ezért a fájlok kis méretkorlátja miatt nem szabad ilyen alkalmazásokat érinteni.
leírás
Az évtizedek óta elterjedt 32 bites operációs rendszerek problémája az egész számok méretkorlátozása . A 32 bites egész szám legfeljebb 2 GiB ( előjelet ábrázoló) vagy 4 GiB (előjel nélkül) értéket jelent. A nagyon nagy fájlok támogatásához ezért egy új adattípust és a hozzá tartozó operációs rendszer funkciókat kell bevezetni a 32 bites programokban , ami szükségessé teszi a régi programok átírását. A régebbi verziók és különösen a már nem karbantartott programok ezért csak akkor képesek feldolgozni a fájlokat, amelyek maximális mérete 2 vagy 4 GiB, még akkor is, ha nagy a fájlok támogatása .
A 64 bites tulajdonságokkal rendelkező API fejlesztése merevlemezek fejlesztésével történt , ami az 1990-es évek elején megtörte a gigabájtos határt. Később kifejlesztett fájlrendszerek hozzá igazítva - többek között a FreeBSD UFS2 , a Linux ext2 (1993) és a Windows NTFS (1993). Az operációs rendszer kerneljének funkcionalitását különféle módokon adták át az alkalmazásoknak, amíg a gyártótól független 1996-os "Large File Summit" -en a Unix környezetben közös API-t nem állapítottak meg. Ezt az egységes UNIX specifikáció 2. verziójával (UNIX 98) hozták létre .
A társított C fordítók számtana új, 64 bites "hosszú hosszú" adattípusként került hozzáadásra C-ben , a C99 szabványosításával (1995-től). Ez következett a 32 bites architektúrák operációs rendszereinek fejlesztéséből az ILP32 programozási modell alkalmazásához, amelyben a hagyományos "int", "long", "pointer" adattípusok mindegyike 32 bites hosszúságú. A hagyományos "ftell" és "fseek" funkciók így 32 bitre korlátozódtak. A Posix "ftello" / "fseeko" és a Windows "_ftelli64" / "_fseeki64" esetében a gyártók egy 64 bites adattípust vezettek be - kezdetben különböző nevekkel.
végrehajtás
Az LFS API 32 bites programokban való elfogadása sokáig hiányos maradt. Egy 2002-es tanulmány kimutatta, hogy még az operációs rendszer alapvető könyvtárait is LFS támogatás nélkül szállították, és ezáltal közvetett módon korlátozta számos alkalmazást. A széles körben használt zlib könyvtár 2006-ig nem támogatta a 64 bites kiegészítést a 32 bites platformokon.
A PC / munkaállomások területén a probléma végül megoldódott, mert csak 64 bites architektúrákat használtak. A Microsoft Windows Server 2008 volt az utolsó kiszolgálóverzió, amelyet 32 bites verzióban szállítottak. A Redhat Enterprise Linux 7 csak 64 bites operációs rendszerként volt elérhető, amikor először 2014-ben megjelent. Az Ubuntu Linux 2019-ben leállította a 32 bites operációs rendszerként történő szállítást. Az Nvidia 2018-ban leállította a 32 bites illesztőprogramok fejlesztését, és 2019 januárja óta nem nyújt frissítéseket. Az Apple Mac OS 2018-ban leállította a 32 bites fejlesztését, így a macOS Mojave csak 64 bites operációs rendszerként érhető el. A Microsoft Windows 10 használatával az asztali 32 bites támogatás 2025-ig fennmarad, mivel 2020 elején csak az utolsó régi verziókat (Windows 7, Windows 8) cserélte le, amelyek egy részét még mindig az i386 architektúrákon használták. A Microsoft Windows 11 operációs rendszer azonban csak az első, 2021-es kiadás óta volt elérhető 64 bites operációs rendszerként.
A mobileszközök területén a Google 2019 augusztusa óta megköveteli a natív támogatást az alkalmazások 64 bites alkalmazásaihoz, így az Android 32 bites támogatása megszűnik . A 64 bitesre való átállás 2014-ben kezdődött, amikor az összes újabb processzort csak 64 bites rendszerben jelentették be, és az Android 5- tel ("Lollipop") idén megfelelő operációs rendszert bocsátottak rendelkezésre. Az Apple már megkezdte az átállást a 64 bites Apple A7 -tel , amelyet 2013-ban mutattak be. 2015-től a Google csak Linux alatt szállította a fejlesztői munkaállomást 64 bites verzióra. 2019 májusában az 5 alatti Android verziók elterjedtsége még mindig tíz százalék körül mozgott. A Google Play App Store esetében kikötötték, hogy 2019 augusztusától mindig biztosítani kell az alkalmazások 64 bites verzióit, kivéve azokat a játékokat, amelyekre ez a követelmény 2021 augusztusától érvényes. Mivel az alkalmazásfejlesztők egy összeállításra koncentrálnak , sok gyártó 2019 közepétől az 5-ös verziót állította minimális verziónak, például a Niantic. A 32 bites verziót akkor nehéz volt megszerezni. Az Android 12 előzetes verziói 2020-tól már nem kínáltak 32 bites emulátort a fejlesztők számára. Az Android 12 2021 szeptemberében jelenik meg, az Android verziók piaci részesedése a 4-es verzióig 2021 áprilisára 2% alá esett.
A speciális programokkal ellátott beágyazott platformok kivételével 2020-tól a programkódban a nagy fájl-támogatásra való figyelem elenyészik.
Kapcsolódó problémák
Különösen a 2038-as év problémája mutatja, hogy az időbélyegek hagyományos, 32 bites "hosszú" ábrázolása problémákat okozhat. Ezek a tiszta 64 bites rendszerekre való áttéréssel is megelőzik egymást. Időközben a 64 bites időbélyegző elérhetővé vált a 32 bites rendszereken is. A Win32 API-ban ez azt jelentette, hogy az új, 64 bites időbélyegzővel ellátott függvények "64" utótagot kaptak, és a 64 bites fájlhosszakat egy mellékelt "i64" utótaggal jelölték - minden bizonnyal mind a négy kombinációban (findfirst32, findfirst64, findfirst32i64, findfirst64i32). Az UNIX98 API viszont további funkciókat vezet be a "64" utótaggal a "_LARGEFILE64_SOURCE" kifejezéssel.
A háttértárak blokk számlálói a nagy fájlú API-hoz kapcsolódnak. Az 512 bájtos adatblokkok szokásos mérete miatt a 32 bites számokat csak később korlátozták. Amikor elérte a merevlemezek mérete 2 terabájt (2010 körül), a master boot rekordot kellett cserélni a partíciós táblát a GUID partíciós táblát , amely aztán meghatározott 64 bites számlálók az LBA ( lineáris blokk címét ). A Unix rendszerekben használt inódszámlálókat is ki kellett bővíteni, csakúgy, mint más fájlszámlálókat (például a stat64 / setrlimit64 függvényekkel). A Linux kernel 2.4-es verziójára 2001 körül került sor, az LFS támogatás bevezetésével együtt, amelyet aztán a glibc átvett. Mivel az átállás egyidejűleg történt, a 64 bites LFS aktiválásával a 32 bites architektúrákban a Linux GNU-C könyvtárában , az inode blokk számlálók és a kapcsolódó funkciók is 64 bitesre váltanak.
A 2001-től származó ext3 fájlrendszer ekkor átvett néhány 64 bites értéket az illesztőprogramban, de a 32 bites blokkszámlálókra korlátozódott a tömegtároló eszközön. Mivel többnyire 4 kilobájtos blokkok fejlett formátumában dolgozik , a maximális érték itt általában 8 vagy 16 terabájt. Ezután a több tíz terabájt közötti nagyobb tömegű tárolóeszközöket XFS- sel kellett formázni, amelyek adatformátumban is támogatják a 64 bites inode-okat, és így behatolnak az exabájt tartományba. Az első 16 terabájtos merevlemezeket 2019 közepétől szállították. Ennek solid-state drive , tárolóeszközök 32 TiB már rendelkezésre álltak 2016-tól, és ők jelentettek be 2020 utáni 100 TiB.
Lásd még
- Az RF64 a RIFF WAVE audiofájlok 64 bites kiterjesztéseként
- A FAT32 + a FAT fájlrendszer visszafelé kompatibilis kiterjesztéseként (legfeljebb 256 GiB)
- Az ext4 az ext3 fájlrendszer 48 bites kiterjesztéseként (> 16 TiB az e2fsprogs 1.42 verziótól)
web Linkek
Egyéni bizonyíték
- ^ Nagy fájlok támogatásának hozzáadása az egységes UNIX® specifikációhoz . A Nyílt Csoport. 1996. augusztus 14.
- ↑ http://ac-archive.sourceforge.net/largefile/distros.html
- ↑ https://www.zlib.net/ChangeLog.txt
- ↑ Panagiotis Kolokythas: Windows Server 2008: A Microsoft utolsó 32 bites operációs rendszere a szerverekhez . PC világ. 2007. május 28.
- Supported Támogatják-e a 32 bites alkalmazásokat az RHEL 7 vagy újabb verziók? . Piros kalap. 2014 február.
- ↑ Will Cooke: Intel 32 bites csomagok az Ubuntun 19.10-től kezdődően . Kánoni. 2019. június 2.
- ↑ Matthew Addams: Az Nvidia megszünteti a 32 bites Windows platformok támogatását . Windows jelentés. 2018. április 12.
- ↑ Steven Silver: A Mojave az Apple utolsó macOS-verziója, amely támogatja a 32 bites alkalmazásokat . Apple Insider. 2018. június 5.
- ↑ A Windows 7 támogatása 2020. január 14-én ér véget . Microsoft. Letöltve: 2020. február 9.
- ↑ Florian Müssig: Rendszerkövetelmények a Windows 11-hez: Mikor, mi bukhat meg . Forró. 2021. június 25.
- ↑ Andreas Sebayang: Útban a tiszta 64-bites Android alkalmazások . Gólem. 2019. január 17.
- B a b mw: A Google bejelenti a 32 bites Android-alkalmazások 2021-es végét . IT magazin. 2019. január 17.
- ↑ 64 bites Android: Ezek a processzorok megvannak, ezek a változások jönnek . Android-felhasználó. 2014. augusztus 26.
- ↑ Platform-tools 23.1.0 Linux értesítés nélkül 64 bitesre váltott. . Android nyilvános nyomkövető. 2015. december 11 .: "Kiderült, hogy az android-sdk-linux / platform-tools tartalom 32 bites ELF 23.0.1-ben, de 64 bites ELF 23.1_rc1 és 23.1.0. [..] Beállítottam az ANDROID_EMULATOR_FORCE_32BIT = true értéket [..] A 23.0.1 az utolsó 32 bites Linux build. "
- ↑ F. Tenzer: A különböző Android verziók aránya az Android operációs rendszerrel rendelkező összes eszközön világszerte a 2019. május 1. és május 7. közötti időszakban . Statista. 2019. november 14.
- ↑ A Google bejelenti a 32 bites Android-alkalmazások 2021-es végét . IT Magazine. 2019. január 17.
- ↑ Elia Del Favero: Az Ingress és a Pokémon Go hamarosan legalább Android 5-re lesz szükség . 2019. június 10.
- ↑ Miért nem elérhető még mindig a 32 bites 0.159.0 verziójú apk? . Reddit TheSilphRoad /. 2019 december.
- ↑ Töltse le az Android 12 alkalmazást . Google.: "Vegye figyelembe, hogy a 32 bites Android emulátor rendszerképei nem támogatottak az Android 12 rendszerben."
- ↑ A különböző Android verziók aránya az internethasználatban az Android operációs rendszert futtató eszközökön keresztül világszerte 2021 áprilisában . Statista. 2021. május 3.
- ↑ CTF függvény referencia findfirst . Microsoft. Letöltve: 20200210.
- ↑ a b c Andreas Jaeger: Nagy fájlok támogatása Linux alatt . SUSE GmbH. 2015. február 15.
- ↑ linux / bits / stat.h: / * Megjegyzés: a stat64 formája megegyezik az x86-64 stat formátumával. * /
- ↑ MJ Rutter: A 64 bites inode probléma . Letöltve: 2020. február 10.
- ↑ a b Ext4 Howto . kernel.org. 2019. február 11.: "Bár nagyon nagy fájlrendszerek szerepelnek az ext4 szolgáltatáslistáján, a jelenlegi e2fsprogs jelenleg még mindig 2 ^ 32 blokkra korlátozza a fájlrendszer méretét (4KiB blokkfájlrendszer esetén 16TiB). A 16T-nál nagyobb fájlrendszerek engedélyezése az egyik legelső kiemelt funkció, amelyet az ext4-re ki kell tölteni. "
- ↑ Thomas Scherer: A Samsung 32 TB-os SSD-je: A merevlemez végének kezdete . Elektor. 2016. augusztus 15.