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) devel@host$~/: devel@host$~/: scp scp hola_kernel.ko hola_kernel.ko user@target:/root user@target:/root

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

10 Hola 'system-land' Mundo! Copiamos al target (nfs o ssh) devel@host$~/: devel@host$~/: scp scp hola_kernel.ko hola_kernel.ko user@target:/root user@target:/root Y por fin ejecutamos (en el target) root@target root@target $~/: $~/: insmod insmod /root/hola_kernel.ko /root/hola_kernel.ko Ahora el log nos dice que el modulo está cargado root@target $~/: 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 root@target $~/: 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

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

Taller de drivers. Sistemas Operativos. Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires

Taller de drivers. Sistemas Operativos. Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Taller de drivers Sistemas Operativos Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires 12 de Abril de 2016 Agenda para hoy Vamos a hacer un driver! 2 / 26

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

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

Momento! Taller de drivers. La estructura de Linux (1) Hoy veremos: Sistemas Operativos. Alejandro Deymonnaz de Mayo de 2011

Momento! Taller de drivers. La estructura de Linux (1) Hoy veremos: Sistemas Operativos. Alejandro Deymonnaz de Mayo de 2011 Menú del día Taller de drivers Sistemas Operativos Alejandro Deymonnaz 1 1 Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires 24 de Mayo de 2011 Hoy veremos:

Más detalles

Laboratorio: Construyendo un Driver para Linux 2.6

Laboratorio: Construyendo un Driver para Linux 2.6 Escucho y olvido, veo y recuerdo, hago y entiendo. * Lic. Ing. Osvaldo Clúa 2009 Facultad de Ingeniería Universidad de Buenos Aires Laboratorio: Construyendo un Driver para Linux 2.6 FIUBA 2009 1 Lectura

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

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

Taller de drivers. Sistemas Operativos. Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires

Taller de drivers. Sistemas Operativos. Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Taller de drivers Sistemas Operativos Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires 06 de Octubre de 2015 Agenda para hoy Hoy nos vamos a concentrar en

Más detalles

LABORATORIO DE SISTEMAS ELECTRÓNICOS. Controladores para GNU/Linux

LABORATORIO DE SISTEMAS ELECTRÓNICOS. Controladores para GNU/Linux DEPARTAMENTO DE INGENIERÍA ELECTRÓNICA LABORATORIO DE SISTEMAS ELECTRÓNICOS Controladores para GNU/Linux Alvaro Araujo Marzo 06 OBJETIVOS CONCEPTO DE CONTROLADOR CONTROLADORES EN GNU/LINUX EJEMPLO DE CONTROLADOR

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

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

Entrada/Salida. Alexis Tcach. Sistemas Operativos, 1c DC - FCEyN - UBA

Entrada/Salida. Alexis Tcach. Sistemas Operativos, 1c DC - FCEyN - UBA DC - FCEyN - UBA Sistemas Operativos, 1c-2016 Menú del día Menú del día Recordar que es un device driver Recordar tipos de device drivers Programación básica (pseudocódigo). Más real en el taller Recordando

Más detalles

Mecanismos de extensión del núcleo

Mecanismos de extensión del núcleo Mecanismos de extensión del núcleo Yolanda Becerra Fontal Juan José Costa Prats Facultat d'informàtica de Barcelona Universitat Politècnica de Catalunya BarcelonaTech 2014-2015QT Índice Concepto Mecanismos

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

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

Programación de Controladores para Linux

Programación de Controladores para Linux Programación de Controladores para Linux Edgardo E. Hames Julio A. Bianco Franco M. Luque 2013-09-09 1. Introducción Linux es un clon del sistema operativo Unix, escrito desde cero por Linus Torvalds con

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

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

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

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

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

Taller de Tiempo Real para Control Robótico Ejemplos & Funciones

Taller de Tiempo Real para Control Robótico Ejemplos & Funciones Taller de Tiempo Real para Control Robótico Ejemplos & Funciones Dr. Nelson Acosta nacosta@exa.unicen.edu.ar INCA / INTIA-Fac. Cs. Exactas - UNCPBA Tandil - Argentina Driver: módulos cargables (1) El núcleo

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

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

