9 research outputs found

    Teaching operating systems as how computers work

    Full text link

    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

    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 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

    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

    Running on the Bare Metal with GeekOS

    No full text
    Undergraduate operating systems courses are generally taught using one of two approaches: abstract or concrete. In the abstract approach, students learn the concepts underlying operating systems theory, and perhaps apply them using user-level threads in a host operating system. In the concrete approach, students apply concepts by working on a real operating system kernel. In the purest manifestation of the concrete approach, students implement operating system projects that run on real hardware. GeekOS is an instructional operating system kernel which runs on real hardware. It provides the minimum functionality needed to schedule threads and control essential devices on an x86 PC. On this foundation, we have developed projects in which students build processes, semaphores, a multilevel feedback scheduler, paged virtual memory, a filesystem, and inter-process communication. We use the Bochs emulator for ease of development and debugging. While this approach (tiny kernel run on an emulator) is not new, we believe GeekOS goes further towards the goal of combining realism and simplicity than previous systems have
    corecore