7 resultados para Sistemas operativos (Computadoras)
em Universidade Complutense de Madrid
Resumo:
Este proyecto consiste en el diseño e implementación de un dispositivo que permite el registro de los datos de acelerometría de un trayecto realizado por un ciclista para medir el esfuerzo experimentado por éste. Este dispositivo se fijará al manillar o la tija de una bicicleta de montaña y se complementará con la información proporcionada por el GPS de un móvil. Los datos de acelerometría registrados por el dispositivo se enviarán a dicho dispositivo móvil mediante Bluetooth Low Energy, cuyo funcionamiento se explicará durante el transcurso de esta memoria.
Resumo:
PMCTrack es una herramienta de código abierto para Linux que permite monitorizar el rendimiento de las aplicaciones haciendo uso de los contadores hardware del procesador. Esta herramienta soporta la captura de métricas como el número de instrucciones por ciclo o la tasa de fallos de cache. El objetivo de este proyecto es portar PMCTrack al sistema operativo Android sobre plataformas que integran procesadores de ARM. Esto conlleva la realización de las siguientes tareas: (1) modificación de la variante del kernel Linux propia de Android para incluir las extensiones requeridas por el módulo del kernel de PMCTrack, (2) adaptación de las herramientas de modo usuario de PMCTrack, y (3) desarrollo de una aplicación Android que permita visualizar en tiempo real las medidas de los contadores recabadas para las distintas aplicaciones que están siendo monitorizadas. Para poner a prueba la adaptación de la herramienta PMCTrack al sistema operativo Android y mostrar la utilidad de nuestras aportaciones, se han llevado a cabo diversos casos de estudio empleando la placa de desarrollo Odroid XU4.
Resumo:
Los videojuegos educativos, también conocidos como juegos serios, son una herramienta educacional muy poderosa, cuya utilización no está muy extendida en la educación. Estos Serious Games son costosos de producir, y son muy dependientes de los cambios tecnológicos, tanto en el Software como en el Hardware. Por ejemplo, multitud de Serious Games estaban producidos en Adobe Flash o Java, y hoy en día no pueden ser ejecutados en algunos de los dispositivos más nuevos. Uno de los pioneros de los videojuegos serios "Science Pirates: The Curse of Brownbeard", actualmente no está disponible porque no ha sido adaptado a los nuevos sistemas operativos. Por lo tanto, el ciclo de vida de los juegos serios debe ser simpli- ficado para hacerlos una herramienta de confianza. En el equipo de desarrollo e-UCM se ha creado una herramienta de autoría de juegos serios basada en Java llamada eAdventure, así como multitud de juegos serios en colaboración con multitud de instituciones. Para lidiar con los problemas anteriormente identificados, y simplificar el proceso de creación y mantenimiento de juegos serios, y reutilizando la experiencia previa, se ha creado uAdventure. Este proyecto es un editor e intérprete construido sobre Unity3D, que permite la creación de videojuegos educativos sin requisitos de conocimientos de programación. Como uAdventure está construido sobre Unity3D, permite la exportación de videojuegos, de forma sencilla para múltiples plataformas, y los hace más resistentes a los cambios tecnológicos. A lo largo de esta memoria, se explica el proceso de generación del intérprete de videojuegos, así como la integración con el editor desarrollado por Piotr Marszal, en el que se realizan aportaciones, generando editores. Además, para realizar una labor de innovación, y dar soporte a los juegos cuyos desarrolladores no puedan invertir tiempo en transformar sus videojuegos al nuevo sistema de uAdventure, se ha desarrollado un emulador independiente capaz de importar y ejecutar juegos producidos con eAdventure en cualquier plataforma. Finalmente, para dar soporte y mejorar la parte de evaluación de los alumnos, se ha integrado RAGE en la infraestructura del proyecto, permitiendo el acceso a herramientas de Learning Analitics.
Resumo:
Hoy en día vivimos en una sociedad en la que las tecnologías son accesibles para gran parte de la población y las cuales tienen como finalidad, entre otras cosas, facilitar la vida de las personas en la medida de lo posible. Este proyecto busca hacer uso de esas tecnologías para facilitar la accesibilidad a textos para cualquiera que pueda tener dificultades con ellos, en mayor o menor medida. La finalidad de nuestro proyecto no es crear la aplicación para el uso directo de las personas sino desarrollar los servicios, y el acceso a los mismos, que faciliten la implementación de estas aplicaciones. Aún así en este proyecto se crea una aplicación de ejemplo para Android, en la cual se hace uso de los servicios como muestra de un posible uso de los mismos. Para facilitar el acceso a estos servicios y la comprensión de los mismos, en este proyecto se crea también una API web en la cual quedan todos ellos explicados, como acceder a ellos, su descripción, ejemplos de llamadas y de resultados de las llamadas, en definitiva, todo lo que pueda ayudar a un desarrollador interesado en ellos a utilizarlos sin mayor problema. Las aplicaciones posibles de estos servicios son de lo mas extensas. Así, por ejemplo, en un dispositivo móvil, si un usuario está leyendo un libro y no entiende una palabra o le resulta bastante complicada, tan solo tendría que sacar el móvil, introducir la palabra en una aplicación que llamara a uno de nuestros servicios y obtener el resultado requerido de esa palabra, de forma rápida y cómoda. El proyecto queda dividido en tres partes: el desarrollo de los servicios de accesibilidad, la web de la API explicando cada uno de estos servicios y una aplicación Android de ejemplo de utilización.
Resumo:
Durante el desarrollo del proyecto he aprendido sobre Big Data, Android y MongoDB mientras que ayudaba a desarrollar un sistema para la predicción de las crisis del trastorno bipolar mediante el análisis masivo de información de diversas fuentes. En concreto hice una parte teórica sobre bases de datos NoSQL, Streaming Spark y Redes Neuronales y después diseñé y configuré una base de datos MongoDB para el proyecto del trastorno bipolar. También aprendí sobre Android y diseñé y desarrollé una aplicación de móvil en Android para recoger datos para usarlos como entrada en el sistema de predicción de crisis. Una vez terminado el desarrollo de la aplicación también llevé a cabo una evaluación con usuarios.
Resumo:
Los procesadores multicore asimétricos con repertorio común de instrucciones (AMPsAsymmetric Multicore Processors) han sido propuestos recientemente como alternativa de bajo consumo a los procesadores multicore simétricos convencionales. Los AMPs combinan, en un mismo chip, cores rápidos de alto rendimiento, con cores más lentos y sencillos de consumo reducido. Uno de los ejemplos más destacados de procesador multicore asimétrico es el procesador big.LITTLE de ARM, que incorporan algunos modelos de teléfonos móviles y tablets disponibles en la actualidad. Trabajos previos han demostrado que para explotar los beneficios potenciales de los procesadores multicore asimétricos, el sistema operativo debe tener en cuenta el beneficio relativo (speedup) que cada aplicación experimenta al ejecutar en un core rápido frente a un core lento. Actualmente, los planificadores por defecto de los sistemas operativos de propósito general no tienen en cuenta la diversidad de speedups entre aplicaciones que puede estar presente en una carga de trabajo multiprogramada. En consecuencia, la asignación de aplicaciones a cores que hacen estos planificadores no extrae el máximo rendimiento por vatio de la plataforma. Recientemente se han realizado extensiones en el kernel Linux para ofrecer un mejor soporte de planificación en multicore asimétricos. Sin embargo, estas extensiones del planificador, utilizadas fundamentalmente en dispositivos móviles con el sistema operativo Android, tampoco tienen en cuenta la diversidad de speedups en las aplicaciones de la carga de trabajo. Por lo tanto estas extensiones no constituyen una aproximación robusta desde el punto de vista de la eficiencia energética. En este proyecto se lleva a cabo la evaluación exhaustiva de distintos algoritmos de planificación para multicore asimétricos sobre una plataforma provista de un procesador ARM big.LITTLE. El principal objetivo del estudio es cuantificar el grado de eficiencia energética y el rendimiento global proporcionado por implementaciones de estos algoritmos en el kernel Linux sobre hardware multicore asimétrico real.
Resumo:
Branching bisimilarity and branching bisimilarity with explicit divergences are typically used in process algebras with silent steps when relating implementations to specifications. When an implementation fails to conform to its specification, i.e., when both are not related by branching bisimilarity [with explicit divergence], pinpointing the root causes can be challenging. In this paper, we provide characterisations of branching bisimilarity [with explicit divergence] as games between Spoiler and Duplicator, offering an operational understanding of both relations. Moreover, we show how such games can be used to assist in diagnosing non-conformance between implementation and specification.