Drivers para Linux embebido Martin Ribelotta

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Drivers para Linux embebido Martin Ribelotta"

Transcripción

1 Drivers para Linux embebido Martin Ribelotta

2 Temario Drivers en Linux Hola System-land Mundo! Recursos del Kernel IO-MEM, Direcciones Virtuales vs Reales Comunicándose con el user-land Ejemplo practico: Chalten amba_dev

3 Drivers en Linux User-Land App-0 App-1 Socket Video4Linux USB driver Driver Lib Daemon System-Land FireWire driver WebCam App-3 App-2 Driver Lib Kernel Trap Gates (Syscalls) Virtual File System SATA USB driver driver Disco Rígido GEM Kernel Modesetting Framebuffer Video Placa de Audio ALSA

4 Hola 'system-land' Mundo! Codigo minimo de nuestro driver hola_kernel.c #include <linux/module.h> #include <linux/module.h> #include <linux/kernel.h> #include <linux/kernel.h> static int init hola_init(void) { static int init hola_init(void) { printk("hola system-land!.\n"); printk("hola system-land!.\n"); return 0; // 0 Ok, No 0 fallo return 0; // 0 Ok, No 0 fallo } } static void exit hola_done(void) { static void exit hola_done(void) { printk("chau system-land!\n"); printk("chau system-land!\n"); } } module_init(hola_init); module_init(hola_init); module_exit(hola_done); module_exit(hola_done);

5 Hola 'system-land' Mundo! Makefile obj-m += hola_kernel.o obj-m += hola_kernel.o all: all: clean: clean: make -C /lib/modules/$(kdir)/build M=$(PWD) modules make -C /lib/modules/$(kdir)/build M=$(PWD) modules make -C /lib/modules/$(kdir)/build M=$(PWD) clean make -C /lib/modules/$(kdir)/build M=$(PWD) clean

6 Hola 'system-land' Mundo! Así se compila: $~/: $~/: make make KDIR=/home/devel/kernel chalten KDIR=/home/devel/kernel chalten

7 Hola 'system-land' Mundo! Así se compila: $~/: $~/: make make KDIR=/home/devel/kernel chalten KDIR=/home/devel/kernel chalten!Debemos tener los headers del nucleo a mano! O los fuentes directamente ;-)

8 Hola 'system-land' Mundo! Copiamos al target (nfs o ssh) scp scp hola_kernel.ko hola_kernel.ko

9 Hola 'system-land' Mundo! Copiamos al target (nfs o ssh) scp scp hola_kernel.ko hola_kernel.ko Y por fin ejecutamos (en el target) $~/: $~/: insmod insmod /root/hola_kernel.ko /root/hola_kernel.ko

10 Hola 'system-land' Mundo! Copiamos al target (nfs o ssh) scp scp hola_kernel.ko hola_kernel.ko Y por fin ejecutamos (en el target) $~/: $~/: insmod insmod /root/hola_kernel.ko /root/hola_kernel.ko Ahora el log nos dice que el modulo está cargado $~/: dmesg tail -n 1 [ ] Hola system-land!.

11 Hola 'system-land' Mundo! Cuando queramos removerlo: $~/: $~/: rmmod rmmod hola_kernel hola_kernel

12 Hola 'system-land' Mundo! Cuando queramos removerlo: $~/: $~/: rmmod rmmod hola_kernel hola_kernel Al revisar el log y vemos que se descargó correctamente $~/: dmesg tail -n 2 [ ] Hola system-land!. [ ] Chau system-land!

13 Recursos del Kernel Interface para char devices Interface para block devices Memoria dinámica en el núcleo Threads del núcleo Manejo de direcciones virtuales/reales Acceso a buses (pci, usb, scsi, etc.) Abstracción de DMA Acceso a userland (/proc, /dev, /sysfs)

14 Recursos del Kernel Interface para char devices Interface para block devices Memoria dinámica en el núcleo Threads del núcleo Manejo de direcciones virtuales/reales Acceso a buses (pci, usb, scsi, etc.) Abstracción de DMA Acceso a userland (/proc, /dev, /sysfs)

15 IO-MEM, Direcciones Virtuales vs Reales Repaso a Memoria Virtual Bus del sistema MEM CPU Dirección logica TLB Page table I/O Periférico Dirección fisica

16 IO-MEM, Direcciones Virtuales vs Reales Pasos para acceder a un area de memoria Adqurir la reguion para uso privado memreg memreg == request_mem_region(startaddr, request_mem_region(startaddr, SIZE, SIZE, "name"); "name");

17 IO-MEM, Direcciones Virtuales vs Reales Pasos para acceder a un area de memoria Adqurir la reguion para uso privado memreg memreg == request_mem_region(startaddr, request_mem_region(startaddr, SIZE, SIZE, "name"); "name"); Mapear las direcciónes fisicas al area virtual void void *memptr *memptr == ioremap(startaddr, ioremap(startaddr, SIZE); SIZE);

18 IO-MEM, Direcciones Virtuales vs Reales Pasos para acceder a un area de memoria Adqurir la reguion para uso privado memreg memreg == request_mem_region(startaddr, request_mem_region(startaddr, SIZE, SIZE, "name"); "name"); Mapear las direcciónes fisicas al area virtual void void *memptr *memptr == ioremap(startaddr, ioremap(startaddr, SIZE); SIZE); STARTADDR debe estar alineado a 4K SIZE esta dado en bloques de 4K

19 IO-MEM, Direcciones Virtuales vs Reales Ahora accedemos como si fuera un area adquirida com malloc o similar void void *memptr *memptr TLB Primitivas Primitivasde delectura lectura unsigned unsigned int int ioread8(void ioread8(void *addr); *addr); unsigned int ioread16(void unsigned int ioread16(void *addr); *addr); unsigned int ioread32(void *addr); unsigned int ioread32(void *addr);

