Path: utzoo!dptcdc!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!cs.utexas.edu!uunet!mcvax!cernvax!ethz!ethz-inf!wyle From: wyle@inf.ethz.ch (Mitchell Wyle) Newsgroups: comp.sys.misc Subject: Re: Iconitis Message-ID: <167@inf.ethz.ch> Date: 14 Apr 89 14:14:06 GMT References: <1930@dataio.Data-IO.COM> <11555@lanl.gov> <17376@cisunx.UUCP> <191@visix.UUCP> <3810@ficc.uu.net> <28834@apple.Apple.COM> Reply-To: wyle@ethz.UUCP (Mitchell Wyle) Organization: Departement fuer Informatik, ETH Zuerich Lines: 56 >>[ I was complaining about the lack of multitasking on the PC and MAC ] >>> This is purely an operating system problem, its not related to the interface >>> at all. >>It's related to the interface, since most of what little O/S there is on the >>Mac (and now with Windows and its successors, the PC) is entirely oriented >>towards the user interface. You can't write a program on these machines >>unless it's tied tightly to the user interface. The whole concept of running >>in the background is alien. >Running in the background is alien to the Mac and Windows?!? Boy, you'd better >let the authors of the background print spoolers know that so that they can >fix their programs to run only in the foreground rather than in either the >foreground or background, or background only in those two systems! In fact, >there is a program on the Mac that runs *ONLY* in the background under >MultiFinder -- Backgrounder. Guess what -- no user interface. All it does is >watch for print spool files and start up another program to manage the spool. The original point is more subtle; there is no crontab in DOS or MacOS; there are no daemons. There is only poor programmer support for background processing (get-next-event in mac-OS); OS/2 appears a bit better in this regard. Even the wonderful spooler in multi-finder feels it must tell the user what's happening and creates the print-monitor process. The programs are *all* *HOMUNCULOUS*!! We want *true* background processing! We want "daemon" support! Consider this Bourne-shell construct which has worked for 16 years, up through new versions of Unix! if test "$0" != "/bin/sh" ; then # check if we're fork'd /bin/sh < $0 & # Fork ourself in background, leave exit 0 fi # Child process: while ; do [.... do real work...] sleep 300 done --------------------------------- Now do you get it? Unix was born to run background processes; OS/2 is getting there (though slowly). Mac-OS is moving even more slowly because the programming philosophy is so user-interface centered; application writers must put special code into their programs which give up the CPU; it should be the other way around. MIND (by Greg Dudek) did some great stuff with pre-multifinder mac-OS; it was the closest thing to a "true" background process I found. BTW: will mac-OS 6.0.4 (the "System" file) be larger than A/UX 1.1 "/unix" file? Inquiring mac-users want to know! ;-) -Mitch -- -Mitchell F. Wyle wyle@ethz.uucp Institut fuer Informationssysteme wyle@inf.ethz.ch ETH Zentrum / 8092 Zurich, Switzerland +41 1 256 5237