A Framework for Visual Modular Design of Educational Operating System
Keywords:Educational Framework, GTK GUI, Modular Design, Teaching Operating System, Visual Programming,
AbstractOperating systems are a vital part in most computing systems. However, learning basic concepts of operating systems are hard for normal students although they are necessary and important. State of the art in teaching operating systems depends on studying existing open source operating systems like Linux, hacking teaching operating systems like Xv6, or using simulators. Difficulties of learning still there in these methods, since they require a great deal of system programming techniques. In this paper, we propose a novel direction in learning operating systems that is solely dependent on visually building the operating system. By using this method, we mitigated the complexity of going into system programming details. The development platform consists of key building blocks that a user can drag and drop into a working panel to build his own operating system. Then, the user can compile and run his own-built system on a virtual machine or any Intel architecture hardware. This paper provides the framework’s key points for building an operating system by modules. It also discussed a simple prototype as a proof of the concept.
Nieh, Jason, and Chris Vaill. "Experiences teaching operating systems using virtual platforms and Linux." ACM SIGCSE Bulletin. Vol. 37. No. 1. ACM, 2005.
Laadan, Oren, Jason Nieh, and Nicolas Viennot. "Structured Linux kernel projects for teaching operating systems concepts." Proceedings of the 42nd ACM technical symposium on Computer science education. ACM, 2011.
Schmidt, Alexander, Andreas Polze, and Dave Probert. "Teaching operating systems: windows kernel projects." Proceedings of the 41st ACM technical symposium on Computer science education. ACM, 2010.
Hess, Rob, and Paul Paulson. "Linux kernel projects for an undergraduate operating systems course." Proceedings of the 41st ACM technical symposium on Computer science education. ACM, 2010.
Yodaiken, Victor. "Cheap operating systems research and teaching with Linux." disponível on-line em http://luz. cs. nmt. edulrtlinux (1996).
Román Otero, Rafael, and Alex A. Aravind. "MiniOS: An Instructional Platform for Teaching Operating Systems Projects." Proceedings of the 46th ACM Technical Symposium on Computer Science Education. ACM, 2015.
Andrus, Jeremy, and Jason Nieh. "Teaching operating systems using android." Proceedings of the 43rd ACM technical symposium on Computer Science Education. ACM, 2012.
Nieh, Jason, and Chris Vaill. "Experiences teaching operating systems using virtual platforms and Linux." ACM SIGOPS Operating Systems Review 40.2 (2006): 100-104.
Ayers, D., P. Smith, and P. Ashton. SunOS Minix: a tool for use in Operating System Laboratories. Department of Computer Science, University of Canterbury, 1993.
Qu, Bo, and Zhaozhi Wu. "Design and Implementation of Tiny Educational OS." Recent Advances in Computer Science and Information Engineering. Springer Berlin Heidelberg, 2012. 437-442.
Cox, Russ, M. Frans Kaashoek, and Robert Morris. "Xv6, a simple Unix-like teaching operating system." 2013-09-05]. http://pdos. csail. mit. edu/6.828/2012/xv6. html (2011).
Cohen, Shimon. "Teaching Operating Systems Scheduling." Proceedings of Informing Science and IT Education Conference. 2010.
Mustafa, Besim. "YASS: a system simulator for operating system and computer architecture teaching and learning." European Journal of Science and Mathematics Education 1.1 (2013): 34-42.
Maia, Luiz Paulo, Francis Berenger Machado, and Ageu C. Pacheco Jr. "A constructivist framework for operating systems education: a pedagogic proposal using the SOsim." ACM SIGCSE Bulletin 37.3 (2005): 218-222.
Jones, David, and Andrew Newman. "RCOS. java: a simulated operating system with animations." Teaching package 1 (2001).
Maia, Luiz Paulo, and A. C. Pacheco. "A simulator supporting lectures on operating systems." Frontiers in Education, 2003. FIE 2003 33rd Annual. Vol. 2. IEEE, 2003.
Koh, Jeong-Gook. "CPUSim: A Simulator supporting the education of CPU Scheduling Algorithms." Journal of the Korea Institute of Information and Communication Engineering 16.4 (2012): 835-842.
Tanenbaum, Andrew S., and Herbert Bos. Modern operating systems. Prentice Hall Press, 2014.
Resnick, Mitchel, et al. "Scratch: programming for all." Communications of the ACM 52.11 (2009): 60-67.
Workstation, VMware, and VMWare Player. "VMware Inc." Palo Alto, California, USA (2002).
Corliss, Marc L., and Marcela Melara. VIREOS: an integrated, bottomup, educational operating systems project with FPGA support. Proceedings of the 42nd ACM technical symposium on Computer science education. ACM, 2011.
Ruth, Paul, and Dennis Brylow. An Experimental Nexos Laboratory Using Virtual Xinu. Frontiers in Education Conference (FIE), 2011. IEEE, 2011.
Ziwisky, Michael, Kyle Persohn, and Dennis Brylow. A down-to-earth educational operating system for up-in-the-cloud many-core architectures. ACM Transactions on Computing Education (TOCE) 13.1 (2013): 4.
Nicholas, Tyrone, and Jerzy A. Barchanski. TOS: an educational distributed operating system in Java. ACM SIGCSE Bulletin. Vol. 33. No. 1. ACM, 2001.
Buenda, Felix, and Juan-Carlos Cano. Webgene: A Generative and Web-Based Learning Architecture to Teach Operating Systems in Undergraduate Courses. IEEE Transactions on Education 49.4 (2006): 464-473.
Liu, Haifeng, Xianglan Chen, and Yuchang Gong. BabyOS: a fresh start. ACM SIGCSE Bulletin 39.1 (2007): 566-570.
Cahya, Soetrisno. Designing Operating System Simulator: A Learning Tool. Computer Modeling and Simulation, 2009. UKSIM’09. 11th International Conference on. IEEE, 2009.
Yile, Fan. Utilizing the Virtualization Technology in Computer Operating System Teaching. Measuring Technology and Mechatronics Automation (ICMTMA), 2016 Eighth International Conference on. IEEE, 2016.
Atkin, Benjamin, and Emin Gn Sirer. PortOS: an educational operating system for the Post-PC environment. ACM SIGCSE Bulletin. Vol. 34. No. 1. ACM, 2002.
Li, Hongwei, et al. Construction of the practical teaching system on operating systems course. Education Technology and COMPUTER Science (ETCS), 2010 Second International Workshop on. Vol. 1. IEEE, 2010.
Cooper, Stephen, Wanda Dann, and Randy Pausch. "Alice: a 3-D tool for introductory programming concepts." Journal of Computing Sciences in Colleges. Vol. 15. No. 5. Consortium for Computing Sciences in Colleges, 2000.
Horspool, R. Nigel, and Nikolai Tillmann. "TouchDevelop: Programming on the Go. The Expert’s Voice. Apress, 2013."
Rohde, Michael. GameMaker: Studio for Dummies. John Wiley & Sons, 2014.
Wells, Lisa K., and Jeffrey Travis. LabVIEW for everyone: graphical programming made even easier. Prentice-Hall, Inc., 1996.
How to Cite
TRANSFER OF COPYRIGHT AGREEMENT
The manuscript is herewith submitted for publication in the Journal of Telecommunication, Electronic and Computer Engineering (JTEC). It has not been published before, and it is not under consideration for publication in any other journals. It contains no material that is scandalous, obscene, libelous or otherwise contrary to law. When the manuscript is accepted for publication, I, as the author, hereby agree to transfer to JTEC, all rights including those pertaining to electronic forms and transmissions, under existing copyright laws, except for the following, which the author(s) specifically retain(s):
- All proprietary right other than copyright, such as patent rights
- The right to make further copies of all or part of the published article for my use in classroom teaching
- The right to reuse all or part of this manuscript in a compilation of my own works or in a textbook of which I am the author; and
- The right to make copies of the published work for internal distribution within the institution that employs me
I agree that copies made under these circumstances will continue to carry the copyright notice that appears in the original published work. I agree to inform my co-authors, if any, of the above terms. I certify that I have obtained written permission for the use of text, tables, and/or illustrations from any copyrighted source(s), and I agree to supply such written permission(s) to JTEC upon request.