Jump to content

Multiprocessing Services

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Huntertur (talk | contribs) at 07:06, 15 May 2022 (Add Template:Classic Mac OS). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In computing, Multiprocessing Services is a component of Classic Mac OS and Carbon allowing programs to perform work across multiple preemptively scheduled threads of execution.

History

Multiprocessing Services was introduced in 1996 with the release of System 7.5.3.[1]

Multiprocessing Services 2.0, introduced in Mac OS 8.6,[2] is a backwards-compatible major release that increases the level of integration preemptive tasks have with the rest of the system.[3]

Multiprocessing Services 2.1, introduced in Mac OS 9,[1] adds support for devices with more than 1 GB of RAM.[4]

In Classic Mac OS

In Classic Mac OS, Multiprocessing Services is not the only threading mechanism; cooperatively scheduled threads can be created with the Thread Manager.[5] While applications using Multiprocessing Services have their threads preemptively scheduled, the application as a whole is still cooperatively scheduled with other running applications.[6] Non-Multiprocessing Services tasks remain scheduled on a single processor, and tasks using the Macintosh Toolbox cannot be preemptively scheduled.[7]

When a process uses Multiprocessing Services, in addition to the preemptive tasks it creates, an additional task exists, deth, which waits for other tasks created by the process to terminate and cleans up their resources when they do.[8]

In Mac OS X

In Mac OS X, Multiprocessing Services is implemented using POSIX threads.[9] Applications using Multiprocessing Services are preemptively scheduled with other tasks running on the system.[6]

References

  1. ^ a b "Ars Technica: Macworld 2000 NY - Page 4 - (7/2000)". archive.arstechnica.com. Retrieved 2022-05-15.
  2. ^ "Using Multiprocessing Services". developer.apple.com. Retrieved 2022-05-15.
  3. ^ "Technical Note TN1163: Mac OS 8.6". Apple Developer Connection. 1999-09-28. Archived from the original on 2000-12-12. Retrieved 2022-05-14.
  4. ^ "Technical Note TN1176: Mac OS 9". Apple Developer Connection. 2000-04-24. Archived from the original on 2000-12-04. Retrieved 2022-05-14.
  5. ^ Learning Carbon. O'Reilly Media. 2001. pp. 294–295. ISBN 9780596001612.
  6. ^ a b "Using Multiprocessing Services". developer.apple.com. Retrieved 2022-05-15.
  7. ^ Gruman, Galen (February 1997). "Time for a New OS?". Macworld. p. 126. Retrieved 2022-05-15.
  8. ^ Vega, René (2001-10-25). "PowerMacInfo info". Newsgroupcomp.sys.mac.programmer.help. Retrieved 2022-05-15.
  9. ^ Kuehne, Robert; Sullivan, J. (2007). OpenGL Programming on Mac OS X. Pearson Education. ISBN 9780132701808.