Plataformas de Tiempo Real
|
|
- Mercedes Cuenca Villalba
- hace 5 años
- Vistas:
Transcripción
1 Master en Computación Plataformas de Tiempo Real Bloque II: Manejadores de dispositivos y drivers Tema 1. Arquitectura de E/S Tema 2. Programación básica de E/S en Linux Tema 3. Programación avanzada de E/S en Linux Tema 5. Interfaces de E/S de datos Tema 6. Buses Plataformas de Tiempo Real mayo Relación entre el computador y su entorno 4.2. Modelos de drivers en MaRTE OS 4.3. Drivers en MaRTE OS: Aspectos generales 4.4. Drivers y sistema de ficheros en MaRTE OS 4.5. Creación e instalación de un driver C 4.6. Operaciones disponibles para drivers 4.7. Ejemplo de un driver C: demo_driver_c.c Plataformas de Tiempo Real mayo Reloj Temporizador Dispositivos de E/S Controla o monitoriza Controlador de interrupciones Computador Planta Plataformas de Tiempo Real mayo
2 Relación entre el computador y su entorno (cont.) Los dispositivos de entrada/salida ponen en contacto al computador con su entorno Una parte fundamental del software de un sistema empotrado será el código encargado de controlar los dispositivos de E/S el código encargado de controlar un dispositivo se denomina manejador de dispositivo (o "driver") Plataformas de Tiempo Real mayo Acceso al hardware En un PC los mapas de memoria y de E/S son independientes instrucciones ensamblador diferentes para acceder a la memoria (MOV, XCHG, etc.) o a los registros de E/S (IN, OUT, etc.) la línea MEM/IO del bus de control selecciona el mapa $ $0a0000 $ $ Mapa de Memoria Memoria RAM (640 Kb) UMA (384 Kb) Memoria RAM (2 Mb) $0000 $000F $0040 $0043 Mapa de E/S Controlador de DMA Timer $0020 Controlador de $0023 Interrupciones $FFFFFFFF No utilizado $FFFF Los registros de los dispositivos pueden encontrarse tanto mapeados en memoria como en el mapa de E/S 1 Plataformas de Tiempo Real mayo Acceso al hardware (cont.) El acceso a un registro mapeado en memoria se realiza utilizando un puntero que apunte a la dirección de memoria deseada // registro en la dirección de memoria 0xFE char *punt_reg = (char *)0xFE000100; *punt_reg = 0x2A; // escribe 0x2A en el registro El acceso a los registros de un dispositivo en el mapa de E/S se consigue con las funciones definidas en <sys/pio.h> // lee un byte de la direc. de E/S indicada por port char inb(unsigned short port) // escribe un byte en la direc. indicada por port outb(unsigned short port, char val) también hay funciones leer y escribir 2 bytes (inw, outw) y 4 bytes (inl, outl) Plataformas de Tiempo Real mayo
3 Ejemplo de dispositivo en E/S: puerto paralelo Mapa de E/S Dirección de E/S puerto1/puerto2 Registro Modo $378/$278 Entrada de Datos Lect. $378/$278 Salida de Datos Esc. Puerto paralelo 2 $276 $277 $278 $279 $27A $27B $27C $27D Entrada/Salida Lee líneas entrada Lee/escribe config. $379/$279 Lee valor líneas auxiliares de entrada $37A/$27A $37A/$27A Lee configuración y líneas auxiliares de salida Establece configuración y valor de líneas auxiliares de salida Lect. Lect. Esc. Puerto paralelo 1 $376 $377 $378 $379 $37A $37B $37C $37D Entrada/Salida Lee líneas entrada Lee/escribe config. Plataformas de Tiempo Real mayo Puerto paralelo: Registro de configuración Permite leer y escribir el estado de las 4 líneas auxiliares de salida También permite configurar el funcionamiento de la puerta: puerta de salida (Output=>0) o de entrada (Output=>1) interrupción habilitada (IRQ enable=>1) X X Output IRQ Select Init Auto Strobe enable Ejemplo: habilita las interrupciones del puerto paralelo 1, dejando los demás bits del registro de control como estaban: char valor_anterior = inb(0x37a); outb(0x37a, 0x10 valor_anterior); Plataformas de Tiempo Real mayo Modelos de drivers en MaRTE OS 4.2 Modelos de drivers en MaRTE OS Existen dos modelos fundamentales de integración de los drivers con el sistema operativo y el resto de la aplicación: El dispositivo se mapea como un fichero (p.e. /dev/lpt0) se accede a él mediante las funciones de acceso a ficheros (open(), write(), read(),...) y la función ioctl() - el driver implementa esas funciones estrategia habitual en sistemas tipo UNIX El driver se implementa como una librería de funciones específicas: lee_canal_ad(), configura_puerto_serie(),... MaRTE OS permite ambas estrategias Plataformas de Tiempo Real mayo
4 Ventajas e inconvenientes de los modelos 4.2 Modelos de drivers en MaRTE OS Dispositivo mapeado como un fichero: Interfaz estándar de llamadas al sistema (open(), write(), read(), close(), ioctl()) Facilita (hasta cierto punto) el intercambio de un dispositivo por otro sin modificar la aplicación Poca flexibilidad en las llamadas, se acaba abusando de ioctl() Librería de funciones específicas Interfaz flexible y fácil de utilizar No estándar En este curso nos centraremos en el modelo basado en dispositivos mapeados como ficheros Plataformas de Tiempo Real mayo Drivers en MaRTE OS: Aspectos generales 4.3 Drivers en MaRTE OS: Aspectos generales Tipos de dispositivos sólo existen los dispositivos de caracteres Identificación de drivers Números mayores y menores con un significado similar al que tienen en Linux Instalación de los drivers Instalación estática a través de la modificación de la tabla de dispositivos Requiere la recompilación del kernel Los drivers se pueden escribir tanto en Ada como en C si se escriben en C necesitan un envoltorio Ada Plataformas de Tiempo Real mayo Drivers en MaRTE OS: Aspectos generales Drivers en MaRTE OS: Aspectos generales (cont.) Los drivers pueden usar todas las funciones POSIX threads, mutexes, variables condicionales, temporizadores, semáforos,... excepto en las rutinas de servicio de interrupción, donde no se pueden usar operaciones bloqueantes - esto incluye escribir en otros drivers (p.e., no usar la entrada/ salida estándar) - alternativamente existe una operación printc para escribir en consola directamente El código de cada driver debe ir localizado en un subdirectorio de marte/x86_arch/drivers/ Plataformas de Tiempo Real mayo
5 Puntos de entrada de los drivers 4.3 Drivers en MaRTE OS: Aspectos generales Puntos de entrada de los drivers create/remove funciones de instalación/desinstalación del driver, externas al sistema de archivos - Linux: suplen las operaciones de instalación y desinstalación de módulos open/close y read/write funciones de entrada/salida básicas de POSIX ioctl función que permite transmitir un comando al dispositivo Plataformas de Tiempo Real mayo Drivers en MaRTE OS: Aspectos generales Ejemplo: puntos de entrada del driver my_drv int my_drv_create (void); int my_drv_remove (void); int my_drv_open (int file_descriptor, int file_access_mode); int my_drv_close (int file_descriptor); ssize_t my_drv_read (int file_descriptor, void *buffer, size_t bytes); ssize_t my_drv_write (int file_descriptor, void *buffer, size_t bytes); int my_drv_ioctl (int file_descriptor, int request, void *argp); Plataformas de Tiempo Real mayo Drivers y sistema de ficheros en MaRTE OS 4.4 Drivers y sistema de ficheros en MaRTE OS El sistema de ficheros en MaRTE OS utiliza tres tablas: Tabla de drivers (editada por el usuario): - Vincula cada driver (número mayor) con las funciones que constituyen sus puntos de entrada Tabla de ficheros de dispositivo (editada por el usuario): - Define los ficheros de dispositivo existentes (sus nombres) - Vincula cada fichero de dispositivo con el número mayor de su driver - Asocia el número menor de los ficheros de dispositivo Tabla de descriptores de fichero (gestionada por MaRTE OS): - Mantiene los descriptores de fichero correspondientes a los dispositivos abiertos en cada momento por la aplicación Plataformas de Tiempo Real mayo
6 Tabla de drivers 4.4 Drivers y sistema de ficheros en MaRTE OS Definición de los drivers: Vincula cada driver (número mayor) con las funciones que constituyen sus puntos de entrada Major Create Create_ Remove Remove_ Open Open_ Close Close_ Read Read_ Write Write_ Ioctl Ioctl_ my_drv_ create Configuration_ Parameters. Devices_Mx my_drv_ remove my_drv_ open my_drv_ close my_drv_ read my_drv_ write my_drv_ ioctl null null null null null null null Linux: es equivalente al uso de register_chrdev_region, cdev_alloc y cdev_add Plataformas de Tiempo Real mayo Tabla de ficheros de dispositivos Define los ficheros de dispositivo existentes Device_File_ Number File_Name Path Major_ Number Major Linux: cada entrada es equivalente a un mknod 4.4 Drivers y sistema de ficheros en MaRTE OS Minor_ Number Minor Device_Used Boolean 1 "/dev/stdin" 1 0 True 2 "/dev/stdout" 2 0 True 3 "/dev/stdin" 3 0 True 4 "/dev/my_drv1" 5 0 True 5 "/dev/my_drv2" 5 1 True Configuration_parameters. Device_Files_Mx False Plataformas de Tiempo Real mayo Tabla de descriptores de ficheros 4.4 Drivers y sistema de ficheros en MaRTE OS Mantiene los descriptores de fichero correspondientes a los dispositivos abiertos en cada momento por la aplicación gestionada automáticamente por el SO File descriptor File_Open_Status File_Access_Mode Device_File_Assigned Device_File_Number Specific_Data Integer Se crea una entrada en cada open la llamada retorna el índice de la fila de la tabla utilizada int fd = open("/dev/my_drv1", O_RDWR); Fd_Used Boolean True 3 Read_Write 4 0 True Configuration_parameters. Open_Files_Mx-1??? False 3 Plataformas de Tiempo Real mayo
7 Puede usarse como plantilla el driver existente en: marte/x86_arch/drivers/demo_driver_c/ 1. Crear un directorio en marte/x86_arch/drivers/ 2. Escribir uno o más ficheros con las funciones del driver 3. Escribir un fichero Ada de interfaz del driver - puede usarse como plantilla demo_driver_c_import.ads 4. Crear un Makefile en el directorio del driver 5. Modificar las tablas de drivers y de ficheros de dispositivos 6. Recompilar MaRTE OS: mkmarte: la primera vez (después de cambiar las tablas) mkdrivers: tras cada cambio en el código del driver - ejecuta make en el directorio del driver y copia los "*.o" Plataformas de Tiempo Real mayo Modificación de las tablas de drivers y de ficheros de dispositivos El fichero marte-kernel-devices_table.ads (directorio marte/x86_arch/arch_dependent_files/) define las tablas: The_Driver_Table: Tabla de drivers Vincula cada driver (número mayor) con las funciones que constituyen sus puntos de entrada The_Device_Files_Table: Tabla de ficheros de dispositivo registra los ficheros de dispositivo y asocia el driver que los controla Plataformas de Tiempo Real mayo Modificación de las tablas de drivers y de ficheros de dispositivos (cont.) Para incluir un nuevo driver: Añadir una entrada a The_Driver_Table, eligiendo un número mayor no usado Añadir uno o varios ficheros de dispositivos (uno por número menor) a The_Device_Files_Table - el nombre es un string cualquiera (se puede usar el prefijo "/dev" por analogía con Linux) - elegir como número mayor el asociado al driver - el número menor es cualquiera; se usará para identificar las (posibles) distintas instancias de un dispositivo Plataformas de Tiempo Real mayo
8 Fichero marte-kernel-devices_table.ads -- Typical standard devices(std input, output, error) with Keyboard_Functions; -- standard input with Text_And_Serial_Console_Import; -- std output, error -- User's drivers "withs" (add withyour_driver') with My_Drv_C_Import; -- MaRTE OS "withs" (Do not edit) with Marte.Kernel.File_System_Data_Types; use Marte.Kernel.File_System_Data_Types; package Marte.Kernel.Devices_Table is pragma Elaborate_Body; Añadido por el usuario Plataformas de Tiempo Real mayo Fichero marte-kernel-devices_table.ads (cont.) The_Driver_Table : Kernel.File_System_Data_Types.Driver_Table_Type := (1 => (Name => "Keyboard ", Create => Keyboard_Functions.Create'Access, Remove => null, Open => null, Close => null, Read => Keyboard_Functions.Read'Access, Write => null, Ioctl => Keyboard_Functions.Ioctl'Access, Delete => null, Lseek => null), 2 => (Name => "Text/Serial ", Create => Text_And_Serial_console_Import.Create_Ac, Remove => Text_And_Serial_console_Import.Remove_Ac, Open => Text_And_Serial_console_Import.Open_Ac, Close => Text_And_Serial_console_Import.Close_Ac, Read => null, Write => Text_And_Serial_console_Import.Write_Ac, Ioctl => Text_And_Serial_console_Import.Ioctl_Ac, Delete => null, Lseek => null), 3 => (Name => "Text/Serial ", Create => Text_And_Serial_console_Import.Create_Ac, Plataformas de Tiempo Real mayo Fichero marte-kernel-devices_table.ads (cont.) Remove => Text_And_Serial_console_Import.Remove_Ac, Open => Text_And_Serial_console_Import.Open_Ac, Close => Text_And_Serial_console_Import.Close_Ac, Read => null, Write => Text_And_Serial_console_Import.Write_Error_Ac, Ioctl => Text_And_Serial_console_Import.Ioctl_Ac, Delete => null, Lseek => null), 7 => (Name => "My Driver ", Create => My_Drv_C_Import.Create_Ac, Remove => My_Drv_C_Import.Remove_Ac, Open => My_Drv_C_Import.Open_Ac, Close => My_Drv_C_Import.Close_Ac, Read => My_Drv_C_Import.Read_Ac, Write => My_Drv_C_Import.Write_Ac, Ioctl => My_Drv_C_Import.Ioctl_Ac, Delete => null, Lseek => null), others => (" ", null, null, null, null, null, null, null, null, null) ); Driver añadido por el usuario: - Nombre:"My Driver" - Número mayor: 7 Plataformas de Tiempo Real mayo
9 Fichero marte-kernel-devices_table.ads (cont.) The_Device_Files_Table : Kernel.File_System_Data_Types.Device_Files_Table_Type := ( -- File path Major Minor Used Type Del Count 1 => ("/dev/stdin ", 1, 0, True, Device, False, 0), 2 => ("/dev/stdout ", 2, 0, True, Device, False, 0), 3 => ("/dev/stderr ", 3, 0, True, Device, False, 0), 12 => ("/dev/my_drv ", 7, 0, True, Device, False, 0), others => (" ", 1, 0, False, Device, False,0) ); end Marte.Kernel.Devices_Table; Fichero de dispositivo añadido por el usuario: - Nombre:"/dev/my_drv" - Driver asociado: 7 - Número menor: 0 Plataformas de Tiempo Real mayo Operaciones disponibles para drivers 4.6 Operaciones disponibles para drivers Operaciones de <drivers/drivers_marte.h> /* retorna el número mayor del driver asociado al * descriptor de fichero, o -1 si hay error */ int get_major (int filedes); /* retorna el número menor del driver asociado al * descriptor de fichero, o -1 si hay error */ int get_minor (int filedes); /* Obtiene el dato específico del dispositivo */ int driver_getspecific (int filedes, int *data); /* Cambia el dato específico del dispositivo */ int driver_setspecific (int filedes, int data); /* Obtiene el modo de acceso */ int get_fd_access_mode (int filedes); Plataformas de Tiempo Real mayo Acceso a la memoria 4.6 Operaciones disponibles para drivers MaRTE OS maneja un espacio de direcciones único no diferencia la memoria del kernel de la de usuario en los puntos de entrada no es necesario el uso de funciones especiales para el intercambio de datos entre el driver y la aplicación Memoria dinámica Funciones estándar C (en <stdlib.h>) para reservar memoria void *malloc (size_t size) para liberar memoria void free (void *buff); Plataformas de Tiempo Real mayo
10 Acceso al hardware 4.6 Operaciones disponibles para drivers El acceso a los registros de un dispositivo se consigue con las funciones de <sys/pio.h> funciones de entrada y salida de bytes inb(port) inb_p(port) outb(port, val) outb_p(port, val) también hay funciones para 16 y 32 bits Hay facilidades para uso del bus PCI en <sys/pci.h> Plataformas de Tiempo Real mayo #include <stdio.h> #include <drivers/drivers_marte.h> #define BUFFER_SIZE 30 char demo_buffer [BUFFER_SIZE] = ""; int demo_c_create () return 0; int demo_c_remove () return 0; Plataformas de Tiempo Real mayo int demo_c_open (int file_descriptor, int file_access_mode) printf ("Demo C Drv:Open dev file %d (Maj:%d, Min:%d) Mod %d\n", file_descriptor, get_major(file_descriptor), get_minor(file_descriptor), file_access_mode); return 0; int demo_c_close (int file_descriptor) printf ("Demo C Drv: Close dev file %d (Major:%d, Minor:%d)\n", file_descriptor, get_major(file_descriptor), get_minor(file_descriptor)); return 0; Plataformas de Tiempo Real mayo
11 ssize_t demo_c_read (int file_descriptor, void *buffer, size_t bytes) size_t i, bytes_read = 0; if (bytes < BUFFER_SIZE) bytes_read = bytes; else bytes_read = BUFFER_SIZE; for (i=0; i<bytes_read; i++) ((char *)buffer)[i] = demo_buffer[i]; printf ("Demo C Diver: read %d bytes\n", bytes_read); return bytes_read; Plataformas de Tiempo Real mayo ssize_t demo_c_write (int file_descriptor, void *buffer, size_t bytes) size_t i, bytes_written = 0; if (bytes < BUFFER_SIZE) bytes_written = bytes; else bytes_written = BUFFER_SIZE; for (i=0; i<bytes_written; i++) demo_buffer[i] = ((char *)buffer)[i]; printf ("Demo C Diver: written %d bytes\n", bytes_written); return bytes_written; Plataformas de Tiempo Real mayo int demo_c_ioctl (int file_descriptor, int request, void* argp) printf ("Demo C Diver: Ioctl. Request:%d, argp:%s\n", request, (char *) argp); return 0; Plataformas de Tiempo Real mayo
12 with Drivers_MaRTE; use Drivers_MaRTE; with System, Ada.Unchecked_Conversion; package Demo_Driver_C_Import is -- Create function Create return Int; pragma Import (C, Create, "demo_c_create"); function Address_To_Create_Ac is new Ada.Unchecked_Conversion (System.Address, Create_Function_Ac); Create_Ac : Create_Function_Ac := Address_To_Create_Ac (Create'Address); -- Remove function Remove return Int; pragma Import (C, Remove, "demo_c_remove"); function Address_To_Remove_Ac is new Ada.Unchecked_Conversion (System.Address, Remove_Function_Ac); Remove_Ac : Remove_Function_Ac := Address_To_Remove_Ac (Remove'Address); Plataformas de Tiempo Real mayo Open function Open (Fd : in File_Descriptor; Mode : in File_Access_Mode) return Int; pragma Import (C, Open, "demo_c_open"); function Address_To_Open_Ac is new Ada.Unchecked_Conversion (System.Address, Open_Function_Ac); Open_Ac : Open_Function_Ac := Address_To_Open_Ac (Open'Address); -- Close function Close (Fd : in File_Descriptor) return Int; pragma Import (C, Close, "demo_c_close"); function Address_To_Close_Ac is new Ada.Unchecked_Conversion (System.Address, Close_Function_Ac); Close_Ac : Close_Function_Ac := Address_To_Close_Ac (Close'Address); Plataformas de Tiempo Real mayo Read function Read (Fd : in File_Descriptor; Buffer_Ptr : in Buffer_Ac; Bytes : in Buffer_Length) return Int; pragma Import (C, Read, "demo_c_read"); function Address_To_Read_Ac is new Ada.Unchecked_Conversion (System.Address, Read_Function_Ac); Read_Ac : Read_Function_Ac := Address_To_Read_Ac (Read'Address); -- Write function Write (Fd : in File_Descriptor; Buffer_Ptr : in Buffer_Ac; Bytes : in Buffer_Length) return Int; pragma Import (C, Write, "demo_c_write"); function Address_To_Write_Ac is new Ada.Unchecked_Conversion (System.Address, Write_Function_Ac); Write_Ac : Write_Function_Ac := Address_To_Write_Ac (Write'Address); Plataformas de Tiempo Real mayo
13 -- Ioctl function Ioctl (Fd : in File_Descriptor; Request : in Ioctl_Option_Value; Ioctl_Data_Ptr : in Buffer_Ac) return Int; pragma Import (C, Ioctl, "demo_c_ioctl"); function Address_To_Ioctl_Ac is new Ada.Unchecked_Conversion (System.Address, Ioctl_Function_Ac); Ioctl_Ac : Ioctl_Function_Ac := Address_To_Ioctl_Ac (Ioctl'Address); end Demo_Driver_C_Import; Plataformas de Tiempo Real mayo MGCC =../../../utils/mgcc DEFAULT: demo_driver_c.o demo_driver_c.o: demo_driver_c.c Makefile $(MGCC) -c $(CFLAGS) demo_driver_c.c tabulador Plataformas de Tiempo Real mayo
Periféricos Interfaces y Buses
Periféricos Interfaces y Buses I. Arquitectura de E/S II. Programación de E/S Aspectos básicos de la programación de E/S. Arquitectura y programación de la E/S en el sistema operativo. Manejadores de dispositivos
Características de los gestores de dispositivos en MaRTE OS
Características de los gestores de dispositivos en MaRTE OS En este documento vamos a resumir los aspectos más relevantes del diseño de gestores de dispositivos en MaRTE y algunas de sus diferencias con
Manejadores de buses serie en MaRTE OS
Programa Oficial de Postgrado en Ciencias, Tecnología y Computación Máster en Computación Facultad de Ciencias Universidad de Cantabria Manejadores de buses serie en MaRTE OS Autor: Directores: Mario Aldea
Plataformas de Tiempo Real
Master en Computación Plataformas de Tiempo Real POSIX Avanzado y Extensiones Tema 1. Ficheros y entrada/salida Tema 3. Monitorización y control del tiempo de ejecución Tema 4. Planificación EDF Tema 5.
ENTORNO PARA LA INSTALACIÓN Y UTILIZACIÓN DE MANEJADORES DE DISPOSITIVOS EN MARTE OS
ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES Y DE TELECOMUNICACIÓN UNIVERSIDAD DE CANTABRIA Proyecto Fin de Carrera ENTORNO PARA LA INSTALACIÓN Y UTILIZACIÓN DE MANEJADORES DE DISPOSITIVOS EN MARTE
Instrumentación de Tiempo Real
Instrumentación de Tiempo Real Tema 1. Introducción Tema 2. Recursos de acceso al hardware Tema 3. Interrupciones Tema 4. Puertas básicas de entrada/salida (I) Tema 5. Recursos de temporización de bajo
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
Instrumentación de Tiempo Real
Instrumentación de Tiempo Real Tema 1. Introducción Tema 2. Recursos de acceso al hardware Tema 3. Interrupciones Tema 4. Puertas básicas de entrada/salida (I) Tema 5. Recursos de temporización de bajo
La función de un SO en los sistemas de I/O, es manejar y controlar las operaciones y los dispositivos de I/O.
Sistemas de I/O pagina 1 de 5 Sistemas de Entrada/Salida Las aplicaciones utilizan los dispositivos (devices) para realizar la I/O (entrada-salida). Estos dispositivos son variados y trabajan de manera
Entrada y Salida de Archivos
Entrada y Salida de Archivos E/S Básica de Archivo El servicio básico es sin buffering, a diferencias de la E/S estándar (stdio.h), dado que las primeras generan llamadas al sistema (read y write). Son
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
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
Librería para la creación de interfaces gráficas para el control de sistemas empotrados y aplicación a un brazo telemanipulado
Librería para la creación de interfaces gráficas para el control de sistemas empotrados y aplicación a un brazo telemanipulado Graphical interfaces library for embedded control systems. Application to
Matías Zabaljáuregui
El buffer de la entrada estándar en GNU/Linux Matías Zabaljáuregui (matiasz@info.unlp.edu.ar) http://linux.linti.unlp.edu.ar 0. Introducción Se intentará describir en términos sencillos la forma de tratar
Biblioteca de sistema
* Para la realización del presente examen se aconseja un tiempo de 2 horas. Teoría 1. Explique en detalle cómo se pasa una llamada al sistema operativo. El sistema operativo se activa cuando debe responder
Gestión de dispositivos de entrada/salida analógica, digital y por el bus serie I2C
Gestión de dispositivos de entrada/salida analógica, digital y por el bus serie I2C Daniel Sangorrín López daniel.sangorrin@gmail.com Director: Michael González Harbour Universidad de Cantabria Tabla de
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
Instrumentación de Tiempo Real
Instrumentación de Tiempo Real Tema 1. Introducción Tema 2. Recursos de acceso al hardware Tema 3. Interrupciones Tema 4. Puertas básicas de entrada/salida (I) Tema 5. Recursos de temporización de bajo
Prácticas de Periféricos Interfaces y Buses
Prácticas de Periféricos Interfaces y Buses 3 er Curso de Ingeniería Informática GRUPO DE COMPUTADORES Y TIEMPO REAL J. Javier Gutiérrez, Julio Medina 1 GRUPO DE COMPUTADORES Y TIEMPO REAL J. Javier Gutiérrez,
Programación de sistemas El sistema de archivo de UNIX
Programación de sistemas El sistema de archivo de UNIX Prof: Sergio Bemposta Dpto: DACA E.Politecnica sergio.bemposta@uem.es Indice Concepto de archivo El i-nodo Tablas de control de archivos Los directorios
Guía rápida para gestionar el puerto paralelo del PC
Guía rápida para gestionar el puerto paralelo del PC Descarga desde: http://eii.unex.es/profesores/jisuarez/descargas/ip/guia_rapida_pp.pdf José Ignacio Suárez Marcelo Universidad de Extremadura Escuela
Bloque I: Principios de sistemas operativos
Bloque I: Principios de sistemas operativos Tema 1. Principios básicos de los sistemas operativos Tema 2. Concurrencia Tema 3. Ficheros Tema 4. Sincronización y programación dirigida por eventos Tema 5.
Fundamentos de los Sistemas Operativos. Tema 1. Conceptos generales Estructura del sistema operativo ULPGC - José Miguel Santos Espino
Fundamentos de los Sistemas Operativos Tema 1. Conceptos generales Estructura del sistema operativo 2015 ULPGC - José Miguel Santos Espino Contenido Componentes del S.O. Programas del sistema El núcleo
Vista de Alto Nivel del Funcionamiento del Computador Interconectividad
Vista de Alto Nivel del Funcionamiento del Computador Interconectividad Del capítulo 3 del libro Organización y Arquitectura de Computadores William Stallings Concepto de Programa Sistemas cableados son
Práctica 1: (Tema 2) Instalación de MaRTE OS
Práctica 1: (Tema 2) Instalación de Objetivos: Instalar practicar el uso del entorno de de ción Concurrente oct-13 1 Acceso a los puestos del laboratorio Elegir la primera de las opciones de arranque:
Sistema de Ficheros SOA
Sistema de Ficheros Indice Introducción Descripción básica del hardware Visión estática Organización del espacio de disco Gestión del espacio de disco Gestión del espacio de nombres Ejemplo: Linux Ext2
Arquitectura de I/O Para que una computadora funcione correctamente, deben ser provistos data paths para permitir que la información fluya entre la CP
Device Driver Model Arquitectura de I/O Para que una computadora funcione correctamente, deben ser provistos data paths para permitir que la información fluya entre la CPU(s), RAM y los dispositivos de
Examen Teórico (1/3 de la nota final)
Examen Teórico (1/3 de la nota final) 105000016 - Programación para Sistemas Grado en Ingeniería Informática (2009) Lenguajes y Sistemas Informáticos e Ingeniería de Software Facultad de Informática Universidad
Llamadas al sistema de ficheros
Universidad Carlos III de Madrid Departamento de Informática Área de Arquitectura y Tecnología de Computadores Grado en Ingeniera Informática SISTEMAS OPERATIVOS Práctica 3. Llamadas al sistema de ficheros
Introducción a Sistemas Operativos: Ficheros
Introducción a Sistemas Operativos: Ficheros Clips Fr ancisco J Ballesteros 1. Entrada/Salida Es importante saber cómo utilizar ficheros. En UNIX, es aún más importante dado que gran parte de los recursos,
Diseño de Sistemas Operativos RAMDISK. Anastasia Ramos Mayor Ellishia Owens Cruz Facultad de Informática de la ULPGC
Diseño de Sistemas Operativos RAMDISK Anastasia Ramos Mayor Ellishia Owens Cruz Facultad de Informática de la ULPGC Definición Zona de memoria RAM configurada para simular disco duro. Consiste, en otras
Introducción a C++ Índice
Introducción a C++ 1. 2. 3. 4. 5. 6. Índice 1. Diferencias entre C y C++. 2. Diferencias entre C++ y Java. 3. Ejemplos. 4. Funciones. 5. Memoria dinámica 6. Librería de funciones. 1 1. Diferencias entre
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
Sistemas Operativos sesión 12: tuberías
Sistemas Operativos sesión : tuberías Grado en Ingeniería Informática Universidad Carlos III de Madrid Agenda Linux Comunicación con tuberías Ejercicios Agenda Linux Comunicación con tuberías Ejercicios
Programación I Teoría : Entrada/Salida - Archivos.
Programación I Teoría : Entrada/Salida - Archivos http://proguno.unsl.edu.ar proguno@unsl.edu.ar Entrada/Salida Interacción del programa con su ambiente para leer (entrada) y escribir (salida) datos. 2
Funciones POSIX (I): Introducción
Funciones POSIX I Funciones POSIX I Llamadas al Llamadas al Sistema Sistema Gestión Básica Gestión Básica de Procesos de Procesos Procesos Procesos fork fork Señales Señales getpid getpid Memoria Memoria
Sistemas Operativos: Programación de Sistemas. Curso Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J.
Tema 5 : Comunicación entre Procesos mediante Tuberías Sistemas Operativos: Programación de Sistemas Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Santana Pérez Curso 2006-07 Introducción Algunas
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
Plataformas de Tiempo Real
Master en Computación Plataformas de Tiempo Real POSIX Avanzado y Extensiones Tema 2. Gestión de Interrupciones en MaRTE OS Tema 3. Monitorización y control del tiempo de ejecución Tema 4. Planificación
Tema 3: Ficheros. Enrique Soriano. 3 de marzo de Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC
Tema 3: Ficheros Enrique Soriano Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC 3 de marzo de 2010 (cc) 2010 Grupo de Sistemas y Comunicaciones. Algunos derechos reservados. Este trabajo
Tema 13: Manejo de archivos en lenguaje C
Tema 13: Manejo de archivos en lenguaje C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco)
Tecnología de software para sistemas de tiempo real
1 dit UPM Tecnología de software para sistemas de tiempo real Juan Antonio de la Puente DIT/UPM Motivación Las herramientas y la tecnología de software que se usan para construir otros tipos de sistemas
Contenidos. Para el usuario. Para el programador. Para el desarrollador del sistema operativo.
Sistemas operativos Jorge Juan Chico , Julián Viejo Cortés 2011, 2014 Departamento de Tecnología Electrónica Universidad de Sevilla Usted es libre de copiar, distribuir
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:
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
GUIA DE EJERCICIOS Nº 3 INSTRUMENTACIÓN AVANZADA
GUIA DE EJERCICIOS Nº 3 INSTRUMENTACIÓN AVANZADA Comunicando LabVIEW a una placa ARDUINO 1 3.-COMUNICANDO LABVIEW A UNA PLACA ARDUINO El objetivo de esta guía es programar la placa ARDUINO para que se
Arquitectura de computadoras
Arquitectura de computadoras Técnicas Digitales III Ing. Gustavo Nudelman 2013 Que entendemos por arquitectura Un sistema con una CPU, memoria y dispositivos de entrada y salida puede considerarse un sistema
Arquitectura de Computadores II Clase #3
Arquitectura de Computadores II Clase #3 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Registros Repertorio de instrucciones Modos de direccionamiento El
Sistemas Operativos: Programación de Sistemas. Curso Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J.
Tema 1 : Introducción 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 Concepto y definición Construcción
Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 1
Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 1 Contenidos: 1. Características generales de C++ 2. Entrada/salida estándar 3. Variables y tipos de datos
Eventos e interrupciones
Programación Concurrente en Linux Eventos e interrupciones Alberto Lafuente, Dep. KAT/ATC de la UPV/EHU, bajo Licencia Creative Commons 1 Contenido 1. Interacción en un programa: entrada/ salida 2. Eventos
Introducción a Arduino
Introducción a Arduino Dr. Ulises Pineda Rico Cuerpo Académico de Comunicaciones Facultad de Ciencias, UASLP Tel. +52(444) 826-2486 ext. 2964 correo electrónico: u_pineda@galia.fc.uaslp.mx http://galia.fc.uaslp.mx/~u_pineda
GUIA No 5. CREACIÓN DE SubVI s
GUIA No 5 CREACIÓN DE SubVI s Una característica importante de LabView es el manejo de jerarquías y el poder utilizar fácilmente un programa anterior como un módulo de otro cualquiera. Cuando un VI es
Estructura de los sistemas de cómputo
Estructura de los sistemas de cómputo Introducción Elementos básicos de un computador Registro del procesador Ejecución de las instrucciones Interrupciones Hardware de protección Introducción Qué es un
Prácticas de Sistemas operativos
Prácticas de Sistemas operativos David Arroyo Guardeño Escuela Politécnica Superior de la Universidad Autónoma de Madrid Tercera Semana: Comunicación entre procesos con Tuberías 1 Entregas 2 Introducción
Velocidades Típicas de transferencia en Dispositivos I/O
Entradas Salidas Velocidades Típicas de transferencia en Dispositivos I/O Entradas/Salidas: Problemas Amplia variedad de periféricos Entrega de diferentes cantidades de datos Diferentes velocidades Variedad
Lenguaje C. República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III
República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III Lenguaje C 1 Puntos previos Los códigos fuentes generados en C requieren ser compilados
ENTRADA/SALIDA. Relación Programa - Sistema Operativo - Hardware
ENTRADA/SALIDA UPCO ICAI Departamento de Electrónica y Automática 1 Relación Programa - Sistema Operativo - Hardware Mi programa no maneja directamente el hardware El sistema operativo es el que maneja
Capítulo 4. Entrada/Salida
Capítulo 4 Entrada/Salida 4.1 Principios hardware de E/S 4.2 Principios software de E/S 4.3 Niveles software de E/S 4.4 Discos 4.5 Relojes 4.6 Terminales orientados a caracteres 4.7 Interfaces gráficas
Clase Práctica de Perifericos
Clase Práctica de Perifericos Gastón Aguilera Departamento de Computación, FCEyN, Universidad de Buenos Aires, Buenos Aires, Argentina Que haremos hoy? Temas: Administración de E/S Asignación de Periféricos
Sist s em e a m s s O per e ativos o. s Unidad V Entrada Sali l d i a.
Sistemas Operativos. Unidad V Entrada Salida. Programación de Entrada y Salida Introducción. Comunicación de los procesos con el mundo externo : Mecanismo de E/S de información. Aspectos que diferencian
Capítulo 2 Introducción a los sistemas operativos
Sistemas operativos: una visión aplicada Capítulo 2 Introducción a los sistemas operativos Contenido Qué es un sistema operativo? Arranque del computador Componentes y estructura de un sistema operativo
Control interno del flujo de un programa 1-14
Control interno del flujo de un programa 1-14 Lección 1 Tipos de eventos Eventos en programas ejecutables Un report es un programa que realiza las siguientes fases: Recogida de parámetros (si los hay)
Usando el Sistema Operativo
Sistemas Operativos Pontificia Universidad Javeriana Enero de 2010 Los sistemas operativos Los sistemas operativos Perspectivas del Computador Concepto general El sistema operativo es parte del software
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á
Introducción al lenguaje C
Introducción al lenguaje C Programación 2 Instituto de Computación, Facultad de Ingeniería, Universidad de la República, Uruguay 2 de marzo de 2016 Programación 2 Introducción al lenguaje C 2 de marzo
5 Gestión de E/S. Servicios de E/S que suministra el SO Hardware de Entradas/salidas Implementación de los servicios Mejora del redimiento de E/S SOI
5 Gestión de E/S Servicios de E/S que suministra el SO Hardware de Entradas/salidas Implementación de los servicios Mejora del redimiento de E/S 1 Hardware de E/S Elementos hardware del sistema de E/S
Caracter a caracter los datos pueden ser escritos o leidos carácter a carácter, con las funciones fputc() y fgetc().
Notas auxiliares sobre manejo de archivos Las funciones de entrada salida (E/S) de las librerías estandar de C, permiten leer y escribir datos a, y desde, archivos y dispositivos. La caracteristica fundamental
Examen 1ª Evaluación. 1 of 13 7/9/2013 8:51 PM. Comenzado: Jul 9 en 8:51pm. Question 1: 1 puntos Un ejemplo de aplicación es:
Examen 1ª Evaluación Comenzado: Jul 9 en 8:51pm Question 1: 1 puntos Un ejemplo de aplicación es: kernel IIS fat 16 Linea de comandos Question 2: 1 puntos Cual de los siguientes no es un tipo de sistema
Programación 1 Grado de Ingeniería Robótica
Programación 1 Grado de Ingeniería Robótica Tema 6: Datos estructurados Índice (sesión 11/11/2015): Arrays estáticos Cadenas de caracteres Funciones de la librería string.h Punteros Declaración de punteros
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
Introducción a la Computación. Capítulo 7 Entrada/Salida
Introducción a la Computación Capítulo 7 Entrada/Salida Problemas Entrada/Salida Existe una amplia variedad periféricos Se les entrega distintas cantidades de datos Funcionan a distintas velocidades Tienen
Contenido 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS PROCESOS Prólogo...
1 Prólogo... xv 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS... 1 1.1. Conceptos generales sobre sistemas operativos... 2 1.1.1. Funciones del sistema operativo... 2 1.1.2. Componentes del sistema operativo...
GUIA DE EJERCICIOS Nº 3 INSTRUMENTACIÓN AVANZADA
GUIA DE EJERCICIOS Nº 3 INSTRUMENTACIÓN AVANZADA Comunicando LabVIEW a una placa ARDUINO 1 3.-COMUNICANDO LABVIEW A UNA PLACA ARDUINO El objetivo de esta guía es realizar un semáforo de un tiempo (1 única
Apartado Puntuación. No Presentado
Apartado 1 2 3 4 5 6 7 Puntuación No Presentado EXAMEN DE SISTEMAS OPERATIVOS (Grado en Ing. Informática), Julio 2015. APELLIDOS Y NOMBRE:....................................................... Justificar
PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; }
PROGRAMACIÓN EN JAVA { una línea para definir, crear o ejecutar ; } JFC Y API SPECIFICATIONS OBJECT INTERFACE ABSTRACT IMPLEMENTS EXTENDS NEW EXTENDS (Hasta que una clase derivada deje de ser ABSTRACT)
Instrumentación de Tiempo Real
Instrumentación de Tiempo Real Tema 1. Introducción Tema 2. Recursos de acceso al hardware Tema 3. Interrupciones Tema 4. Puertas básicas de entrada/salida (I) Tema 5. Recursos de temporización de bajo
LABORATORIOS DE: DISPOSITIVOS DE ALMACENAMIENTO Y DE ENTRADA/SALIDA. MEMORIAS Y PERIFÉRICOS.
LABORATORIOS DE: DISPOSITIVOS DE ALMACENAMIENTO Y DE ENTRADA/SALIDA. MEMORIAS Y PERIFÉRICOS. PRÁCTICA #7 EL PUERTO PARALELO DE UNA COMPUTADORA OBJETIVO DE LA PRÁCTICA. Aprender la configuración del conector
REPRESENTACIÓN INTERNA DE FICHEROS
REPRESENTACIÓN INTERNA DE FICHEROS Inodos Existe un inodo para cada fichero del disco. Los inodos se encuentran: o o En disco, en la lista de inodos. En memoria, en la tabla de inodos, de estructura semejante
Arquitectura de Sistemas
Arquitectura de Sistemas Práctica 3: El teclado del PC Gustavo Romero López Actualizado: 10 de mayo de 2018 Arquitectura y Tecnología de Computadores Objetivos Objetivos: Recordar el funcionamiento de
Nombre alumno: Ventajas: Inconvenientes:
Preguntas cortas (justifica todas las respuestas) (2 puntos) 1. Define qué es la buffer cache, qué tipo de información encontramos y cuál es su objetivo 2. Explica qué ventajas e inconvenientes tendría
DSX - Sistemas Digitales Utilizando Linux Incrustado
Unidad responsable: Unidad que imparte: Curso: Titulación: Créditos ECTS: 2017 230 - ETSETB - Escuela Técnica Superior de Ingeniería de Telecomunicación de Barcelona 710 - EEL - Departamento de Ingeniería
Interrupciones y entrada/salida
Departamento de Automática 1 / 15 Índice Mapa de entrada/salida Instrucciones IN/OUT Modo de operación Registros Habilitación de interrupciones Marco de interrupción Procesamiento de una interrupción 2
Arquitectura de Sistemas
Arquitectura de Sistemas Práctica 3: El teclado del PC Gustavo Romero López Actualizado: 10 de mayo de 2018 Arquitectura y Tecnología de Computadores Objetivos Objetivos: Recordar el funcionamiento de
Tema 6: Gestión de la Entrada/Salida
Tema 6: Gestión de la Entrada/Salida SSOO - Curso 2005/06 E. Domínguez C. Villarrubia Departamento de Tecnologías y Sistemas de Información Escuela Superior de Informática Universidad de Castilla - La
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 Dispositivos de entrada de datos (teclado, escáner, tablas
Boletín 3- Archivos. Departamento de Lenguajes y Sistemas Informáticos
Boletín 3- Archivos Departamento de Lenguajes y Sistemas Informáticos Indice 1. Introducción al acceso a Archivos 1. Acceso a archivos en alto nivel 2. Acceso a archivos en bajo nivel 2. El acceso a los
Los file pointers y los file descriptors 20-agosto-2003
Los file pointers y los file descriptors 20-agosto-2003 Nota: Las siguientes notas son una traducción de una parte del Apéndice B (Low-Level I/O), del libro Advanced Linux Programming de M. Mitchell, J,
6. Archivos. Programación II, FCFM, BUAP
6. Archivos Programación II, FCFM, BUAP Definición Un archivo o fichero desde el punto de vista informático es una colección de información almacenada en memoria secundaria (un medio externo) y no en memoria
Arquitectura de Computadores
Arquitectura de Computadores 1. Introducción 2. La CPU 3. Lenguaje Máquina 4. La Memoria 5. Sistemas de Entrada/Salida 6. Segmentación (Pipeline) 7. Memoria Caché 8. Arquitecturas RISC Arquitectura de
Entrada/Salida. Nano Semelman Maximiliano Geier Maximiliano Sacco. Sistemas Operativos, 2c DC - FCEyN - UBA
Nano Semelman Maximiliano Geier DC - FCEyN - UBA Sistemas Operativos, 2c-2014 Repaso de discos Repaso de discos Un disco tiene p pistas de s sectores cada una, y h cabezas. El disco gira a R RPM y para
Práctica 2. Implementación de un driver básico para la transmisión de datos a través de la UART.
Práctica 2. Implementación de un driver básico para la transmisión de datos a través de la UART. 1. Objetivo El objetivo de la siguiente práctica es el de implementar el software de control (driver) de
Introducción al lenguaje C
Programación 2 Profesorado de Informática CeRP del Suroeste, Uruguay 29 de marzo de 2016 Estructuras de control IV Iteración Sentencia for: for (inicio; condicion; paso) cuerpo for (int i = 0; i < 10;
Parte I: Programación en Ada
Parte I: Programación en Ada 1. Introducción a los computadores y su programación 2. Elementos básicos del lenguaje 3. Modularidad y programación orientada a objetos 4. Estructuras de datos dinámicas 5.
PRÁCTICA DE LABORATORIO 4 Programación Orientada a Objetos
ESCUELA DE INGENIERÍA DE SISTEMAS DEPARTAMENTO DE COMPUTACIÓN PROGRAMACIÓN 2 PRÁCTICA DE LABORATORIO 4 Programación Orientada a Objetos Contenido Introducción...1 Objeto...2 Atributo...2 Métodos...2 Clase...3
Prácticas de Sistemas operativos
Prácticas de Sistemas operativos David Arroyo Guardeño Escuela Politécnica Superior de la Universidad Autónoma de Madrid Segunda Semana: Procesos, Procesos Padre y Procesos Hijo, familia exec() 1 Entregas
Sistemas Operativos 1
Ejercicio 1. Se desea implementar una aplicación de n procesos concurrentes, donde cada proceso ejecuta una determinada tarea en forma de pipeline. Un ejemplo de esta aplicación con n=4 sería la siguiente:
Control Digital en PC con MS-DOS
Control Digital en PC con MS-DOS Abel Alberto Cuadrado Vega 19 de abril de 2006 1. Introducción Un PC puede ser utilizado para realizar un sistema de control digital. Para ello necesita lo siguiente: tarjeta
Periféricos Avanzados Práctica 3. Programación del puerto paralelo.
Periféricos Avanzados Práctica 3. Programación del puerto paralelo. Fundamento teórico. El puerto paralelo de un PC es una plataforma barata y una potente para implementar proyectos que deban hacerse con