Talk:Virtualization/Archive 1
From Wikipedia, the free encyclopedia
Archive 1 | Archive 2 → |
Virtualization Simplified?
A lot of the definitions of virtualization I've read are fairly complex or nebulous. This Wikipedia entry is pretty good, but I was still looking for a more concise and fundamental definition of the term. After reading quite a few articles and definitions I believe it might be the following:
Virtualization is the process of making things more abstract in order to make them easier to use.
So using the storage example: Providing a high-level more abstract view of a large number of varied and complex storage devices allows them to be used more easily and thereby more effectively. This enables the development of higher level applications and technologies.
You can basically figure this out by reading this article, but I think it would be useful to make it a bit more explicit (assuming my interpretation is valid).
TonyC 23:50, 3 Dec 2004 (UTC)
- TonyC, you are right in part, that virtualization is fundamentally abstraction, but ease of use is just one motivation behind it. For example, a virtual machine can be used to sandbox applications in a secure protective environment. An important motivation in server virtualization is efficiency; e.g. a single server can appear as several independent computers using virtualization, whereas this arrangement would need many more resources without. Both these examples would normally make the systems harder, not easier to use. I will edit the article for clarity and technical accuracy and hopefully thus respond to your comments.
- NostinAdrek 13:14, 7 December 2005 (UTC)
Wrong explanation of SMP
this: [..] A good example of virtualization is modern symmetric multiprocessing computer architectures that contain more than one CPU. Operating systems are usually configured in such a way that the multiple CPUs can be presented as a single processing unit. Thus software applications can be written for a single logical (virtual) processing unit, which is much simpler than having to work with a large number of different processor configurations. [..] is plain wrong. No OS can abstract multiple CPUs to one.
External links
An anonymous user and I disagree over whether it's appropriate to add a particular external link to Virtualization and many related articles. I do not want to go overboard in trying to stop spam, so any comments by those who agree or disagree would be welcome. The discussion is at User talk:85.18.136.96. Wmahan. 18:52, 30 May 2006 (UTC)
- I don't think it's useful to link to external sites where the content is a continuously changing page each day (such as news aggregation sites or blogs), unless the article is specifically about just that website in particular. By providing an external link, we're trying to provide a convenience to the reader about an expectation of the relevance of the content that will be there. -- Bovineone 02:08, 31 May 2006 (UTC)
- I've just removed a few more RSS links that were just added... See also WP:EL, which also mentions choosing sites that have "substantive longevity". Besides that, I don't particularly see any bullet in the "What should be linked to" section that blog/news aggregation sites would fall clearly under. There is in fact an under under "Links to normally avoid" that mentions blogs should generally not be linked to. -- Bovineone 17:57, 31 May 2006 (UTC)
Portability for applications
That last paragraph seems to make a prediction about the future. Do we do that here?
It will be interesting if desktop applications are eventually made to stay in their own backyard - that's going few steps back in history. --Johnruble 14:24, 24 August 2006 (UTC)
Non-encyclopedic terminology
What is the significance of the strange bolded terms like frowned-upon, mysterious, well-known, popular, and rootkit technique that were introduced by User:74.121.29.86? They seem to be suggesting bias towards techniques and/or vendors. I don't see any citations or references around any of that terminology use either, so I'm inclined to believe it is original research or biased opinions. -- Bovineone 09:54, 3 September 2006 (UTC)
- Well, it is to emphasize that the outcast has become the mainstream when Microsoft bought Softricity. The first type can be quite dangerous because it is modifying system calls, similar to what hypervisor would behave in kernel mode, but it happened instead in user mode.—The preceding unsigned comment was added by 74.121.29.86 (talk • contribs) .
- Although your intentions seem good, please find some external sources or references that can be listed to verify all of these terminology uses, categorizations, and warnings. Otherwise people will be inclined to believe that they are neologisms and NPOV. Your tone seems to imply that you are greatly biased against Softricity-like functionality by using words with negative connotations (like "root-kit", "frowned-upon", "ill-behaved"). It is not Wikipedia's place to be a soapbox. Please provide third-party sources that back up your claims. -- Bovineone 04:24, 5 September 2006 (UTC)
- Sure, my section is still work in progress. I will provide more references later. I'm still busy with my work. But for now, here are some points to clarify:
- I'm not bias against Softricity, because after all if Microsoft bought them, then of course, it should be good and mature enough. There has been an industry-biased in the past, not my-biased, so pardon me for the language as I am merely giving historical perspective. I guess you can help me to tone it down so that it won't be a soapbox. But then I used cheered-upon as to indicate that the outcast has become the mainstream. I'm not biased against "Streaming Applications". In fact, I believe that it is the future for software. However, their technique to accomplish it is a complete hack, modifiying system calls in the user mode. What would happen if "Virtual OS" from Thinstall and "SystemGuard" from Softricity run at the same time? Why running in the user mode? It is because Windows doesn't have a Hypervisor in the kernel, so once the Hypervisor is ready then "Application Streaming" will be full steamed ahead. Who need a simple Hypervisor running in the user mode when there is a real Hypervisor already running in the kernel mode. That's why the rootkit technique will become obsolete, but not the "Application Streaming" for the Application Virtualization. Again, it is the future for software distribution.
- Now if you don't like the naming, then there are two ways to look at it:
- The first type is application packagers (Thinstall, Softricity) whereas the other is application compilers (Java and Dot Net). Because it is a packager, it can be used to stream applications without modifiying the source code, where as the later can only be used to compile the source code.
- Another way to look at is through the Hypervisor point of view. The first one is "hypervisor" in user mode, where as the other is "hypervisor" in runtime mode. I put the hypervisor in quotation, because both of them have similar behavior in that it intercept system calls in different mode: user mode and runtime mode. The user mode intercepts the system calls from the runtime mode before going to kernel mode. The real hypervisor only need to intercept the system call using hypercall in kernel mode. Again, once Windows have Hypervisor, there may even be no need for JRE and CLR.
- In summary, the first one is virtualizing the Binary so that it can be installed once and run anywhere, whereas the other is virtualizing the Source Code using Byte Code so that it can be written once and run anywhere. Both of them are actually partial solution to portability problem: application portability and source code portability. Maybe it is time to combine the two problems into one complete solution at the hypervisor level in the kernel mode. (Btw, how is my English? I'm an ESL. Did I confuse you? Please feel free to ask more questions.)
- So which one do you prefer: application packagers vs compilers or user mode vs runtime mode hypervisor ? I guess both of them are more neutral, but it would lose the historical perspective.
- I'm sorry if my writing is not good enough and too biased. As I said, it is still work in progress. You can remove them temporarily if you like. But, please note that googling virtualization will give wikipedia as the first result. So, I'm hoping to work on this articles so that it would be up-to-date without making it to become a soapbox. Would you like to help me to revise it? Let's make virtualization article on wikipedia to become more and more interesting.
- Sure, my section is still work in progress. I will provide more references later. I'm still busy with my work. But for now, here are some points to clarify:
- Although your intentions seem good, please find some external sources or references that can be listed to verify all of these terminology uses, categorizations, and warnings. Otherwise people will be inclined to believe that they are neologisms and NPOV. Your tone seems to imply that you are greatly biased against Softricity-like functionality by using words with negative connotations (like "root-kit", "frowned-upon", "ill-behaved"). It is not Wikipedia's place to be a soapbox. Please provide third-party sources that back up your claims. -- Bovineone 04:24, 5 September 2006 (UTC)
- I think some of your content would be better suited for the Application Virtualization page instead of this one. This page should be limited to just the high-level overview of the different major classes, and providing links to the pages about the specific types. Can you move it there instead? Also, please consider create a wikipedia user account, since you are such a voluminous and noteworthy contributor. This will let people more easily contact you about your contributions in the future. Please also sign your messages on Talk pages by typing "~~~~" at the end of your posts. -- Bovineone 16:11, 7 September 2006 (UTC)
- Yes, I agree that it has become quite long, not high level enough. Actually I am already planning to move some to Application Virtualization, but it is not quite easy to integrate some of my content there. Yes, I have been scratching my head. Thanks for your feedback and encouragement. I haven't register because I haven't decide the username yet. Btw, I have noticed that googling Application Virtualization didn't put wikipedia on the top. So, again, I'm hoping that improving the article will make it the first, just as Virtualization already is. I believe that google PageRank is one of the indicator of the page popularity. -- TopRank 06:49, 9 September 2006 (UTC)
- I'm registered, I use TopRank because I am hoping to make every Wikipedia articles to become a googling TopRank as well as other search engines. Yeah, it would keep me busy for the rest of my life, which is good. Otherwise, I would be bored too death. ;-). However, I'm sorry I still haven't figure out how to integrate with Application Virtualization. Do you have any ideas? Why are you interested in virtualization? Would you like to help improving some articles? Meanwhile, how do you enjoy on my attempt to a poetic justice
- Altiris and Softricity frowned upon each other kit
- Filter Driver indeed!
- A Prayer, you obsolete!!
- If so, mine got answered Hip, Hip!!!
- A Prayer, you obsolete!!
- Filter Driver indeed!
- But will be made obsolete!!
- Because mine, Microsoft cheered-upon, Hyper Solid!!!
- But will be made obsolete!!
- Filter Driver indeed!
- Whether indeed or obsolete, both frowned upon like FUD kids.
- Altiris and Softricity frowned upon each other kit
- -- TopRank 09:58, 12 September 2006 (UTC)
- I'm registered, I use TopRank because I am hoping to make every Wikipedia articles to become a googling TopRank as well as other search engines. Yeah, it would keep me busy for the rest of my life, which is good. Otherwise, I would be bored too death. ;-). However, I'm sorry I still haven't figure out how to integrate with Application Virtualization. Do you have any ideas? Why are you interested in virtualization? Would you like to help improving some articles? Meanwhile, how do you enjoy on my attempt to a poetic justice
- Yes, I agree that it has become quite long, not high level enough. Actually I am already planning to move some to Application Virtualization, but it is not quite easy to integrate some of my content there. Yes, I have been scratching my head. Thanks for your feedback and encouragement. I haven't register because I haven't decide the username yet. Btw, I have noticed that googling Application Virtualization didn't put wikipedia on the top. So, again, I'm hoping that improving the article will make it the first, just as Virtualization already is. I believe that google PageRank is one of the indicator of the page popularity. -- TopRank 06:49, 9 September 2006 (UTC)
- I agree; this article is atrocious. The section with the neutrality dispute is horribly biased, uses too many words such as "best" and "most user-friendly" which indicate someone's opinion instead of facts, appears to possibly violate the original research rule, and sounds far more like a trade magazine article or a press release than an encyclopedia article. And the random bold words have got to go. I came to this article hoping to learn more about virtualization, but now I'm more confused than before I read it. -—The preceding unsigned comment was added by 199.209.144.218 (talk • contribs) . at 16:00, 11 September 2006
- Please read my poetic justice to give you a clue of the industry-biased, even among different vendors. Again, I'm merely giving a historical perspective. Maybe you would like to help in improving the articles. Did you try Thinstall and other application virtualization software already? This is the easiest compare to hardware level and OS level. Did you miss this part where I am comparing between the two levels? Should I write it more explicitly or should you read it more carefully? What words would you use to describe the easiest way to virtualize? Is user friendly not appropiate? The bold words are not random. It guides the reader to the point of the articles, just in case they miss it. Please give me feedback on how to write the article. Otherwise, saying that my article is atrocious, I would say those who can not write, can only criticize. But of course, you can write, so if you were me, what would you write? Moreover, could you please tell me why you are more confused than before you read it? Virtualization is not easy to understand because it is in the transition phase to kernel mode hypervisor. Could you please tell me specically which part made you confuse? Thanks. Please also sign your messages on Talk pages by typing "~~~~" at the end of your posts.
- At Wi-Ki-pedia, "we" are the key, so discussion is very important, because consensus shall bring us closer together.
- --TopRank 10:36, 12 September 2006 (UTC)
New Article: Virtualization Development
- I think some of your content would be better suited for the Application Virtualization page instead of this one. This page should be limited to just the high-level overview of the different major classes, and providing links to the pages about the specific types. Can you move it there instead? Also, please consider create a wikipedia user account, since you are such a voluminous and noteworthy contributor. This will let people more easily contact you about your contributions in the future. Please also sign your messages on Talk pages by typing "~~~~" at the end of your posts. -- Bovineone 16:11, 7 September 2006 (UTC)
- Yes, I've registered and move some to Virtualization Development, instead of Application Virtualization. Again, it is still work in progress. I will still work on the latter. Hopefully, once I have more time. Meanwhile, Any feedback is appreciated.
- --TopRank 23:44, 12 September 2006 (UTC) --> Wi-Ki, "we" are the "key", therefore, consensus shall bring us closer together.
i removed some junk
the section on resource virtualization included the following non-enyclopedic, ungrammatical and irrelevant text, which i removed. Benwing 05:26, 15 September 2006 (UTC)
VMware's Raghu Raghuram think that this is a "small market opportunity". There is also Grid Computing skeptic who argues whether "super-computational power is required for the accounts payable system or to run your e-mail client", whereas other is very optimistic that believe "It will be a revolution for which the industry must prepare".
- In particular, ZDnet's Paul Murphy believe that Resource virtualization should be more in demand than Server Virtualization: "Virtualization in the old sense of breaking up a single box to manage the resources available to individual processes is generally a costly solution to a problem set we don't have anymore". IBM's Kevin Leahy agreed when he said that "(Server) Virtualization stalled in the marketplace", because "Customers started with say 100 physical machines and when they were done, they had 400 virtual machines. When they did that, they made their jobs more difficult."
more removed junk
this needs serious cleanup work if it is to be included. Benwing 05:31, 15 September 2006 (UTC)
Application Streaming
In the past, software was able to be installed in the network such as Novell. However, in Windows it has been locked down onto the local Desktop, which may have caused the downfall of Novell. This bring a new possibility, not just portability in the USB, but streaming through the network. It is similar to watching streaming movies on the internet: it can be watched before the download is complete. So, while it is downloading, the software can already be run. Let us just hope that this will really be the future for software distribution, not just using AJAX 'Web Jail' applications. Yes, Google Maps, not to mention Google Spreadsheets and Writely, will be even more secure, interactive, and collaborative between Google friends. Such a secure and user friendly environment between Google software might even deserved to be called Google OS, not just another Web OS. So, if Thinstall were to be acquired by Goggle, then it will be able to compete with Microsoft head to head in the Streaming Applications to revolutionize the future computing. Why would Google wait until 2009 when Windows have its Hypervisor ready, when it can already stream applications right now? Set Google free from the 'Web Jail' : Let the application streaming begin.
even more removed junk
who added this stuff, anyway? "bring it on, google!"????? in any case, i don't see the relevance of anything in this section; acquisitions of one company by another have nothing directly to do with the computer science concept of virtualization.Benwing 05:34, 15 September 2006 (UTC)
(section "Timelines of Players")
- IBM
- 1960
- Sun
- Hewlett-Packard
- EMC
- Late 2003, EMC acquired VMware for $635 million.
- VERITAS
- Late 2003, VERITAS acquired Ejascent for $59 million.
- Microsoft
- Early 2003, Microsoft acquired Connectix Corporation.
- July 17, 2006 Microsoft bought Softricity. Here comes the King! [1]
- Google
- ???, Thinstall were acquired to compete head to head with Microsoft and its Softricity. Bring it on, Google!
Please help improve this section by expanding it. Further information might be found on the talk page or at requests for expansion. |
well, you know...
I take your point about the "bring it" style :-) but you know, there was good stuff in that chunk, that I'd have liked to have read. Andrew (talk) 06:53, 1 February 2008 (UTC)
Updates on 11/18/2006 to section 'software virtualization'
I began with a small change, which snowballed (as they often do) to include:
- Added before the list: "The following are not universally-recognized terms, but they will help place the different approaches in context:"; this relates to my concluding observation below.
- Added the critical omissions of CP-40, CP/CMS, and VM from native virtualization (this is after all where so many of these concepts came from in the first place).
- Removed the two-level bullets.
- Made the citation of examples consistent (e.g. → Examples include).
- Flagged the jarring final case of Application Virtualization, which is clearly the odd man out in the list. (It may make sense to remain here, since the distinction is useful, but clearly it has little to do with the other technologies and has more to do with the other (non-virtualization) senses of virtual machine.)
- Tried to reconcile the language to embrace both "operating system" cases and "application" cases.
My comment about the terms not being universally-recognized refers to a fundamental issue with this section's list of bullets, which link off to a series of sub-articles. Basically, although I don't argue with the way the technologies have been broken down here, I do not think these are generic computer science terms and distinctions. Professionals would probably look at the bullet list and nod; but they might scratch their heads when reaching the leaf-node pages. See Talk:Native_virtualization for further comments.
I think that this article needs to be reorganized to reflect a) less of a bias to the issues and players of 2005-2007, since these are fundamental CS concepts; and b) a taxonomy and presentation strategy that correspond to mainstream CS sources. There are of course many different ways to skin this particular cat, and we won't find absolute consensus among writers and historians. But we can't invent new terms, or borrow them from today's vendors, and expect to wind up with a credible set of articles. (I hope this is seen as useful. I do realize that there is probably a hard core of x86 virtualization gurus for whom this material already seemed right on target. But from an historical perspective, I think it needs attention.) Trevor Hanson 06:01, 19 November 2006 (UTC)
Oh, and the "Further development" subsection makes me squirm. Trevor Hanson 06:04, 19 November 2006 (UTC)
"Partial virtualization"
I've added a category of "partial virtualization" between "full virtualization" and "paravirtualization". Although this may not sit well with everybody, I think we need a category for a system like IBM M44/44X – with virtual machines and multiple address spaces, but not full hardware simulation and the ability to boot multiple operating systems. There is a fuzzy line between such a system and any OS that provides address space isolation. Or rather there really is no such line, and all such operating systems could be considered in the same category. We wouldn't tend to view them as virtual machine systems today, but they were a huge step forward from earlier approaches to multitasking. Please feel free to butcher my addition if you see a better way to deal with this. I don't think we want to rewrite history based on today's categories however. Trevor Hanson 03:32, 1 December 2006 (UTC)
I think the M44/44X fits very nicely here, but this section also includes OS/VS1, OS/VS2 and MVS which really don't belong. OS/VS1 and OS/VS2 were single address space operating systems and the only thing virtual about them was that applications ran in virtual memory. MVS (originally OS/VS2 Release 2) changed this by having multiple address spaces, but it's not otherwise virtual - if that were the case, then every virtual memory OS would be! MVS applications in their own address spaces shared the same namespaces for security, user authentication, file systems, lock management, system operation, etc. In fact, they even had the non-userland portions of their address spaces shared in common. Putting these OS flavors in a category of virtualization is not accurate. jsavit. 21 May 2007
- From today's perspective, that's certainly a valid point. But historically in terms of OS evolution – and looking at the system environment from the point of view of a running chunk of application code – I think it's appropriate to view many earlier large operating systems as providing a partially-virtualized environment. (I had cited multiple address spaces as an example of partial virtualization, not a defining characteristic.) Compare an application running under DOS (or CP/M, or one of the weaker implementations of x86 virtualization), versus one running under MVS, or even OS/VS1. A VS1 application appears to be embedded in a complex virtual(ized) machine that is quite different from the raw hardware. Though far from what we call virtualization today, this represented a big technological step forward from earlier operating systems, which were often glorified run-time libraries. Of course, virtualization is used to describe many different concepts. But I do think it's important not to lose sight of how virtualization crept into many aspects of the application/OS interface. Trevor Hanson 18:05, 21 May 2007 (UTC)
- Hi Trevor (and sorry for my not remembering the obscure wiki mark-up for these notes). My claim here is that to extend the label "partial virtualization" to sytems like OS/VS1 (for example) really dilutes the notion of virtualization to the point where it's not particularily useful. Such systems offer a set of abstractions for I/O, program loading, scheduling, memory allocation, and they provide _one_ virtual asset: virtual memory. If we call such a system virtual, then we can with justice say that OS/360 MFT and MVT were virtual, since they offered the same abstractions except for virtual storage. (VS1 and VS1R1 were no more than MFT and MVT, respectively, with dynamic address translaction turned on). If I linked an executable with AC(1) on OS/VS (or hack myself into supervisor mode, which was really easy in MVT) I could in fact execute instructions on the bare hardware). Even without that, on those systems a normal application can see (cannot be prevented from seeing) real location 0 in RAM, the current contents of the CPU timer, and so on. What we're describing here is a protection mechanism and a layer of abstraction. Nothing is virtualized away. If these systems are described as partially virtualized, then so are all Unixes from 1974 on, OS/2, EXEC8, Multics, and goodness knows what else. These are all sharply different than things like M44/44X in which a private machine environment is created, let alone things like CP-40, CP/67, and the VM family. The essence of virtualization is that one pretends something is there that really isn't - conventional operating systems like OS/VS1, OS/VS2 only did that with respect to how much RAM you had - nothing else. Even MVS falls into that category. Why invent a distinction not held by the developers and users of those systems? regards, jsavit Tue May 22 17:44:12 EDT 2007
-
- Yes, that's a pretty convincing argument. Actually I think a case can be made that all the 'relatively modern' OSes you list (Unixes [Unices?], OS/2, Multics, etc.) do create a partially-virtualized environment for running applications – they all basically inherit the CTSS model of multitasking by simulating multiple quasi-machines. The apps can't run on the bare machine, but require the abstraction layer created by the OS. As you say, these quasi-machines are not the robust virtual machines (M44/44X "pseudo-machines") that we think of as part of virtualization today. But to my mind it is still a kind of virtualization. However I realize this thinking is on a par with "how many angels can dance on the head of a pin?" As I reread the article's description of "partial virtualization", the key features that distinguish this type of system from its predecessors are resource sharing and process isolation – notably absent from the earliest OSes, still weak in OS/MFT and OS/MVT, and robust in CP (and some modern systems). Somewhere in the continuum between MFT and CP is a point where I'd say the application environment became "partially virtualized". Are you comfortable with the paragraph as it stands now? Or do you think more needs to be excluded from the category? BTW four twiddles (~~~~) will insert your signature: Trevor Hanson 02:04, 23 May 2007 (UTC)
-
- Hi Trevor, and glad you liked my line of discussion. I'm going to have to reread about M44/44X and CTSS, and think about it. If this characterisation is so broad as to be equivalent to "abstraction", performed by any conventional OS, then we have to consider whether the category needs to be preserved at all. Something to think about! In any case, thanks for your note, and for the (boy, is that non-obvious!) way of inserting signature. I have to find the markup reference page... cheers, Jeff. Jsavit 20:37, 24 May 2007 (UTC)
Big edit on 12/8/2006
I bit the bullet and did a large edit today, trying to reduce some problems I saw in the current state.
One change was removing this link and text from the overview, which strikes me as too close to vendor spam:
- http://www.emausa.com/research/ema_product.php?product=5000_1147 Virtualization: Exposing the Intangible Enterprise], 2006, Enterprise Management Associates
- "a technique for hiding the physical characteristics of computing resources from the way in which other systems, applications, or end users interact with those resources. This includes making a single physical resource (such as a server, an operating system, an application, or storage device) appear to function as multiple logical resources; or it can include making multiple physical resources (such as storage devices or servers) appear as a single logical resource."
I have tried to make the rest of the article read more like an encyclopaedia entry; it had accumulated a number of disparate points which I don't feel really hung together. I also felt it needed more historical grounding, since virtualization is NOT a new topic and there is a ton of literature behind the term.
I moved a chunk of material, dealing with USB drive implementations under Windows, to portable application. Since there were no citations and no examples provided, I don't know whether this was just an architectural speculation, a design strategy used by some vendors (which it is no doubt), or the basis of actual tools available today. Are these the solutions referenced under Application Virtualization? Whoever added that material might try to beef up portable application with any concrete examples. If this is basically just the same points as under Application Virtualization then why repeat them? Also, I didn't think that the "hopefully" sentiment belonged in WP. Similarly, the "LivePC" section probably needs some attention, especially in terms of how these products relate to the underlying virtualization concepts.
Sorry if any of this goes against the grain. Naturally, feel free to go in and hack it up, or revert it if you have violent objections. Trevor Hanson 02:40, 8 December 2006 (UTC)