From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: Date: Mon, 31 Jan 2005 15:21:04 -0500 From: Russ Cox To: Tim Newsham Subject: Re: [9fans] playing music (was RSA) In-Reply-To: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit References: <2f2448a71d0dbd4ba4954a288604df0b@granite.cias.osakafu-u.ac.jp> <200501311101.j0VB16Z05598@zamenhof.cs.utwente.nl> Cc: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu> Topicbox-Message-UUID: 3acb4560-eace-11e9-9e20-41e7f4b1d025 > What I think would be nifty to see (although I don't use plan9port > much, and am not volunteering to do myself ;-) would be to have > all the filesystem operations get translated into 9p messages > and have a server for accessing the native unix filesystem and > servers for each of the devices that you'd want to access from > plan9ports (ie. /dev/audio). This sounds great until you try it, and then it's like you're living in this bizarre alternate universe where you have to keep traack of which programs are "9p-ified" and which are not, so there's no difference between 9 cat /etc/passwd cat /etc/passwd but there is a difference between 9 cat /mnt/plumb/rules cat /mnt/plumb/rules which is just weird. And then maybe you change the shell so it can cd into these directories-which-don't-really-exist, and then you can run 9p-ified programs while in those directories but not normal ones. And you can't run any executables in those directories, because they're not really directories. Or maybe you don't change the shell, in which case 9 cat /mnt/plumb/rules works but cd /mnt/plumb does not. I agree it's a great idea in principle, but to do it right you really have to go all the way and put the support in the kernel (like Ron and Eric did for Linux). And then you're way more system-specific than just writing a few lines of code to initialize the audio device. If enough of this kind of system-specific code shows up, then I will probably create a libsysgoo that at least isolates it from the rest of the system. But right now it's just the tty code in 9term, and the code in libthread but that isn't possible to split out. (Audio is not there, since Juke isn't in plan9port.) Russ