skip to main content
10.1145/1134760.1134767acmconferencesArticle/Chapter ViewAbstractPublication PagesveeConference Proceedingsconference-collections
Article

Live updating operating systems using virtualization

Published:14 June 2006Publication History

ABSTRACT

Many critical IT infrastructures require non-disruptive operations. However, the operating systems thereon are far from perfect that patches and upgrades are frequently applied, in order to close vulnerabilities, add new features and enhance performance. To mitigate the loss of availability, such operating systems need to provide features such as live update through which patches and upgrades can be applied without having to stop and reboot the operating system. Unfortunately, most current live updating approaches cannot be easily applied to existing operating systems: some are tightly bound to specific design approaches (e.g. object-oriented); others can only be used under particular circumstances (e.g. quiescence states).In this paper, we propose using virtualization to provide the live update capability. The proposed approach allows a broad range of patches and upgrades to be applied at any time without the requirement of a quiescence state. Moreover, such approach shares good portability for its OS-transparency and is suitable for inclusion in general virtualization systems. We present a working prototype, LUCOS, which supports live update capability on Linux running on Xen virtual machine monitor. To demonstrate the applicability of our approach, we use real-life kernel patches from Linux kernel 2.6.10 to Linux kernel 2.6.11, and apply some of those kernel patches on the fly. Performance measurements show that our implementation incurs negligible performance overhead: a less than 1% performance degradation compared to a Xen-Linux. The time to apply a patch is also very minimal.