20 IO-MEM, Direcciones Virtuales vs Reales Ahora accedemos como si fuera un area adquirida com malloc o similar void void *memptr *memptr TLB Primitivas Primitivasde deescritura escritura void void iowrite8(u8 iowrite8(u8 value, value, void void *addr); *addr); void iowrite16(u16 value, void void iowrite16(u16 value, void *addr); *addr); void iowrite32(u32 value, void *addr); void iowrite32(u32 value, void *addr);

21 IO-MEM, Direcciones Virtuales vs Reales Al terminar de usar las cosas: Limpiar! Desmapeamos la memoria fisica iounmap(memptr); iounmap(memptr); Desbloqueamos la región release_mem_region(startaddr, release_mem_region(startaddr, SIZE); SIZE);

22 Comunicándose con el user-land Directorio /dev tipico dev_t device; // major/minor

23 Comunicándose con el user-land Necesitamos: #include <linux/fs.h> #include <linux/uaccess.h>

24 Comunicándose con el user-land Creamos un dev_t dev = register_chrdev(0, nombre_sugerido, &fops); Número mayor asignado automáticamente struct file_operations scull_fops = {.owner = THIS_MODULE,.llseek = func_llseek,.read = func_read,.write = func_write,.ioctl = func_ioctl,.open = func_open,.release = func_release, };

25 Comunicándose con el user-land Ejemplos de prototipos de callbacks ssize_t read(struct file *filp, char user *buff, size_t count, loff_t *offp); ssize_t write(struct file *filp, const char user *buff, size_t count, loff_t *offp);

26 Comunicándose con el user-land Tus aimgas son: unsigned long copy_to_user(void user *to, const void *from, unsigned long count); unsigned long copy_from_user(void *to, const void user *from, unsigned long count);

27 Comunicándose con el user-land

28 Comunicándose con el user-land Al remover el modulo: unregister_chrdev(major(device), nombre );

29 Comunicándose con el user-land Referencias: Linux Device Drivers 3rd edition Kernel API

30 Contacto EmTech

Aspectos básicos de la programación de entrada/salida

Aspectos básicos de la programación de entrada/salida Plataformas de Tiempo Real: Dispositivos y Drivers Tema 2. Programación básica de E/S en Linux Aspectos básicos de la programación de E/S Arquitectura y programación de la E/S en el sistema operativo Módulos

Más detalles

Breve tutorial para escribir drivers en Linux

Breve tutorial para escribir drivers en Linux Breve tutorial para escribir drivers en Linux Xavier Calbet GULIC (Grupo de Usuarios de LInux de Canarias) xcalbet@yahoo.es Do you pine for the nice days of Minix-1.1, when men were men and wrote their

Más detalles

Programación de Controladores para Linux

Programación de Controladores para Linux Programación de Controladores para Linux Edgardo E. Hames, Julio A. Bianco Revisión 2.0.1 (1740, 2012-09-27) 1. Introducción Linux es un clon del sistema operativo Unix, escrito desde cero por Linus Torvalds

Más detalles

Linux Devices DriversDesarrollo de un char device

Linux Devices DriversDesarrollo de un char device Linux Devices Drivers Desarrollo de un char device Noviembre 2010 Agenda Prerequisitos 1 Prerequisitos. 2. 3 Registro y funcionalidades. 4 5 6 Linux Headers Prerequisitos Que tenemos que instalar antes

Más detalles

Linux. Kernel Linux Modulos y procfs

Linux. Kernel Linux Modulos y procfs Linux Kernel Linux Modulos y procfs Kernel El kernel Linux se compila a un gran binario: es un kernel monolítico. Existe la posibilidad de que ciertas partes se modifiquen en tiempo de ejecución, pero

Más detalles

Interfaces y Manejadores de Dispositivos

Interfaces y Manejadores de Dispositivos Informática Electrónica Unidad 6 Interfaces y Manejadores de Dispositivos Modalidad y Materiales Dos clases expositivas a cargo del docente responsable (jlsimon@fceia.unr.edu.ar) Una práctica cargo de

Más detalles

Linux Devices Drivers Guía para desarrollo de Device Drivers en Linux

Linux Devices Drivers Guía para desarrollo de Device Drivers en Linux Linux Devices Drivers Guía para desarrollo de Device Drivers en Linux 1 Introducción Conceptos básicos 2 We're back to the times when men where men and wrote their own device drivers... Device Drivers

Más detalles

LABORATORIO 2. La biblioteca a nivel de usuario semso (semáforos Sistemas Operativos) brinda las siguientes primitivas:

LABORATORIO 2. La biblioteca a nivel de usuario semso (semáforos Sistemas Operativos) brinda las siguientes primitivas: 1 Introducción LABORATORIO 2 En esta tarea se desea implementar un servicio sincronización de procesos a través de semáforos binarios con prioridad para el sistema operativo Linux. Para esto se deberá

Más detalles

Afinamiento del Sistema

Afinamiento del Sistema Afinamiento del Sistema /home/oscar/asignaturas/aso/presentacion1/aso.sxi Oscar Alejandro Ferrer Bernal Facultad de Informática Universidad de Las Palmas de Gran Canaria Parte 1 Ajuste del Sistema Areas

Más detalles

Taller de Tiempo Real para Control Robótico Mi Introducción A los Drivers

Taller de Tiempo Real para Control Robótico Mi Introducción A los Drivers Taller de Tiempo Real para Control Robótico Mi Introducción A los Drivers Dr. Nelson Acosta nacosta@exa.unicen.edu.ar INCA / INTIA-Facultad Ciencias Exactas-UNCPBA Tandil - Argentina (des)organización

Más detalles

Periféricos Interfaces y Buses

Periféricos Interfaces y Buses Periféricos Interfaces y Buses I. Arquitectura de E/S II. Programación de E/S III. Interfaces de E/S de datos IV. Dispositivos de E/S de datos V. Buses Buses de E/S (PCI, PC104, AGP). Sistemas de interconexión

Más detalles