Parallel Virtual File System (PVFS)

Parallel Virtual File System (PVFS) Parallel Virtual File System (PVFS) Introducción: El sistema de archivos paralelo Parallel Virtual File System, permite a las distintas aplicaciones (paralelas y seriales) almacenar data en servidores

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

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

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

El lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */

El lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */ Principios de Programación El lenguaje C 1. Variables locales y globales 1.1. Variables locales Las funciones permiten al programador modularizar un programa. Todas las variables declaradas en las definiciones

Más detalles

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por

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

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

Linux 101 Configuración de Hardware

Linux 101 Configuración de Hardware Configuración de Hardware kernel & modulos - sysfs () (Sysfs es un sistema de archivos virtual proporcionado por el núcleo Linux 2.6. Sysfs exporta información sobre los dispositivos y controladores desde

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

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

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

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

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

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

Desarrollo de apps para móviles Android. Entorno de desarrollo

Desarrollo de apps para móviles Android. Entorno de desarrollo Desarrollo de apps para móviles Android Entorno de desarrollo Entorno de desarrollo Las aplicaciones Android van a ser implementadas en Java usando Android SDK. El software necesario para realizarlas es

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

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

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

OCFS (Oracle Cluster File System)

OCFS (Oracle Cluster File System) OCFS (Oracle Cluster File System) Para este ejemplo particular implementaré una solución de Cluster Filesystem llamada OCFS versión 2.0. OCFS es una solución de Oracle 100% gratuita para plataformas Linux

Más detalles

Configuración de conexión mediante módem RDSI. Introducción Explicación Paso 1 Paso 2 Paso 3 Paso 4 Paso 5 Paso 6 Paso 7 Paso 8 Paso 9 Paso 10

Configuración de conexión mediante módem RDSI. Introducción Explicación Paso 1 Paso 2 Paso 3 Paso 4 Paso 5 Paso 6 Paso 7 Paso 8 Paso 9 Paso 10 RDSI Introducción Explicación Paso 1 Paso 2 Paso 3 Paso 4 Paso 5 Paso 6 Paso 7 Paso 8 Paso 9 Paso 10 Materiales: Módem. Cable telefónico. Cable de comunicación serie. Drivers del MODEM. Tiempo: 15 minutos.

Más detalles

Parallel Virtual File System (PVFS)

Parallel Virtual File System (PVFS) Introducción: Es un sistema de archivos paralelo que permite a las aplicaciones paralelas y seriales almacenar y recuperar datos desde de un conjuto de nodos o servidores de I/O unidos a través de la red.

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

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

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

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

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX En este manual se presenta el proceso de configuración de una Maquina Virtual en VirtualBox, que será utilizada para instalar un Servidor

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

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

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

SUBIR LAS ACTIVIDADES DE HOTPOTATOES A UN SITIO WEB

SUBIR LAS ACTIVIDADES DE HOTPOTATOES A UN SITIO WEB SUBIR LAS ACTIVIDADES DE HOTPOTATOES A UN SITIO WEB Tutorial elaborado por la Prof. Viviana Ponce para el curso de la Diplomatura: Enseñanza de lengua extranjera y medios Existen en la WWW diversos sitios

Más detalles

Experiencias con Clientes livianos. Sofía Martin Linti UNLP

Experiencias con Clientes livianos. Sofía Martin Linti UNLP Experiencias con Clientes livianos Sofía Martin Linti UNLP Experiencias en escuelas Situación del gabinete Hardware disponible Configuración utilizada Capacitación realizada Resolución de problemas Escuela

Más detalles

Tema 6. Gestión de la memoria

Tema 6. Gestión de la memoria Tema 6. Índice Introducción Compartición de memoria Memoria virtual Soporte en los procesadores: la MMU en Linux en Windows NT/2000 1 Tema 6. Introducción Necesidad de la gestión de la memoria Requisitos

Más detalles

AVD, el emulador de Smartphone y Tablets Android que incluye el SDK de Google

AVD, el emulador de Smartphone y Tablets Android que incluye el SDK de Google AVD, el emulador de Smartphone y Tablets Android que incluye el SDK de Google Para probar nuestras aplicaciones Google nos proporciona un emulador de dispositivos conocido como AVD (Android Virtual Devices).

Más detalles

Programación en Android LSUB, GSYC, URJC

Programación en Android LSUB, GSYC, URJC Programación en Android LSUB, GSYC, URJC Introducción Teléfono o Emulador Android Studio Introducción Activity Mgr App! Dialer Dalvik JVM SQLite WebKit... OpenGL Linux kernel Dispositivo móvil Aplicaciones

Más detalles

1. Creación del repositorio

1. Creación del repositorio FACULTADE DE INFORMÁTICA Departamento de Computación Tecnología de la Programación 2008-2009 Ingeniería Informática Práctica 1: Subversion Introducción El objetivo de esta práctica es aprender a manejar

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

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

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

Se guardan en archivos con extencion c y los cabezales con extension h

Se guardan en archivos con extencion c y los cabezales con extension h Se guardan en archivos con extencion c y los cabezales con extension h Tipos de Variables: Tipo Tamaño(bytes) Limite inferior Limite superior char 1 -- -- unsigned char 1 0 255 short int 2-32768 +32767

Más detalles

Módulos: Módulo 1. Hardware & Arquitectura de sistemas - 20 Horas

Módulos: Módulo 1. Hardware & Arquitectura de sistemas - 20 Horas Módulos: Módulo 1 Hardware & Arquitectura de sistemas - 20 Horas Este módulo permite conocer y configurar los elementos básicos del hardware del sistema, como también otros componentes adicionales como

Más detalles

Índice de contenido 2/32

Índice de contenido 2/32 10. ANEXOS 1/32 Índice de contenido 10.1 Utilización de NFS en Windows...3 10.2 Utilización de iscsi en Windows...4 10. Montar un Raid por Software en openfiler...5 10.4 Montar Almacenamiento por NFS en

Más detalles

UNIDAD DIDACTICA 8 MONTAR Y DESMONTAR UNIDADES EN GNU/LINUX

UNIDAD DIDACTICA 8 MONTAR Y DESMONTAR UNIDADES EN GNU/LINUX UNIDAD DIDACTICA 8 MONTAR Y DESMONTAR UNIDADES EN GNU/LINUX Eduard Lara 1 1. INTRODUCCIÓN En los sistemas GNU/LINUX y UNIX los dispositivos como los discos duros y sus particiones, el terminal de pantalla,

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

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

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

COMO CREAR UN PROYECTO EN DSK6713

COMO CREAR UN PROYECTO EN DSK6713 COMO CREAR UN PROYECTO EN DSK6713 Autor: Gonzalo Sad A continuación se detallan los pasos a seguir para realizar un proyecto de propósito general en la placa de desarrollo DSK6713, el cual servirá de base

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

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

Modelo de aplicaciones CUDA

Modelo de aplicaciones CUDA Modelo de aplicaciones CUDA Utilización de GPGPUs: las placas gráficas se utilizan en el contexto de una CPU: host (CPU) + uno o varios device o GPUs Procesadores masivamente paralelos equipados con muchas

Más detalles

Virtualización RouterOS con KVM. Cristian Damián Cazón MikroTik Certified Consultant Jujuy - Argentina

Virtualización RouterOS con KVM. Cristian Damián Cazón MikroTik Certified Consultant Jujuy - Argentina Virtualización RouterOS con KVM Cristian Damián Cazón MikroTik Certified Consultant Jujuy - Argentina Temas Qué es virtualización? Ventajas y Desventajas de virtualizar Introducción a KVM Requerimientos

Más detalles

IPC SYSTEM V. Técnicas Digitales III Ing. Gustavo Nudelman 2011. Universidad Tecnológica Nacional - Facultad Regional Buenos Aires

IPC SYSTEM V. Técnicas Digitales III Ing. Gustavo Nudelman 2011. Universidad Tecnológica Nacional - Facultad Regional Buenos Aires IPC SYSTEM V Técnicas Digitales III Ing. Gustavo Nudelman 2011 IPC System V En la década del 70, se incorpora a Unix una gran cantidad de funcionalidades llamadas System V entre las cuales aparecen tres

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

Estándares Índice Estándares de Hardware Estándares para la adquisición de Equipos

Estándares Índice Estándares de Hardware Estándares para la adquisición de Equipos Estándares Índice Estándares de Hardware 2 Estándares para la adquisición de Equipos 3 CPU Servidor de Aplicaciones de Cliente Fino 3 CPU Servidor de Archivos para Cliente Fino 4 PC Cliente Fino 5 PC Linux

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

Programación Orientada a Objetos con Java

Programación Orientada a Objetos con Java Programación Orientada a Objetos con Java M.C. Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx Sobrecarga de métodos Java permite la definición de dos o más métodos que tengan el mismo nombre, dentro de la

Más detalles

Examen de Mejoramiento

Examen de Mejoramiento Examen de Mejoramiento ADMINISTRACION DE UNIX Nombre: Fecha: Profesor: Ing. Fabián Barboza Gilces,MSIA 1. Determine Verdadero (V) o Falso (F), según corresponda (10 Puntos) El BIOS carga en memoria el

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

http://www.bujarra.com/procedimientostarwind.html StarWind

http://www.bujarra.com/procedimientostarwind.html StarWind 1 de 19 01/12/2007 1:54 StarWind StarWind, emulando cabinas iscsi/nas/san, Con este procedimiento vamos a explicar cómo funciona un dispositivo NAS/SAN o iscsi, todo es de forma simple, con software, lo

Más detalles

TEMA 7: Configuraciones básicas en red.

TEMA 7: Configuraciones básicas en red. TEMA 7: Configuraciones básicas en red. Objetivos: Aprendizaje de la configuración de red cableada e inalámbrica en Ubuntu. Conocimiento de la utilización de interfaces de red inalámbricas compatibles

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

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

SOR -::- Prácticas -::- Curso 05/06. RCP es un estándar desarrollado por Sun Microsystems y usado por muchos distribuidores de sistemas UNIX.

SOR -::- Prácticas -::- Curso 05/06. RCP es un estándar desarrollado por Sun Microsystems y usado por muchos distribuidores de sistemas UNIX. RPC RCP es un estándar desarrollado por Sun Microsystems y usado por muchos distribuidores de sistemas UNIX. El RPC es una interfaz de programación de aplicación (API) disponible para el desarrollo de

Más detalles

Manual de OsCommerce

Manual de OsCommerce Manual de OsCommerce En este manual se les enseñara como editar su tienda virtual el inicio y cambiar la mayor parte de las imágenes. Para ellos lo primero que tenemos que hacer es entrar a: www.sudominio.com/nombredelatienda/admin

Más detalles

El lenguaje de Programación C. Fernando J. Pereda <ferdy@gentoo.org>

El lenguaje de Programación C. Fernando J. Pereda <ferdy@gentoo.org> El lenguaje de Programación C Fernando J. Pereda Por qué aprender C? Portable y muy extendido Estándar (C89, C99) El lenguaje de los sistemas Un lenguaje fácil (no, no es broma) Por

Más detalles

Informática Electrónica Manejadores de Dispositivos (Device Drivers)

Informática Electrónica Manejadores de Dispositivos (Device Drivers) Informática Electrónica Manejadores de Dispositivos (Device Drivers) DSI-EIE-FCEIA 2015 Que es un DD? Es una pieza de software que interactúa con (entre) el sistema operativo y con uno o mas dispositivos

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

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

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

II. DISEÑO DEL SISTEMA. Introducción Instalación por red Arranque por red

II. DISEÑO DEL SISTEMA. Introducción Instalación por red Arranque por red II. DISEÑO DEL SISTEMA Introducción Instalación por red Arranque por red Qué es un cluster? Cluster de memoria Distribuida Nuestro Diseño Login SERVER PXE, NFS,TFTP, DHCP Internet DISKS NODOS DE COMPUTO

Más detalles