24 research outputs found

    XinuPi3: Teaching Multicore Concepts Using Embedded Xinu

    Get PDF
    As computer platforms become more advanced, the need to teach advanced computing concepts grows accordingly. This paper addresses one such need by presenting XinuPi3, a port of the lightweight instructional operating system Embedded Xinu to the Raspberry Pi 3. The Raspberry Pi 3 improves upon previous generations of inexpensive, credit card-sized computers by including a quad-core, ARM-based processor, opening the door for educators to demonstrate essential aspects of modern computing like inter-core communication and genuine concurrency. Embedded Xinu has proven to be an effective teaching tool for demonstrating low-level concepts on single-core platforms, and it is currently used to teach a range of systems courses at multiple universities. As of this writing, no other bare metal educational operating system supports multicore computing. XinuPi3 provides a suitable learning environment for beginners on genuinely concurrent hardware. This paper provides an overview of the key features of the XinuPi3 system, as well as the novel embedded system education experiences it makes possible

    A Systematic Map for Improving Teaching and Learning in Undergraduate Operating Systems Courses

    Get PDF
    Operating Systems (OS) is an important area of knowledge included in virtually allundergraduate computing curricula and in some engineering curricula as well. Teaching and learning anOS undergraduate course have always been a challenge. Several different approaches have been used for OSteaching and learning. Nevertheless, it is not easy for a teacher to choose one of them. No guidelines areavailable on how to choose one of them to match the specific objectives of each OS course. The objective ofthis paper is to analyze the approaches that have been used to improve OS teaching and learning by applyinga systematic map. In particular, we consider the following dimensions: learning objectives, assessment,empirical study, methodology, and mode (face-to-face, online, or blended). The systematic map devisedin this paper is focused on the time span from 1995 to 2017 and considered six of the major publicationson the Computer Science Education. We considered three journals (theJournal of Engineering Education,the IEEE TRANSACTIONS ONEDUCATION, and theInternational Journal of Engineering Education) and threeconferences (the ACM Technical Symposium on Computer Science Education—SIGCSE, the Conferenceon Computing Education Research—ITiCSE, and the International Conference on Computing EducationResearch—Koli). A total of 55 papers were included in the study after performing a search based on theinclusion/exclusion criteria. Nine approaches to improve OS teaching and learning were identified andanalyzed. Furthermore, the implications for OS instructors and for research in this field are discussed.2018-1

    MiniOS: an instructional platform for teaching operating systems labs

    Get PDF
    Delivering hands-on practice laboratories for introductory courses on operating systems is a difficult task. One of the main sources of the difficulty is the sheer size and complexity of the operating systems software. Consequently, some of the solutions adopted in the literature to teach operating systems laboratory consider smaller and simpler systems, generally referred to as instructional operating systems. This work continues in the same direction and is threefold...MiniOSoperating systems laborator

    A graphical file system visualization tool for operating systems

    Get PDF
    Fileshark was developed for the primary purpose of aiding in the teaching of students in file system related courses, particularly at the undergraduate level, by providing a visual representation of often abstract file system ideas. Many teachers find it difficult to teach the file system in detail in a typical operating systems classroom environment due to its abstract nature and the inability to truly observe what is occurring within the file system. Fileshark provides an easy to use interface that can be used by both students and professors to visualize the internal workings of the file system and the processes that allow the file system to read, store and delete data. Such a program also has applications for systems forensics and system security related research. The application described in the following project is the result of those aims. The future goal of this project is for the application to be tested in the classroom setting with the goal of continued implementation into file system related curriculum

    Using The Nanvix Operating System in Undergraduate Operating System Courses

    Get PDF
    National audienceOperating Systems (OSs) have an important position in the Computer Science curriculum. When students face this subject, they study core concepts, mechanisms and strategies that apply to several fields. To support practical lectures in an OSs course, instructors may adopt an OS on which students can work, exercising their knowledge and enhancing their practical skills. In this context, we present Nanvix, a new OS designed to address this use in undergraduate OSs courses. We introduce a flexible assignment-based teaching methodology for our OS, and we assess the effectiveness of this methodology by applying it in the OSs course of the Pontifical Catholic University of Minas Gerais. When using Nanvix, the average score of the students in the course increased in 11.2%, and the failure rate dropped 47.7%. Moreover, we observed that with Nanvix students got more motivated and interested in the OSs field

    Studio e realizzazione dell’emulatore μARM e del progetto JaeOS per la didattica dei Sistemi Operativi

    Get PDF
    La maggior parte degli strumenti per la didattica dei sistemi operativi sono basati sull'architettura MIPS, che è ampiamente superata. Questo lavoro introduce μARM, un emulatore, basato su architettura ARM7TDMI adeguato all'insegnamento a livello universitario. Inoltre viene presentato JaeOS, un manuale di specifiche per un sistema operativo multi-strato che supporti esecuzione multi-processo, memoria virtuale, sincronizzazione dei thread, gestione di dispositivi esterni ed un file system. I progetti tradizionali, come OSP2 o OS/161, forniscono un buon quantitativo di codice già sviluppato agli studenti, i quali devono modificare i moduli del sistema già implementati ed aggiungerne di nuovi. Con μARM/JaeOS gli studenti sono sottoposti ad un'esperienza pedagogicamente differente, partendo dal solo emulatore hardware e finendo con un sistema operativo, interamente sviluppato da loro, in grado di eseguire programmi sviluppati dagli studenti stessi
    corecore