| Name: | Description: | Size: | Format: | |
|---|---|---|---|---|
| 1.68 MB | Adobe PDF |
Authors
Advisor(s)
Abstract(s)
This document discusses the development of forkSim, a tool that can be used to support the teaching of system-level programming within the context of Operating Systems classes, by facilitating the comprehension and analysis of the behavior of C codes representing process-based concurrent programs involving fork system calls.
The tool builds on two main components. The first is a C code preprocessor, created using language processing techniques. The preprocessor embeds inspectors into the C code before its compilation and execution. In runtime, the inspectors extract relevant data from the actions performed and generate a JSON file. The second component is a web application that generates a visual representation of the program flow based on the JSON file. This visualization incorporates elements from BPMN diagrams and draws inspiration from representations used for many years in OS classes. The development of forkSim faced several technical challenges and involved some design decisions, both documented in this document, along with a discussion of the results achieved. The tool was evaluated in a real classroom environment, and the results suggest that it can be a valuable resource for students and instructors in the context of Operating Systems classes.
Este documento discute o desenvolvimento do forkSim, uma ferramenta que pode ser usada para apoiar o ensino de programação de nível de sistema no contexto das aulas de Sistemas Operativos, facilitando a compreensão e análise do comportamento de códigos C que representam programas concorrentes baseados em processos envolvendo chamadas de sistema fork. A ferramenta se baseia em dois componentes principais. O primeiro é um preprocessador de código C, criado utilizando técnicas de processamento de linguagem. Este pré-processador insere inspetores no código C antes de sua compilação e execução. Em tempo de execução, os inspetores extraem dados relevantes das ações realizadas e geram um arquivo JSON. O segundo componente é uma aplicação web que gera uma representação visual do fluxo do programa com base no arquivo JSON. Essa visualização incorpora elementos de diagramas BPMN e se inspira em representações utilizadas há muitos anos em aulas de Sistemas Operativos. O desenvolvimento do forkSim enfrentou vários desafios técnicos e envolveu algumas decisões de design, todas documentadas neste documento, juntamente com uma discussão dos resultados alcançados. A ferramenta foi avaliada em um ambiente de sala de aula real, e os resultados sugerem que ela pode ser um recurso valioso para estudantes e instrutores no contexto de aulas de Sistemas Operativos.
Este documento discute o desenvolvimento do forkSim, uma ferramenta que pode ser usada para apoiar o ensino de programação de nível de sistema no contexto das aulas de Sistemas Operativos, facilitando a compreensão e análise do comportamento de códigos C que representam programas concorrentes baseados em processos envolvendo chamadas de sistema fork. A ferramenta se baseia em dois componentes principais. O primeiro é um preprocessador de código C, criado utilizando técnicas de processamento de linguagem. Este pré-processador insere inspetores no código C antes de sua compilação e execução. Em tempo de execução, os inspetores extraem dados relevantes das ações realizadas e geram um arquivo JSON. O segundo componente é uma aplicação web que gera uma representação visual do fluxo do programa com base no arquivo JSON. Essa visualização incorpora elementos de diagramas BPMN e se inspira em representações utilizadas há muitos anos em aulas de Sistemas Operativos. O desenvolvimento do forkSim enfrentou vários desafios técnicos e envolveu algumas decisões de design, todas documentadas neste documento, juntamente com uma discussão dos resultados alcançados. A ferramenta foi avaliada em um ambiente de sala de aula real, e os resultados sugerem que ela pode ser um recurso valioso para estudantes e instrutores no contexto de aulas de Sistemas Operativos.
Description
Mestrado de dupla diplomação com a UTFPR - Universidade Tecnológica Federal do Paraná
Keywords
E-Learning tool Operating system System programming Code instrumentation Inspector functions C BPMN
