|
|
Co-operative multitaskingIn computing, cooperative multitasking (or ''non-preemptive multitasking'') is a form of computer multitasking in which multiple tasks execute by voluntarily ceding control to other tasks at programmer-defined points within each task. Operating systems such as Microsoft Windows prior to Windows 95 and Windows NT#fn_1, and Mac OS prior to Mac OS X relied on this approach to execute multiple programs simultaneously. While its usage in modern computing is on the wane, RISC OS is an example of an operating system which still retains this method. ''Cooperative multitasking'' has the advantage of making the operating system design much simpler, but it also makes it less stable because a poorly designed application may not cooperate well, and this often cause freeze (computing). Preemptive multitasking, on the other hand, puts the onus on the programmer to notify the system of sections of code where the application must ''not'' be pre-empted. == Notes == #fn_1_back In Windows/386 2.x, released 1988, and later versions of Windows, it was possible to have two or more DOS applications running simultaneously in separate DOS boxes, under preemptive multitasking, but Windows applications had to run under cooperative multitasking. == See also == * Coroutine * Computer multitasking * Pre-emptive multitasking Operating system technology Co-operative multitaskingThe statement about Win95 needs to be verified and clarified. Windows 2.0 had preemptive DOS apps, and Windows 95 was the first to introduce preemption of Win32-based apps. (I think) That the Mac system relied on a flat, shared memory space should also be mentioned. An explicit statement also needs to me made that this system can (and often did) lead to system hangs from single misbehaving applications. Someone more familiar with MacOS and RiscOS should give it another crack. --Heywood Windows/386, a 1987 precursor of Windows 3.0, first introduced pre-emptive multitasking to Windows; you could run multiple DOS applications in separate DOS boxes and they'd pre-emptively multitask. Windows 3.0 (1990) had pre-emptive multitasking for Windows applications if configured to run in Enhanced mode. --User:Minority Report 21:35, 7 Nov 2004 (UTC) : This is not true. I remember writing Win16 programs in C back then (Win 3.x) and they were cooperatively multitasked. Programmers had to explicitly yield at the bottom of the application's event loop otherwise Bad Things (ie, lockup) would happen. --User:Bk0 23:21, 5 Mar 2005 (UTC) I've taken the following paragraph out for editing because it's gibberish. I know what the author is getting at but it really isn't good English. I'm inserting a more concise version that I hope gives the basic sense of the paragraph. --User:Minority Report 21:18, 7 Nov 2004 (UTC) : Co-operating multitasking takes special precautions when programs are event or message-driven, for example GUI applications, and hence can be upcalled from the operating system or from the GUI library. Although any invocation of the operating system could be a preemption point, this would immediately require that applications explicitly define critical sections, in order to avoid getting reentered arbitrarily and confused. Therefore, only very specific operating system calls can cause preemption, typically calls which allow to get the next message from the application's input queue. See other meanings of words starting from letter: CCA | CB | CD | CE | CF | CG | CH | CI | CJ | CK | CL | CM | CN | CO | CP | CR | CS | CT | CU | CW | CX | CY | CZ |Words begining with Co-operative_multitasking: Co-operative_multitasking Co-operative_multitasking
Sponsored links: praca, nurkowanie.
|
These materials are based on Wikipedia and licensed under the GNU FDL
YouTube.com videos better site than Turbo Tax 2007 |
|
|