sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #22153
Re: VFAT og store filer
On Tue, 2 May 2000, Thomas wrote:
>
>
> -----Original Message-----
> From: Mads Bondo Dydensborg [mailto:madsdyd@xxxxxxxxxxxx]
> Sent: 2. maj 2000 13:39
> To: sslug-teknik@xxxxxxxx
> Subject: Re: [TEKNIK] VFAT og store filer
>
>
> On Tue, 2 May 2000, Thomas wrote:
>
> > Husk nu lige på at Int og Long (og de andre) har forskellige størelse på
> > forskellige CPU'er
> >
> > f.eks. er en int på x86 CPU 32 bit, mens den på andre kan hav een anden
> > størrelse...
> >
> > Så så nemt er det ikke...
> >
> > Fil størrelse har mere med filsystemet at gøre da det skal kunne adressere
> > filen..
>
> Og standard biblioteker, applikationer mv. I princippet kunne jeg lave et
> lag i standard bibilioteket, der gav dig adgang til en vilkårlig stor fil,
> selv om kernen/ext2 ikke kunne finde ud af det. Applikationer er rimeligt
> nemme at narre.
>
> Ja...Men så skal du vide lige præcis hvor på disken filen ligger, altså i
> hvilke klynger. Ellers kan du ikke hente den.
Nix, det behøver jeg ikke, hvis jeg kan overtale applikationerne til at
samarbejde med mit standardbibliotek om det, kan jeg bruge det
eksisterende ext2 fil system som base for mit "filsystem", hvor jeg bruger
fragmenter af max 2 GB til at lave filer der - for brugeren - ser ud som
om de er mere end 2 GB store. Det ville kræve en del omskrivning af
applikationerne at gøre det.
> Derfor er det også OS'et (eller kernen) der tage sig af alle disk
> operationer. Ellers bliver det umulig at lave applikationer, hvis man hver
> gang skal lave disk adgangs rutiner..
Fuldkommen enig. Men derfor kan jeg godt "narre" nogen applikationer, men
i praksis skal alle nok være lavet til at kunne håndtere filstørrelser
mv. i datatyper der > 32 bit.
>
> >
> > FAT32 kan IKKE tage filer større end 2.somthing GB
> >
> > NTFS kan tage filer op til 64 GB
> >
> > ext2 kan vel tage indtil der ikke er flere inode eller diskplads..
>
> Såvidt jeg husker om ext2, afhænger det at den platform hvor filsystemet
> blev lavet, dvs. f.eks. ia32 der kan den ikke tage mere end 2 GB.
>
> Det mener jeg sgu ikke..Afhænger af filsystem. CPU'en har jo intet med det
> at gøre. Den skal jo ikke adressere på disken.
> En disk er ikke med i memory map. Kun derden asdresse hvor disken sidder.
Der kunne være noget om det du siger, men hvad når man f.eks. stat'er en
fil? man fstat siger at struct stat indeholder
off_t st_size; /* total size, in bytes */
Hvis du kigger i /usr/src/linux/include/i386-asm/stat.h så
unsigned long st_size;
Og, sizeof(unsigned long) er da vist 4 bytes på en i386.
Jeg vil tro at f.eks. fstat anvender kernen til at fylde felterne i stat
structuren ud, og så har du altså et problem med fil størrelser over
2GB/4GB. (4 fordi der jo strengt taget står unsigned, men jeg tror faktisk
man taber en bit et eller andet sted).
Der må være en FAQ om det her emne et sted vi kan kigge i.
>
>
> Jeg mener endda at kunne huske at ext2 er endian usikker: filsystemer
> lavet på en little endian kan ikke bruges på en big endian, mv. (Altså,
> hvis man f.eks. flyttede hd'en mellem to maskiner med forskellig endian).
>
> Det er korekt. little endian systemer er fuldkommen ukompatibel med big
> endian systemer.
> Da de jo opfatter binære tal forskellige.
De fleste systemer er ret enige om char og ASCII. (Ikke alle, Honeywell
6000 har 9 bit pr. char, IBM 370 bruger EBCDIC, men alligevel).
Desuden kunne man sagtens forestille sig at man implementerede et fil
system med korrekt byte ordering, f.eks. er fat nok det samme på alle
platforme der understøtter det - ikke megen pointe i det ellers. (Med
andre ord, support på kerne niveau. Applikationerne skal stadig lave
endian bladr for at det virker).
ext2 er - som jeg husker det og i modsætning til fat - ikke endian
kompatibel på byte/kerne niveau.
Mads
--
Mads Bondo Dydensborg. madsdyd@xxxxxxxxxxxx
Oh well, all operating systems crash constantly right? This is normal, right?
It has to be, Microsoft couldn't be so popular if their OS was so bad, could
they?
Yes they could, and they are. And if you fail to realize it, it's your own
damn fault.
- Ron Coscorrosa, in response to MS France FUD
Follow ups
References