Linux Devices Drivers Guía para desarrollo de Device Drivers en Linux
|
|
- Adrián Blázquez Muñoz
- hace 8 años
- Vistas:
Transcripción
1 Linux Devices Drivers Guía para desarrollo de Device Drivers en Linux 1
2 Introducción Conceptos básicos 2
3 We're back to the times when men where men and wrote their own device drivers... Device Drivers Linus Torvalds Es código que se ejecuta en modo Kernel. Es la mediación entre los dispositivos de hardware y los procesos del sistema o de usuario. Se ocupa de resolver el mecanismo de acceso al hardware No se concentra en la política de manejo de la información, aspecto que queda para el software de usuario. Ej: Driver de disco -> acceso al disco. File Systema Manager -> Formatea los datos para el usuario (política de manejo de información) Linux puede incluirlo: En el kernel monolítico en forma estática. Es mas compacto Requiere re linkear el kernel completo cada vez que lo vamos a instalar Forget it!! Como módulos run-time linkeables Mucho mas flexible. La estructura modular, es lo que se utiliza desde hace ya suficiente tiempo como para Autor: Alejandro considerarse Furfaro el modo standard de trabajar. 3
4 Clasificación de Dispositivos en Linux Char Devices Block Devices Network Devices Miscellaneous (Bus) Devices 4
5 Char Devices Son los mas simples. Se acceden como un stream de bytes, tal como si fuesen nodos del File System. Ej.: TTY's (/dev/console). Serial ports (/dev/ttys0). A diferencia de los archivos comunes, no nos podemos desplazar hacia atrás y hacia adelante. Acceden a los datos en forma secuencial. Registran sus prestaciones a través de objetos del FS que responden a las funciones standard de acceso a archivos: open ( ), read ( ), write ( ), close ( ), etc. 5
6 Block Devices Los block devices agregan complejidad a su interfaz. Al igual que los char devices, se mapean como Nodos del File System en el directorio /dev. Registran sus prestaciones en un array del tipo blk_dev, y demás estructuras del kernel. La diferencia pasa por como el kernel maneja internamente los datos. Por lo regular es de a bloques (512 o 1024 bytes) Transmiten o reciben bloques de bytes a demanda del kernel mediante la función request. Algo diferente de la simple interfaz de los char devices. Son dispositivos que pueden hostear un File System. Ej.: Discos, Cintas. 6
7 Network Devices Los network devices parecen ser iguales a los block devices. Pero solo en apariencia Controlan las interfaces durante las transacciones de paquetes de datos en red contra un equipo remoto, pero sin conocer en detalle la composición de las transacciones que conforman esos paquetes. No siempre se relacionan con dispositivos de hardware (loopback por ejemplo). No constituyen dispositivos orientados a stream, por lo cual, no son fácilmente mapeables en el /dev 7
8 Dispositivos Misceláneos En general esta categoría agrupa a cualquier dispositivo o subsistema cuyas características le impiden clasificar en alguna de las tres categorías anteriores. Algunos autores clasifican en esta categoría especial, a los drivers de los controladores de buses, ya que son bastante particulares. PCI USB SCSI 8
9 Device Drivers: Inserción en el kernel 9
10 Relación con el kernel Alcance Kernel 2.4. Aun podemos encontrar estas distros Kernel 2.6. Aclararemos las diferencias en donde existan para salvar los usos en una y otra versión Causa de las diferencias: Linux Kernel Device Model, implementado justamente en la versión 2.6 Unificación de todos los modelos de driver dispersos hasta la versión 2.4 del kernel. Pensado mas para los drivers específicos de buses para bridges y dispositivos, consolidando un sistema de datos y de operaciones en estructuras de datos globalmente accesibles. 10
11 Linux Device Model Kernel 2.6.x Hacia un modelo unificado de dispositivos 11
12 Kernel 2.6: Linux Device Model Hasta el kernel 2.6, el Device Model consistía simplemente de una colección de estructuras no relacionadas del tipo árbol de dispositivos (y en ocasiones simplemente listas). Para agrupar a estos modelos dispersos se recurre a una estructura de datos común que pueda relacionarlos con poco overhead, en un Modelo único y abarcativo. Los campos de datos comunes migran del antiguo modelo de bus local a un modelo global de dispositivos. Se estandarizan algunas funciones de manipulación de estos campos. Las funciones de manipulación se convierten en un sistema de funciones auxiliares. Los drivers de bus las utilizarán para incluir cualquier ítem específico del bus. Cuando un driver de bus descubre un dispositivo particular, lo inserta en el árbol global de dispositivos y en su árbol local de dispositivos. El árbol local del bus no es mas que un subconjunto del árbol global. 12
13 Kernel 2.6: Linux Device Model Interfaces existentes entre el bridge y los dispositivos de E/S de una PC actual: Capacidad plug and play, Manejo de la energía, Soporte hot plug. Los buses modernos (USB, PCI-X, PCMCIA) soportan la mayoría de estas operaciones. Sus drivers en la estructura anterior no eran de fácil inserción. En el futuro un bus que no soporte una operación de este tipo será la excepción. De modo que se requiere una reingeniería del modelo de drivers!. La Especificación ACPI (Advanced Configuration and Power Interface) de Intel, Hewlett Packard, Microsoft, fija los requisitos para que un dispositivo se adapte a cualquiera de los criterios anteriormente enumerados. Describe estructuras y mecanismos necesarios para diseñar motherboards cuyas funcionalidades de power management y configuración avanzada puedan ser gestionadas por los sistemas operativos. Aplica a toda clase de computadoras. 13
14 Kernel 2.6: Linux Device Model Lleva Lleva la la cuenta de de que que hay hay conectado a cada cada bus. bus. Estructura bus_type Muestra la la forma forma en en que que un un dispositivo está está conectado al al sistema. Estructura device Registra la la función que que provee el el dispositivo, independientemente de de donde donde esté esté conectado Estructura device_class Tres objetos básicos: Bus Device Class 14
15 /sys : La Interfaz con el usuario El Linux Driver Model se pone visible a través de un file system ram based: sysfs. Se define en /etc/fstab mediante la línea siguiente: none /sys sysfs defaults 0 0 El tope de sysfs contiene las siguiente entradas block/ bus/ class/ devices/ firmware/ net/ --/devices (es un link al nodo devices del tope) --/drivers (contiene un directorio por cada driver que se registra en el sistema) 15
16 Conceptos de programación de drivers El Howto? 16
17 Programación de Módulos Escribir un device driver, es escribir código de kernel En modo kernel se dispone de un tipo especial de programa denominado Módulo (kernel module) Una aplicación convencional realiza una tarea única del principio hasta el fin. Un módulo, en cambio, se registra a si mismo a fin de prestar servicios a futuro. Su función principal es efímera, pero queda instalado en el sistema. 17
18 Programación de Módulos #include <linux/init.h> #include <linux/module.h> MODULE_LICENSE("Dual BSD/GPL"); static int hello_init(void) { printk(kern_alert "Hola, mundo!\n"); return 0; } static void hello_exit(void) { printk(kern_alert Adiós, Mundo cruel!\n"); } module_init(hello_init); module_exit(hello_exit); 18
19 Programación de Módulos y la función main?????? No usa. entonces?... insmod y rmmod, se utilizan para manejar nuestro módulo. insmod lo instala, y quedará disponible hasta que se ejecute rmmod insmod hace que se ejecute la función module_init ( ) Hace las veces de función main del módulo rmmod hace que se ejecute la función module_exit ( ) Hacen las veces de funciones constructora y destructora. 19
20 Enlace de un módulo al kernel
21 Device Drivers: Recursos El kernel de LINUX es concurrente, por lo tanto un driver debe estar escrito con la idea que en un mismo instante ocurren varias cosas. Debe ser re entrante. Desde el kernel no tenemos los recursos que usamos en las aplicaciones: No se accede a las system call standard No están disponibles los IPCs!!!! Ejemplo. Para averiguar el proceso que invocó alguna de las funciones el driver, vamos a task_struct... printk("the process is \"%s\" (pid %i)\n", current->comm, current->pid); 21
22 Char devices Deben existir como file system node en /dev Se crean con un comando especial: mknod <nombre> <type> <Mn> <mn> Numero mayor y menor. crw-rw-rw- 1 root root 1, 3 Feb null crw root root 10, 1 Feb psaux crw rubini tty 4, 1 Aug 16 22:22 tty1 crw-rw-rw- 1 root dialout 4, 64 Jun 30 11:19 ttys0 crw-rw-rw- 1 root dialout 4, 65 Aug 16 00:00 ttys1 crw root sys 7, 1 Feb vcs1 crw root sys 7, 129 Feb vcsa1 crw-rw-rw- 1 root root 1, 5 Feb zero El kernel usa el Major number para despachar la ejecución del driver correcto en el momento en que se ejecuta la función open () desde el proceso que lo desea acceder. El Minor number es usado por el driver. El kernel solo lo pasa al driver para que este lo utilice si lo necesita. 22
23 Representación del número de device El kernel usa un tipo definido en linux/types.h, como dev_t. 32 bits: 12 para el major number y 20 para el minor number Para desentendernos de esta estructura (todo evoluciona y cambia) hay dos macros en linux/kdev_t.h. Conociendo el número de device (dev_t), obtenemos major y minor MAJOR(dev_t dev); MINOR(dev_t dev); Conociendo major y minor obtenemos el número de device MKDEV(int major, int minor); 23
24 Mas novedades del kernel 2.6 Funciones para reservar el major number, de modo de evitar conflictos y recompilaciones Definidas en <linux/fs.h>: Reserva un rango de major numbers int register_chrdev_region (dev_t first, unsigned int count, char *name); Si conocemos exactamente el major number a utilizar int alloc_chrdev_region(dev_t *dev, unsigned int firstminor, unsigned int count, char *name); Devuelve los major numbers reservados de una u otra forma void unregister_chrdev_region(dev_t first, unsigned int count); 24
25 /proc File System RAM based en el que hay mucha info. En particular para drivers: Character devices: Block devices: 1 mem 2 fd 2 pty 8 sd 3 ttyp 11 sr 4 ttys 65 sd 6 lp 66 sd 7 vcs 10 misc 13 input 14 sound 21 sg 180 usb 25
26 Script para ejecutar la instalación #!/bin/sh module= midriver" device= midriver" mode="664" # invoca insmod con todos los argumentos # usa pathname (las modutils nuevas no miran en. por default) /sbin/insmod./$module.ko $* exit 1 # remueve nodos viejos rm -f /dev/${device}[0-3] major=$(awk "\\$2= =\"$module\" {print \\$1}" /proc/devices) mknod /dev/${device}0 c $major 0 mknod /dev/${device}1 c $major 1 mknod /dev/${device}2 c $major 2 mknod /dev/${device}3 c $major 3 # give appropriate group/permissions, and change the group. # Not all distributions have staff, some have "wheel" instead. group="staff" grep -q '^staff:' /etc/group group="wheel" chgrp $group /dev/${device}[0-3] chmod $mode /dev/${device}[0-3] 26
27 Manejo del major number if (midriver_major) { dev = MKDEV(midriver_major, midriver_minor); result = register_chrdev_region(dev, midriver_nr_devs, midriver"); } else { result = alloc_chrdev_region(&dev, midriver_minor, midriver_nr_devs, "midriver"); midriver_major = MAJOR(dev); } if (result < 0) { printk(kern_warning "midriver: can't get major d\n", midriver_major); return result; } 27
28 Char Devices: Esquema de llamadas al sistema Memoria User Mode open() write() close() Kernel File_op Dev_open s () Dev_write () outb() Device Ports Dev_close () 28
29 Char Devices: File Operations (1) struct module *owner Es el primer campo de file_operations No es en sí mismo una operación Es un puntero al módulo dueño de la estructura. Se usa para evitar que el módulo sea cargado mientras sus operaciones están en uso. A menudo se lo inicializa sencillamente con la macro THIS_MODULE, definida en <linux/module.h>. loff_t (*llseek) (struct file *, loff_t, int); El método llseek se usa para cambiar la posición actual de lectura/ escritura en un archivo La nueva posición se retorna como un valor positivo loff_t es un long offset y tiene al menos un ancho de 64 bits aún en plataformas de 32-bit. Si se produce algún error en su ejecución retorna un valor negativo Si este puntero se inicializa en NULL en file_operations, seek () modificará el contador de posición en la estructura file (de formas potencialmente impredecibles). 29
30 Char Devices: File Operations (2) ssize_t (*read) (struct file *, char user *, size_t, loff_t *); Lee datos desde un archivo o device. Un puntero NULL en esta posición hace que la system call read () sobre este device devuelva -EINVAL ( Invalid argument ). Un valor de retorno no negativo representa el número de bytes leídos ssize_t (*aio_read)(struct kiocb *, char user *, size_t, loff_t); Inicia una lectura asincrónica (puede no completarse antes de retornar). Si es NULL, todas las operaciones serán ejecutadas en forma sincrónica por read (). ssize_t (*write) (struct file *, const char user *, size_t, loff_t *); Envía datos a un archivo o device. Si este puntero es NULL, la system call write () retorna -EINVAL al programa que la invoca Un valor de retorno, no negativo, es el número de bytes escritos. 30
31 Char Devices: File Operations (3) ssize_t (*aio_write)(struct kiocb *, const char user *, size_t, loff_t *); Inicia una operación de escritura asincrónica sobre el device. int (*readdir) (struct file *, void *, filldir_t); Se usa para leer directorios. Solo lo usan los file systems. Debe ser NULL para cualquier device. unsigned int (*poll) (struct file *, struct poll_table_struct *); El método poll es el back end de tres system calls: poll (), epoll (), y select (). Se usa para saber si un read () o un write () a uno o mas descriptores de archivo va a bloquear. El método poll () debe retornar una máscara de bits que indica si son factibles lecturas o escrituras no bloqueantes. El kernel con esta información pone un proceso en estado sleeping hasta que sea posible la operación de E/S. Si un driver deja NULL este método, se asume que puede ser leído o escrito sin bloqueo. 31
32 Char Devices: File Operations (4) int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long); La system call ioctl () envía comandos device específicos. El kernel generalmente procesa ioctl () por medio del método definido en file_operations. Si no hay un method ioctl (), la system call retorna error para cualquier requerimiento no predefinido (-ENOTTY, No such ioctl for device ). int (*mmap) (struct file *, struct vm_area_struct *); mmap requiere el mapeo de un device de memoria al espacio de direcciones del proceso. Si este método es NULL, la system call mmap () retorna -ENODEV. int (*open) (struct inode *, struct file *); Como SIEMPRE es la primer operación realizada sobre el archivo o device, no es necesario declararlo Si es NULL, el device siempre se abre, pero no se notifica al driver. 32
33 Char Devices: File Operations (5) int (*flush) (struct file *); La operación flush () se invoca cuando un proceso cierra su copia del file descriptor de un device Ejecuta (y espera por) cualquier operación excepcional sobre el device. No confundir con la operación fsync () requerida por un programa. flush () se usa en muy pocos drivers: el driver SCSI de cinta lo use, por ejemplo, para asegurar que todos los datos escritos estén en la cinta antes de cerrar el dispositivo Si es NULL, el kernel simplemente ignora el requerimiento. int (*release) (struct inode *, struct file *); Se invoca cuando se desea liberar la estructura. Igual que open () puede ser NULL. release () no se invoca cada vez que un proceso llama a close (). Si una estructura file se comparte (como resultado de fork () o dup() ), release () se invoca cuando todas las copias ejecutan close (). 33
34 Char Devices: File Operations (6) int (*fsync) (struct file *, struct dentry *, int); Es el back end de la system call fsync (), que es llamada por un programa para flushear cualquier dato pendiente. Si es NULL, retorna -EINVAL. int (*aio_fsync)(struct kiocb *, int); Es la versión asincrónica del método fsync. int (*fasync) (int, struct file *, int); Se usa para notificar al device que cambió su flag FASYNC. Puede ser NULL si el driver no soporta notificación asincrónica. int (*lock) (struct file *, int, struct file_lock *); Se usa para implementar file locking. Es indispensable en archivos, pero rara vez se usa en drivers. 34
35 Char Devices: File Operations (7) ssize_t (*readv) (struct file *, const struct iovec *, unsigned long, loff_t *); ssize_t (*writev) (struct file *, const struct iovec *, unsigned long, loff_t *); Implementan operaciones de lectura escritura fragmentada, que ocasionalmente necesitan involucrar múltiples áreas de memoria Estas system calls fuerzan operaciones extra de copia sobre los datos. Si estos punteros se dejan NULL, se llaman en su lugar los métodos read () y write () (quizá mas de una vez). ssize_t (*sendfile)(struct file *, loff_t *, size_t, read_actor_t, void *); Implementa el lado read de la system call sendfile (), que mueve los datos desde un file descriptor hacia otro con mínima copia Se usa por ejemplo en un web server que necesita enviar los contenidos de un archivo fuera hacia la red. Los device drivers normalmente la dejan en NULL. 35
36 Char Devices: File Operations (8) ssize_t (*sendpage) (struct file *, struct page *, int, size_t, loff_t *, int); sendpage es la otra mitad de sendfile; El kernel la llama para enviar datos al archivo correspondiente, una página a la vez. Los device drivers normalmente no implementan sendpage. unsigned long (*get_unmapped_area) (struct file *, unsigned long, unsigned long, unsigned long, unsigned long); El objetivo de este método es encontrar una ubicación adecuada en el espacio de direcciones del proceso para mapearla sobre un segmento de memoria del device. Normalmente es el código de manejo de la memoria quien realiza esta tarea Este método permite a los drivers forzar los requerimientos de alineamiento que pueda tener cualquier device. La mayoría de los drivers dejan este método NULL. 36
37 Char Devices: File Operations (9) int (*check_flags)(int) Permite al módulo chequear los flags que se le pasan en una llamada fcntl (F_SETFL...). int (*dir_notify)(struct file *, unsigned long); Se invoca cuando una aplicación usa fcntl () para pedir modificaciones en un directorio. Sólo es útil en file systems Los drivers no necesitan implementar dir_notify. 37
38 Char Devices: File Operations (10) Es la estructura principal para mapear el sistema de system calls del sistema operativo sobre el hardware Declaradas en <linux/fs.h> struct file_operations struct file_operations midriver_fops = { midriver_fops = NULL, //lseek { midriver_read,.owner = THIS_MODULE, midriver_write,.read = scull_read, NULL, //readdir.write = scull_write, NULL, //poll.ioctl = scull_ioctl, midriver_ioctl,.open = scull_open, NULL, //mmap.release = scull_release, midriver_open, }; NULL, //flush midriver_release, NULL, //fsync NULL, //fasync NULL, //check_media_change NULL, //revalidate NULL, //lock }; 38
39 Otras estructuras del sistema a considerar: struc file Definida en <linux/fs.h> Contiene la información lógica de un archivo abierto con open (). Campos de interés para un char device mode_t f_mode; //Modo en que se abrió el archivo (FMODE_READ, FMODE_WRITE) loff_t f_pos; //Puntero de 64 bits offset dentro del archivo unsigned int f_flags; //O_RDONLY, O_NONBLOCK, O_SYNC. struct file_operations *f_op; void *private_data; open () la carga con NULL antes de llamar al método open propio del driver. Se puede utilizar para guardar datos propios del driver struct dentry *f_dentry; Directory entry. Normalmente no es necesario tenerla en cuenta, salvo si necesitan acceder al inodo del directorio. 39
40 Otras estructuras del sistema a considerar: struct inode Definida en <linux/fs.h> Contiene la información de un nodo del file system (no de un archivo abierto) Campos de interés para un char device dev_t i_rdev; //contiene el número de device (32 bits: 12 major number 20 minor number) struct cdev *i_cdev; //es una estructura del LDM que representa a un char device. Si el inodo no contiene un char device este campo es NULL. Para obtener el major y el minor number a partir de inode unsigned int iminor (struct inode *inode); unsigned int imajor (struct inode *inode); 40
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
En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.
Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa
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á
Drivers para Linux embebido Martin Ribelotta
Drivers para Linux embebido Martin Ribelotta www.emtech.com.ar Temario Drivers en Linux Hola System-land Mundo! Recursos del Kernel IO-MEM, Direcciones Virtuales vs Reales Comunicándose con el user-land
10 En este caso indica la dirección GPIB del instrumento.
Práctica: Manejo de intrumentos a tavés del bus GPIB. Utilización de drivers de instrumentos, funciones básicas GPIB. Utilización de sesiones VISA (Virtual Instrument Software Architecture). En esta práctiva
Acronis License Server. Guía del usuario
Acronis License Server Guía del usuario TABLA DE CONTENIDO 1. INTRODUCCIÓN... 3 1.1 Generalidades... 3 1.2 Política de licencias... 3 2. SISTEMAS OPERATIVOS COMPATIBLES... 4 3. INSTALACIÓN DE ACRONIS LICENSE
Sea el siguiente programa de nombre "c0p1" para copiar archivos (por simplicidad se ha eliminado todo control de errores): Se pide:
Sea el siguiente programa de nombre "c0p1" para copiar archivos (por simplicidad se ha eliminado todo control de errores): 1 /* c0p1 origen destino 2 * Copia "origen" sobre "destino" byte a byte, 3 * haciendo
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:
7. Manejo de Archivos en C.
7. Manejo de Archivos en C. Los datos que hemos tratado hasta el momento han residido en la memoria principal. Sin embargo, las grandes cantidades de datos se almacenan normalmente en un dispositivo de
Internet Information Server
Internet Information Server Internet Information Server (IIS) es el servidor de páginas web avanzado de la plataforma Windows. Se distribuye gratuitamente junto con las versiones de Windows basadas en
Introducción a la programación orientada a objetos
Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación
Dispositivos de Red Hub Switch
Dispositivos de Red Tarjeta de red Para lograr el enlace entre las computadoras y los medios de transmisión (cables de red o medios físicos para redes alámbricas e infrarrojos o radiofrecuencias para redes
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
Contenido. Sistema de archivos. Operaciones sobre archivos. Métodos de acceso a archivos. Directorio. Sistema de archivos por capas.
Contenido Sistema de archivos Operaciones sobre archivos Métodos de acceso a archivos Directorio Sistema de archivos por capas Espacio libre Sistema de archivos Proporciona el mecanismo para el almacenamiento
Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable
Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable 1. Introducción. El Sistema de Administración de Información de un Negocio Franquiciable (SAINF)
Un primer acercamiento a la CMDB.
Un Versión primer 1.2 acercamiento a la CMDB. 20/07/2005 Un primer acercamiento a la CMDB. Versión 1.1 1.2 18/02/05 20/02/05 Fecha Jose Autores Carlos Manuel García Viejo García Lobato http://ars.viejolobato.com
Sistemas Operativos. Curso 2016 Procesos
Sistemas Operativos Curso 2016 Procesos Agenda Proceso. Definición de proceso. Contador de programa. Memoria de los procesos. Estados de los procesos. Transiciones entre los estados. Bloque descriptor
Sistema de Captura Electrónica
Sistema de Captura Electrónica Instructivo de Instalación y Configuración de Lote Server a PC Versión del Documento v2.01 INDICE INDICE... 2 Consideraciones generales de las aplicaciones... 4 Especificaciones
Tutorial: Primeros Pasos con Subversion
Tutorial: Primeros Pasos con Subversion Introducción Subversion es un sistema de control de versiones open source. Corre en distintos sistemas operativos y su principal interfaz con el usuario es a través
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
SCT3000 95. Software para la calibración de transductores de fuerza. Versión 3.5. Microtest S.A. microtes@arrakis.es
SCT3000 95 Versión 3.5 Software para la calibración de transductores de fuerza. Microtest S.A. microtes@arrakis.es Introducción El programa SCT3000 95, es un sistema diseñado para la calibración automática
Familia de Windows Server 2003
Familia de Windows Server 2003 Windows Server 2003 está disponible en cuatro ediciones. Cada edición se ha desarrollado para una función de servidor específica, como se describe en la tabla siguiente:
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.
Sintaxis y Convenciones de Java. M. en C. Erika Vilches
Sintaxis y Convenciones de Java M. en C. Erika Vilches Estructura del Código en Java Hay una clase en un archivo fuente Hay métodos en una clase Hay enunciados en un método Anatomía de una Clase Cuando
Modulo 1 El lenguaje Java
Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto
LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F)
APRENDERAPROGRAMAR.COM LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F) Sección: Cursos Categoría: Curso básico de programación en lenguaje C desde
Estructuras de Sistemas Operativos
Estructuras de Sistemas Operativos Definicion de Sistema Operativos Un sistema operativo es un programa que actua como inter entre el usuario y el hardware de un computador y su proposito es proporcionar
TERMINAL DE COMANDOS (RED HAT, CENTOS Y FEDORA)
TERMINAL DE COMANDOS (RED HAT, CENTOS Y FEDORA) Ya que estos sistemas operativos son muy parecidos entres si los comandos que se utilizan en ellos son iguales a excepción de alguno que difieren entre sí
Notas para la instalación de un lector de tarjetas inteligentes.
Notas para la instalación de un lector de tarjetas inteligentes. Índice 0. Obtención de todo lo necesario para la instalación. 3 1. Comprobación del estado del servicio Tarjeta inteligente. 4 2. Instalación
Capítulo 1 Documentos HTML5
Capítulo 1 Documentos HTML5 1.1 Componentes básicos HTML5 provee básicamente tres características: estructura, estilo y funcionalidad. Nunca fue declarado oficialmente pero, incluso cuando algunas APIs
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
Roles y Características
dominio Roles y Características Una vez instalado Windows Server 2008 y configuradas algunas opciones básicas de Windows Server 2008 desde el Panel de Control o desde el Administrador del Servidor, las
Organización de Computadoras
Organización de Computadoras Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Segundo Cuatrimestre de 2015 Proyecto N 1 Programación en Lenguaje C El objetivo principal
PROBLEMAS DE FUNDAMENTOS DE TECNOLOGÍA DE COMPUTADORES T5. MEMORIAS
PROBLEMAS DE FUNDAMENTOS DE TECNOLOGÍA DE COMPUTADORES T5. MEMORIAS Tema 5 Memorias Hoja: 2 / 14 Base teórica La memoria es el lugar en el que se almacenan las instrucciones y los datos para que se puedan
Trabajo TICO Unidad 2: Sistemas Operativos. Guillermo Jarne Bueno.
Un Sistema Operativo es el software encargado de ejercer el control y coordinar el uso del hardware entre diferentes programas de aplicación y los diferentes usuarios. Es un administrador de los recursos
No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos.
RAIDS MODO LINEAL Es un tipo de raid que muestra lógicamente un disco pero se compone de 2 o más discos. Solamente llena el disco 0 y cuando este está lleno sigue con el disco 1 y así sucesivamente. Este
6 Sistemas de Archivos
6 Sistemas de Archivos Conceptos generales Archivos Directorios Semánticas de consistencia 1 Persistencia de datos Los sistemas de archivos implementan el almacenamiento persistente - los datos creados
TELECOMUNICACIONES Y REDES
TELECOMUNICACIONES Y REDES Redes Computacionales I Prof. Cristian Ahumada V. Unidad V: Capa de Red OSI 1. Introducción. 2. Protocolos de cada Red 3. Protocolo IPv4 4. División de Redes 5. Enrutamiento
jpicusb: Clase Java para comunicación USB con PICs usando API de Microchip
jpicusb: Clase Java para comunicación USB con PICs usando API de Microchip Oñativia, Gerónimo Isidro Universidad Nacional de Tucumán Facultad de Ciencias Exactas Ingeniería en Computación geronimox@gmail.com
CAPÍTULO 3 Servidor de Modelo de Usuario
CAPÍTULO 3 Servidor de Modelo de Usuario Para el desarrollo del modelado del estudiante se utilizó el servidor de modelo de usuario desarrollado en la Universidad de las Américas Puebla por Rosa G. Paredes
UNIDADES DE ALMACENAMIENTO DE DATOS
1.2 MATÉMATICAS DE REDES 1.2.1 REPRESENTACIÓN BINARIA DE DATOS Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS. Los computadores sólo
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
La Pirámide de Solución de TriActive TRICENTER
Información sobre el Producto de TriActive: Página 1 Documento Informativo La Administración de Sistemas Hecha Simple La Pirámide de Solución de TriActive TRICENTER Información sobre las Soluciones de
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
Creación y administración de grupos de dominio
Creación y administración de grupos de dominio Contenido Descripción general 1 a los grupos de Windows 2000 2 Tipos y ámbitos de los grupos 5 Grupos integrados y predefinidos en un dominio 7 Estrategia
SEGURIDAD Y PROTECCION DE FICHEROS
SEGURIDAD Y PROTECCION DE FICHEROS INTEGRIDAD DEL SISTEMA DE ARCHIVOS ATAQUES AL SISTEMA PRINCIPIOS DE DISEÑO DE SISTEMAS SEGUROS IDENTIFICACIÓN DE USUARIOS MECANISMOS DE PROTECCIÓN Y CONTROL INTEGRIDAD
Componente del sistema operativo que maneja el acceso a los archivos.
HFS (MAC) Hierachical File System File Manager Componente del sistema operativo que maneja el acceso a los archivos. Finder Parte del sistema operativo que maneja la búsqueda de archivos a ser presentados.
Estructuras de datos: Proyecto 2
Estructuras de datos: Proyecto 2 28 de mayo de 2013 Instrucciones Enviar las soluciones por email a los ayudantes, con copia a la profesora. Plazo de entrega: 16 de junio (durante todo el día). Se debe
Instrucciones de instalación de TrueCode
Gracias por su compra y las instrucciones que le guiara a través del proceso de instalación y puesta en marcha de su nuevo software. Se recomienda la lectura y las discusiones de los usuarios por favor
Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.
Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Uso de Ficheros Todas las estructuras de datos vistas hasta ahora utilizan la
Uso de Visual C++ Pre-Practica No. 3
Pre-Practica No. 3 Uso de Visual C++ Microsoft Visual C++ 2010 es una versión de Visual Studio específica para el lenguaje de programación C++. Es un entorno de desarrollo muy completo y profesional. Por
Entrada/Salida. Polling e Interrupciones. Verano de 2011. Mariano Moscato. Organización del Computador 1
Entrada/Salida Polling e Interrupciones Mariano Moscato Organización del Computador 1 Verano de 2011 El GuidoBot Robot docente Basado en tecnología ORGA1 tiene un procesador y una memoria ORGA1 Sus dispositivos
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
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
6-REGISTROS DEL 8086 Y DEL 80286
ESTRUCTURA DE COMPUTADORES I (Capítulo 6: Los registros del microprocesador 8086) 1/7 6-REGISTROS DEL 8086 Y DEL 80286 6.1 INTRODUCCIÓN: Dentro del procesador existen unos contenedores especiales de 16
Instalación del Software Magaya
Instalación del Software Magaya INSTALACIÓN DEL SOFTWARE MAGAYA INTRODUCCIÓN A LA INSTALACIÓN DEL SOFTWARE MAGAYA Introducción a la Instalación del Software Magaya Este tema de instalación explica las
AGREGAR COMPONENTES ADICIONALES DE WINDOWS
INSTALACIÓN DE IIS EN WINDOWS XP El sistema está desarrollado para ejecutarse bajo la plataforma IIS de Windows XP. Por esta razón, incluimos la instalación de IIS (Servidor de Web) para la correcta ejecución
Tema 6. Reutilización de código. Programación 2015-2016. Programación - Tema 6: Reutilización de código
Tema 6 Reutilización de código Programación 2015-2016 Programación - Tema 6: Reutilización de código 1 Tema 6. Reutilización de código Modularidad. Implementación de métodos. Uso de métodos. Programación
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
Tema 4. Gestión de entrada/salida
Tema 4. Gestión de entrada/salida 1. Principios de la gestión de E/S. 1.Problemática de los dispositivos de E/S. 2.Objetivos generales del software de E/S. 3.Principios hardware de E/S. 1. E/S controlada
Componentes de Integración entre Plataformas Información Detallada
Componentes de Integración entre Plataformas Información Detallada Active Directory Integration Integración con el Directorio Activo Active Directory es el servicio de directorio para Windows 2000 Server.
La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.
Procesamiento del lado del servidor La Programación del lado del servidor es una tecnología que consiste en el procesamiento de una petición de un usuario mediante la interpretación de un script en el
Figura No. IV-111. Página No. 125
7. opción del menú principal: ventana 7.3. Nombre de la opción: Cascada. Objetivo del módulo: Ordenar las ventanas abiertas por el usuario en forma de cascada. Descripción Funcional: a) Acceso Para utilizar
Utilización del sistema operativo GNU/ Linux en las netbooks
Utilización del sistema operativo GNU/ Linux en las netbooks El sistema operativo es la pieza de software básica de un sistema, que permite manejar los recursos de la computadora, abrir programas, manejar
Creado dentro de la línea de sistemas operativos producida por Microsoft Corporation.
WINDOWS Windows, Es un Sistema Operativo. Creado dentro de la línea de sistemas operativos producida por Microsoft Corporation. Dentro de los tipos de Software es un tipo de software de Sistemas. Windows
Guía de instalación del servidor
Guía de instalación del servidor Autores: Versión: 1.0 Jesús Manuel Rodríguez Sánchez Miguel Ángel Lorente López Fecha: 22/01/2009 Tabla de contenido Manual de Instalación del Servidor 4 Paso 1) Instalar
Agente local Aranda GNU/Linux. [Manual Instalación] Todos los derechos reservados Aranda Software www.arandasoft.com [1]
Todos los derechos reservados Aranda Software www.arandasoft.com [1] Introducción El Agente Aranda para sistemas Linux se encarga de recolectar la siguiente información en cada una de las estaciones de
DESCRIPCION DE PLC UP32 17/07/11 MAN-PLC-UP32-01A
1. Introducción El equipo UP32 incorpora un módulo de PLC que le permiten al usuario personalizar el funcionamiento del sistema. Esto quiere decir, que si necesita realizar operaciones lógicas que no estén
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
Sistemas de Operación II
Sistemas de Operación II Sistemas de Archivos Distribuidos Prof. Carlos Figueira Basado en material de Yudith Cardinale (USB) Andrew Tanembaum y Marteen van Steen Contenido Introducción Requisitos Aspectos
DESCRIPCION DEL SITEMA MASTER.
DESCRIPCION DEL SITEMA MASTER. ESTRUCTURA. El sistema MASTER (Sistema Modular para Control Adaptativo en Tiempo Real) se ha implementado en base a un computador compatible PC-AT, dotado de una tarjeta
MANUAL DE USUARIO PARA LA INSTALACION DE LOS AGENTES COMMVAULT SIMPANA 9.0
MANUAL DE USUARIO PARA LA INSTALACION DE LOS AGENTES COMMVAULT SIMPANA 9.0 Commvault Simpana 9 es la solución a la administración de los respaldos de los datos y archivos digitales, ya que ofrece un enfoque
REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS
REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS Servicio DNS - 1 - Servicio DNS...- 3 - Definición... - 3 - Instalación... - 5 - Configuración del Servidor DNS...- 10 - - 2 - Servicio DNS Definición
Conceptos Básicos de Software. Clase III
Clase III Definición de Sistema Operativo El sistema operativo es el programa (o software) más importante de una computadora. Para que funcionen los otros programas, cada computadora de uso general debe
GUIA DE LABORATORIO # Nombre de la Practica: Antivirus Laboratorio de Redes Tiempo Estimado: 2 Horas y 30 Minutos
UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN CICLO: I-2015 GUIA DE LABORATORIO # Nombre de la Practica: Antivirus Lugar: Laboratorio de Redes Tiempo Estimado: 2 Horas
WINDOWS 2008 5: TERMINAL SERVER
WINDOWS 2008 5: TERMINAL SERVER 1.- INTRODUCCION: Terminal Server proporciona una interfaz de usuario gráfica de Windows a equipos remotos a través de conexiones en una red local o a través de Internet.
Ejemplo de montar un NFS
Tema 5: Sistemas distribuidos de ficheros, replicación de datos, nubes de almacenes de datos (data clouds) 2ª parte Ejemplo de montar un NFS Montar un sistema de ficheros remoto NFS (Sun NFS) en un sistema
Archivos. Teoría de Sistemas Operativos. Archivos. Archivos. Archivos. Archivos. Administración de Archivos
Teoría de Sistemas Operativos Administración de Sistemas de :: punto de vista del usuario Nombre Consiste en una serie de símbolos (letras y números principalmente). Sirven de referencia para el usuario
Sistemas Operativos. Iván Bernal, Ph.D. 4. Escuela Politécnica Nacional email: imbernal@mailfie.epn.edu.ec. Copyright @2002, I.
Sistemas Operativos Clase # 9 Tipos de llamadas al Sistema Viernes, 3 de Mayo de 2002 Agenda Sorpresa! no hay prueba. Tipos de llamadas al sistema. Iván Bernal, Ph.D. Escuela Politécnica Nacional email:
Creación de Funciones de Conducción
Creación de Funciones de Conducción Requerimientos Para el desarrollo de esta actividad se requiere que: Contemos con un robot BoeBot armado con placa Arduino. Repetición En estos momentos habremos notado
Centro de Capacitación en Informática
Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.
Novedades en Q-flow 3.02
Novedades en Q-flow 3.02 Introducción Uno de los objetivos principales de Q-flow 3.02 es adecuarse a las necesidades de grandes organizaciones. Por eso Q-flow 3.02 tiene una versión Enterprise que incluye
1. Configuración del entorno de usuario
Tabla de Contenidos 1. Configuración del entorno de usuario 1.1. Temas 1.2. Apariencia 1.3. Configuración del menú Inicio 2. Configuración de los equipos portátiles en red 2.1. Realizar copia de seguridad
Presentaciones. Con el estudio de esta Unidad pretendemos alcanzar los siguientes objetivos:
UNIDAD 8 Presentaciones Reunión. (ITE. Banco de imágenes) as presentaciones son documentos formados por una sucesión de páginas, llamadas diapositivas, que transmiten información estructurada de manera
Aplicación práctica de la visión artificial en el control de procesos industriales
Aplicación práctica de la visión artificial en el control de procesos industriales Conocimientos básicos de comunicaciones ETHERNET/IP con CJ2M, Xpectia y NS Fecha: Junio 2012 1 ÍNDICE 1.PRIMER PASO...
Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación
Vicerrectorado de Tecnologías de la Información y la Comunicación Conexión mediante Escritorio Remoto de Windows Última Actualización 16 de septiembre de 2013 Histórico de cambios Fecha Descripción Autor
TEMA 20 EXP. WINDOWS PROC. DE TEXTOS (1ª PARTE)
1. Introducción. TEMA 20 EXP. WINDOWS PROC. DE TEXTOS (1ª PARTE) El Explorador es una herramienta indispensable en un Sistema Operativo ya que con ella se puede organizar y controlar los contenidos (archivos
UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3
UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 INTRODUCCIÓN El elemento hardware de un sistema básico de proceso de datos se puede estructurar en tres partes claramente diferenciadas en cuanto a sus funciones:
SOLUCION EXAMEN junio 2006
SOLUCION EXAMEN junio 2006 1. Explique razonadamente si las siguientes afirmaciones son verdaderas o falsas: I) (1 p) En UNIX únicamente se distinguen dos tipos de procesos: los procesos de usuario y los
Unidad 1: Conceptos generales de Sistemas Operativos.
Unidad 1: Conceptos generales de Sistemas Operativos. Tema 2: Estructura de los sistemas de computación. 2.1 Funcionamiento de los sistemas de computación. 2.2 Ejecución de instrucciones e interrupciones
Capítulo 5. Cliente-Servidor.
Capítulo 5. Cliente-Servidor. 5.1 Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor
Windows Server 2003. Windows Server 2003
Windows Server 2003 Windows Server 2003 Es un sistema operativo de la familia Windows de la marca Microsoft para servidores que salió al mercado en el año 2003. Está basada en tecnología NT y su versión
Instructivo de Microsoft Windows
Instructivo de Microsoft Windows El presente instructivo corresponde a una guía básica para el manejo de los programas y la adquisición de conceptos en relación a estos utilitarios. No obstante ello, para
PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso
PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer
La ventana de Microsoft Excel
Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft
Internet, conceptos básicos
Internet, conceptos básicos IP (INTERNET PROTOCOL) Toda computadora tiene un número que la identifica en una red, este número es lo que llamamos IP, una dirección de IP típica se ve de esta manera Direcciones
Gestion de archivos. Problemas al almacenar datos sólo en la memoria:
Gestion de archivos Problemas al almacenar datos sólo en la memoria: 1. El tamaño está limitado por el tamaño de la memoria qué pasa con aplicaciones que necesiten acceder a gran cantidad de información?
Introducción a las redes de computadores
Introducción a las redes de computadores Contenido Descripción general 1 Beneficios de las redes 2 Papel de los equipos en una red 3 Tipos de redes 5 Sistemas operativos de red 7 Introducción a las redes
WINDOWS. Iniciando Windows. El mouse
Windows es un sistema operativo, cuyo nombre lo debe al principal elemento de trabajo, la ventana - en inglés window -. Este tiene características como: Multitarea: durante una sesión de trabajo, es posible
GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS
ARCHIVOS ANEXOS Son los documentos, hojas de cálculo o cualquier archivo que se anexa a las carpetas, subcarpetas, hallazgos u otros formularios de papeles de trabajo. Estos archivos constituyen la evidencia