Re: [9fans] p9p on win32?



I assume the best compiler to use is mingw as knows about at least some plan9-isms

Doesn't matter. There are no Plan 9 isms in the p9p
code base. At least not supposed to be.

The big issue is I would also like to get a cpu server going.

That's harder than it sounds.

Currently I use rsh which doesn't pass keyboard interrupt to the remote host.
I could run openssh under cygwin which would give that functionality and
on-the-wire encryption which is nice these days.

I would do this for the short term. Installing cygwin is
super-easy.

My favorite solution is to use the plan9 cpu protocol. This would allow
me to access files on the local plan9 system, pass interrupts (by reading
/mnt/term/dev/cpunote), and pass the win32 current directory back to plan9
(rc writes to /mnt/term/dev/wdir) so plumbed error messages will open the
correct file in sam/acme.

If you use the cygwin ssh and set your profile to emit
xterm window change codes every time you switch
directories, you can use "ssh windows | aux/conswdir"
on the Plan 9 side. See rwd(1).

I would need a 9p client written against stdio, and a port of openssl to provide
the equivilent of pushssl(2), or alternatively if most of p9p is comming acrross
easily I could just use the plan9 code (except that ssl/tls is in the plan9 kernel).

Actually I've pulled out a standalone ssl that you can
invoke on a pipe. The main part left for cpu to Plan 9
is writing the /dev/draw file server.

Windows filesystem drivers seem to live in the kernel, which would make debugging them
tiresome, however I have found two frameworks for creating user space synthetic
filesystems on Win32, one creates a local cifs server [1] the other uses a proxy
device driver to allow a psudo filesystem to live in user space [2]. This still
leaves the problem of mounting/unmounting a filesystem on each cpu(1)
connect/disconnect.

p9p doesn't do kernel mounts, so this isn't an issue.
If someone wants to explore kernel 9P mounts later,
that's a separate issue. I strongly suggest doing a
first cut without them. Especially since you don't have
per-process name spaces.

You do need some equivalent to Unix domain sockets
for posting services. I think you should be able to use
a service-posting program and then find it by name
and use IPC to talk to it. Kind of a user-level /srv.

Russ

.



Relevant Pages

  • Re: [ANNOUNCE][PATCH] Kcli - Kernel command line interface.
    ... Our devices ship with no user space, ... cause of most of the filesystem latency glitches he was hitting. ... of cross compiling the kernel and it is so simple. ... that having user space is worth all the overhead. ...
    (Linux-Kernel)
  • Re: Notes on support for multiple devices for a single filesystem
    ... Btrfs can support multiple underlying block ... devices for a single filesystem instances in a generalized and flexible way. ... reliable and not requiring additional user space programs in the boot ... We can either do this in user space, or in kernel space. ...
    (Linux-Kernel)
  • Re: Newbie Question About Device Drivers
    ... In Windows NT/2000/XP/2003 you cannot access devices from a user space ... Now the challenge is that the kernel is its own environment, ... Don Burn (MVP, Windows DDK) ... Windows 2k/XP/2k3 Filesystem and Driver Consulting ...
    (microsoft.public.development.device.drivers)
  • Re: silent semantic changes with reiser4
    ... "does it belong in the ... and if so should name resolution in a filesystem be split ... into two parts, one in kernel, and one in user space." ... >> the filesystem into two parts, one in user space and one in kernel, ...
    (Linux-Kernel)
  • Re: [9fans] some Plan9 related ideas
    ... > some Plan 9 related to the embedded domain. ... > distributed virtual filesystem model. ... > containing SoC's and sensor networks. ... > modifythe namespace. ...
    (comp.os.plan9)

Loading