[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
research-article

SPIFS: short project instructional file system

Published: 01 October 2020 Publication History

Abstract

Understanding file systems is a key objective of both operating systems and systems programming courses. In order to enhance student understanding of file systems, it is common to ask students to implement parts of a file system using a high-level programming language. In this paper, we introduce a self-contained file system that can serve as the basis for such projects. The system includes a set of C++ classes that form the base of a very simple file system. The classes provide only the data structures and interface needed to implement the file system, but not implementations of the key file system operations. It also includes automated test cases for each of ten file system operations that students should implement.

References

[1]
Thomas Anderson and Michael Dahlin. Operating systems: Principles and practice web site (labs). http://ospp.cs.washington.edu/labs.html.
[2]
Jeremy Andrus and Jason Nieh. Teaching operating systems using android. In Proceedings of the 43rd ACM Technical Symposium on Computer Science Education, SIGCSE '12, page 613--618, New York, NY, USA, 2012. Association for Computing Machinery.
[3]
Joshua W. Buck and Saverio Perugini. An interactive, graphical cpu scheduling simulator for teaching operating systems. J. Comput. Sci. Coll., 35(5):78--90, October 2019.
[4]
Bill Bynum and Tracy Camp. After you, alfonse: A mutual exclusion toolkit. SIGCSE Bull., 28(1):170--174, March 1996.
[5]
Wayne A. Christopher, Steven J. Procter, and Thomas E. Anderson. The nachos instructional operating system. In Proceedings of the USENIX Winter 1993 Conference, USENIX'93, page 4, USA, 1993. USENIX Association.
[6]
Russ Cox, Frans Kaashoek, and Robert Morris. xv6: a simple, unix-like teaching operating system. https://pdos.csail.mit.edu/6.828/2019/xv6/book-riscv-rev0.pdf.
[7]
Sarah Diesburg and Andrew Berns. Fileshark: A graphical file system visualization tool. In Proceedings of the 51st ACM Technical Symposium on Computer Science Education, SIGCSE '20, page 1359, New York, NY, USA, 2020. Association for Computing Machinery.
[8]
Reva Freedman. Using an operating systems class to strengthen students' knowledge of c++. In Proceedings of the 51st ACM Technical Symposium on Computer Science Education, SIGCSE '20, page 947--953, New York, NY, USA, 2020. Association for Computing Machinery.
[9]
Michael Goldweber, Renzo Davoli, and Tomislav Jonjic. Supporting operating systems projects using the μmps2 hardware simulator. In Proceedings of the 17th ACM Annual Conference on Innovation and Technology in Computer Science Education, ITiCSE '12, page 63--68, New York, NY, USA, 2012. Association for Computing Machinery.
[10]
Rob Hess and Paul Paulson. Linux kernel projects for an undergraduate operating systems course. In Proceedings of the 41st ACM Technical Symposium on Computer Science Education, SIGCSE '10, page 485--489, New York, NY, USA, 2010. Association for Computing Machinery.
[11]
David A. Holland, Ada T. Lim, and Margo I. Seltzer. A new instructional operating system. SIGCSE Bull., 34(1):111--115, February 2002.
[12]
Richard Immers and Gerald G. Neufeld. Inside Commodore DOS. Reston Publishing Company, Reston, VA, USA, 1984.
[13]
Association for Computing Machinery (ACM) Joint Task Force on Computing Curricula and IEEE Computer Society. Computer Science Curricula 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science. Association for Computing Machinery, New York, NY, USA, 2013.
[14]
Oren Laadan, Jason Nieh, and Nicolas Viennot. Structured linux kernel projects for teaching operating systems concepts. In Proceedings of the 42nd ACM Technical Symposium on Computer Science Education, SIGCSE '11, page 287--292, New York, NY, USA, 2011. Association for Computing Machinery.
[15]
Bruce Mechtly, Fritz Helbert, Dylan Cox, and Zachary Hastings. The visible file system: An application for teaching file system internals. J. Comput. Sci. Coll., 34(4):24--31, April 2019.
[16]
Gary J. Nutt. Kernel Projects for Linux. Addison-Wesley Longman Publishing Co., Inc., USA, 1st edition, 2000.
[17]
Ben Pfaff, Anthony Romano, and Godmar Back. The pintos instructional operating system kernel. In Proceedings of the 40th ACM Technical Symposium on Computer Science Education, SIGCSE '09, page 453--457, New York, NY, USA, 2009. Association for Computing Machinery.
[18]
Steven Robbins and Kay A. Robbins. Empirical exploration in undergraduate operating systems. SIGCSE Bull., 31(1):311--315, March 1999.
[19]
Alexander Schmidt, Andreas Polze, and Dave Probert. Teaching operating systems: Windows kernel projects. In Proceedings of the 41st ACM Technical Symposium on Computer Science Education, SIGCSE '10, page 490--494, New York, NY, USA, 2010. Association for Computing Machinery.
[20]
Fadi N. Sibai, Maria Ma, and David A. Lill. Teaching page replacement algorithms with a java-based vm simulator. In Proceedings of the 14th Western Canadian Conference on Computing Education, WCCCE '09, page 22--28, New York, NY, USA, 2009. Association for Computing Machinery.
[21]
Andrew S Tanenbaum. A unix clone with source code for operating systems courses. SIGOPS Oper. Syst. Rev., 21(1):20--29, January 1987.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Journal of Computing Sciences in Colleges
Journal of Computing Sciences in Colleges  Volume 36, Issue 3
Papers of the 36th Annual CCSC Eastern Conference
October 2020
176 pages
ISSN:1937-4771
EISSN:1937-4763
Issue’s Table of Contents

Publisher

Consortium for Computing Sciences in Colleges

Evansville, IN, United States

Publication History

Published: 01 October 2020
Published in JCSC Volume 36, Issue 3

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 16
    Total Downloads
  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)1
Reflects downloads up to 12 Dec 2024

Other Metrics

Citations

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media