S
Simon Brooke
Guest
in message <[email protected]>, David Martin
('[email protected]') wrote:
> Simon Brooke wrote:
>> in message <[email protected]>,
>> Sniper805 (L96A1) ('[email protected]') wrote:
>
>>>Only Macs are truly multi-tasking, others just peer through windows
>>>darkly and mutter incantations.
>
>> Beware of the technically illiterate. Current generation Macs are
>> essentially similar the the NeXT boxes of fifteen years ago - they
>> use a Mach kernel inside a broadly BSD based shell, with a pretty
>> proprietary graphical skin on top of that. The kernel 'multitasks' by
>> time slicing. This is similar to any other UN*X, or to any Windows NT
>> or XP.
>
> Except that you can log out and leave processes running on a Unix. XP
> (IME) seems to suspend desktop processes if you log out.
You _can_ under UN*X, but not by default; you have to nohup(1) the
process, and most ordinary users don't know how to do this. Otherwise
the process will receive SIGHUP when the parent process exits, and
should exit in turn.
Similarly there's a mechanism in Windows NT/XP which allows you to do
this, and shortly some Windows geek will be along to tell us how.
However, the dependence of processes on their parents is orthogonal to
the question of multitasking. Machines with a single processor core
cannot truly multitask because the core can only be executing one
command from one execution thread at a time. Multi-processor machines
can multitask but only up to the number of processors which they
actually have. In practice the vast majority of modern machines use
time-slicing to simulate multitasking. UN*X derivatives (including
MacOS X and Linux) and VMS derivatives (including Windows NT and XP) do
this in an essentially similar manner - a supervisor process allows
each active process so many cycles of the processor in turn, in a
system known as 'time slicing' or 'preemptive multitasking'. Older
multi-tasking systems including RISC-OS and earlier generations of
MacOS (and I think Windows 395/98/ME) used 'co-operative multitasking'
where each program is supposed to voluntarily yield control every so
often so that other processes could get a shot.
> And I thought the comment was quite funny, even if it was not strictly
> correct (or even non-strictly correct).
Well, it possibly was. I may be feeling unusually sour at present. It
is, as Noddy Holder would no doubt point out, Christmas.
--
[email protected] (Simon Brooke) http://www.jasmine.org.uk/~simon/
;; better than your average performing pineapple
('[email protected]') wrote:
> Simon Brooke wrote:
>> in message <[email protected]>,
>> Sniper805 (L96A1) ('[email protected]') wrote:
>
>>>Only Macs are truly multi-tasking, others just peer through windows
>>>darkly and mutter incantations.
>
>> Beware of the technically illiterate. Current generation Macs are
>> essentially similar the the NeXT boxes of fifteen years ago - they
>> use a Mach kernel inside a broadly BSD based shell, with a pretty
>> proprietary graphical skin on top of that. The kernel 'multitasks' by
>> time slicing. This is similar to any other UN*X, or to any Windows NT
>> or XP.
>
> Except that you can log out and leave processes running on a Unix. XP
> (IME) seems to suspend desktop processes if you log out.
You _can_ under UN*X, but not by default; you have to nohup(1) the
process, and most ordinary users don't know how to do this. Otherwise
the process will receive SIGHUP when the parent process exits, and
should exit in turn.
Similarly there's a mechanism in Windows NT/XP which allows you to do
this, and shortly some Windows geek will be along to tell us how.
However, the dependence of processes on their parents is orthogonal to
the question of multitasking. Machines with a single processor core
cannot truly multitask because the core can only be executing one
command from one execution thread at a time. Multi-processor machines
can multitask but only up to the number of processors which they
actually have. In practice the vast majority of modern machines use
time-slicing to simulate multitasking. UN*X derivatives (including
MacOS X and Linux) and VMS derivatives (including Windows NT and XP) do
this in an essentially similar manner - a supervisor process allows
each active process so many cycles of the processor in turn, in a
system known as 'time slicing' or 'preemptive multitasking'. Older
multi-tasking systems including RISC-OS and earlier generations of
MacOS (and I think Windows 395/98/ME) used 'co-operative multitasking'
where each program is supposed to voluntarily yield control every so
often so that other processes could get a shot.
> And I thought the comment was quite funny, even if it was not strictly
> correct (or even non-strictly correct).
Well, it possibly was. I may be feeling unusually sour at present. It
is, as Noddy Holder would no doubt point out, Christmas.
--
[email protected] (Simon Brooke) http://www.jasmine.org.uk/~simon/
;; better than your average performing pineapple