skip to main content
10.1145/3338698.3338887acmconferencesArticle/Chapter ViewAbstractPublication PagesiscaConference Proceedingsconference-collections
research-article

gemOS: Bridging the Gap between Architecture and Operating System in Computer System Education

Authors Info & Claims
Published:22 June 2019Publication History

ABSTRACT

Providing adequate exposure to architecture and OS interfaces can enable the students with better understanding of the concepts and increase their interest towards research problems crossing the hardware-software boundaries. Moreover, a framework to explore possible enhancements spanning across the architecture and operating system (OS) layers can be very useful for researchers. The existing tools and techniques used to teach system courses like OS and Computer Architecture serve the objective of respective courses to a large extent. However, exploration crossing the hardware and OS boundaries is particularly difficult due to lack of proper teaching infrastructure integrating the two layers. In this paper, we propose to use a specialized OS executing on the Gem5 full system simulator as an alternate approach to explore the architecture and OS boundaries. Open source OSes like Linux are not suitable for this purpose simply because they are not designed to be used as teaching infrastructure, especially on a system simulator like Gem5. We propose gemOS, a simple OS for 64-bit X86 simulation platform provided by the Gem5 architectural simulator. Further, we propose a simple framework using gemOS along with Gem5 and show its utility towards understanding the OS and architecture interactions, and, show the quick prototyping support of the framework to implement innovative ideas spanning across the two layers. We present use-cases and examples to demonstrate the utility of the proposed framework as a teaching and research infrastructure.

References

  1. Bochs: The cross platform ia-32 emulator. http://bochs.sourceforge.net/.Google ScholarGoogle Scholar
  2. Champsim. https://github.com/ChampSim/ChampSim.Google ScholarGoogle Scholar
  3. Gdb: The gnu project debugger. https://www.gnu.org/software/gdb/.Google ScholarGoogle Scholar
  4. Linux kernel with pti. https://www.kernel.org/doc/Documentation/x86/pti.txt.Google ScholarGoogle Scholar
  5. pintos. https://web.stanford.edu/class/cs140/projects/pintos/pintos.pdf.Google ScholarGoogle Scholar
  6. Wind river simics. https://www.windriver.com/products/simics/.Google ScholarGoogle Scholar
  7. xv6. https://pdos.csail.mit.edu/6.828/2012/xv6.html.Google ScholarGoogle Scholar
  8. Adams, K., and Agesen, O. A comparison of software and hardware techniques for x86 virtualization. In Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems (2006), pp. 2--13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Alian, M., Kim, D., and Sung Kim, N. Pd-gem5: Simulation infrastructure for parallel/distributed computer systems. IEEE Computer Architecture Letters 15, 1 (2016), 41--44. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Arpaci-Dusseau, R. H., and Arpaci-Dusseau, A. C. Operating Systems: Three Easy Pieces, 1.00 ed. Arpaci-Dusseau Books, August 2018. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Bellard, F. Qemu, a fast and portable dynamic translator. In Proceedings of the USENIX Annual Technical Conference (2005). Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Binkert, N., et al. The gem5 simulator. SIGARCH Computer Architecture News (2011), 1--7. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Christopher, W. A., Procter, S. J., and Anderson, T. E. The nachos instructional operating system. In Proceedings of the USENIX Winter 1993 Conference (1993). Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Hennessy, J. L., and Patterson, D. A. A new golden age for computer architecture. Communications ACM 62, 2 (2019), 48--60. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Hsieh, M., Pedretti, K., Meng, J., Coskun, A., Levenhagen, M., and Rodrigues, A. Sst + gem5 = a scalable simulation infrastructure for high performance computing. In Proceedings of the 5th International ICST Conference on Simulation Tools and Techniques (2012), pp. 196--201. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Intel. IntelÂő 64 and ia-32 architectures developer's manual: Vol. 3b. www.intel.com, 2019.Google ScholarGoogle Scholar
  17. Lipp, M., and Others. Meltdown: Reading kernel memory from user space. In Proceedings of the 27th USENIX Conference on Security Symposium (2018), pp. 973--990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Patel, A., Afram, F., Chen, S., and Ghose, K. Marss: A full system simulator for multicore x86 cpus. In Proceedings of the 48th Design Automation Conference (2011), pp. 1050--1055. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Tsai, C.-C., Jain, B., Abdul, N. A., and Porter, D. E. A study of modern linux api usage and compatibility: What to support when you're supporting. In Proceedings of the Eleventh European Conference on Computer Systems (2016), EuroSys '16, pp. 16:1--16:16. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Walter, M., and Karlsson, S. Software tools for low-level software and operating systems classes. In Proceedings of the 19th Workshop on Computer Architecture Education (2017), pp. 16--23. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. gemOS: Bridging the Gap between Architecture and Operating System in Computer System Education

        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
          WCAE'19: Proceedings of the Workshop on Computer Architecture Education
          June 2019
          70 pages
          ISBN:9781450368421
          DOI:10.1145/3338698

          Copyright © 2019 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: 22 June 2019

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Research
          • Refereed limited

          Acceptance Rates

          Overall Acceptance Rate9of10submissions,90%

          Upcoming Conference

          ISCA '24

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader