From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <57928816a76e769327ca134d7e28bd06@bellsouth.net> To: 9fans@9fans.net Date: Fri, 17 Apr 2009 11:32:33 -0500 From: blstuart@bellsouth.net In-Reply-To: <21493d85b69b070fed0a4f864eb5325a@proxima.alt.za> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Subject: [9fans] VMs, etc. (was: Re: security questions) Topicbox-Message-UUID: e23e96ca-ead4-11e9-9d60-3106f5b1d025 > Actually, I have long had a feeling that there is a convergence of > VNC, Drawterm, Inferno and the many virtualising tools (VMware, Xen, > Lguest, etc.), but it's one of these intuition things that I cannot > turn into anything concrete. This brings to mind something that's been rolling around in the back of my head for a while. It was about 20 years between the earliest UNIX and early Plan 9, and it's been about 20 years since early Plan 9. One of the major drivers of Plan 9 was the change in the computing landscape that UNIX had adapted to at best clunkily. In particular, unlike 1969, 1) networks were nearly universal, 2) significant computing was done at the terminal rather than back at the mini at the other end of the RS-232 line, and 3) graphical interfaces were quite common. None of these were part of the UNIX model and the ways they were acommodated by 1989 were, in allusion to Kidder, like paper bags taped on the side of the machine. Don't get me wrong, given the constraints and uncertainties of the times, the early networking, GUI, and distributed techniques were pretty good first cuts. But by 1989, they were well-understood enough that it made sense to reconsider them from scratch. So what about today? It seems to me there are also three major aspects of the milieu that have changed since 1989. - First, the gap between the computational power at the terminal and the computational power in the machine room has shrunk to the point where it might no longer be significant. It may be worth rethinking the separation of CPU and terminal. For example, I'm typing this in acme running in a 9vx terminal booted using using a combined fs/cpu/auth server for the file system. But I rarely use the cpu server capability of that machine. - Second, network access has since become both ubituitous and sporadic. In 1989 being on the network meant sitting at a fixed machine tethered to the wall by Ethernet. Today, one of the most common modes of use is the laptop that we use to carry our computing world around with us. We might be on the network at home, at work, at a hotel, at Starbucks, or not at all, even all in the same day. So how can a laptop and a file server play nice? - Third, virtualization is no longer the domain of IBM big iron (VM) and low-performance experiments (e.g. P-machines). The current multi-core CPUs practically beg for virtualized environments. Am I suggesting another start-from-scratch project? Not necessarily, but I don't want to reject that out of hand, either. I tend to think that Plan 9 and Inferno can be a good base that can adapt well to these changes. Though I'm inclined to think that there's an opportunity to create a better hypervisor, inspired by these systems we know and love. As an example of the kind of rumination that would be part of this process, is it possible to create a hypervisor where the resources of one VM can be imported by another with minimal (or better, no) modification to the mainstream guys? This would allow any OS to leverage the device drivers written for another. I've gone on long enough. Those of you who have not recently been laid off don't need to spend too much time on my musings. But the question in my mind for a while has been, is it time for another step back and rethinking the big picture? BLS