Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #19836

Re: Killing threads, and os.system()

From Dennis Lee Bieber <wlfraed@ix.netcom.com>
Subject Re: Killing threads, and os.system()
Date 2012-02-03 11:20 -0500
References <jg867e$6n2$1@news.univ-fcomte.fr> <mailman.5249.1328025863.27778.python-list@python.org> <4f2b976a$0$78773$742ec2ed@news.sonic.net>
Newsgroups comp.lang.python
Message-ID <mailman.5407.1328286608.27778.python-list@python.org> (permalink)

Show all headers | View raw


On Fri, 03 Feb 2012 00:14:33 -0800, John Nagle <nagle@animats.com>
wrote:

>On 1/31/2012 8:04 AM, Dennis Lee Bieber wrote:
>> ({muse: who do we have to kill
>> to persuade OS designers to incorporate something like the Amiga ARexx
>> "rexxport" system<G>}).
>
>    QNX, which is a real-time microkernel which looks like POSIX to
>applications.  actually got interprocess communication right.  It
>has to; everything in QNX is done by interprocess communication,
>including all I/O.  File systems and drivers are ordinary programs.
>The kernel just handles message passing, CPU dispatching, and timers.
>QNX's message passing looks more like a subroutine call than an
>I/O operation, and this has important implications for efficient CPU 
>dispatching.
>
	Sounds a lot like the Amiga kernal. Though, since message passing
was just a matter of adding/removing entries from a linked list, it
prevented easy porting to protected virtual memory spaces.

	I/O was user code passing an I/O request to a file-handler, which
then determined which device driver was to receive the next lower level
operation... Eventual these messages passed back in the other direction
with the result data.

	Rexxports were just regular Amiga message ports with some ARexx
overhead... From an ARexx script, sending to another program that
implemented a Rexxport was as simple as

	address <targetport> command_and_data_parameters

	The library included statements for ARexx scripts to create their
own ports, and to receive packets via them.

	Unfortunately, the limitations of most OS's have led to
implementations like the Regina Rexx -- where the ADDRESS command is
basically a synonym for Python's subprocess.Popen() and the "targetport"
controls whether the command is executed directly or if a shell
processor is invoked to handle it.
-- 
	Wulfraed                 Dennis Lee Bieber         AF6VN
        wlfraed@ix.netcom.com    HTTP://wlfraed.home.netcom.com/

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Killing threads, and os.system() Laurent Claessens <moky.math@gmail.com> - 2012-01-31 08:45 +0100
  Re: Killing threads, and os.system() Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2012-01-31 11:04 -0500
    Re: Killing threads, and os.system() Laurent Claessens <moky.math@gmail.com> - 2012-01-31 18:18 +0100
      Re: Killing threads, and os.system() Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2012-01-31 14:34 -0500
    Re: Killing threads, and os.system() Laurent Claessens <moky.math@gmail.com> - 2012-01-31 18:18 +0100
    Re: Killing threads, and os.system() John Nagle <nagle@animats.com> - 2012-02-03 00:14 -0800
      Re: Killing threads, and os.system() Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2012-02-03 09:25 +0000
      Re: Killing threads, and os.system() Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2012-02-03 11:20 -0500
      Re: Killing threads, and os.system() Paul Rubin <no.email@nospam.invalid> - 2012-02-03 15:42 -0800

csiph-web