Arbetsfilstabell
Job File Table (JFT) är en DOS- datastruktur i Program Segment Prefix (PSP). Den börjar vid PSP-offset 0x18 och är 20 byte lång. För varje öppet filhandtag lagrar DOS indexet i System File Table (SFT). Ett filhandtag som returneras av open
, _open
och andra liknande funktioner är helt enkelt ett index i JFT där DOS lagrade SFT-postindexet för filen eller enheten som programmet öppnade.
När ett program startar är de första 5 posterna i JFT föranslutna till standardenheterna. Alla andra handtag markeras som stängda genom att sätta värdet på posten till 0xFF. Standardenheterna initieras enligt följande:
Hantera | Beskrivning |
---|---|
0 | Standard ingång |
1 | Standardutgång |
2 | Standard fel |
3 | COM1 |
4 | LPT1 |
Handtag 0-2 är anslutna till konsolenheten. Under programkörning kan de ändras (stängas, omdirigeras) som alla andra handtag.
Eftersom storleken på JFT i PSP är begränsad till 20 byte, kunde ursprungligen endast 15 filer (20-5 standardenheter) vara öppna åt gången. I MS-DOS 2.0 introducerades den utökade jobbfiltabellen, som gjorde att upp till 254 filer kunde öppnas.
Från och med MS-DOS 3.30 kan storleken på JFT ändras med ett anrop till INT 21h, 67h
.