Deutsch English Français Italiano |
<bb67ecf90c16a2038a7d366cfa35a07a671c2b58@i2pn2.org> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder9.news.weretis.net!news.nk.ca!rocksolid2!i2pn2.org!.POSTED!not-for-mail From: dxf <dxforth@gmail.com> Newsgroups: comp.lang.forth Subject: Re: PAD and preemptive multi-tasking Date: Sat, 21 Dec 2024 10:49:48 +1100 Organization: i2pn2 (i2pn.org) Message-ID: <bb67ecf90c16a2038a7d366cfa35a07a671c2b58@i2pn2.org> References: <2024Dec20.111031@mips.complang.tuwien.ac.at> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Injection-Date: Fri, 20 Dec 2024 23:49:48 -0000 (UTC) Injection-Info: i2pn2.org; logging-data="3860075"; mail-complaints-to="usenet@i2pn2.org"; posting-account="XPw7UV90Iy7EOhY4YuUXhpdoEf5Vz7K+BsxA/Cx8bVc"; User-Agent: Mozilla Thunderbird In-Reply-To: <2024Dec20.111031@mips.complang.tuwien.ac.at> Content-Language: en-GB X-Spam-Checker-Version: SpamAssassin 4.0.0 Bytes: 2055 Lines: 28 On 20/12/2024 9:10 pm, Anton Ertl wrote: > Bernd Paysan have been wondering what to do about PAD in the presence > of preemptive multitasking (but not multi-user) as implemented in > Gforth. You may need to explain 'preemptive' and its relevance here. > We see two possible scenarios: > > If PAD is used only directly by the user for interactive work, only > one PAD is needed. > > OTOH, if PAD is used as temporary storage in words that may be called > by any task, PAD needs to be part of the per-task (aka USER) data. > > My understanding is that classical multi-tasking Forth systems > (polyForth, I guess) were also multi-user and had one dictionary per > task, so they also had one dictionary pointer and therefore one PAD > per task, but I have not worked with any of them and the descriptions > I have read have been very sketchy, so this could be wrong. Based on a part disassembly the value of HERE (used as DP) was taken from the user area and PAD was 34 bytes above that value. > In any case, the question is how PAD is used by current programs that > might be run on Gforth. > > - anton