Tema 5: Diseño modular. Índice. Notas. Programación 2. Curso 2014-2015. Notas. Ejemplo. La herramienta make. 1 Diseño modular.

Tema 5: Diseño modular. Índice. Notas. Programación 2. Curso 2014-2015. Notas. Ejemplo. La herramienta make. 1 Diseño modular. : Programación 2 Curso 2014-2015 Índice 1 2 3 (1/2) Cuando el programa crece es necesario dividirlo en módulos Cada módulo agrupa una serie de funciones con algo en común El módulo puede reutilizarse en

Más detalles

TEMA 8. SISTEMAS OPERATIVOS PARA TIEMPO REAL.

TEMA 8. SISTEMAS OPERATIVOS PARA TIEMPO REAL. TEMA 8. SISTEMAS OPERATIVOS PARA TIEMPO REAL. 8.1. Introducción. 8.2. Problemas de los sistemas operativos convencionales. 8.3. Sistemas operativos para tiempo real 8.3.2. KU-Real-Time Linux (KURT). 8.3.3.

Más detalles

Enseñanza de programación multihilo y controladores de dispositivo en entornos Windows para alumnos de electrónica

Enseñanza de programación multihilo y controladores de dispositivo en entornos Windows para alumnos de electrónica Enseñanza de programación multihilo y controladores de dispositivo en entornos Windows para alumnos de electrónica A. Da Silva, V. Hernández y J.F. Martínez Departamento de Ingeniería y Arquitecturas Telemáticas.

Más detalles

Programación en modo Kernel y Desarrollo de drivers. Carlos Manuel Duclos Vergara carlos@embedded.cl Embedded CL

Programación en modo Kernel y Desarrollo de drivers. Carlos Manuel Duclos Vergara carlos@embedded.cl Embedded CL Programación en modo Kernel y Desarrollo de drivers Carlos Manuel Duclos Vergara carlos@embedded.cl Embedded CL Advertencias APAGAR LOS CELULARES! Contenidos Estructura de un sistema Unix / Linux Principios

Más detalles

Desarrollo de un driver GNU/Linux para sistemas de adquisición de datos embebidos. GNU/Linux driver development for embedded data acquisition systems

Desarrollo de un driver GNU/Linux para sistemas de adquisición de datos embebidos. GNU/Linux driver development for embedded data acquisition systems Tipo de artículo: Artículo original Temática: Software libre Recibido: 14/03/2014 Aceptado: 9/04/14 Desarrollo de un driver GNU/Linux para sistemas de adquisición de datos embebidos GNU/Linux driver development

Más detalles

Contenido. Sistemas de Entrada/Salida. Categorias de los Dispositivos de Entrada/Salida. Categorias de los Dispositivos de Entrada/Salida

Contenido. Sistemas de Entrada/Salida. Categorias de los Dispositivos de Entrada/Salida. Categorias de los Dispositivos de Entrada/Salida Contenido Sistemas de Categorias de los Dispositivos de En qué se diferencian los dispositivos de? Técnicas para realizar la E/S Interrupciones Interfaces involucradas en E/S Buffering Categorias de los

Más detalles

El bus PCI (Peripheral Component Interconnect) es uno de los más habituales en las arquitecturas PC, así como en Alpha, PowerPC, SPARC64 e IA-64

El bus PCI (Peripheral Component Interconnect) es uno de los más habituales en las arquitecturas PC, así como en Alpha, PowerPC, SPARC64 e IA-64 Plataformas de Tiempo Real: Dispositivos y Drivers Tema 6. Buses El bus PCI Programación del bus PCI Programación de la tarjeta PCI-9111DG GRUPO DE COMPUTADORES Y TIEMPO REAL J. Javier Gutiérrez, Michael

Más detalles

Interfaz de Programación del Controlador MCA

Interfaz de Programación del Controlador MCA Interfaz de Programación del Controlador MCA Alan Cox alan@redhat.com David Weinehall Chris Beauregard Interfaz de Programación del Controlador MCA por Alan Cox, David Weinehall, y Chris Beauregard Copyright

Más detalles

Trabajo práctico. Sistemas Operativos

Trabajo práctico. Sistemas Operativos Trabajo práctico Sistemas Operativos 1C/2010 1 Introducción 11 Objetivos Al terminar este trabajo Ud habrá aprendido a: 1 Instalar Linux sobre un sistema de virtualización 2 Utilizar los principales comandos

Más detalles

Tema 6. Gestión avanzada de la E/S

Tema 6. Gestión avanzada de la E/S Departamento de Ingeniería y Tecnología de Computadores Universidad de Murcia Índice 1 Objetivos de diseño del software de E/S 2 3 Sistemas RAID Reubicación de bloques Objetivos de diseño del software

Más detalles

Estructura del Sistema Operativo. Módulo 2. Estructuras de Sistemas Operativos

Estructura del Sistema Operativo. Módulo 2. Estructuras de Sistemas Operativos Estructura del Sistema Operativo Módulo 2 Estructuras de Sistemas Operativos Servicios de Sistemas operativos Interfaz de Usuario del Sistema Operativo Llamadas a Sistema Tipos de Llamadas a Sistema Programas

Más detalles

Software Libre / Código Abierto Programa de contenidos

Software Libre / Código Abierto Programa de contenidos Software Libre / Código Abierto Programa de contenidos Resumen Se presenta a continuación la organización de un curso de cincuenta horas cuyo fin es dar a conocer la base ideológica que sostiene a los

Más detalles

Integrated Drive Electronics. Jaisiel Santana Almeida Javier Hernández Trujillo

Integrated Drive Electronics. Jaisiel Santana Almeida Javier Hernández Trujillo Integrated Drive Electronics Jaisiel Santana Almeida Javier Hernández Trujillo IDE Qué es IDE? Breve historia sobre IDE/ATA Repaso a la arquitectura ATA Cómo ve el sistema los dispositivos IDE Estructuras

