*BSD News Article 19609


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!agate!howland.reston.ans.net!gatech!prism!gt8134b
From: gt8134b@prism.gatech.EDU (Howlin' Bob)
Newsgroups: comp.os.386bsd.development
Subject: Re: V86 mode & the BIOS (was Need advice: Which OS to port to?)
Message-ID: <109170@hydra.gatech.EDU>
Date: 17 Aug 93 20:32:33 GMT
References: <3390@vall.dsv.su.se> <108457@hydra.gatech.EDU> <1993Aug12.110032.16307@cnplss5.cnps.philips.nl> <BLYMN.93Aug15160011@siren.awadi.com.au> <24nstc$554@klaava.Helsinki.FI>
Organization: Georgia Institute of Technology
Lines: 37

In <24nstc$554@klaava.Helsinki.FI> torvalds@klaava.Helsinki.FI (Linus Torvalds) writes:


>The TSS IO bitmap pointer is sadly only 16 bits, and has to point to
>within the TSS segment anyway, so juggling with the IO bitmap is
>essentially not an option, and you do indeed need to copy the bitmap at
>task switch or use separate TSS's (of course, you can try to optimize
>away some of the copying as most processes don't use the IO bitmap at
>all, but the logic behind that is probably slower than the copying). 

For an I/O bitmap of the same size that Linux uses, true.  However, 
since were starting anew here, I wouldn't mind them adding the
option to have a full I/O bitmap; copying that every task switch
might get a little slow.

>>The other alternative is to actually use a TSS for each process and do
>>a jump through the TSS.  According to Bill Jolitz the only reason for
>>the scheme we have at the moment is it only saves 8 registers instead
>>of 20, the scheme is supposed to be faster than doing a jmp through a
>>TSS.  In fact if you look at the pcb structure it already has all the
>>TSS structure there so making use of it would not change any kernel
>>data structures.

>The i386/i486 documentation all seem to suggest doing task switches by
>hand if you want optimal performance due to the slowness of the
>task-switch, but I have my doubts about the validity of that..  It's

Well, if you purposely design the OS internals so that the hardware
method is convenient, I would, too.  Perhaps a pre-existing OS like
BSD might be better off doing it by hand.


-- 
Robert Sanders
Georgia Institute of Technology, Atlanta Georgia, 30332
uucp:	  ...!{decvax,hplabs,ncar,purdue,rutgers}!gatech!prism!gt8134b
Internet: gt8134b@prism.gatech.edu