Scor­pio News

  

July–September 1987, Volume 1, Issue 3











Page 15 of 67











ALV is similar to that for CP/M 2.2 in that the BDOS uses the allocation vector to identify which data blocks have been ailocated co files and which are Free for use. CP/M’3,, hows

aa f

wer, sae two bite in the allocation vector for each block on the disk. The only exception to this is ine non-banked CP/M 3 where the option is given to use single bit entries ae with CP/M 2.2 should be no noncbanked CP/M 39 ‘sold commercially (the. non banked version of CP/M 3 ly an aid in the generation of « benked system! 1 users Of CP/M 3 can atsune hat their aystem uses double bit entries in the

face. th

Obviously, « double bit allocation vector is going to occupy twice as auch mory 40 single bit allocation vector so why then use two bits per entryT

ber how STAT.COM calculates free disk space under CP/M 2.2 and how Lt fs possible co fool 4c by forgecting to close a file, ‘The only way co update the Sllocetion vector under CP/M 2.2 1a to hit “C to reset the disk system and Log inthe drives again. This of course takes time and CP/M 3 boasts better disk Performance. Digital Revearch have gone to great Lengths to avoid resetting the Sine syotem with each warm boot – particularly since CP/M 3 das also spent time buffering both directory and data blocks to reduce diek accesses still further Control c {2 scill available under CP/M 3, when running the CCP, to allow the user to force a diek reset but, to improve performance, thie should be done a Tete ae poserble

To eliminate the need for disk retets on warm boot, Digital Research came up with the double bic allocation vector, If, a0 before, a file is written to Esk, the 9008 will keep track of which daca blocks £c {a allocating by using one of the two Bite in the allocation vector for each of those blocks. when & file de closed, the second set of bits for the affacted blocks are updated to atch che first If, on the other hand, che {ile 1e not closed before ‘returning fo Gr/H the Firat see of bite can be feret to thelr original state because the Second set provide record of which blocks remain free. Consequently, the disk Free apace shown by SHOW COM (GP/H S’e equivalent to STAT.COM) ie always correct and the need for c disk access has been sileviated. Uniike CP/M.2.2, the size Of the stlocation vector for CP/M 3 in calculated se (DSH/4)#2 The “#2 gives Se the clue thatthe double bie allocation wector is in fact configured as two Hlagle bit allocation vectors Joined end to end.

ie

MP de referred to an the media flag. This byte La set to zero by the BDOS

when a drive is logged in, If the disk/computer hardware supports “door open”

foterrupte, the BIOS can set this byte to OFFH when a drive door is opened. If

hfe e the case, before the BDOS next performs « file operation on the affected ‘seh check for « Gisk change and perform # login 1f necessary.

MOTE, The Media Flag 4s used in conjunction with the variable @HEDIA contained CP/M-3 System Control Block and will normally only be implemented on 18 supporting “door open* interrupt.

DIRBCB ie the address of the directory buffer control block on non-benked CP/M 3 systems. On banked wyetema, DIRBCB points to the head of a list of buffer control blocks (BCB” fa-16 bit addreve which points to the firee BCB in the list. rhe firer and subsequent BOB’s contain « 16 bit address field which points to the next BCD in the list while the lest BCB Contains « zero value in this field. This type of List is, for obvious reasons, Known as a Linked list. A comprehensive description of the cB format is given later Go, all 1 shall say at thie point ie that each BCB contains the address of a directory buffer which will be one physical sector in length (sound fanilier fo CP/M 2-2 useret).. The maximum number of directory required will be (DaM+1}*32/Physical sector sixe, For the Gemini QO0s format, this figure will

be 8 per drive. Different drives ay P/M 3 and consequently one or more drive XDPH’e may 1 . DIABCB 18 che adds data buffer control block on non-banked CP/M 3

or a List hes is identical to that

‘data buffer which will phyedcel physical record buffers for Blocking snd deblocking the shyaical sector inte 120 byce PIM records and


This is an OCR’d version of the scanned page and likely contains recognition errors.











Page 15 of 67