Más detalles

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA 208006 Sistemas Embebidos Act 11: Reconocimiento Unidad 3 LECTURA 1

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA 208006 Sistemas Embebidos Act 11: Reconocimiento Unidad 3 LECTURA 1 LECTURA 1 Qué diferencias hay entre aplicaciones para PC convencional o para sistemas embebidos? No es lo mismo desarrollar aplicaciones para un PC convencional que para un sistema embebido. El desarrollo

Más detalles

Real Time Workshop (RTW)

Real Time Workshop (RTW) Real Time Workshop (RTW) Laboratorio de Automatización - UNQ Pág. 1 RTW Simulación de algoritmos en tiempo real. Modelo del Controlador. Modelo de la Planta. Pasos para crear un algoritmo en tiempo real:

Más detalles

Sistemas Operativos - Intro

Sistemas Operativos - Intro Sistemas Operativos - Intro Técnicas Digitales III Ing. Gustavo Nudelman 2012 Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Conceptos generales Un sistema operativo es simplemente un

Más detalles

Sockets (TCP) Tema 2.- Nivel de aplicación en Internet

Sockets (TCP) Tema 2.- Nivel de aplicación en Internet Sockets (TCP) Tema 2- Nivel de aplicación en Internet Dr Daniel Morató es de Computadores Ingeniero Técnico en Informática de Gestión, 2º curso Material parcialmente adaptado del libro Computer Networking:

Más detalles

Sistemas Operativos. Administración de Periféricos

Sistemas Operativos. Administración de Periféricos Sistemas Operativos Administración de Periféricos 1 Temario Objetivos Repaso de Unidades involucradas: Canales, UC, Dispositivos, instrucciones de E/S, tipos de canales Asignación de dispositivos Base

Más detalles

Sistemas Operativos. Tema 1. Arquitectura Básica de los Computadores

Sistemas Operativos. Tema 1. Arquitectura Básica de los Computadores Sistemas Operativos. Tema 1 Arquitectura Básica de los Computadores http://www.ditec.um.es/so Departamento de Ingeniería y Tecnología de Computadores Universidad de Murcia Sistemas Operativos. Tema 1 Arquitectura

Más detalles

Nota : No se debe conectar como unidad de CD a la tarjeta de sonido.

Nota : No se debe conectar como unidad de CD a la tarjeta de sonido. Configuración HP8100 bajo Linux Proyecto ITStaff Autor Jhon H. Caicedo O. Descripción Configuración de la unidad CD-R HP8100 bajo Linux Revisiones 1.00 Abr/04/2000 Revisado para

Más detalles

Capítulo 1 Introducción a la Computación

