Date : Mon, 19 Aug 1985 19:34:42 GMT
From : Ambrish Mathur <mathur%alberta.uucp@BRL.ARPA>
Subject: Re: CP/M directory information
>While examining the directory on some Osborne I disks, I noticed a couple
>of things that puzzled me.
>
>The first extent of some files (they seemed to be big ones) was
>sometimes numbered one, instead of zero (the number of the extent is in
>the field named "ex", at offset 12). Why? Is this legal?
>
A 'logical' extent in CP/M(tm) is of size 16K (128 records of 128 bytes
each). In the simplest case when file space allocation is done in blocks of
1K, each physical extent holds 16 1K block entries (128 records) and is the
same as a 'logical' extent. In this case the extent numbers will be seen to be
0, 1, 2, etc.. However, when disk space is allocated in larger units (2K, 3K,..
16K), each physical extent actually corresponds to >128 records. In this
situation, after 128 records have been written to an extent, the same extent
, say 0, becomes extent no. + 1, ie 1 in our case and the record count is reset
to 0. This goes on until all 16 allocation table entries are full, then a
new physical extent is created.
>The record count field was not an exact record count for the extent (nor
>could it be). The record count is constrained to be in the range 0
>through 128, but an extent can hold up to 256 records. What are the
>rules for resolving this? The CP/M manual does not seem to discuss this.
The above explanation also clears this.
--Ambrish Mathur
...ihnp4!alberta!mathur