[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Unixisms on top of P8?



On Sunday, 23 December 2012 01:56:27 UTC+10, gid...@sasktel.net  wrote:

> You can adopt something like a time share routine.  A good routine that recognizes mouse movement, keyboard input and has two reserved JSR locations to tap into while waiting for input.  It is much easier to program and for the most part will achieve the same results.

For many specific cases, I agree. For the general case, not so much. Cooperative multitasking requires cooperative programs, so the burden is placed assiduously on application programmers. Historically, this did not work out very well.

In Unix terms, you're right that a lot of functionality could be replicated without preemption, but you still need to solve the problem of having many applications co-resident.
 
Just being able to do something like:

find <somepath> -name <somefilenameglob> -exec grep -H <someregex> | more

would be wonderfully useful, as would being able to pipe through cut, tr, sed, or even awk.
 
> I don't think anyone would even know that your program does not use interrupts.  Unless you told them.  ":0

:-)

> The only thing I use interrupts for is the seconds on the clock.  Everything else in my programs use "wait for input" share.

For me it's less about interrupts and more about having practical space to implement tools on such a Unix easily. To me, having multiple independent applications co-residing in a 64 or 128k address space, with the memory management complexities that involves.

Compare that to each process having its own 64k bank to play with. Then consider that the source code to Merlin-8 is available, and it wouldnt' be *that* tricky to make the assembler and editor run as standalone programs inside said environment. Get that far, and you're self hosting :-)

Matt