Capítulo 1 Introducción a la Computación Capítulo 1 Introducción a la Computación 1 MEMORIA PRINCIPAL (RAM) DISPOSITIVOS DE ENTRADA (Teclado, Ratón, etc) C P U DISPOSITIVOS DE SALIDA (Monitor, Impresora, etc.) ALMACENAMIENTO (Memoria Secundaria:

Más detalles

Esta operación merecerá la pena ser efectuada en determinadas ocasiones, que podemos enumerar así:

Esta operación merecerá la pena ser efectuada en determinadas ocasiones, que podemos enumerar así: 10. Núcleo 10.1. Introducción La configuración del kernel es un proceso muy delicado y crítico que no se suele hacer muy a menudo y cuando se hace es con todas las precauciones y medidas de seguridad posibles,

Más detalles

Linux Avanzado Tema 10: Almacenamiento Dinámico

Linux Avanzado Tema 10: Almacenamiento Dinámico Linux Avanzado Tema 10: Almacenamiento Dinámico Agregado de hardware nuevo Sobre el hardware Linux, en especial sus últimas versiones, cuenta con una capacidad increíblemente robusta y amplia para utilizar

Más detalles

ADT GStreamer API Manipulación de dispositivos de captura de vídeo mediante GStreamer en C++

ADT GStreamer API Manipulación de dispositivos de captura de vídeo mediante GStreamer en C++ ADT GStreamer API Manipulación de dispositivos de captura de vídeo mediante GStreamer en C++ Mario Chririnos Colunga Áurea - Desarrollo Tecnológico 30 de noviembre de 2010 Índice 1. Introducción 1 2. ADT

Más detalles

CURSO ADMINISTRACIÓN SISTEMAS LINUX

CURSO ADMINISTRACIÓN SISTEMAS LINUX CURSO ADMINISTRACIÓN SISTEMAS LINUX Objetivo General Al final del curso el participante estará en condiciones de realizar todas las labores de instalación, configuración y preparación para la Administración

Más detalles

Programación Concurrente

Programación Concurrente Master en Computación Programación Concurrente Bloque II: Programación concurrente en POSIX Tema 1. Introducción al estándar POSIX Tema 3. Gestión de Threads Tema 4. Gestión del Tiempo Tema 5. Planificación

Más detalles

Examen de Fundamentos de sistemas distribuidos

Examen de Fundamentos de sistemas distribuidos Examen de Fundamentos de sistemas distribuidos Tiempo total: 2 horas Problema: Programa: Rendezvous con semáforos(5 puntos) Utilizando como único mecanismo de sincronización los semáforos descritos en

Más detalles

CONTENIDO. Capítulo 1. Capítulo 3. Capítulo 2. Contenido

CONTENIDO. Capítulo 1. Capítulo 3. Capítulo 2. Contenido CONTENIDO Sobre el autor 4 Prólogo 5 El libro de un vistazo 8 Introducción 14 Capítulo 1 INTRODUCCIÓN Estructura básica de la computadora 16 El microprocesador 16 La memoria 17 Los buses 18 Controladoras

Más detalles

Guía resumida para utilizar el microcontrolador CY7C68013

Guía resumida para utilizar el microcontrolador CY7C68013 Guía resumida para utilizar el microcontrolador CY7C68013 Camilo Quintáns Graña Miguel Ángel Domínguez Gómez Vigo, 2011 Índice 1. DESCRIPCIÓN DEL HARDWARE... 3 1.1. Introducción... 3 1.2. Recursos de memoria...

Más detalles

Directorio Descripción Archivos Descripción. Cargador del sistema Entorno relacionado con el kernel. boot

Directorio Descripción Archivos Descripción. Cargador del sistema Entorno relacionado con el kernel. boot 1 Resumen Minikernel Material complementario para la asignatura de Sistemas Operativos Preparado por Gabriel Astudillo Muñoz Escuela de Ingeniería Civil Informática Universidad de Valparaíso Este documento

Más detalles

Curso Linux - Entrenamiento para Linux Professional Institute, Nivel 1. Exámen a Optar LPI-101 LPI-102

Curso Linux - Entrenamiento para Linux Professional Institute, Nivel 1. Exámen a Optar LPI-101 LPI-102 Temario Curso Linux - Entrenamiento para Linux Professional Institute, Nivel 1 Curso Linux - Entrenamiento para Linux Professional Institute, Nivel 1 Exámen a Optar LPI-101 LPI-102 El curso a impartirse

Más detalles

Introducción. Sistemas Operativos. Pedro Chávez Lugo mailto:pchavezl74@gmail.com. 23 de marzo de 2010

Introducción. Sistemas Operativos. Pedro Chávez Lugo mailto:pchavezl74@gmail.com. 23 de marzo de 2010 mailto:pchavezl74@gmail.com 23 de marzo de 2010 1 Introducción Que es un Sistema Operativo? Un sistema operativo es un programa que tiene la finalidad de simplificar el manejo y la utilización de la computadora.

Más detalles

Linux en la tostadora. Una breve introducción al desarrollo de sistemas embebidos con GNU/Linux

Linux en la tostadora. Una breve introducción al desarrollo de sistemas embebidos con GNU/Linux Linux en la tostadora Una breve introducción al desarrollo de sistemas embebidos con GNU/Linux Linux en la tostadora Lisandro Damián Nicanor Pérez Meyer perezmeyer usando gmail.com, cepanet.com.ar y uns.edu.ar

Más detalles

Vdd MIC29302. Vss PF.0 CS DI DAT CLK PE.7 PD.4 PD.5 PB.0. CAN-054, Utilización de tarjetas MMC en bajo nivel

Vdd MIC29302. Vss PF.0 CS DI DAT CLK PE.7 PD.4 PD.5 PB.0. CAN-054, Utilización de tarjetas MMC en bajo nivel Nota de Aplicación: CAN-054 Título: Utilización de tarjetas MMC en bajo nivel Autor: Sergio R. Caprile, Senior Engineer, colaboración IT&T (distr. Cika en Mendoza) Revisiones Fecha Comentarios 0 02/09/06

Más detalles

Programando con memoria unificada. Contenidos [15 diapositivas] Aportaciones de la memoria unificada. I. Descripción

Programando con memoria unificada. Contenidos [15 diapositivas] Aportaciones de la memoria unificada. I. Descripción Programando con memoria unificada IX Curso de Verano de la UMA Programación de GPUs con CUDA Contenidos [15 diapositivas] Málaga, del 15 al 24 de Julio, 2015 1. Descripción [5] 2. Ejemplos [8] 3. Observaciones

Más detalles

Laboratorio de Optimización

Laboratorio de Optimización Laboratorio de Optimización Sistema Operativo Linux Oscar Alvarado Nava oan@correo.azc.uam.mx Departamento de Electrónica División de Ciencias Básicas e Ingeniería Universidad Autónoma Metropolitana, Azcapotzalco

Más detalles

UT 14: Imágenes de disco y particiones: creación y restauración. UT 15: Clonación de sistemas: reales y virtuales.

UT 14: Imágenes de disco y particiones: creación y restauración. UT 15: Clonación de sistemas: reales y virtuales. I. Arquitectura de ordenadores UT 1: Modelo lógico de sistemas de programa almacenado. UT 2: Componentes de integración y ensamblaje. UT 3: Fuentes de alimentación. UT 4: Buses. UT 5: Placas base. UT 6:

Más detalles

Fundamentos de Sistemas Operativos

Fundamentos de Sistemas Operativos Fundamentos de Sistemas Operativos Sistemas Informáticos Fede Pérez Índice TEMA Fundamentos de Sistemas Operativos 1. - Introducción 2. - El Sistema Operativo como parte de un Sistema de Computación 2.1

Más detalles

Taller de Sistemas Operativos. Virtual File System 2012

Taller de Sistemas Operativos. Virtual File System 2012 Taller de Sistemas Operativos Virtual File System 2012 Conceptos generales Linux provee de una capa de software a nivel de núcleo para el acceso al sistema de archivos. La capa es denominada Virtual File

Más detalles

Bloque IV. Prácticas de programación en CUDA. David Miraut Marcos García Ricardo Suárez

Bloque IV. Prácticas de programación en CUDA. David Miraut Marcos García Ricardo Suárez Bloque IV Prácticas de programación en CUDA David Miraut Marcos García Ricardo Suárez Control de flujo Situaciones no tratadas Claves con tamaños diferentes. Cada Wrap debería acceder a claves del mismo

Más detalles

Estructura del Sistema Operativo. Módulo 2. Estructuras de Sistemas Operativos

Estructura del Sistema Operativo. Módulo 2. Estructuras de Sistemas Operativos Estructura del Sistema Operativo Módulo 2 Estructuras de Sistemas Operativos Servicios de Sistemas operativos Interfaz de Usuario del Sistema Operativo Llamadas a Sistema Tipos de Llamadas a Sistema Programas

Más detalles

Introducción a Java LSUB. 15 de enero de 2015 GSYC

Introducción a Java LSUB. 15 de enero de 2015 GSYC Introducción a LSUB GSYC 15 de enero de 2015 (cc) 2014 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial - SinObraDerivada

Más detalles

Introducción a los Sistemas Operativos

Introducción a los Sistemas Operativos Introducción a los Sistemas Operativos 2º Ingeniero de Telecomunicación (Sonido e Imagen) Departamento de Ingeniería Telemática Universidad Carlos III de Madrid 2 Qué vamos a ver hoy? Qué es un sistema

Más detalles

Núcleo Educativo basado en Linux

Núcleo Educativo basado en Linux Núcleo Educativo basado en Linux Rogelio Domínguez Hernández Director: Dr. Jorge Buenabad Chávez rdominguez@computacion.cs.cinvestav.mx CINVESTAV-IPN Núcleo Educativo basado en Linux - Rogelio Domínguez

Más detalles

Aplicaciones Informáticas

Aplicaciones Informáticas Aplicaciones Informáticas Profesor: Eduardo Zúñiga Sistema de aprobación: 2 parciales y recuperatorio Promoción: Sumar 14 o más puntos entre los dos parciales y no sacar menos de 6 en ninguno de los dos

Más detalles

Analista Universitario en Sistemas. Sistemas Operativos. Instituto Politécnico Superior INTRODUCCIÓN

Analista Universitario en Sistemas. Sistemas Operativos. Instituto Politécnico Superior INTRODUCCIÓN 1 Qué es un sistema operativo? Es software que proporciona un acceso sencillo y seguro al hardware, ocultando detalles al usuario acerca de la implementación particular y creando la ilusión de existencia

Más detalles

Global File System (GFS)...

Global File System (GFS)... Global File System (GFS)... Diferente a los sistemas de ficheros en red que hemos visto, ya que permite que todos los nodos tengan acceso concurrente a los bloques de almacenamiento compartido (a través

Más detalles

Sistemas Operativos: Programación de Sistemas. Curso 2006-07. Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J.

Sistemas Operativos: Programación de Sistemas. Curso 2006-07. Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Tema 2 : entorno programación linux Sistemas Operativos: Programación de Sistemas Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Santana Pérez Curso 2006-07 Francisco J. Santana 1 Programación

Más detalles

Administración Avanzada y Redes UNIX

Administración Avanzada y Redes UNIX TCP/IP en UNIX Facultad de Matemática, Astronomía y Física UNC, Córdoba (Argentina) http://www.cs.famaf.unc.edu.ar/ gabriel Escuela Complutense Latinoamericana 7 de Febrero de 2006 contenidos Arranque

Más detalles

Programación del robot Pioneer con JDE. http://gsyc.escet.urjc.es/robotica

Programación del robot Pioneer con JDE. http://gsyc.escet.urjc.es/robotica José María Cañas Plaza http://gsyc.escet.urjc.es/robotica Índice 1 Índice Introducción Robot Pioneer: hardware Robot Pioneer: software Programación sobre servidores JDE Programación con esquemas JDE Ejemplos

Más detalles

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN CICLO: 02/2015 GUÍA DE LABORATORIO #6 Nombre de la Practica: Instalación de FreeBSD para Server. Tiempo Estimado: 2 horas

Más detalles

TP N 7 Comandos "mount" y "umount"

TP N 7 Comandos mount y umount Taller de GNU/Linux 2002 TP7 hoja 1/5 Universidad Nacional de La Matanza Ingeniería en Informática-Taller de GNU/Linux TP N 7 Comandos "mount" y "umount" Objetivos: Comprender los nombres utilizados por

Más detalles

DESARROLLO DE DRIVERS CON DRIVERWORKS

DESARROLLO DE DRIVERS CON DRIVERWORKS DESARROLLO DE DRIVERS CON DRIVERWORKS El asistente de DriverWorks Para iniciar Visual C++ con soporte para DDK utilizaremos: Programas->Compuware DriverStudio->Tools->DDK Build Settings(SetDDKGo) ->launch

Más detalles

Taller de Sistemas Operativos Introducción

Taller de Sistemas Operativos Introducción Taller de Sistemas Operativos Introducción Escuela de Ingeniería Civil en Informática Universidad de Valparaíso, Chile http:// Conceptos generales 2 Proceso stdin Descriptor Flujo (FILE*) 0 stdout 1 Proceso

Más detalles

Un modelo de memoria virtual compartida distribuida para Mapaná

Un modelo de memoria virtual compartida distribuida para Mapaná Un modelo de memoria virtual compartida distribuida para Mapaná Alba Eugenia Urrea Cardozo* Rafael Gómez** RESUMEN * M.Sc. - Profesora Escuela de Ingeniería de Sistemas y Computación - Facultad de Ingeniería

Más detalles

SUMA de Vectores: Hands-on

SUMA de Vectores: Hands-on SUMA de Vectores: Hands-on Clase X http://fisica.cab.cnea.gov.ar/gpgpu/index.php/en/icnpg/clases Algunas preguntas practicas (1) Que pasa si los vectores a sumar son muy grandes? (2) Como saber en que

Más detalles

Taller de Programación Estructurada en Java Tema 2. Fundamentos de la programación orientada a objetos

Taller de Programación Estructurada en Java Tema 2. Fundamentos de la programación orientada a objetos Taller de Programación Estructurada en Java Tema 2. Fundamentos de la programación orientada a objetos Ingeniero en Computación José Alfredo Cobián Campos josealfredocobian@gmail.com Facultad de Ciencias

Más detalles

Examen de Fundamentos de sistemas operativos

Examen de Fundamentos de sistemas operativos Examen de Fundamentos de sistemas operativos Tiempo total: 2 horas. Problema: Implementación de canales con Rendez (monitores) Implemente canales con buffering para enteros mediante variables condición

Más detalles

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK. Introducción Java surgió en 1991 dentro de la empresa Sun Microsystems como un lenguaje de programación sencillo y universal destinado a electrodomésticos. La reducida potencia de cálculo y memoria de

Más detalles

Afinamiento del Sistema

Afinamiento del Sistema Afinamiento del Sistema Alumno: Xerach Sardá Morales Ampliación de Sistemas Operativos Facultad de Informática 1 Bloque 1 Ajuste del Sistema 2 Ajuste del Sistema El ajuste del sistema persigue conseguir

Más detalles

8 abril 2014 IFEMA Madrid spain.ni.com/nidays. spain.ni.com

8 abril 2014 IFEMA Madrid spain.ni.com/nidays. spain.ni.com 8 abril 2014 IFEMA Madrid /nidays 1 NI Linux Real-Time Fabio Mussi Systems Engineer - CLA Agenda Introducción al nuevo CompactRIO 9068 Características HW Arquitectura Zynq Rendimientos NI Linux Real-Time:

Más detalles

Dispositivos de Entrada/Salida

Dispositivos de Entrada/Salida Dispositivos E/S. CPU Memoria Central Tarjeta de Red Red BUS Controlador de Discos Dispositivos E/S Dispositivos E/S. Los dispositivos de Entrada/Salida sirven al ordenador para obtener información del

Más detalles

Seminario 1. Conexión a Oracle

Seminario 1. Conexión a Oracle Seminario 1. Conexión a Oracle Laboratorio de Programación Curso 2007/2008 Fran J. Ruiz Emilio Sobreviela Diseño E/R usuario contrasena Usuarios 1:1 es id_cliente nombre 1:1 Clientes apellidos edad 1 Creación

Más detalles

1.- Introducción Definición

1.- Introducción Definición 1.- Introducción Definición Organización de Computadoras Architectura de Computadoras Estructura del Sistema Operativo Operaciones del Sistema Operativo Procesos Memoria Almacenamiento Intro a los componentes

Más detalles

Reparación y Mantenimiento de Computadoras

Reparación y Mantenimiento de Computadoras Reparación y Mantenimiento de Computadoras i Elaborado por: Instructor Tecnólogo Industrial Darwin infante 1 Descripción del curso Aprenderá a realizar la instalación, configuración montaje, mantenimiento

Más detalles

Procesar Oracle en Debian Woody

Procesar Oracle en Debian Woody Guybrush Treepwood Tabla de contenidos 1. Preliminares...3 2. Preparación...3 por Guybrush Treepwood Francisco F. Serrador Historial de revisiones Revisión 1.0 29 de junio de 2003

Más detalles

Introducción al kernel Linux

Introducción al kernel Linux Introducción al kernel Linux Matías Zabaljáuregui matiasz@info.unlp.edu.ar Repaso del modelo kernel / proceso Contextos de ejecución Kernels Unix y Linux Reentrancia y Sincronización Diferencias con el

Más detalles

Contenidos. Sistemas operativos Tema 3: Estructura del sistema operativo. Componentes típicos de un SO. Gestión de procesos.

Contenidos. Sistemas operativos Tema 3: Estructura del sistema operativo. Componentes típicos de un SO. Gestión de procesos. Contenidos Sistemas operativos Tema 3: Estructura del sistema operativo Componentes típicos del SO Servicios del SO Llamadas al sistema Programas del sistema El núcleo o kernel Modelos de diseño del SO

Más detalles

! " # $!% & % '" ()!*++,

!  # $!% & % ' ()!*++, !" # $!%&%'" ()!*++, Qué es Linux? Antecedentes. Licencia. Características. Entorno de Trabajo. Estructura General. Sistema de Ficheros. Tipos. Path. Permisos de Acceso. Distribuciones Comerciales. Elementos

Más detalles

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases Programación Avanzada para Sistemas de Telecomunicación Objetos y clases Juan Carlos Cruellas cruellas@ac.upc.es Objetos y clases Concepto de objeto. Concepto de clase. Clases, objetos y programas. Clases

Más detalles

Reconocimiento de hardware. Pablo Sanz Mercado.

Reconocimiento de hardware. Pablo Sanz Mercado. Reconocimiento de hardware. Pablo Sanz Mercado. 1 La información que tiene el sistema operativo acerca del hardware instalado en nuestro ordenador está básicamente ubicada en el directorio /proc que es

Más detalles

Unidad 1: Conceptos generales de Sistemas Operativos.

Unidad 1: Conceptos generales de Sistemas Operativos. Unidad 1: Conceptos generales de Sistemas Operativos. Tema 3: Estructura del sistema operativo. 3.1 Componentes del sistema. 3.2 Servicios del sistema operativo. 3.3 Llamadas al sistema. 3.4 Programas

Más detalles

Fundamentos de Computadores

Fundamentos de Computadores Universidad de Murcia Facultad de Informática TÍTULO DE GRADO EN INGENIERÍA INFORMÁTICA Tema 4: Introducción a la arquitectura de computadores Boletines de prácticas y ejercicios CURSO 2011 / 12 Departamento

Más detalles

Contenidos. Gestión dinámica de memoria. Gestión dinámica de memoria. Introducción. 1. Introducción 2. El operador NEW 3. El operador DELETE

Contenidos. Gestión dinámica de memoria. Gestión dinámica de memoria. Introducción. 1. Introducción 2. El operador NEW 3. El operador DELETE Contenidos 1. Introducción 2. El operador NEW 3. El operador DELETE 1 Introducción Hasta ahora hemos visto que cada vez que queremos usar una variable debemos reservarle un lugar de la memoria al comenzar

Más detalles

Tecnología de la Información y las Comunicaciones. Colegio Bosque Del Plata. UNIDAD 6 Hardware Procesador y Unidades de Almacenamiento.

Tecnología de la Información y las Comunicaciones. Colegio Bosque Del Plata. UNIDAD 6 Hardware Procesador y Unidades de Almacenamiento. Colegio Bosque Del Plata Tecnología de la Información y las Comunicaciones UNIDAD 6 Hardware Procesador y Unidades de Almacenamiento. E-mail: garcia.fernando.j@gmail.com Profesor: Fernando J. Garcia Ingeniero

Más detalles

TEMA 5. Otras arquitecturas distribuidas II. Objetos distribuidos y CORBA

TEMA 5. Otras arquitecturas distribuidas II. Objetos distribuidos y CORBA TEMA 5. Otras arquitecturas distribuidas II. Objetos distribuidos y CORBA II. Objetos distribuidos y CORBA 1. Objetos Distribuidos 2. CORBA 1. Características 2. Modelo de trabajo 3. ORB 4. Arquitectura

Más detalles

Programación estructurada

Programación estructurada Programación estructurada Ambiente de trabajo en UNIX SunOS Oscar Alvarado Nava oan@correo.azc.uam.mx Departamento de Electrónica División de Ciencias Básicas e Ingeniería Universidad Autónoma Metropolitana,

Más detalles

Memoria compartida y semáforos r/w. La página del manual que podría servir para describir estas funciones es la siguiente:

Memoria compartida y semáforos r/w. La página del manual que podría servir para describir estas funciones es la siguiente: (3 ptos) Memoria Compartida y Semáforos R/W 1. Objetivo En esta práctica se pretende crear una librería que dé la funcionalidad de un semáforo para resolver problemas con múltiples lectores y escritores

Más detalles

Sistemas Operativos. Pedro Cabalar TEMA III. PROCESOS. Depto. de Computación Universidade da Coruña

Sistemas Operativos. Pedro Cabalar TEMA III. PROCESOS. Depto. de Computación Universidade da Coruña Sistemas Operativos Pedro Cabalar Depto. de Computación Universidade da Coruña TEMA III. PROCESOS. P. Cabalar Sistemas( Operativos Depto. de Computación Universidade Tema da Coruña III. Procesos ) 1 /

Más detalles

General Parallel File System

General Parallel File System General Parallel File System Introducción GPFS fue desarrollado por IBM, es un sistema que permite a los usuarios compartir el acceso a datos que están dispersos en múltiples nodos; permite interacción

Más detalles

Dispositivo Móvil de Acceso - DMA Compilación de una máquina virtual de java para el i.mxl Tutorial

Dispositivo Móvil de Acceso - DMA Compilación de una máquina virtual de java para el i.mxl Tutorial Dispositivo Móvil de Acceso - DMA Compilación de una máquina virtual de java para el i.mxl Tutorial Ing. Juan Felipe Botero Vega Ing. Mónica Ayde Vallejo Informe Técnico : COL-1T-2006 Desarrollado por

Más detalles

Dispositivo Móvil de Acceso - DMA Introducción al manejo de la plataforma i.mxl LiteKit Tutorial

Dispositivo Móvil de Acceso - DMA Introducción al manejo de la plataforma i.mxl LiteKit Tutorial Dispositivo Móvil de Acceso - DMA Introducción al manejo de la plataforma i.mxl LiteKit Tutorial Ing. Mónica Ayde Vallejo V. Informe Técnico : COL-2T-2006 Desarrollado por : Grupo de Microelectrónica y

Más detalles

Práctica de gsoap. int ns enviar (unsigned nodo, std::string cadena, std::string &resultado); int ns recibir(unsigned nodo, std::string &resultado);

Práctica de gsoap. int ns enviar (unsigned nodo, std::string cadena, std::string &resultado); int ns recibir(unsigned nodo, std::string &resultado); Práctica de gsoap Para desarrollar programas que utilicen gsoap para llevar a cabo las comunicaciones, debemos bajar el paquete gsoap linux 2.7.tgz disponible en: http://atc.ugr.es/pedro/docencia/irhc/irhc.html

Más detalles

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J.

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J. Sensor de Temperatura utilizando el Starter Kit Javelin Stamp Realizado por: Bertha Palomeque A. Rodrigo Barzola J. INTRODUCCION DIFERENCIAS EJEMPLOS JAVA Orientado a Objetos Multiplataforma Programar

Más detalles

Exposición en Clase. Grupo: Elia C. Rivero Díaz Gabriel Dovalo Carril. Ampliación de Sistemas Operativos

Exposición en Clase. Grupo: Elia C. Rivero Díaz Gabriel Dovalo Carril. Ampliación de Sistemas Operativos Exposición en Clase Controlador de Disco Duro a través del BIOS Ampliación de Sistemas Operativos 2000-2001 Universidad de Las Palmas de Gran Canaria Grupo: Elia C. Rivero Díaz Gabriel Dovalo Carril 1.-

Más detalles

Taller de Tiempo Real para Control Robótico +Ejem... Plos

Taller de Tiempo Real para Control Robótico +Ejem... Plos Taller de Tiempo Real para Control Robótico +Ejem... Plos Nelson Acosta nacosta@exa.unicen.edu.ar INCA / INTIA-Fac. Cs. Exactas - UNCPBA Tandil - Argentina Tabla de Contenido Makefile...................................

Más detalles

Introducción al PSoC Designer

Introducción al PSoC Designer Introducción al PSoC Designer 1. Introducción PSoC Designer es el programa de desarrollo por medio del sistema de aplicación System-on-Chip de Cypress. Como lo define puntualmente el fabricate en su página

Más detalles

Ingeniería en Sistemas de Información Cátedra de Sistemas Operativos

Ingeniería en Sistemas de Información Cátedra de Sistemas Operativos Super Mario Proc. RELOADED Tests Ingeniería en Sistemas de Información Cátedra de Sistemas Operativos - 2C2013 - Requisitos y notas de la evaluación Deploy y Setup Es condición necesaria para la evaluación

Más detalles

Integración de Toolchain PTXdist sobre IDE gráfico basado en Eclipse

Integración de Toolchain PTXdist sobre IDE gráfico basado en Eclipse Integración de Toolchain PTXdist sobre IDE gráfico basado en Eclipse Objetivos Integrar un toolchain basado en PTXdist sobre un IDE gráfico basado en Eclipse. Creación y compilación de un pequeño proyecto.

Más detalles