I've used just about every major -- and even some not so major -- OS's at different times, from all variants of Windows going back to 3.1, to Linux, BSD, Mac OS X, MSDOS, some old crusty version of Mac OS < X that I don't remember well, and even some older systems, etc.
Currently, I use Mac OS X 10.4 and
Inferno the most.
Mac OS X is my OS of choice for general purpose work, primarily because it allows me to use most of the UNIX tools I need, but it provides a nice user interface that doesn't take as much hacking as a typical Linux system in order to make it usable.
I use Inferno for my research into novel OS design considerations and work in concurrent systems. I find Inferno to be a great choice for this because it can run as either an OS driven by a native kernel, or as an emulation layer upon an underlying OS. It runs practically everywhere -- on almost all notable hardware platforms and OS's. It's very light on resources, capable of running with both the entire OS facilities, in addition to active non-trivial applications, in under 1MB of memory. It's unique in that, as with
Plan 9 (which I would like to become more familiar with someday), it greatly extends and improves upon the UNIX idea of "everything is a file." This greatly simplifies programming, making many traditionally difficult programming tasks, such as network or hardware programming, quite easy, and in fact often accomplishable via simple reading and writing of files through the powerful Inferno
Sh. The filesystem itself is also unique in that it uses the concept of namespaces associated with processes to expose 'files', i.e., different processes potentially see different filesystem trees, and these filesystem trees are constructed out of binding various 'devices' (such as the network device, the pipe device, the mount driver, the server registry, etc.) to other parts of the trees in specific orders. Programs themselves can bind a sort of communication port to the filesystem, at which point reads and writes on the virtual file represent communication with that program.
Limbo, the native programming language for Inferno, is also like a breath of fresh air when compared to C, C++, or Java, particularly if using concurrency. Limbo is essentially like a merging of C with certain concepts from ML and also some from Hoare's Communicating Sequential Processes. It signifies a major cleanup of C: pointers are gone (but references to algebraic data types or lists or arrays are allowed), modules are added, algebraic data types are added, pattern matching is added, lists are added, proper strings are added, dynamically sizable arrays are added, tuples are added, and limited forms of type inference and parametric polymorphism are added. But Limbo does not mandate OO programming, which is nice. Modular programming, of course, is used, but it is supported through the ML style modules. Most importantly, Limbo uses a very powerful concept of typed communication channels (inspired by the CSP), which allow for concurrency via dataflow synchronization, rather than the ugly, error prone, and non-scalable shared state concurrency so common in C++ and Java programming. In Limbo, locks are practically never needed, which makes programming complex concurrent computations almost trivially easy by comparison.
I do occasionally use Linux these days too, mostly either in the form of Ubuntu or Gentoo. However, when I do tend to boot up the PC, it is mostly for the novelty factor more than anything.
I 'use' Windows usually only when I'm fixing other peoples broken computers.
So anyway, that sums it up for me. That's half OS talk and half programming talk, but I guess that about explains my priorities. I don't tend to do much with audio anymore these days, ironically enough. I wonder... is it possible to be off-topic in the off-topic section?