Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.milw.wisc.edu!cs.utexas.edu!uunet!mcvax!hp4nl!phigate!philmds!leo From: leo@philmds.UUCP (Leo de Wit) Newsgroups: comp.sys.atari.st Subject: Re: ST and Multitasking Message-ID: <1068@philmds.UUCP> Date: 11 Aug 89 11:35:01 GMT References: <359@ucl-cs.UUCP> Reply-To: leo@philmds.UUCP (Leo de Wit) Organization: Philips I&E DTS Eindhoven Lines: 50 In article <359@ucl-cs.UUCP> S.Usher@ucl-cs.UUCP writes: |From: Stephen Usher| | |I can see one or two major problems with TOS if you try to make it |multi-task. The biggest problem is the file system. What happens when two |tasks want to access the same file at the same time? What error message do |you return? TOS cannot handle such things and there are no error returns |which mean "in use". Working out which process gets access is difficult, |it's fine if both the processes want to read (you give both shared access, |again not possible with TOS), but what if one wants to write? This problem is already there with the current (not multi-tasking) TOS. Write a 'more'-like utility for the ST and you'll find out: The more program opens the file for read. Now if you type 'v', you Pexec() a vi program which will write out a file on exit. If you now exit more: Surprise! two files with the same name :-(. The remark about shared (read) access not being possible with TOS I'll not take seriously, 'cause that just isn't true (the more/vi combination is just an example of this. Generally, a Pexec'ed child also inherits its parent's open files). | |Another problem (though it should be under the same heading) is device |access. This MUST be exclusive, after all you don't want two programs trying |to write to the printer at once. The question is, whether you want exclusive device access. For instance, in Unix, when you leave the printer device writable for everyone (e.g. in a small system), two programs can write to the printer at once (or to the terminal, for that matter). No, device access must not always be exclusive, though in the cases when it must be it would require some work for instance to make printer access exclusive in the current TOS (e.g. like in Unix by a lpd daemon). [] |If the ST could multitask, then a true network system could be built VERY |simply using a server task on each machine sitting on the network (it could |use the MIDI port to start with). In this way there would not have to be ANY |fileserver machine and ALL resources could be shared. | |All of the above can be done on a Sinclair QL, even the networking! I know |what I'm talking about, Multitasking is great, I REALLY miss it on the ST, |so much so that I prefer the QL for doing assembler program developement for |the ST! But now the question arises: what do you use your ST for? Leo.