Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!samsung!zaphod.mps.ohio-state.edu!pacific.mps.ohio-state.edu!linac!att!pacbell.com!ames!ncar!gatech!udel!ee.udel.edu From: new@ee.udel.edu (Darren New) Newsgroups: comp.sys.amiga.misc Subject: Re: True Multitasking Message-ID: <42598@nigel.ee.udel.edu> Date: 23 Jan 91 18:43:10 GMT References: <42149@nigel.ee.udel.edu> <672@tnc.UUCP> Sender: usenet@ee.udel.edu Organization: University of Delaware Lines: 41 Nntp-Posting-Host: snow-white.ee.udel.edu In article <672@tnc.UUCP> m0154@tnc.UUCP (GUY GARNETT) writes: >As I understand it, the Amiga does not have "threads" or "lightweight >processes". The Amiga does make a distinction between "processes" and >"tasks". A process could be described as a task that is known to >AmigaDOS (Amiga EXEC handles multitasking, at a level below AmigaDOS). Not really. AmigaDOS does indeed have lightweight processes, which are called "tasks". An AmigaDOS "process" is a task with an easily- locatable communication buffer for use by certain system libraries (primarily the file system). However, tasks can and do perform I/O via message passing. The filesystems simply require that the I/O be done to a certain location. >Processes have a current directory, standard input and output streams, >and some other things which tasks do not. Yes. AmigaDOS "processes" are supersets of tasks, but the differences have nothing to do with addressing or scheduling. >Although all of the tasks and processes on the Amiga share an address >space, it is not intended that there be multiple execution traces >through the same code and data (with the well-defined exception of >certian operating system code). There can be. What do you mean by "the same code"? The same executable image in memory? Happens all the time (with "resident" programs), i.e., shared-code in UNIX-speak. Many programs (esp games and telecom programs) have multiple tasks using the same non-shared executable. >You *CAN* do it, but you do not get >the same benefits that threads get - the operating system overhead is >the same, and writing code to work this way adds its own overhead. It is exactly the same as threads. Tell me what a thread gives you that an AmigaDOS task does not? Or vica versa. -- Darren -- --- Darren New --- Grad Student --- CIS --- Univ. of Delaware --- ----- Network Protocols, Graphics, Programming Languages, Formal Description Techniques (esp. Estelle), Coffee, Amigas ----- =+=+=+ Let GROPE be an N-tuple where ... +=+=+=