Suuri tiedostotuki
Suuri tiedostotuki on käyttöjärjestelmien tai tiedostojärjestelmien ominaisuus avata ja muokata erittäin suuria tiedostoja. Usein käytetty järjestelmä on tämän rajan yläpuolella, jotkut (vanhemmat) Linux- versiot, nämä ovat ,. B. 2 GiB tai FAT32 4 GiB. Suuret palvelinten tietokannat , kuvankäsittely tai videon muokkaus, mutta vaativat usein suuria tiedostoja (Englannin suuret tiedostot ), jotka ovat huomattavasti suurempia, joten tällaiseen sovellukseen ei saa vaikuttaa pienestä tiedostorajoituksesta.
kuvaus
Vuosikymmenien ajan laajalle levinneiden 32-bittisten käyttöjärjestelmien ongelma on kokonaislukujen kokorajoitus . 32-bittinen kokonaisluku on enintään 2 GiB ( merkin edustava) tai 4 GiB (ilman merkkiä). Erittäin suurten tiedostojen tukemiseksi 32-bittisissä ohjelmissa on siksi otettava käyttöön uusi tietotyyppi ja siihen liittyvät käyttöjärjestelmän toiminnot, mikä tekee vanhojen ohjelmien uudelleenkirjoittamisesta välttämättömäksi. Vanhemmat versiot ja varsinkin ohjelmat, joita ei enää ylläpidetä, voivat siten käsitellä vain enintään 2 tai 4 Gt: n kokoisia tiedostoja, vaikka tiedostotuki olisi suuri .
64-bittisillä ominaisuuksilla varustetun sovellusliittymän kehittäminen tapahtui kehittämällä kiintolevyt , mikä rikkoi gigatavun rajan 1990-luvun alussa. Myöhemmin kehitettiin sille mukautettuja tiedostojärjestelmiä - muun muassa FreeBSD UFS2 , Linux ext2 (1993) ja Windows NTFS (1993). Käyttöjärjestelmän ytimen toiminnot välitettiin sovelluksille eri tavoin, kunnes Unix-ympäristössä sovittiin yhteisestä sovellusliittymästä valmistajariippumattomassa "Large File Summit" -tapahtumassa vuonna 1996. Tämä todettiin yhden UNIX-määrityksen versiolla 2 (UNIX 98).
Liitettyjen C-kääntäjien aritmeetti lisättiin uutena 64-bittisenä "pitkänä pitkänä" tietotyyppinä C : ssä C99: n standardoinnilla (vuodesta 1995). Tämä seurasi 32-bittisten arkkitehtuurien käyttöjärjestelmien kehittämistä käyttämään ILP32-ohjelmointimallia, jossa perinteiset tietotyypit "int", "long", "pointer" ovat kukin 32-bittisiä. Perinteiset toiminnot "ftell" ja "fseek" rajoitettiin siten 32 bittiin. Posix "ftello" / "fseeko" ja Windows "_ftelli64" / "_fseeki64" -malleissa valmistajat esittivät 64-bittisen tietotyypin - alun perin eri nimillä.
toteutus
LFS-sovellusliittymän käyttöönotto 32-bittisissä ohjelmissa oli pitkään keskeneräinen. Vuonna 2002 tehty tutkimus osoitti, että jopa käyttöjärjestelmän peruskirjastot toimitettiin edelleen ilman LFS-tukea ja rajoitti siten epäsuorasti lukuisia sovelluksia. Laajasti käytetty zlib- kirjasto ei tue 64-bittistä lisäystä 32-bittisillä alustoilla vuoteen 2006 asti.
PC / työasemien alueella ongelma lopulta ratkaistiin, koska vain 64-bittisiä arkkitehtuureja käytettiin. Microsoft Windows Server 2008 oli viimeinen palvelinversio, joka toimitettiin 32-bittisenä. Redhat Enterprise Linux 7 toimitettiin 64-bittisenä käyttöjärjestelmänä vasta, kun se julkaistiin ensimmäisen kerran vuonna 2014. Ubuntu Linux lopetti toimituksen 32-bittisenä käyttöjärjestelmänä vuonna 2019. Nvidia lopetti 32-bittisten ohjainten kehittämisen vuonna 2018 eikä ole toimittanut päivityksiä tammikuun 2019 jälkeen. Applen Mac OS lopetti 32-bittisen kehityksen vuonna 2018, joten macOS Mojave on saatavana vain 64-bittisenä käyttöjärjestelmänä. Joissa on Microsoft Windows 10 , 32-bittinen tuki työpöydällä säilyy vuoteen 2025 asti, koska alussa 2020 ainoastaan korvasi viime vanhat versiot (Windows 7, Windows 8), joista osa oli vielä käytössä i386 arkkitehtuurit. Microsoft Windows 11 on kuitenkin toimitettu vain 64-bittisenä käyttöjärjestelmänä sen alkuperäisen julkaisun jälkeen vuonna 2021.
Mobiililaitteiden alalla Google on vaatinut sovellusten natiivitukea 64-bittisille sovelluksille elokuusta 2019 lähtien, joten 32-bittinen tuki Androidissa lopetetaan . Siirtyminen 64-bittiseen alkoi vuonna 2014, jolloin kaikista uusimmista prosessoreista ilmoitettiin vain 64-bittisinä, ja sopiva käyttöjärjestelmä tehtiin tänä vuonna saataville Android 5: n ("Lollipop") kanssa. Apple oli jo aloittanut siirtymisen 64-bittisellä Apple A7: llä , joka esiteltiin vuonna 2013. Vuodesta 2015 lähtien Google toimitti kehittäjätyöaseman vain 64-bittiselle Linux-käyttöjärjestelmälle. Toukokuussa 2019 alle 5-vuotiaiden Android-versioiden esiintyvyys oli edelleen noin kymmenen prosenttia. Sillä Google Play App Storesta , se oli määrätty, että elokuussa 2019 64-bittiset versiot sovelluksista on aina annettava, lukuun ottamatta pelejä, joille tämä vaatimus koskee elokuussa 2021 mennessä. Koska sovelluskehittäjät keskittyvät yhteen kokoelmaan , monet valmistajat ovat asettaneet version 5 vähimmäisversioksi vuoden 2019 puolivälistä alkaen, esimerkiksi Niantic. 32-bittistä versiota oli silloin vaikea saada. Android 12: n julkaisua edeltävät versiot vuodesta 2020 eivät enää tarjonneet 32-bittistä emulaattoria kehittäjille. Android 12 julkaistaan syyskuussa 2021, Android-versioiden versioon 4 asti markkinaosuus oli pudonnut alle 2 prosenttiin huhtikuuhun 2021 mennessä.
Lukuun ottamatta sulautettuja alustoja ja niiden erikoistuneita ohjelmia, huomio ohjelmakoodin suuresta tiedostotuesta heikkenee vuodesta 2020.
Liittyvät ongelmat
Erityisesti vuoden 2038 ongelma osoittaa, että aikaleimojen perinteinen esitys 32-bittisinä "pitkinä" voi johtaa ongelmiin. Nämä ohittavat myös toisensa siirtymällä puhtaaseen 64-bittiseen järjestelmään. Sillä välin 64-bittinen aikaleima on asetettu saataville myös 32-bittisiin järjestelmiin. Win32-sovellusliittymässä tämä tarkoitti, että uusille 64-bittisillä aikaleimoilla varustetuille toiminnoille annettiin loppuliite "64" ja 64-bittisten tiedostojen pituudet merkittiin liitteenä olevalla päätteellä "i64" - varmasti kaikissa neljässä yhdistelmässä (findfirst32, findfirst64, findfirst32i64, findfirst64i32). UNIX98-sovellusliittymä toisaalta tuo käyttöön lisätoimintoja, joiden pääte on "64" ja "_LARGEFILE64_SOURCE".
Massamuistilaitteiden lohkolaskurit liittyvät suurten tiedostojen sovellusliittymään. 512 tavun tietolohkojen tavallisen koon vuoksi 32-bittisiä lukuja rajoitettiin vasta myöhemmin. Kun kiintolevyt saavutti koon 2 teratavua (noin 2010) pääkäynnistystietueessa oli vaihdettava kuin osiotaulua että GPT , joka määritellään sitten 64-bittinen laskurit varten LBA ( lineaarinen lohko osoite ). Myös Unix- järjestelmissä käytettyjä inodilaskureita oli laajennettava, samoin kuin muita tiedostolaskureita (esimerkiksi toiminnoilla stat64 / setrlimit64). Tarkistamisen Linux-ytimen versioon 2.4 tapahtui noin 2001 ja käyttöönoton LFS tuki, joka sitten siirtyi glibc. Koska vaihto tapahtui samaan aikaan, kun 64-bittinen LFS aktivoitiin 32-bittisissä arkkitehtuureissa GNU-C-kirjastossa Linuxille, myös inodilohkolaskurit ja niihin liittyvät toiminnot muutetaan 64-bittisiksi.
Vuodesta 2001 peräisin oleva ext3- tiedostojärjestelmä otti sitten käyttöön joitain 64-bittisiä arvoja ohjaimessa, mutta se rajoittui 32-bittisiin lohkolaskureihin massamuistilaitteessa. Koska työskentelet enimmäkseen 4 kilotavun edistyneessä muodossa , suurin sallittu arvo on yleensä 8 tai 16 teratavua. Suuremmat, kymmenien teratavujen mittaiset massamuistilaitteet jouduttiin sitten alustamaan XFS: llä , joka tukee myös 64-bittisiä inodeja datamuodossa ja tunkeutuu siten eksatavun alueelle. Ensimmäiset 16 teratavun kiintolevyt toimitettiin vuoden 2019 puolivälistä. Koska solid-state drive , massatallentimet 32 TiB olivat jo vuodesta 2016, ja ne on ilmoitettu vuoden 2020 jälkeen 100 TiB.
Katso myös
- RF64 RIFF WAVE -äänitiedostojen 64-bittisenä laajennuksena
- FAT32 + FAT-tiedostojärjestelmän taaksepäin yhteensopivana laajennuksena (enintään 256 GiB)
- ext4 ext3-tiedostojärjestelmän 48-bittisenä laajennuksena (> 16 TiB e2fsprogs-versiosta 1.42)
nettilinkit
Yksittäiset todisteet
- ^ Suurten tiedostojen tuen lisääminen Single UNIX® -määritykseen . Avoin ryhmä. 14. elokuuta 1996.
- ↑ http://ac-archive.sourceforge.net/largefile/distros.html
- ↑ https://www.zlib.net/ChangeLog.txt
- ↑ Panagiotis Kolokythas: Windows Server 2008: Microsoftin viimeisin 32-bittinen käyttöjärjestelmä palvelimille . PC-maailma. 28. toukokuuta 2007.
- ↑ Tukeeko 32-bittisiä sovelluksia RHEL 7 tai uudemmat versiot? . Punainen hattu. Helmikuu 2014.
- ↑ Will Cooke: Intel 32-bittiset paketit Ubuntussa vuodesta 19.10 alkaen . Kanoninen. 2. kesäkuuta 2019.
- ↑ Matthew Addams: Nvidia lopettaa 32-bittisten Windows-alustojen tuen . Windowsin raportti. 12. huhtikuuta 2018.
- Even Steven Silver: Mojave on Applen viimeisin macOS-versio, joka tukee 32-bittisiä sovelluksia . Apple Insider. 5. kesäkuuta 2018.
- ↑ Windows 7: n tuki päättyy 14. tammikuuta 2020 . Microsoft. Haettu 9. helmikuuta 2020.
- ↑ Florian Müssig: Järjestelmävaatimukset Windows 11: lle: milloin se epäonnistuu . Kuuma. 25. kesäkuuta 2021.
- ↑ Andreas Sebayang: Matkalla puhdasta 64-bittinen Android-sovelluksia . Golem. 17. tammikuuta 2019.
- B a b mw: Google ilmoittaa 32-bittisten Android-sovellusten lopettamisen vuonna 2021 . IT-lehti. 17. tammikuuta 2019.
- ↑ 64-bittinen Android: Nämä prosessorit ovat olemassa, nämä muutokset ovat tulossa . Android-käyttäjä. 26. elokuuta 2014.
- ↑ Platform-tools 23.1.0 Linux muutettiin 64-bittiseksi ilman erillistä ilmoitusta. . Androidin julkinen seuranta. 11. joulukuuta 2015: "On käynyt ilmi, että android-sdk-linux / platform-tools -sisältö on 32-bittinen ELF 23.0.1: ssä mutta 64-bittinen ELF 23.1_rc1: ssä ja 23.1.0: ssa. [..] Asetin ANDROID_EMULATOR_FORCE_32BIT = true [..] 23.0.1 on viimeinen 32-bittinen Linux-koontiversio. "
- ↑ F.Tenzer: Eri Android-versioiden osuus kaikista Android-käyttöjärjestelmällä varustetuista laitteista maailmanlaajuisesti 1. toukokuuta - 7. toukokuuta 2019 . Statista. 14. marraskuuta 2019.
- ↑ Google ilmoittaa 32-bittisten Android-sovellusten lopettamisen vuonna 2021 . IT-lehti. 17. tammikuuta 2019.
- ↑ Elia Del Favero: Ingress ja Pokémon Go tarvitsevat pian vähintään Android 5: n . 10. kesäkuuta 2019.
- ↑ Miksi 32-bittinen 0.159.0-version apk ei vieläkään ole käytettävissä? . Reddit TheSilphRoad /. Joulukuu 2019.
- ↑ Hanki Android 12 . Google.: "Huomaa, että Android 12 ei tue 32-bittisiä Android-emulaattorijärjestelmäkuvia."
- ↑ Android-käyttöjärjestelmillä varustettujen laitteiden osuus eri Android-versioiden Internet-käytöstä maailmanlaajuisesti huhtikuussa 2021 . Statista. 3. toukokuuta 2021.
- ↑ CTF-toimintoviite etsi ensin . Microsoft. Haettu vuonna 20200210.
- ↑ b c Andreas Jaeger: Suuri tiedosto tuki Linuxissa . SUSE GmbH. 15. helmikuuta 2015.
- ↑ linux / bits / stat.h: / * Huomaa, että stat64: llä on sama muoto kuin statilla x86-64. * /
- ↑ MJ Rutter: 64-bittinen inode-ongelma . Haettu 10. helmikuuta 2020.
- ↑ a b Ext4 Howto . kernel.org. 11. helmikuuta 2019: "Vaikka erittäin suuret tiedostojärjestelmät ovat ext4: n ominaisuusluettelossa, nykyiset e2fsprogs rajoittaa tiedostojärjestelmän koon vielä 2 ^ 32 lohkoon (16TiB 4KiB-lohkotiedostojärjestelmälle). Yli 16 T: n tiedostojärjestelmien salliminen on yksi seuraavista tärkeimmistä ominaisuuksista, jotka on suoritettava ext4: lle. "
- ↑ Thomas Scherer: Samsungin 32 Tt: n SSD-asema: Kiintolevyn lopun alku . Vaaliruhtinas. 15. elokuuta 2016.