FIFO FIFO
FIFO, acrónimo inglés inglés de First In, First Out (primero en entrar, primero en salir), es un concepto utilizado en estructuras de datos,contabilidad datos,contabilidad de costes y teoría de colas. Tiene un sinónimo, FCFS, acrónimo inglés de First Come First Served (primero ( primero en llegar, llegar, primero en ser servido). Guarda analogía con las personas personas que espera esp era n en una cola cola y van siendo atendidas en el orden en que llegaron, es decir, que la primera persona pers ona que entra es la primera primera persona que sale . FIFO se utiliza en estructuras estruc turas de datos para implementar colas. La implementación puede efectuarse con ayuda de arrays o vectores, o bien mediante mediante el uso de punteros punteros y asignación dinámica dinámica de memoria. Si se implementa mediante vectores el número máximo de elementos que puede almacenar está limitado al que se haya establecido en el código del programa antes de la compilación (colaestática) o durante su ejecución (cola pseudoestática ó dinámica). Sea cual sea la opción elegida, el número de elementos que podrá almacenar la cola quedará determinado durante toda la ejecución del programa. Así, el sistema debe reservar el tamaño de memoria necesario para acoger todos los datos, sea cual sea el número de elementos usados. En algunas aplicaciones, esto supone un problema ya que puede desconocerse el número de elementos a contener en la cola. La sencilla solución de reservar más memoria de la que se supone que se necesitará, puede conducir a un despilfarro de la memoria (la cola puede esté llena, aprovechando toda la memoria reservada; o bien, nunca terminar de llenarse, ocupando recursos innecesarios en memoria). Sin embargo, si se usa asignación dinámica de memoria, el número máximo no está declarado en tiempo de compilación sino en tiempo de ejecución, es decir, se reserva memoria a medida que se necesite expandir el tamaño de la cola (adaptándose al tamaño necesario en cada momento en función de los elementos que hay en la cola), haciendo un mej or uso de la memoria disponible. Uno de los usos de las colas es la exploración "en anchura" de un árbol binario de búsqueda. Otro uso típico de las colas, es la gestión de descargas de una aplicación P2P. FIFO full/empty f ull/empty (lleno/vacío) (lleno/vacío)
En hardware, un FIFO se usa para propósitos de sincronización. Comportándose como una cola circular y, por lo tanto, contiene dos punteros: HUGO IVAN LOPEZ NAVARRO
Página 1
FIFO . Puntero de Lectura / Registro de Dirección de Lectura 2. Puntero de Escritura / Registro de Dirección de Escritura 1
Las direcciones de lectura y escritura están ambas inicialmente en la primera ubicación de la memoria y la cola FIFO está Vacía. FIFO Vacía
Cuando el registro de dirección de lectura alcanza al registro de dirección de escritura, la cola FIFO dispara la señal o bandera Vacío. FIFO Llena
Cuando el registro de dirección de escritura alcanza al registro de dirección de lectura, la cola FIFO dispara la señal o bandera Lleno. LIFO
El término LIFO es el acrónimo inglés de Last In First Out (último en entrar, primero en salir). Puede tener distintos significados según el contexto: El término LIFO se utiliza en estructuras de datos y teoría de colas. Guarda analogía con una pila de platos, en la que los platos van poniéndose uno sobre el otro, y si se quiere sacar uno, se saca primero el último que se puso. LIFO es el algoritmo utilizado para implementar pilas. EJEMPLOS:
PILA: Una pila (stack en inglés) es una lista ordinal o estructura de datos en la que el modo de acceso a sus elementos es de tipo LIFO (del inglés Last In First Out, último en entrar, primero en salir) que permite almacenar y recuperar datos. Esta estructura se aplica en multitud de ocasiones en el área de informática debido a su simplicidad y ordenación implícita de la propia estructura.
SISTEMA DECIMAL.
El sistema decimal es un sistema de graduación posicional en el que las cantidades se representan utilizando como base el número diez, por lo que se compone de diez cifras diferentes: cero (0); uno (1); dos (2); tres (3); cuatro (4); cinco (5); seis (6); siete (7); ocho (8) y nueve(9). Este conjunto de símbolos se denomina números árabes, y es de origen hindú. HUGO IVAN LOPEZ NAVARRO
Página 2
FIFO Es el sistema de posición usado habitualmente en todo el mundo (excepto ciertas culturas) y en todas las áreas que requieren de un sistema de numeración. Sin embargo hay ciertas técnicas, como por ejemplo en la informática, donde se utilizan sistemas de numeración adaptados al método de trabajo como el binario o el hexadecimal. También pueden existir en algunos idiomas vestigios del uso de otros sistemas de numeración, como el quinario, el duodecimal y el vigesimal. Por ejemplo, cuando se cuentan artículos por docenas, o cuando se emplean palabras especiales para designar ciertos números (en francés, por ejemplo, el número 80 se expresa «quatre -vingt», "cuatro veintenas" en español). Según los antropólogos, el origen del sistema decimal está en los diez dedos que tenemos los humanos en las manos, los cuales siempre nos han servido de base para contar. El sistema decimal es un sistema de numeración posicional, por lo que el valor del dígito depende de su posición dentro del número. Así: Los números decimales se pueden representar en la recta real. SIS TEMA B IN ARIO
El sistema binario, en matemáticas e informática, es un sistema de numeración en el que los números se representan utilizando solamente las cifras cero y uno (0 y 1). Es el que se utiliza en las computadoras, debido a que trabajan internamente con dos niveles devoltaje, por lo que su sistema de numeración natural es el sistema binario (encendido 1, apagado 0). APL ICACIÓN .
En 1937, Claude Shannon realizó su tesis doctoral en el MIT, en la cual implementaba el Álgebra de Boole y aritmética binaria utilizandorelés y conmutadores por primera vez en la historia. Titulada Un Análisis Simbólico de Circuitos Conmutadores y Relés , la tesis de Shannon básicamente fundó el diseño práctico de circuitos digitales. En noviembre de 1937, George Stibitz, trabajando por aquel entonces en los Laboratorios Bell , construyó una computadora basada en relésa la cual apodó "Modelo K" (porque la construyó en una cocina, en inglés " kitchen") que utilizaba la suma bina ria para realizar los cálculos. Los Laboratorios Bell autorizaron un completo programa de investigación a finales de 1938, HUGO IVAN LOPEZ NAVARRO
Página 3
FIFO con Stibitz al mando. El 8 de enero de1940 terminaron el diseño de una "Calculadora de Números Complejos", la cual era capaz de realizar cálculos con números complejos. En una demostración en la conferencia de la Sociedad Americana de Matemáticas, el 11 de septiembre de 1940, Stibitz logró enviar comandos de manera remota a la Calculadora de Números Complejos a través de la línea telefónica mediante un teletipo. Fue la primera máquina computadora utilizada de manera remota a través de la línea de teléfono. Algunos participantes de la conferencia que presenciaron la demostración fueron John Von Neumann, John Mauchly y Norbert Wiener, quien escribió acerca de dicho suceso en sus diferentes tipos de memorias en la cual alcanzó diferentes logros. REP RESENTAC ION.
Un número binario puede ser representado por cualquier secuencia de bits (dígitos binarios), que suelen representar cualquier mecanismo capaz de estar en dos estados mutuamente excluyentes. Las siguientes secuencias de símbolos podrían ser interpretadas como el mismo valor numérico binario: 010011010 |-|--||-|xoxooxxoxo ynynnyynyn 1
El valor numérico representado en cada caso depende del valor asignado a cada símbolo. En una computadora, los valores numéricos pueden representar dos voltajes diferentes; también pueden indicar polaridades magné ticas sobre un disco magnético. Un "positivo", "sí", o "sobre el estado" no es necesariamente el equivalente al valor numérico de uno; esto depende de la nomenclatura usada. De acuerdo con la representación más habitual, que es usando números árabes, los números binarios comúnmente son escritos usando los símbolos 0 y 1. Los números binarios se escriben a menudo con subíndices, prefijos o sufijos para indicar su base. Las notaciones siguientes son equivalentes:
00101 binario (declaración explícita de formato) 100101b (un sufijo que indica formato binario) 100101B (un sufijo que indica formato binario) bin 100101 (un prefijo que indica formato binario) 1
HUGO IVAN LOPEZ NAVARRO
Página 4
FIFO
00101 2 (un subíndice que indica base 2 (binaria) notación) %100101 (un prefijo que indica formato bi nario) 0b100101 (un prefijo que indica formato binario, común en lenguajes de programación) 1
SISTEMA O CTA L
El sistema numérico en base 8 se llama octal y utiliza los dígitos 0 a 7. Por ejemplo, el número 74 (en decimal) es 1001010 (en binario), lo agruparíamos como 1 / 001 / 010, de tal forma que obtengamos una serie de números en binario de 3 dígitos cada uno (para fragmentar el número se comienza desde el primero por la derecha y se parte de 3 en 3), después obtenemos el número en decimal de cada uno de los números en binario obtenidos: 1=1, 001=1 y 010=2. De modo que el número deci mal 74 en octal es 112. Hay que hacer notar que antes de poder pasar un número a octal es necesario pasar por el binario. Para llegar al resultado de 74 en octal se sigue esta serie: decimal -> binario -> octal. En informática, a veces se utiliza la numeración octal en vez de la hexadecimal. Tiene la ventaja de que no requiere utilizar otros símbolos diferentes de los dígitos. Sin embargo, para trabajar con bytes o conjuntos de ellos, asumiendo que un byte es una palabra de 8 bits, suele ser más cómodo el sistema hexadecimal, por cuanto todo byte así definido es completamente representable por dos dígitos hexadecimales. Es posible que la numeración octal se usara en el pasado en lugar del decimal, por ejemplo, para contar los espacios interdigital es o los dedos distintos de los pulgares. SISTEMA HEX ADECIM AL
El sistema Hexadecimal (no confundir con sistema sexagesimal), a veces abreviado comoHex, es el sistema de numeración de base 16 empleando por tanto 16 símbolos. Su uso actual está muy vinculado a la informática y ciencias de la computación, pues loscomputadores suelen utilizar el byte u octeto como unidad básica de memoria; y, debido a que un byte representa 28 valores posibles, y esto puede representarse como , que, según HUGO IVAN LOPEZ NAVARRO
Página 5
FIFO elteorema general de la numeración posicional , equivale al número en base 16 100 6 , dos dígitos hexadecimales corresponden exactamente permiten representar la misma línea de enteros a un byte. 1
En principio dado que el sistema usual de numeración es de base decimal y, por ello, sólo se dispone de diez dígitos, se adoptó la convención de usar las seis primeras letras del alfabeto latino para suplir los dígitos que nos faltan. El conjunto de símbolos sería, por tanto, el siguiente: S = {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F} Se debe notar que A = 10, B = 11, C = 12, D = 13, E = 14 y F = 15. En ocasiones se emplean letras minúsculas en lugar de mayúsculas. Como en cualquier sistema de numeración posicional, el valor numérico de cada dígito es alterado dependiendo de su posición en la cadena de d ígitos, quedando multiplicado por una cierta potencia de la base del sistema, que en este caso es 16. Por ejemplo: 3E0A 6 = 3×163 + E×162 + 0×16 + A×160 = 3×4096 + 14×256 + 0×16 + 10×1 = 15882. 1
1
El sistema hexadecimal actual fue introducido en el ámbito de la computación por primera vez por IBM en 1963. Una representación anterior, con 09 y uz, fue usada en 1956 por la computadora Bendix G15. SISTEMA OCTA L.
El sistema numérico en base 8 se llama octal y utiliza los dígitos 0 a 7. Por ejemplo, el número 74 (en decimal) es 1001010 (en binario), lo agruparíamos como 1 / 001 / 010, de tal forma que obtengamos una serie de números en binario de 3 dígitos cada uno (para fragmentar el número se comienza desde el primero por la derecha y se parte de 3 en 3), después obtenemos el número en decimal de cada uno de los números en binario obtenidos: 1=1, 001=1 y 010=2. De modo que el número decimal 74 en octal es 112. Hay que hacer notar que antes de poder pasar un número a octal es necesario pasar por el binario. Para llegar al resultado de 74 en octal se sigue esta serie: decimal -> binario -> octal. En informática, a veces se utiliza la numeración octal en vez de la hexadecimal. Tiene la ventaja de que no requiere utilizar otros símbolos diferentes de los dígitos. Sin embargo, para trabajar con bytes o conjuntos de ellos, asumiendo que un byte es una palabra de 8 bits, suele ser más cómodo el sistema HUGO IVAN LOPEZ NAVARRO
Página 6
FIFO hexadecimal, por cuanto todo byte así definido es completamente representable por dos dígitos hexadecimales. Es posible que la numeración octal se usara en el pasado en lugar del decimal, por ejemplo, para contar los espacios interdigitales o los dedos distintos de los pulgares.
HUGO IVAN LOPEZ NAVARRO
Página 7
FIF
UNIVERSIDAD MESOAMERICANA
MATERIA: TALLER DE INFORAMTICA 6 IMPARTICA: ING FRANCISCO JAVIER GUZMAN PRESENTA: HUGO IVAN LOPEZ NAVA RRO DEL 6 SEMETRE DE LA LIC. EN INFORMATICA. TRABAJO:
SISTEMAS FIFO, LIFO, DECIMAL, OCTAL, HEXADECIMAL.
SAN CRSITOBAL DE LAS CASAS CHIAPAS A 3 DE FEBRERO DEL 2011
I
L PEZ
RR
P
i
8
FIFO
HUGO IVAN LOPEZ NAVARRO
Página 9