|
On Jun 21, 2016 3:40 PM, "Coda Highland" <chighland@gmail.com> wrote:
>
> On Tue, Jun 21, 2016 at 1:37 PM, Gregg Reynolds <dev@mobileink.com> wrote:
> >
> > On Jun 21, 2016 3:31 PM, "Coda Highland" <chighland@gmail.com> wrote:
> >>
> >> On Tue, Jun 21, 2016 at 1:27 PM, Gregg Reynolds <dev@mobileink.com> wrote:
> >> >
> >> > On Jun 21, 2016 3:02 PM, "Coda Highland" <chighland@gmail.com> wrote:
> >> >>
> >> >> On Tue, Jun 21, 2016 at 12:45 PM, Gregg Reynolds <dev@mobileink.com>
> >> >> wrote:
> >> >> >
> >> >> > On Jun 21, 2016 10:45 AM, "Roberto Ierusalimschy"
> >> >> > <roberto@inf.puc-rio.br>
> >> >> > wrote:
> >> >> > ...
> >> >> >> Right: couroutine is a specific use case of a Lua thread. As it is
> >> >> >> the
> >> >> >> only use of threads inside Lua code, we can say that, looking from
> >> >> >> Lua,
> >> >> >> coroutine = thread.
> >> >> >
> >> >> > Is it correct to say that a Lua thread is a fiber? I.e. not an OS or
> >> >> > pthread?
> >> >> >
> >> >> > - gregg
> >> >>
> >> >> Yes, that could be considered accurate, as fibers are a
> >> >> cooperative-multitasking construct.
> >> >>
> >> >
> >> > the amazingly cool thing is that we can have cooperative multitasking
> >> > even
> >> > with a single sequential thread of execution. magic. kinda makes you
> >> > rethink your concept of execution, thread, etc.
> >>
> >> The fun part is when you realize that before Windows 95, the entire
> >> Windows operating system was cooperatively multitasked, and apps were
> >> expected to yield quickly when awakened by the OS.
> >>
> > MS-DOS: the Original Embedded System.
>
> MS-DOS wasn't even cooperatively multitasked. It was TECHNICALLY
> preemptively multitasked, in that triggering a TSR through an
> interrupt routine could happen at effectively arbitrary times in
> program flow, but there was no timesharing and the TSR would have to
> clean itself up and return control to the original program on its own.
>
Oh man, you're taking me back! The last time I heard "TSR" was about the last time I heard "HCF" (Halt and Catch Fire, for the mainframe-naifs among us). But that means Windows was never merely cooperatively multitasked, no?
I wonder, was there ever a purely cooperatively multitasked OS for PC-like systems?
g