ADQUISICIÓN Y PRESENTACIÓN DE SEÑALES BIOMÉDICAS UTILIZANDO OBJETOS DE SINCRONIZACION ENTRE PROCESOS BAJO WINDOWS 98
|
|
- Isabel de la Fuente Navarro
- hace 7 años
- Vistas:
Transcripción
1 ADQUISICIÓN Y PRESENTACIÓN DE SEÑALES BIOMÉDICAS UTILIZANDO OBJETOS DE SINCRONIZACION ENTRE PROCESOS BAJO WINDOWS 98 M. Hernández S., C. Ramírez R. Grupo de Bioingeniería, Decanato de Investigación, Universidad Nacional Experimental del Táchira. Av. Universidad, Sector Paramillo, San Cristóbal, Táchira, Venezuela. Tel-Fax: s: mahs@unet.edu.ve, cram@unet.edu.ve RESUMEN En este artículo, se describe el desarrollo de un programa basado en la técnica de programación multitareas, utilizando objetos de sincronización entre procesos bajo el sistema operativo Windows98. Dicho programa, logra mantener una velocidad de muestreo óptima en un sistema de adquisición de señales, correspondiente en esta aplicación a información electrofisiológica. Sin embargo, la finalidad de utilizar objetos de sincronización entre procesos es, compartir en forma simultanea los datos que se van adquiriendo en el programa con una o más aplicaciones que se estén ejecutando al mismo tiempo, y que pueden ser programadas en otros lenguajes. Para ello se realiza un programa que consta de dos tareas fundamentales, cada una representada por una hebra de programación; la primera para la adquisición y almacenamiento en memoria principal de las muestras que provienen de módulos electrofisiológicos, y la segunda para la presentación de las señales obtenidas en la pantalla de la computadora. Para la sincronización de las hebras, se utiliza el algoritmo del productor consumidor empleando semáforos, donde el almacén de las muestras adquiridas se implementa de manera tal que pueda ser compartido por diferentes procesos. Por último, para comprobar la efectividad del algoritmo desarrollado, se programó una aplicación adicional que utiliza los datos que se van guardando en el almacén. Todo el software ha sido desarrollado combinando la herramienta de programación Borland Builder C con la API WIN32 de Windows98, la cual permite la implantación de aplicaciones a nivel del sistema operativo bajo un ambiente visual y orientado a objetos. Palabras clave: programación multitareas, adquisición de señales, muestreo, objetos, semáforos, procesos, hebras. 1. INTRODUCCIÓN Es relevante destacar que la evolución de los sistemas operativos ha dado un gran aporte en las áreas de computación e instrumentación biomédica, específicamente en el diseño de monitores de parámetros fisiológicos. Gracias a los sistemas operativos de multitareas con interfaces gráficas amigables, se han logrado implantar algoritmos que aprovechan de una forma eficaz todos los recursos de la computadora [2]. Por una parte este hecho presenta una clara ventaja: la programación de la interfaz entre el usuario y el sistema es sencilla por ser orientada a objetos. Cada objeto se basa en propiedades y métodos fáciles de manejar. Por otra parte, el control de varios procesos que accesan recursos compartidos, sugieren técnicas de programación de mayor dificultad [2]. 2. PROCESOS Y HEBRAS Un sistema operativo actual como Windows 98 esta basado en multitareas de procesos y hebras [3]. Un proceso es un programa completo cuya imagen esta en memoria, el cual se puede encontrar en varios estados: Ejecución, Bloqueado, Suspendido y Preparado [4]. A su vez, las hebras presentan las mismas características que los procesos, pero a diferencia de estos, cada una esta constituida por una unidad de código remitente que se puede ejecutar de forma independiente, es decir, una hebra puede ser una función dentro de un programa que se ejecuta sin depender de una lógica secuencial. Esto es, el planificador de procesos del sistema decide cuando se debe ejecutar dicha hebra y cuando debe dejar de hacerlo para dar paso a la ejecución de otra hebra u otro proceso. De acuerdo a esto, un programa se puede dividir en múltiples hebras para aumentar su efectividad [2]. Para el desarrollo de un software de adquisición y presentación de datos, el hecho de implementar hebras constituye una solución satisfactoria, ya que los algoritmos secuenciales emplean una gran cantidad del tiempo del procesador en presentar los datos en pantalla. Durante ese tiempo, es posible que se pierda una cantidad significativa de muestras. Esto depende de la frecuencia de las señales que se adquieren, el número de las mismas y la complejidad del hardware asociado a la adquisición [2]. Por otra parte, es posible que las señales que se estén obteniendo a través un proceso de adquisición, necesiten ser compartidas con otros programas adicionales que realicen cálculos pertinentes a estudios médicos, tales como la clasificación de arritmias cardíacas u otros más sencillos, como el simple calculo de la frecuencia a la que late el corazón. Para ello, se toman en cuenta dos aspectos: en primer lugar, se debe utilizar un espacio de memoria donde se almacenan los datos que se van adquiriendo, pero con la particularidad de que dicho espacio pueda ser accesado por aplicaciones diferentes. Los programas realizados bajo Windows 98, que estan basadas en WIN32, solo pueden compartir memoria a través de la técnica de creación de memoria compartida etiquetada utilizando archivos mapeados a memoria [1]. En segundo lugar, solo un proceso o hebra puede utilizar la memoria compartida a la vez, por lo tanto el acceso a dicha región debe ser sincronizado entre los procesos. Windows 98 proporciona cuatro objetos de sincronización entre los cuales se destacan:
2 Semáforos Clásicos. Semáforos Binarios o de Exclusión Mutua. Los Semáforos Clásicos se utilizan para permitir que un número limitado de procesos o hebras tengan acceso a un recurso. Dichos semáforos son variables enteras compartidas entre procesos y hebras, las cuales se modifican a través de operaciones atómicas indivisibles [4]. La primera instrucción especial realiza una llamada al sistema (DOWN) verifica si el valor del semáforo que se ha pasado como parámetro es mayor que cero, de ser así, lo decrementa y continua la ejecución normal. Si el valor que toma la variable es cero, la hebra que llamo DOWN se va a la cola de procesos bloqueados y no accesa al recurso hasta que le corresponda un valor de semáforo mayor que uno. La segunda instrucción especial realiza una llamada al sistema (UP) la cual incrementa el valor del semáforo, con la finalidad de que si algún proceso dormía en ese semáforo, se le permitiera terminar un DOWN y así poder seguir ejecutándose para acceder al recurso compartido [4]. Otra clase de semáforos la constituyen los Semáforos Binarios (mutexes), los cuales son utilizados para garantizar que un solo proceso o hebra accese al recurso compartido durante un lapso de tiempo considerable. Estos semáforos se basan en la exclusión mutua sin espera ocupada, para proporcionar de esta manera una solución adecuada al problema de la sincronización. Los semáforos binarios solo pueden tener dos valores; uno o cero. 3. ACCESO A LOS DATOS COMPARTIDOS Para acceder a los datos compartidos entre procesos, se pueden implementar diversas técnicas de programación. Una de las más comunes esta basada en el algoritmo del Productor-Consumidor. Para dicho algoritmo, Dos procesos comparten un área de memoria. El proceso Productor debe insertar elementos en dicha área mientras esta no este llena. En caso contrario, el proceso se bloqueara y será despertado cuando el consumidor ha eliminado por lo menos un elemento. El proceso Consumidor debe sacar datos del área uno a uno, se bloqueará cuando esta se vacíe y será despertado cuando el productor inserte al menos un elemento [4]. La implantación de esta solución debe contemplar el hecho de la sincronización entre procesos, es decir, el productor - consumidor probablemente funcionaría de manera adecuada si la velocidad de los procesos fuese muy similar. Pero en la mayoría de los casos, las velocidades de ejecución de cada proceso son distintas, y en lo que respecta a la adquisición y presentación de datos, los procesos que adquieren se ejecutan con una velocidad mucho mayor a la de los procesos que visualizan. En este caso, si no existe un acceso sincronizado a la región compartida, el proceso que adquiere, sobrescribirá datos que todavía no han sido presentados. Se pueden combinar los semáforos clásicos y los binarios para sincronizar adecuadamente el acceso a almacenes de datos compartidos en memoria principal, evitando así, los problemas que se generan debido a las diferencias en la velocidad de ejecución. Una forma típica es implementando el algoritmo del productor y consumidor mediante semáforos [4]. Así, existirán dos semáforos clásicos que controlaran el estado del almacén y un semáforo binario que garantizará la exclusión mutua. 4. METODOLOGÍA La aplicación propuesta ha sido diseñada bajo el esquema de programación multitareas, utilizando técnicas de diseño orientadas a objetos, además de los elementos de sincronización de procesos y de comunicación interprocesos (IPC) contenidos en la interfaz de programación de aplicaciones de 32 bits (API Win32) de Windows 98. Se utilizó Borland Builder C como herramienta para el desarrollo del programa, ya que el mismo envuelve dentro de un ambiente visual y fácil de manejar, un compilador de C++ incremental de última generación, y permite el llamado a funciones API. El programa adquiere y presenta por pantalla dos señales ECG (ver figura 1) que se obtienen de una interfaz que transforma dichas señales provenientes de dos módulos de electrofisiología a un formato digital. Esta interfaz se comunica con la computadora a través del puerto paralelo de capacidades extendidas, el cual se configura en modo bidireccional. Las transferencias de datos se hacen utilizando el método tradicional de encuesta (polling), es decir, sin emplear el acceso directo a memoria (DMA) y sin el apoyo de un manejador de interrupciones [2]. Esto es debido a que la interfaz está constituida por un circuito sencillo que no establece ningún tipo de negociación con el puerto ECP, según lo establecido en la norma IEEE Fig.1. Pantalla de presentación de las señales ECG El software esta constituido por una hebra principal y dos hebras adicionales; una de adquisición y otra de presentación de los datos. La hebra principal es la responsable de la distribución y programación de los objetos (componentes visuales) que proporcionan la interfaz sobre la cual se presentan las señales en la pantalla. Por otra parte, la inicialización de las variables globales, colas de almacenamiento, la construcción de las demás hebras, la creación o destrucción de los objetos de sincronización y la creación de un área de memoria compartida entre procesos son responsabilidad de esta misma hebra. El programa funciona de la siguiente manera: basado en el algoritmo de Productor Consumidor, La hebra de adquisición (Productora), se encarga de tomar muestra por muestra de las señales digitalizadas que llegan al puerto paralelo y las transfiere a una de las dos colas de almacenamiento, donde cada una de ellas corresponde a uno de los canales de adquisición. Sin embargo, estas colas pueden ser compartidas solamente entre cualquier hebra que
3 pertenezca a la propia aplicación, es decir, no pueden ser manipuladas por otros programas. Para permitir que los datos sean compartibles entre diversas aplicaciones, se utiliza la técnica de mapeo de archivos a memoria (File Mapping) para crear un área que pueda ser compartida con otros programas, a través de un manejador (handle), un puntero y un nombre. Para aplicaciones Win32, no existe otra manera de compartir memoria entre procesos distintos [1]. El mapeo de archivos a memoria, consiste en la asociación de el contenido de un archivo con una porción de la memoria virtual de un proceso, de manera tal que el mismo pueda ser escrito o leído a través de paginación [1]. De esta manera, cualquier proceso puede acceder de forma parcial o total al archivo a través de un puntero a un bloque de paginas (ver figura 2). La primera labor que realiza la hebra, consiste en inicializar las variables locales, el puerto paralelo y la selección del canal de adquisición. Posteriormente se programa el módulo de adquisición MAX197. Luego se lee la muestra que ha sido colocada en el puerto paralelo. Inmediatamente, es decrementado un semáforo que cuenta el número de espacios vacíos. Si el valor de este es cero, la hebra se va a dormir debido a que no hay espacio en la cola para guardar esa muestra. Si existe espacio, se decrementa un semáforo binario que garantiza la exclusión mutua. Si el valor del semáforo es cero, la hebra se va a dormir, ya que la cola esta siendo utilizada por la hebra de presentación (Consumidora). Si el valor es uno, la muestra es colocada en la cola respectiva y grabada en una de las dos áreas de memoria compartida (cada una corresponde a una cola), para ponerla a la orden de cualquier proceso consumidor. Después de almacenarse la muestra, Se incrementa el semáforo binario para dar permiso a otros consumidores de tomar datos. Luego, se incrementa el semáforo contador de espacios llenos, lo cual garantiza a cualquier consumidor que existe por lo menos un dato en el almacén. La hebra de presentación (Consumidora), toma las muestras almacenadas en cada una de las colas para ir dibujándolas en la pantalla. En el siguiente flujograma se ilustra la lógica de funcionamiento: Fig. 2. Mapeo de un archivo en memoria. El archivo es cargado a través de un objeto a memoria física, y cada proceso crea una vista total o parcial del mismo, en su propio espacio de direcciones virtuales. Tomando en cuenta, que la memoria se comparte entre hebras y procesos, que trabajan a velocidades diferentes, el acceso a la misma es controlado a través de semáforos, ya que estos pueden ser manejados tanto por hebras como por procesos desarrollados en Win32 [3][1], es decir, se emplean tres semáforos para aplicar el algoritmo de productor consumidor sincronizado, basándose en la exclusión mutua y sin espera ocupada [4]. El siguiente diagrama de flujo ilustra detalladamente la lógica de la hebra de adquisición:. Fig.4. Flujograma de la hebra de presentación (CONSUMIDORA La hebra consumidora, verifica el semáforo de espacios llenos para comprobar la existencia de algún dato en la cola, de ser así, este se decrementa para indicar que se ha liberado un espacio del almacén. Posteriormente, se verifica el semáforo binario para poder hacer uso del almacén. Al obtener el permiso, inmediatamente retira una muestra y cede de nuevo el recurso, incrementando el mutex. Por último, incrementa el contador de espacios vacíos, para garantizar al productor que el buffer no esta lleno. La muestra toma papel como parte de la señal en la pantalla. 5. RESULTADOS Fig. 3. Flujograma de la hebra de adquisición (PRODUCTORA). Los objetivos principales de esta investigación están enmarcados en el diseño de un programa que adquiere señales electrofisiológicas a una velocidad de muestreo óptima, donde dichas señales pueden ser compartidas con
4 otras aplicaciones de diagnóstico, esto es, que mientras un paciente es monitoreado con esta aplicación, otras aplicaciones pueden emitir un diagnóstico a tiempo real sobre los datos adquiridos (ver figura 5). ejecutar las dos aplicaciones simultáneamente, se observó que el programa de adquisición y presentación visualizo las señales sin ninguna deformidad aparente, y el programa de calculo de frecuencia arrojo los valores correspondientes a cada uno de los ritmos cardíacos ajustados en el simulador. 6. CONCLUSIONES Este trabajo es un aporte al área de la bioingeniería ya que las señales que este adquiere, pueden ser utilizadas por otras aplicaciones de diagnóstico e investigación que sean desarrolladas posteriormente. Fig. 5. Descripción gráfica del funcionamiento ideal del programa. Por estas razones, el criterio de evaluación de este trabajo esta basado en la observación de dos aspectos fundamentales: 1) el desempeño del sistema en términos de velocidad. 2) La capacidad de compartir datos con otras aplicaciones. Para este fin fueron utilizados los siguientes recursos: Tabla 1. Equipos utilizados en las pruebas. EQUIPO DESCRIPCION Computadora personal Pentium II 450 Mhz. 64 Osciloscopio Digital MB RAM. Tektronix TDS Mhz Módulos de electrofisiología Hewlett Packard 8811 A, con capacidad de monitoreo de ECG y EEG. Interfaz de PC Módulos Diseñada y manufacturada en el Laboratorio de Bioingeniería UNET. Tiempo óptimo de adquisición: 21 µseg. Las pruebas fueron realizadas en dos fases. En la primera se observo la velocidad de adquisición en un osciloscopio digital, tomando la medida en la patilla de fin de conversión del MAX197.La medida obtenida fue de 6452 Khz., tomando en cuenta dos canales de adquisición entonces, la velocidad medida es igual a 3226 muestras por segundo. La segunda prueba consistió en verificar que no se produjeran conflictos al compartir las señales adquiridas con otros procesos. Para ello se desarrollo un programa que calcula la frecuencia cardiaca utilizando una red neural Este programa obtiene las señales del área compartida de memoria. Para ello utiliza instrucciones especiales para crear una interfaz que le permita trasladar los datos desde la memoria hacia su propio espacio de direcciones virtuales. Además, utiliza los semáforos creados anteriormente por el programa que es objeto de evaluación. Para realizar estas dos tareas, este programa obtiene los manejadores y los nombres de cada uno de los semáforos pertinentes. Posteriormente se ajusto al simulador de señales ECG para que generara señales de con valores de frecuencia de 70,80,110 p.p.m. y seleccionados arbitrariamente. Al Todas las aplicaciones utilicen los datos adquiridos por este programa, deberán utilizar las funciones de comunicación entre procesos (IPC), mapeo de archivos a memoria y objetos de sincronización que proporciona la API Win32 de Windows 98. El funcionamiento adecuado en términos de velocidad y sincronización es dependiente del número de procesos consumidores y la complejidad de los mismos. Haciendo algunas modificaciones, este programa podrá usarse en sistemas distribuidos a través de la filosofía de cliente servidor, para de esta manera acceder a la información desde lugares remotos al monitor. AGRADECIMIENTOS Este trabajo fue realizado gracias al apoyo del Decanato de Investigación de la Universidad Nacional del Táchira. REFERENCIAS [1] Inprise Corporation. Borland Builder C++ 5.0, Microsoft Win32 reference. California U.S.A [2] M. Hernández, O. Fernández. Adquisición y presentación de señales biomédicas utilizando programación basada en multihebras. pp Tendencias Actuales en Bioingeniería [3] H. Schildt. Programación en C/C++ bajo Windows 95. Editorial McGraw Hill: Barcelona, España [4] A. Tanenbaum. Sistemas Operativos Modernos. Editorial Prentice Hall: Madrid, Segunda Edición
5 USING INTERPROCESS SYNCHRONIZATION OBJECTS FOR BIOMEDICAL SIGNAL ADQUISITION AND VISUALIZATION. ABSTRACT This article describes the development of a program that follows a multithread approach using process synchronization objects under Windows98 operating system. This program is capable of providing an steady sampling frequency for acquisition of electrophysiology data. The aim of using synchronization objects is to share simultaneously the acquired data with other applications running at the same time and sometimes implemented in different languages. For this purpose, the program is divided into two stages, each one of them implemented by a thread; the first one for acquisition and storage of the data samples in the main memory, and the second one for painting the signals in the computer screen. The producer consumer algorithm using semaphores is applied for thread synchronization, where the buffer of the acquired samples is implemented in such a way that it can be used by different process. Lastly, in order to corroborate the effectiveness of the proposed algorithm, an additional application was programmed that uses the data stored in the buffer. The algorithm has been implemented by combining the programming tool Builder C and the API WIN32 of Window98, which allows the development of applications at the operating system level using an visual object oriented environment.
Adquisición y Presentación de Señales Biomédicas Utilizando Objetos de Sincronización entre Procesos Bajo Windows 98
Adquisición y Presentación de Señales Biomédicas Utilizando Objetos de Sincronización entre Procesos Bajo Windows 98 M. Hernández S 1., C. Ramírez R. 2 RESUMEN En este artículo, se describe el desarrollo
Concurrencia. Primitivas IPC con bloqueo
Concurrencia Primitivas IPC con bloqueo Primitivas de IPC con bloqueo La solución de Peterson es correcta, pero tiene el defecto de requerir espera ocupada: Cuando un proceso quiere entrar en su región
Sistema de Gestión de Aplicaciones Implementadas en FPGAs
Sistema de Gestión de Aplicaciones Implementadas en FPGAs Ledo Bañobre, R. 1, Losada Sampayo, A. 1, Álvarez Ruiz de Ojeda, J. 1 1 Departamento de Tecnología Electrónica, Escuela Técnica Superior de Ingenieros
Universidad Autónoma del Estado de Hidalgo Instituto de Ciencias Básicas e Ingeniería Área Académica de Computación y Electrónica
Universidad Autónoma del Estado de Hidalgo Instituto de Ciencias Básicas e Ingeniería Área Académica de Computación y Electrónica Licenciatura en Sistemas Computacionales Sistemas Operativos Docente: M.G.A.
Necesidad de Protección
Necesidad de Protección Por qué necesitamos protección? Para mejorar la utilización del sistema, el Sistema de Operación empezó a compartir recursos del sistema entre varios programas de manera simultánea.
SISTEMAS EN TIEMPO REAL
SISTEMAS EN TIEMPO REAL Año académico: 2006/07 Centro: Escuela Politécnica Superior Estudios: Ingeniero Técnico en Informática de Sistemas Asignatura: Sistemas en Tiempo real Ciclo: 1º Curso: 3º Cuatrimestre:
Tema 12: El sistema operativo y los procesos
Tema 12: El sistema operativo y los procesos Solicitado: Tarea 06 Arquitecturas de una computadora y el funcionamiento del software M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx
División Académica de Informática y Sistemas
Área de formación Sustantiva Profesional Nombre de la asignatura Docencia frente a grupo según SATCA Trabajo de Campo Supervisado según SATCA HCS HPS TH C HTCS TH C TC 2 2 4 4 0 0 0 4 Clave de la asignatura
Programación Concurrente y Paralela. Unidad 1 Introducción
Programación Concurrente y Paralela Unidad 1 Introducción Contenido 1.1 Concepto de Concurrencia 1.2 Exclusión Mutua y Sincronización 1.3 Corrección en Sistemas Concurrentes 1.4 Consideraciones sobre el
Acceso coordinado a recursos compartidos
Programación Concurrente en Linux Acceso coordinado a recursos compartidos Alberto Lafuente, Dep. KAT/ATC de la UPV/EHU, bajo Licencia Creative Commons 1 Contenido 1. Recursos compartidos 2. Mecanismos
Instituto Tecnológico de Morelia
Instituto Tecnológico de Morelia Arquitectura de Computadoras Unidad 1b Programa 1.2.2 Memoria. 1.2.2.1 Conceptos de manejo de memoria. 1.2.2.2 Memoria principal semiconductora. 1.2.2.3 Memoria cache.
Introducción a los sistemas operativos. Ing Esp Pedro Alberto Arias Quintero
Introducción a los sistemas operativos Ing Esp Pedro Alberto Arias Quintero Unidad 1: Conceptos generales de Sistemas Operativos. Tema 1: Introducción: 1.1 Introducción: Qué es un sistema operativo?. 1.2
ENTRADA-SALIDA. 2. Dispositivos de Carácter: Envía o recibe un flujo de caracteres No es direccionable, no tiene operación de búsqueda
Tipos de Dispositivos ENTRADA-SALIDA 1. Dispositivos de Bloque: Almacena información en bloques de tamaño fijo (512b hasta 32Kb) Se puede leer o escribir un bloque en forma independiente 2. Dispositivos
Hilos. Hilos. Revisión Modelos Multihilados Librerías de Hilos Aspectos sobre Hilos Ejemplos de Sistemas Operativos Hilos en Linux
Hilos Hilos Revisión Modelos Multihilados Librerías de Hilos Aspectos sobre Hilos Ejemplos de Sistemas Operativos Hilos en Linux 1 Objetivos Introducir la noción de hilo una unidad fundamental de la utilización
UNIVERSIDAD DEL VALLE DE MÉXICO PROGRAMA DE ESTUDIO DE LICENCIATURA PRAXIS MES XXI
UNIVERSIDAD DEL VALLE DE MÉXICO PROGRAMA DE ESTUDIO DE LICENCIATURA PRAXIS MES XXI NOMBRE DE LA ASIGNATURA: PROGRAMACIÓN ORIENTADA A OBJETOS FECHA DE ELABORACIÓN: ENERO 2005 ÁREA DEL PLAN DE ESTUDIOS:
Guillermo Román Díez
Concurrencia Creación de Procesos en Java Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2016-2017 Guillermo Román, UPM CC: Creación de Procesos en Java 1/18 Concurrencia
Unidad V: Sistemas de archivos 5.1 Concepto
Unidad V: Sistemas de archivos 5.1 Concepto Son los algoritmos y estructuras lógicas utilizadas para poder acceder a la información que tenemos en el disco. Cada uno de los sistemas operativos crea estas
1 ( 3,5 puntos) Responda, justificando sus respuestas, a las siguientes cuestiones:
Universidad de Las Palmas de Gran Canaria Escuela Universitaria de Informática Facultad de Informática Sistemas Operativos Convocatoria de Junio, 26 de Junio de 2003 SOLUCIONES Calificación 1 2 3 4 Nombre
Evolución del software y su situación actual
Evolución del software y su situación actual El software es el conjunto de programas que permite emplear la PC, es decir, es el medio de comunicación con la computadora, el control de sus funciones y su
Introducción a los Sistemas Operativos
Introducción a los Sistemas Operativos Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es 1 Índice General Conceptos sobre ordenadores Concepto
Sistemas Operativos Tema 2: Estructura del computador José Miguel Santos Alexis Quesada Francisco Santana
Sistemas Operativos Tema 2: Estructura del computador 1998-2008 José Miguel Santos Alexis Quesada Francisco Santana 1 Contenidos Estructura de la E/S Sistema de Interrupciones DMA Jerarquía de memorias
Sistemas Operativos. Procesos
Sistemas Operativos Procesos Agenda Proceso. Definición de proceso. Contador de programa. Memoria de los procesos. Estados de los procesos. Transiciones entre los estados. Bloque descriptor de proceso
SISTEMAS OPERATIVOS Arquitectura de computadores
SISTEMAS OPERATIVOS Arquitectura de computadores Erwin Meza Vega emezav@unicauca.edu.co Esta presentación tiene por objetivo mostrar los conceptos generales de la arquitectura de los computadores, necesarios
Facultad de Ingeniería Industrial y de Sistemas v2.0 MA781U MEMORIA VIRTUAL
MEMORIA VIRTUAL Preparado por: Angel Chata Tintaya (angelchata@hotmail.com) Resumen Para un aprovechamiento eficiente del CPU y los recursos de E/S se requiere mantener en el sistema operativo la mayor
2.0 Metodología de desarrollo
2 2.0 Metodología de desarrollo 2.1 Análisis de requisitos. Esta es la primera etapa para el desarrollo de software. Este punto es de suma importancia, en esta etapa se obtienen los requerimientos que
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
TAREA 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS.
1 TAREA 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS. 1- Cuáles son las principales funciones de un sistema operativo? Los Sistemas Operativos tienen como objetivos o funciones principales lo siguiente; Comodidad;
GESTION DE ENTRADA Y SALIDA
Dispositivos de salida (impresora, monitor,...) Unidad principal (UCP, registros, memoria RAM, entrada/salida ( discos internos, red,...)) Dispositivos de entrada (teclado, ratón, lápiz óptico,...) Dispositivos
Pontificia Universidad Católica del Ecuador
1. DATOS INFORMATIVOS: FACULTAD DE INGENIERÍA ESCUELA DE SISTEMAS MATERIA O MÓDULO: SISTEMAS OPERATIVOS CÓDIGO: IS603.a CARRERA: INGENIERÍA DE SISTEMAS NIVEL: TERCERO No. CRÉDITOS: 4 CRÉDITOS TEORÍA: 4
1.1. Modelos de arquitecturas de cómputo: clásicas, segmentadas, de multiprocesamiento.
1.1. Modelos de arquitecturas de cómputo: clásicas, segmentadas, de multiprocesamiento. Arquitecturas Clásicas. Estas arquitecturas se desarrollaron en las primeras computadoras electromecánicas y de tubos
Fecha de elaboración: Agosto de 2004 Fecha de última actualización: Julio de 2010
PROGRAMA DE ESTUDIO Programa Educativo: Área de Formación : Licenciatura en ciencias computacionales Integral profesional Programa elaborado por: Programación Concurrente Horas teóricas: 1 Horas prácticas:
Sesión 4: Practica PL 2c. Análisis de señales para el control de motor CC: Generación de señales PWM.
Sesión 4: Practica PL 2c. Análisis de señales para el control de motor CC: Generación de señales PWM. Objetivo... 2 Tune Parameters Using xpc Target Explorer... 3 Monitor Signals Using xpc Target Explorer...
TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO. Definición y objetivos de un S.O
TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO Definición y objetivos de un S.O Definición y objetivos del sistema operativo Estructura, componentes y servicios de un S.O Llamadas al sistema
INDICE 1. Introducción 2. Entrada / Salida: Principios y Programación 3. Procesos
INDICE Prólogo XV 1. Introducción 1 1.1. Evolución de los sistemas operativos 2 Procesamiento en serie 3 Procesamiento por lotes 4 Multiprogramación 7 1.2. Tipos de Sistemas Operativos 9 Sistemas operativos
UNIDAD I. Universidad del Zulia Costa Oriental del Lago. Conceptos Básicos
Costa Oriental del Lago UNIDAD I Conceptos Básicos Comandos internos y externos. Estructura básicas: entidad, atributo, base de datos, clave primaria y secundaria, registro y archivo de datos empresas
FUNCIONAMIENTO DEL ORDENADOR
FUNCIONAMIENTO DEL ORDENADOR COMPUTACIÓN E INFORMÁTICA Datos de entrada Dispositivos de Entrada ORDENADOR PROGRAMA Datos de salida Dispositivos de Salida LOS ORDENADORES FUNCIONAN CON PROGRAMAS Los ordenadores
Concurrencia. Programación Concurrente. Espera ocupada. Primitivas IPC con bloqueo
Concurrencia Programación Concurrente Espera ocupada. Primitivas IPC con bloqueo Programación concurrente Los lenguajes concurrentes tienen elementos para: Crear procesos Sincronizar procesos Comunicar
Unidad I: Organización del Computador. Ing. Marglorie Colina
Unidad I: Organización del Computador Ing. Marglorie Colina Arquitectura del Computador Atributos de un sistema que son visibles a un programador (Conjunto de Instrucciones, Cantidad de bits para representar
Sistema Operativo. Repaso de Estructura de Computadores. Componentes Hardware. Elementos Básicos
Sistema Operativo Repaso de Estructura de Computadores Capítulo 1 Explota los recursos hardware de uno o más procesadores Proporciona un conjunto de servicios a los usuarios del sistema Gestiona la memoria
Concurrencia, exclusión mutua y sincronización. Capítulo 5 HungriaBerbesi
Concurrencia, exclusión mutua y sincronización Capítulo 5 HungriaBerbesi 1 Concurrencia Múltiples aplicaciones Aplicaciones estructuradas Estructura del sistema operativo 2 Concurrencia 3 Sección Crítica:
Pontificia Universidad Católica del Ecuador
1. DATOS INFORMATIVOS: MATERIA O MÓDULO: CÓDIGO: CARRERA: NIVEL: Sistemas Operativos IS603.a Sistemas Tercero No. CRÉDITOS: 4 CRÉDITOS TEORÍA: 4 CRÉDITOS PRÁCTICA: 0 SEMESTRE / AÑO ACADÉMICO: Segundo Semestre
Esp. Alexis Olvany Torres ch. Datos de salida. Datos de salida. Datos de salida
Tiempo de Ejecución fuente Descripción abstracta del comportamiento de un programa Máquina abstracta objeto Descripción del comportamiento de un programa independiente de máquina pero fácil de implementar
Organización del Sistema Operativo
del Sistema Operativo Sistemas Operativos Pontificia Universidad Javeriana Febrero de 2010 del Sistema Operativo Funciones Básicas Funciones Básicas Perspectivas del Computador Responsabilidades del SO
Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute.
Los problemas que se plantean en la vida diaria suelen ser resueltos mediante el uso de la capacidad intelectual y la habilidad manual del ser humano. La utilización de la computadora en la resolución
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
Computación 1. Conociendo la herramienta de cálculo La Computadora (II)
Computación 1 Conociendo la herramienta de cálculo La Computadora (II) Contenido Programas Sistemas operativos Herramientas de software 28/03/2016 Computación 1 - Clase 3 2 Programas Qué son? Un PROGRAMA
SISTEMA DE CONTROL LÓGICO PROGRAMABLE (PLC) SOBRE HARDWARE EMBEBIDO Y BAJO SISTEMA OPERATIVO LINUX
SISTEMA DE CONTROL LÓGICO PROGRAMABLE (PLC) SOBRE HARDWARE EMBEBIDO Y BAJO SISTEMA OPERATIVO LINUX Autor : Gonzalo Julián Santander Palacio Director : Javier Martín Ruiz RESUMEN DEL PROYECTO El proyecto
INDICE Control de dispositivos específicos Diseño asistido por computadora Simulación Cálculos científicos
INDICE Parte I. La computadora digital: organización, operaciones, periféricos, lenguajes y sistemas operativos 1 Capitulo 1. La computadora digital 1.1. Introducción 3 1.2. Aplicaciones de las computadoras
ESCUELA DE INGENIERIA Informática Y Sistemas
ESCUELA DE INGENIERIA Informática Y Sistemas ASIGNATURA SISTEMAS OPERATIVOS CODIGO ST0257 SEMESTRE 2013-2 INTENSIDAD HORARIA 64 horas semestral CARACTERÍSTICAS Suficientable CRÉDITOS 4 1. JUSTIFICACIÓN
Comunicación y sincronización
Comunicación y sincronización Son conceptos relacionados con la interacción entre los procesos La comunicación se refiere al paso de información de un proceso a otro La sincronización corresponde al cumplimiento
Sistemas Operativos. Introducción. Tema 6
Sistemas Operativos Introducción Qué es un sistema operativo? Ubicación de un sistema operativo en un computador Descripción de un sistema operativo: Funcional Estructural Realización Funciones de los
Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria
1.2. Jerarquía de niveles de un computador Qué es un computador? Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria Es un sistema tan complejo
Universidad Católica de Santiago del Estero Facultad de Matemática Aplicada Carrera de Ingeniería en Electrónica
INFORMATICA PROGRAMACIÓN DE CONTENIDOS UNIDAD Nº 1. Arquitectura de las computadoras. Introducción a la arquitectura de computadoras. Concepto de arquitectura de computadoras. Hardware y software. Generaciones
1.1 Concepto y definición de Sistemas Operativos
1.1 Concepto y definición de Sistemas Operativos Un Sistema Operativo es una parte importante de cualquier sistema de computación. Un sistema de computación puede dividirse en cuatro componentes: el hardware,
Hilos. Módulo 4. Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur
Hilos Módulo 4 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Chapter 4: Threads Revisión Modelos Multihilados Librerías de Hilos Aspectos sobre Hilos Ejemplos de
ENIAC, Primer computador electrónico y su panel de conexiones
-1 La arquitectura de Von Neumann. Los primeros computadores se programaban en realidad recableándolos. Esto prácticamente equivalía a reconstruir todo el computador cuando se requería de un nuevo programa.
Microprocesador. Introducción. Instituto Sagrado Corazón de Jesús
Microprocesador Introducción El microprocesador es la parte de la computadora diseñada para llevar acabo o ejecutar los programas. Este viene siendo el cerebro de la computadora, el motor, el corazón de
UNIVERSIDAD AUTONOMA DE QUERETARO Facultad de Informática
PLATAFORMA TECNOLÓGICA III (1504) ÁREA DE CONOCIMIENTO: ARQUITECTURA DE LAS COMPUTADORAS CRÉDITOS: 8 HORAS TEÓRICAS ASIGNADAS A LA SEMANA: 2 HORAS PRÁCTICAS ASIGNADAS A LA SEMANA: 2 PROGRAMAS EDUCATIVOS
Programación I. Carrera: ECM Participantes Participantes de las academias de ingeniería electrónica de los Institutos Tecnológicos.
.- DATOS DE LA ASIGNATURA Nombre de la asignatura: Carrera: Clave de la asignatura: Horas teoría-horas práctica-créditos Programación I Ingeniería Electrónica. ECM-043 3-2- 2.- HISTORIA DEL PROGRAMA Lugar
Administración de Memoria
Sistemas Operativos Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires 30 de abril de 2015 MMU Unidad de Gestión de Memoria (MMU): Componente del sistema operativo
Control de concurrencia en bases de datos relacionales
OpenStax-CNX module: m18939 1 Control de concurrencia en bases de datos relacionales Miguel-Angel Sicilia This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution License
Práctica de Arquitectura de Computadores Sistemas de Entrada/Salida: Entrada/Salida Programada Curso 2016/2017
Práctica de Arquitectura de Computadores Sistemas de Entrada/Salida: Entrada/Salida Programada Curso 2016/2017 Antonio Pérez Ambite Santiago Rodríguez de la Fuente Departamento de Arquitectura y Tecnología
Lenguajes de Cuarta Generación
Lenguajes de Cuarta Generación Diana Marcela SánchezS http://www.csi.map.es/csi/metrica3/index.html www.csi.map.es/csi/metrica3/ /metrica3/index.htmlindex.html Que es un programa? La unión de una secuencia
Pontificia Universidad Católica del Ecuador
1. DATOS INFORMATIVOS: FACULTAD DE INGENIERÍA ESCUELA DE SISTEMAS MATERIA O MÓDULO: Sistemas Operativos CÓDIGO: IS603.a CARRERA: INGENIERÍA DE SISTEMAS NIVEL: TERCERO No. CRÉDITOS: 4 CRÉDITOS TEORÍA: 4
Planificaciones Sistemas Operativos. Docente responsable: MENDEZ MARIANO. 1 de 6
Planificaciones 7508 - Sistemas Operativos Docente responsable: MENDEZ MARIANO 1 de 6 OBJETIVOS 1-Estudiar y conocer en detalle los pilares fundamentales de los sistemas operativos: el Kernel y Proceso,
Convivencia Gestión de Procesos
Convivencia Gestión de Procesos Dra. Carolina Mañoso Dpto. Informática y Automática.UNED Índice: Procesos Introducción a los procesos Estados de los procesos Listas de procesos El planificador de procesos
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
Manipulación de procesos
Manipulación de procesos Las primeras computadoras solo podían manipular un programa a la vez. El programa tenía control absoluto sobre todo el sistema. Con el desarrollo vertiginoso del hardware ese panorama
Concurrencia. Programación Concurrente Procesos Comunicación entre Procesos (IPC) con espera ocupada.
Concurrencia Programación Concurrente Procesos Comunicación entre Procesos (IPC) con espera ocupada. Introducción a Procesos Todas las computadoras moderas realizan varias cosas al mismo tiempo. En cada
DISEÑO CURRICULAR ARQUITECTURA DEL COMPUTADOR
DISEÑO CURRICULAR ARQUITECTURA L COMPUTADOR FACULTAD (ES) CARRERA (S) Ingeniería Computación y Sistemas. CÓDIGO HORAS TEÓRICAS HORAS PRÁCTICAS UNIDAS CRÉDITO SEMESTRE 126643 02 02 03 VI PRE-REQUISITO ELABORADO
SIMULACIÓN DE UNA CALCULADORA DE MATEMÁTICA
SIMULACIÓN DE UNA CALCULADORA DE MATEMÁTICA BÁSICA. INITE, S.C. no es responsable del contenido, de la veracidad de los datos, opiniones y acontecimientos vertidos en el presente caso práctico. La finalidad
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
Modelos de Programación Paralela Prof. Gilberto Díaz
Universisdad de Los Andes Facultad de Ingeniería Escuela de Sistemas Modelos de Programación Paralela Prof. Gilberto Díaz gilberto@ula.ve Departamento de Computación, Escuela de Sistemas, Facultad de Ingeniería
Tipos de Diseño. Ing. Elizabeth Guerrero V.
Tipos de Diseño Ing. Elizabeth Guerrero V. Tipos de Diseño Tipos de diseño de Procesos: Centralizado, Distribuido y Cooperativo Procesos Centralizados Un sistema centralizado está formado por un computador
Capítulo 3. Procesos concurrentes 3.1. Conceptos de programación concurrente La computación concurrente es la simultaneidad en la ejecución de
Capítulo 3. Procesos concurrentes 3.1. Conceptos de programación concurrente La computación concurrente es la simultaneidad en la ejecución de múltiples tareas interactivas. Estas tareas pueden ser un
Unidad 2: Taller de Cómputo. Estructura y Componentes de la Computadora UNIDAD DOS: INTRODUCCIÓN
UNIDAD DOS: INTRODUCCIÓN Una computadora es una máquina electrónica diseñada para manipular y procesar información de acuerdo a un conjunto de ordenes o programas. para que esto sea posible se requiere
Unidad 1: Conceptos generales de Sistemas Operativos.
Unidad 1: Conceptos generales de Sistemas Operativos. Tema 2: Estructura de los stmas de computación. 2.1 Funcionamiento de los sistemas de computación. 2.2 Ejec. de instrucciones e interrupciones y estructura
1 INTRODUCCIÓN AL PROYECTO
1 INTRODUCCIÓN AL PROYECTO 1.1 Marco teórico Una de las innovaciones tecnológicas más sobresalientes es el microprocesador, el cual se ha desarrollado rápidamente a partir de su invención. Los procesadores
Asignaturas antecedentes y subsecuentes
PROGRAMA DE ESTUDIOS Sistemas Operativos I Área a la que pertenece: Área Sustantiva Profesional Horas teóricas: 3 Horas prácticas: 2 Créditos: 8 Clave: F0168 Asignaturas antecedentes y subsecuentes PRESENTACIÓN
Parte I:Teoría. Tema 3:Introducción a los Sistemas operativos. Instalación
Tema 3:Introducción a los Sistemas operativos. Instalación Parte I:Teoría Introducción a los SO Componentes Llamadas al sistema Estructura del Kernel Drivers Esta obra está bajo una licencia Reconocimiento-No
PARADIGMA y LENGUAJES DE PROGRAMACIÓN
CATEDRA CARRERA: PARADIGMA y LENGUAJES DE PROGRAMACIÓN LICENCIATURA EN SISTEMAS DE INFORMACION FACULTAD DE CIENCIAS EXACTAS QUIMICAS Y NATURALES UNIVERSIDAD NACIONAL DE MISIONES Año 2017 2do Cuatrimestre
UNIVERSIDAD DEL CARIBE UNICARIBE. Escuela de Informática. Programa de Asignatura
UNIVERSIDAD DEL CARIBE UNICARIBE Escuela de Informática Programa de Asignatura Nombre de la asignatura : Sistema Operativo II Carga académica : 4 créditos Modalidad : Semi-presencial Clave : INF-223 Pre-requisito
Capítulo 4. SAPI. 4.1 Qué es Microsoft Speech Application Program Interface (SAPI)?
Capítulo 4. SAPI. 4.1 Qué es Microsoft Application Program Interface (SAPI)? La SAPI es una interfaz de reconocimiento del habla y de síntesis de voz para la programación de aplicaciones basadas en Win32
BIBLIOGRAFIA. Sistemas Operativos. Informática E.P.S. Universidad de Sevilla TEMA 4: Bibliografía básica de referencia:
1 Informática E.P.S. Universidad de Sevilla TEMA 4: Sistemas Operativos 2 BIBLIOGRAFIA Bibliografía básica de referencia: Fundamentos de Informática para Ingeniería Industrial, Fernando Díaz del Río et
Concurrencia Monitores. Guillermo Román Díez
Concurrencia Monitores Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2016-2017 Guillermo Román, UPM CC: Monitores 1/25 Recursos Compartidos Pregunta La especificación de
Técnicas de Programación
Técnicas de Programación 2.1.- Introducción: unos conceptos previos y primeros conceptos de la API Introducción La resolución de un problema con medios informáticos implica generalmente la siguiente secuencia
Gloria Guadalupe González Flores, José Hernández Torruco Fecha de elaboración: 28 de Mayo de 2010 Fecha de última actualización:
PROGRAMA DE ESTUDIO Estructuras de datos y organización de archivos Programa Educativo: Licenciatura en Sistemas Computacionales Área de Formación : Sustantiva profesional Horas teóricas: 2 Horas prácticas:
Sistemas Operativos. Curso 2016 Administración de memoria II
Sistemas Operativos Curso 2016 Administración de memoria II Agenda Memoria Virtual. Paginación. Segmentación. Segmentación con paginación. Sistemas Operativos Curso 2016 Administración de memoria II 2/35
Arquitecturas cliente/servidor
Arquitecturas cliente/servidor Creación de Sockets Cliente Servidor 1 Creación de Sockets Cliente/Servidor Sockets en TCP Concepto de Hilos Definición de DAEMON Sockets en UDP 2 THREADS 3 Qué es un thread?
Tema 2: Conceptos básicos. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid
Tema 2: Conceptos básicos Ingeniería Informática Universidad Autónoma de Madrid 1 O B J E T I V O S Introducción a la Informática Adquirir una visión global sobre la Informática y sus aplicaciones. Conocer
Participantes: Avila Aida Betancourt Sioly Briceño Susana Rojas Alejandro
Participantes: Avila Aida Betancourt Sioly Briceño Susana Rojas Alejandro Es una instancia de un programa en ejecución (corriendo). A los procesos frecuentemente se les refiere como tareas. El contexto
Informática 4º ESO. J. Javier Esquiva Mira
Sistemas Operativos Informática 4º ESO J. Javier Esquiva Mira Qué es un S.O.? Programa o conjunto de programas y servicios. Administra y gestiona los recursos de una computadora y brinda los servicios
SISTEMAS OPERATIVOS I (Sistemas) / SISTEMAS OPERATIVOS (Gestión) septiembre 2009
SISTEMAS OPERATIVOS I (Sistemas) / SISTEMAS OPERATIVOS (Gestión) septiembre 2009 4. (2 p) Dos procesos A y B se ejecutan concurrentemente en un determinado sistema. El proceso A ejecuta unas tareas ( Tareas
Diseño de Sistemas Distribuidos Máster en Ciencia y Tecnología Informática Curso Presentación e introducción
Diseño de Sistemas Distribuidos Máster en Ciencia y Tecnología Informática Curso 2016-2017 Presentación e introducción Félix García Carballeira Grupo de Aruitectura de Computadores felix.garcia@uc3m.es
PREGUNTAS INFORMÁTICA MONITOR UPB EXAMEN 1
PREGUNTAS INFORMÁTICA MONITOR UPB EXAMEN 1 1. Cuál de los siguientes componentes no forma parte del esquema general de un ordenador? A Memoria Principal B Disco Duro C Unidad de Control D Unidad Aritmético
CDI Arquitecturas que soportan la concurrencia. granularidad
granularidad Se suele distinguir concurrencia de grano fino es decir, se aprovecha de la ejecución de operaciones concurrentes a nivel del procesador (hardware) a grano grueso es decir, se aprovecha de
PANORAMA GENERAL DE LOS µc
PANORAMA GENERAL DE LOS µc Sistemas Digitales II Este tipo de dispositivos en la actualidad se encuentran en los supermercados, artículos electrodomésticos, instrumentos musicales, juguetes, equipo automotriz
Introducción a los Sistemas Operativos
Introducción a los Sistemas Operativos Indice Conceptos sobre ordenadores Concepto de Sistema Operativo Historia de los SO Multiprogramación Administración CPU Memoria Entrada/Salida Estados de un proceso
Mundo Azul.
Sistemas Operativos Abstract En este microtutorial, se describe el concepto y funciones básicas de un sistema operativo. La perspectiva a la hora de tratarlo es más desde un punto de vista de arquitectura
Implementación de una unidad procesadora de cuatro bits, como material didáctico
Implementación de una unidad procesadora de cuatro bits, como material didáctico Ángel Eduardo Gasca Herrera Universidad Veracruzana Agasca3@hotmail.com Jacinto Enrique Pretelin Canela Universidad Veracruzana