References

  1. David A. Patterson, Aaron Brown, Pete Broadwell, George Candea, Mike Chen, James Cutler, Patricia Enriquez, Armando Fox, Emre Kiciman, Matthew Merzbacher, David Oppenheimer, Naveen Sastry, William Tetzlaff, Jonathan Traupman, and Noah Treuhaft. Recovery-Oriented Computing (ROC): Motivation, Definition, Techniques, and Case Studies. Technical Report UCB//CSD-02-1175, University of California, Berkeley, March 2002.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Mark E. Segal and Ophir Frieder. On-the-fly program modification: Systems for dynamic updating. IEEE Software., 10(2):53--65, 1993.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Craig A. N. Soules, Jonathan Appavoo, Kevin Hui, Robert W. Wisniewski, Dilma Da Silva, Gregory R. Ganger, Orran Krieger, Michael Stumm, Marc Auslander, Michal Ostrowski, Bryan Rosenburg, and Jimi Xenidis. System support for online reconfiguration. In Proc. of the Usenix Technical Conference, pages 141--154. USENIX Association, June 2003.]]Google ScholarGoogle Scholar
  4. Craig A. N. Soules Robert W. Wisniewski Dilma Da Silva Orran Krieger Marc Auslander David Edelsohn Ben Gamsa Gregory R. Ganger Paul McKenney Michal Ostrowski Bryan Rosenburg Michael Stumm Jimi Xenidis Jonathan Appavoo, Kevin Hui. Enabling autonomic system software with hot-swapping. IBM Systems Journal, 42(1):60--76, January 2003.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Andrew Baumann, Jonathan Appavoo, Dilma Da Silva, Jeremy Kerr, Orran Krieger, and Robert W. Wisniewski. Providing dynamic update in an operating system. In Proceedings of the USENIX Annual Technical Conference, pages 279--291, Anaheim, CA, USA, June 2005. USENIX Association.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Robert Wisniewski Marc Auslander David Edelsohn Ben Gamsa Orran Krieger Bryan Rosenburg Kevin Hui, Jonathan Appavoo and Michael Stumm. Supporting hot-swappable components for system software. In Proceedings of the 8th Workshop on Hot Topics in Operating Systems (HotOS-VIII 01), pages 170--170, Elmau/Oberbayern, Germany, May 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. R.P. Goldberg. Survey of virtual machine research. IEEE Computer Magazine, 7(6):34--45, 1974.]]Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, I. Pratt, A. Warfield, P. Barham, and R. Neugebauer. Xen and the art of virtualization. In Proceedings of the ACM Symposium on Operating Systems Principles, pages 164--177, Bolton Landing, NY, October 2003.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Robert Rose. Survey of system virtualization techniques. http://citeseer.ist.psu.edu/720518.html, March 2004.]]Google ScholarGoogle Scholar
  10. Carl A. Waldspurger. Memory resource management in VMware ESX server. In Proceedings of the 5th symposium on Operating systems design and implementation, OSDI'02, pages 181--194. USENIX Association, December 2002.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Microsoft Corporation. Microsoft virtual server 2005. http://www.microsoft.com/windowsserversystem/virtualserver/default.mspx.]]Google ScholarGoogle Scholar
  12. Andrew Whitaker, Marianne Shaw, and Steven D. Gribble. Scale and performance in the denali isolation kernel. In Proceedings of the 5th symposium on Operating systems design and implementation (OSDI), pages 195--209, Boston, MA, USA, October 2002. USENIX Association.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Andrew Whitaker, Marianne Shaw, and Steven D. Gribble. Denali: Lightweight virtual machines for distributed and networked applications. Monterey, CA, USA, June 2002.]]Google ScholarGoogle Scholar
  14. Jeff Dike. User-mode linux. In Proceedings of the 5th Annual Linux Showcase & Conference, Oakland, CA, November 2001. Usenix Association.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Paul Burstein Gautam Altekar, Ilya Bagrak and Andrew Schultz. OPUS: Online Patches and Updates for Security. In Proceedings of 14th USENIX Security Symposium, Baltimore, MD USA, 2005.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Emmett Witchel, Josh Cates, and Krste Asanovic. Mondrian memory protection. In 10th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS-X), volume 37, 10 of ACM SIGPLAN notices, pages 304--316. ACM Press, 2002.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Intel Cooperation. Intel vanderpool technology for IA-32 processors (VT-x) preliminary specification. http://www.intel.com/technology/computing/vptech/.]]Google ScholarGoogle Scholar
  18. Brian N. Bershad Michael M. Swift and Henry M. Levy. Improving the reliability of commodity operating systems. In Proceedings of the nineteenth ACM symposium on Operating systems principles, pages 207--222, Bolton Landing, NY, USA, October 2003. ACM Press.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Brian N. Bershad Michael M. Swift, Muthukaruppan Annamalai and Henry M. Levy. Recovering Device Drivers. In Preceedings of 6th Symposium on Operating Systems Design and Implementation, pages 1--16, San Francisco, CA, USA, 2005.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. John L. Henning. SPEC CPU2000: Measuring CPU performance in the new millennium. IEEE Computer, 33(7):28--35, July 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Maciej Suchomski Peter Eisentraut Justin Clift Andy Riebs, Mark Kirkwood and Paul Wagner. Osdb x0.15-1. http://osdb.sourceforge.net.]]Google ScholarGoogle Scholar
  22. Ronald G. Minnich. A dynamic kernel modifier for linux. In Proceedings of the LACSI Symposium, September 2002.]]Google ScholarGoogle Scholar
  23. Michael W. Hicks, Jonathan T. Moore, and Scott Nettles. Dynamic software updating. In SIGPLAN Conference on Programming Language Design and Implementation, pages 13--23, 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Robert Bialek and Eric Jul. A framework for evolutionary, dynamically updatable, component-based systems. In 24th International Conference on Distributed Computing Systems Workshops - W2: DARES(ICDCSW'04), pages 326--331, 2004.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Gareth Stoyle, Michael Hicks, Gavin Bierman, Peter Sewell, and Iulian Neamtiu. Mutatis Mutandis: Safe and predictable dynamic software updating. In Proceedings of POPL 2005: The 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (Long Beach), pages 183--194, January 2005.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Matt Welsh. Implementing loadable kernel modules for Linux. j-DDJ, 20(5):18--20, 22, 24, 96, April 1995.]]Google ScholarGoogle Scholar
  27. Paul E. McKenney and John D. Slingwine. Read-copy update: Using execution history to solve concurrency problems. In Parallel and Distributed Computing and Systems, pages 509--518, Las Vegas, NV, October 1998.]]Google ScholarGoogle Scholar
  28. David E. Lowell, Yasushi Saito, and Eileen J. Samberg. Devirtualizable virtual machines enabling general, single-node, online maintenance. ACM Special Interest Group on Operating Systems (SIGOPS) Operating Systems Review, 38(5):211--223, December 2004.]]Google ScholarGoogle Scholar

Index Terms

  1. Live updating operating systems using virtualization

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          VEE '06: Proceedings of the 2nd international conference on Virtual execution environments
          June 2006
          194 pages
          ISBN:1595933328
          DOI:10.1145/1134760

          Copyright © 2006 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 14 June 2006

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • Article

          Acceptance Rates

          Overall Acceptance Rate80of235submissions,34%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader