← Back to team overview

sslug-teknik team mailing list archive

Re: VFAT og store filer

 

On Tue, 2 May 2000, Thomas wrote:

> 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.
> 
> Det er korrekt...Men filen er stadig fysisk på disken i flere dele. Så der
> kræves en masse husholdning med at holde sammen på stumperne så dataerne
> bliver dkrevet korrekt ned i filen igen.

jow, men det kan jeg nok klare.

> 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.
> 
> nope..den er 64 bit...integer = 32 bit, char = 16 bit float = 32 bit, byte =
> 8 bit, double = 64 bit

Hmmm.

[madsdyd@amigos08 tmp]$ uname -a
Linux amigos08.diku.dk 2.2.5-15 #1 Mon Apr 19 23:00:46 EDT 1999 i686 unknown
[madsdyd@amigos08 tmp]$ cat tmp.c
#include <stdio.h>

int main () {
  printf("sizeof unsigned long %i\n", sizeof(unsigned long));
  printf("sizeof unsigned long long %i\n", sizeof(unsigned long long));
  return 0;
}
[madsdyd@amigos08 tmp]$ gcc -o tmp tmp.c && ./tmp 
sizeof unsigned long 4
sizeof unsigned long long 8

Herfra hvor jeg sidder ser det altså temmeligt meget ud til at en unsigned
long er 4 bytes == 32 bit på en 686, som jo burde være et OK eksemplar af
den type maskiner vi snakker om.

Hvad siger din maskine?

Her er uddata fra det samme program på en alpha (som godt nok ikke kører
Linux, men datastørrelserne er nok de samme):
ve > gcc -o tmp tmp.c && ./tmp 
sizeof unsigned long 8
sizeof unsigned long long 8
> 
> og husk så lige at en unsigned lon kan indeholde et dobbelt så stort tal som
> en "alm" long

Jow, det er jeg klar over.

Mads

-- 
Mads Bondo Dydensborg.                               madsdyd@xxxxxxxxxxxx
Sure, some companies might run successful businesses by making Linux easier
to use and offering technical support for the systems, but no business model
based on service and support is ever going to approach the incredible level
of profitability of a Microsoft-style 'pay us for breathing' business
                               - Pat Dorsey, Morningstar



Follow ups

References