Apuntes Bloque II.pdf
Document Details
Related
- PCSII Depression/Anxiety/Strong Emotions 2024 Document
- A Concise History of the World: A New World of Connections (1500-1800)
- Human Bio Test PDF
- Vertebrate Pest Management PDF
- Lg 5 International Environmental Laws, Treaties, Protocols, and Conventions
- Fármacos Anticoncepcionais e Disfunção Erétil PDF
Full Transcript
BLOQUE II 1- Informática básica. Representación y comunicación de la información: elementos constitutivos de un sistema de información. Características y funciones. Arquitectura de ordenadores. Componentes internos de los equipos microinformáticos. Informática: “information” y “automatique...
BLOQUE II 1- Informática básica. Representación y comunicación de la información: elementos constitutivos de un sistema de información. Características y funciones. Arquitectura de ordenadores. Componentes internos de los equipos microinformáticos. Informática: “information” y “automatique”. Procesamiento automático de información mediante dispositivos electrónicos. Sistema: conjunto de acciones, personal y procedimientos relacionados con el desempeño de una tarea. Sistema informático: se utiliza para nombrar al conjunto de elementos necesarios (computadora, programas, terminales, equipo humano, etc.) para la realización y explotación de aplicaciones informáticas. Es decir, es el conjunto de personas, máquinas y procedimientos que se utilizan para llevar a cabo una tarea informática o de proceso de datos. La aplicación de la informática a las diversas situaciones a resolver por su mediación se realiza a través de los denominados sistemas informáticos. El esquema más sintético del sistema informático apropiado sería algo como: - Entrada: conjunto de datos o información que debe ser procesada de forma automática. - Proceso: núcleo del sistema informático que pone en práctica los métodos de proceso o tratamiento (transformación, elaboración y manipulación) de la información de entrada. - Salida: información resultante del proceso operado en el sistema informático. 1.1 - El equipo informático El sistema informático puede descomponerse, a su vez, en distintos subsistemas dependiendo de la complejidad del mismo. El máximo nivel de descomposición es el llamado equipo informático, el cual está formado por al menos un ordenador y su correspondiente software. Entendemos por ordenador o computadora el elemento físico encargado de procesar la información. Consiste en una máquina de origen electrónico capaz de realizar una gran variedad de trabajos a gran velocidad y con gran precisión, es decir, recogen, almacenan y procesan datos para producir información de acuerdo con las instrucciones proporcionadas por humanos en programas informáticos. 1 Las computadoras, atendiendo a sus elementos constructivos, historia, aplicaciones y prestaciones, se clasifican de diferente forma: En primer lugar, según su historia se clasifican en generaciones que van desde la primera hasta la quinta. En segundo lugar, y atendiendo a su construcción y diseño interno, se clasifican en máquinas con lógica cableada y lógica programable. En tercer lugar, y atendiendo a su ámbito de aplicación, se clasifican en computadoras de uso general, científicas/técnicas y especializadas. En cuarto lugar y atendiendo a su configuración física y a las señales que manejan, se clasifican en computadoras analógicas, digitales e híbridas. A su vez, las computadoras digitales según su potencia de cálculo y capacidad de almacenamiento se clasifican en supercomputadoras, computadoras o mainframes, minicomputadoras y microcomputadoras. Las microcomputadoras tienen dos configuraciones típicas denominadas computadora personal y estación de trabajo. A - Clasificaciones Clasificación según generaciones La informática es una ciencia relativamente joven, dado que tiene sus orígenes en los años 40. La historia de los ordenadores se divide en lo que se han llamado generaciones. Atendiendo a la naturaleza de las computadoras diremos que en un principio fueron mecánicas en su totalidad. En el siglo XIX se utilizaron dispositivos electromecánicos para su construcción. Desde comienzos del siglo XX y hasta nuestros días la tecnología usada ha sido la electrónica, evolucionando con sus sucesivos avances: computadoras a válvulas, a transistores, con circuitos integrados, etc. Actualmente la investigación se basa en el futuro uso de la tecnología óptica. Vamos a realizar un recorrido histórico por las diversas generaciones de las máquinas digitales. Hemos de tener en cuenta que anteriormente ya habían sido construidos elementos mecánicos de cálculo como el “ábaco”, la máquina de calcular de Pascal, de Leibniz, y de diferencias de Babbage. Pero todos ellos estaban basados en medios, como se ha dicho, mecánicos y no digitales. El paso de una generación a otra ha sido determinado por avances hardware, excepto la quinta generación, en la que el determinante ha sido el software. El salto de una generación a otra ha venido marcado siempre por características como: - Miniaturización del tamaño de los ordenadores. - Mayor fiabilidad: incremento del tiempo transcurrido entre dos fallos. - Mayor potencia o capacidad de resolver problemas complejos. - Superior velocidad de cálculo. Existen cinco grandes generaciones en la historia de los ordenadores digitales: Primera generación [1946 – 1954]: Es la etapa de las empresas iniciales del mundo informático (Remington Road (UNIVAC) e IBM), que no venden sino que alquilan los 2 ordenadores, tales son los elevados costes que comportan. Es la generación de las válvulas de vacío, con un soporte de programas muy rudimentarios escritos en código máquina. Segunda generación [1955 – 1964]: La invención del transistor por W. Shockley va a marcar la diferencia con la primera generación; a principios de 1960 salen al mercado los primeros ordenadores transistorizados. Surge, como consecuencia de la aparición del transistor que sustituyó a las válvulas de vacío. Tercera generación [1965 – 1970]: Los transistores son reemplazados por circuitos integrados (chip), que son encapsulados de gran cantidad de componentes discretos (resistencias, condensadores, diodos y transistores) sobre una pastilla de silicona o plástico. Nace la microprogramación, segmentación y la multiprogramación. Nace la idea de compartir recursos por varios procesos o usuarios Cuarta generación [1971 – 1981]: La creación de un chip con envoltorio y hecho a base de silicio e integrado en una unidad central de proceso recibe el nombre de microprocesador por la empresa Intel (1971) que en su primera versión era de 4 bits. Quinta generación [1982 – actualidad]: Se continúa con el desarrollo de los PC’s, cada vez más rápidos y potentes. Continúa el desarrollo de los supercomputadores. Se empieza a hablar de Inteligencia Artificial. Clasificación según el ámbito de la aplicación Ordenadores de uso general Son máquinas de gran flexibilidad, aplicables a la resolución de cualquier problema sin más que cambiar el programa que lo instruye. Puede dedicarse a distintos tipos de aplicaciones, tales como gestión administrativa, cálculo científico, etc. Ordenadores científicos/técnicos En los primeros años de los ordenadores electrónicos era frecuente diseñar equipos especialmente orientados a aplicaciones científico/técnicas; aplicaciones que exigían una gran velocidad de cálculo y elevado espacio de almacenamiento interno. El criterio diferenciador con respecto a los ordenadores de uso general y a los ordenadores científicos/técnicos, reside en su especialización hacia un marco de actividad muy determinado. Ordenadores especializados Son los que únicamente pueden utilizarse para una aplicación concreta, cuando únicamente pueden resolver un tipo concreto y particular de problemas para los que han sido diseñados. Se caracterizan porque ejecutan uno o muy pocos programas. Por ejemplo: - Ordenadores diseñados para el tratamiento gráfico. - Ordenadores industriales, especializados en el control de procesos de fabricación. Dentro de este tipo de clasificación también podemos realizar otras subdivisiones: A) Clasificación según el ámbito de uso Esta clasificación se realiza en función del ámbito de aplicabilidad para el cual cada máquina concreta ha sido diseñada y comercializada. - Ordenador de bolsillo: son los tan difundidos PDA. - Ordenador doméstico 3 - Ordenador profesional - Ordenador departamental - Ordenador central - Red de ordenadores B) Clasificación funcional de los ordenadores Atendiendo al uso que hacemos de los ordenadores podemos dividirlos en: - Servidores: ordenadores que prestan servicios a otros ordenadores. - Ordenadores personales: ordenadores pensados para realizar tareas de manera independiente. Clasificación según el tipo de señal que manejan En algunos procesos de tratamiento de la información, ésta se representará mediante magnitudes físicas (tensión, intensidad, temperatura, presión, etc.). Cuando éstas pueden tomar un valor cualquiera dentro de un rango predeterminado, se dice que el sistema es del tipo analógico. Frente a estos sistemas están los sistemas digitales, en los que las magnitudes sólo toman valores discretos. Por ejemplo, si se utilizan señales de tensión para representar la información y estas señales toman los valores 5 y 0 voltios, el sistema es digital. Se dice que un suceso es de tipo continuo cuando la escala de manifestación de sus variables no tiene discontinuidades. Estos sucesos se denominan analógicos. Son ejemplos: el tiempo, la temperatura, el caudal de un río, etc. Son el tipo de señales que más se presentan en el mundo real. Si la escala de manifestaciones de las variables de un suceso sólo tiene determinados valores, se dice que es de tipo discreto y recibe el nombre de digital. Son ejemplos: tirar una moneda, la altura de un grupo de personas, el peso, etc. En una primera división podemos decir que existen tres tipos de computadoras: analógicas, digitales e híbridas. Esta división se realiza atendiendo al tipo de información que es capaz de procesar. - Las computadoras analógicas usan magnitudes que simulan a través de números el mundo físico actual. El objetivo principal de estos computadores es la resolución 4 de ecuaciones diferenciales (usadas en estudios superiores científicos). Apenas se usan a nivel empresarial, profesional o particular. La programación de los computadores analógicos se realiza mediante la creación de macrocircuitos conectados a través de cables externos. Los ordenadores analógicos aprovechan la similitud matemática entre las interrelaciones físicas de determinados problemas y emplean circuitos electrónicos o hidráulicos para simular el problema físico. El ordenador analógico es un dispositivo electrónico o hidráulico diseñado para manipular la entrada de datos en términos de, por ejemplo, niveles de tensión o presiones hidráulicas, en lugar de hacerlo como datos numéricos. - Las computadoras digitales procesan información de tipo digital (los 0 y 1 tan conocidos) asociada a dos únicos voltajes fijos o casi fijos de 0 voltios y 5 voltios, respectivamente. Son los más utilizados hoy en día. Los ordenadores digitales resuelven los problemas realizando cálculos y tratando cada número dígito por dígito. Todo lo que hace un ordenador digital se basa en una operación. Es decir, el ordenador puede reconocer sólo dos estados en cualquiera de sus circuitos microscópicos. Las velocidades del ordenador se miden en megahercios, o millones de ciclos por segundo. - Las computadoras híbridas poseen características de las dos anteriores. Se suele tratar de una computadora digital que procesa información analógica, para lo cual tiene sus entradas y salidas controladas por medios de convertidores analógico-digitales y digitales-analógicos. Generalmente los componentes digitales de este tipo de ordenadores cumplen las funciones de sistemas de adquisición y almacenamiento automático de señales analógicas, y de sistemas de generación de señales. Por su parte, los componentes analógicos realizan el procesamiento análogo de ecuaciones complejas. Los cálculos los realiza de forma analógica mientras que la entrada y salida de datos se hace de modo digital. La utilización del ordenador híbrido es frecuente en el control de procesos industriales. Clasificación según su potencia de cálculo y capacidad de almacenamiento (clasificación técnica) Todos los ordenadores digitales modernos son similares conceptualmente con independencia de su tamaño. Sin embargo, pueden dividirse en varias categorías según su precio y rendimiento: - el ordenador o computadora personal es una máquina de coste relativamente bajo y por lo general de tamaño adecuado para un escritorio, la estación de trabajo, un microordenador con gráficos mejorados y capacidades de comunicaciones que lo hacen especialmente útil para el trabajo de oficina. - el miniordenador o minicomputadora, un ordenador de mayor tamaño que por lo general es demasiado caro para el uso personal y que es apto para compañías, universidades o laboratorios. - el mainframe, una gran máquina de alto precio capaz de servir a las necesidades de grandes empresas, departamentos gubernamentales, instituciones de investigación 5 científica y similares (las máquinas más grandes y más rápidas dentro de esta categoría se denominan superordenadores). Una posible clasificación de los ordenadores, en función de su capacidad (entendiéndose por ésta la cantidad y calidad de recursos que posee una computadora para realizar trabajos complejos), sería la que se expone a continuación. Podemos distinguir: - Supercomputadoras: ordenadores de gran volumen con gran capacidad, que suelen utilizarse para cálculos científicos. Presentan una gran velocidad de cálculo (en torno a los 50.000 MIP, Millones de Instrucciones Por segundo). Generalmente poseen un gran número de procesadores que trabajan en paralelo. Un ejemplo de estas computadoras es la Cray Y-MP de Cray Research Inc. - Computadoras ó Mainframes: se trata también de grandes ordenadores cuya finalidad suele ser dar soporte a grandes redes de comunicaciones con miles de usuarios integrados en las mismas. Está diseñada para dar servicio a grandes empresas y organizaciones. Su potencia de cálculo es menor que las anteriores pero sigue siendo del orden de varios millones por segundo. Soportan un gran número de terminales o estaciones de trabajo. Pueden intervenir en procesos distribuidos en los que se conectan varias computadoras en paralelo, para así repartirse el trabajo a realizar. Un ejemplo sería la IBM 3090. - Superminiordenadores: son equipos dedicados a tareas departamentales dentro de un organismo o empresa. Su principal capacidad es la de soportar gran cantidad de terminales, pues están orientados a la gestión. Dado su bajo precio en comparación con los grandes ordenadores, han ganado cuota de mercado frente a ellos. - Miniordenadores: equipos menos voluminosos con capacidad también para soportar a cientos de usuarios, pero con menores prestaciones. Su ventaja es un menor coste. Se trata de los que integran el núcleo de las pequeñas redes. Un ejemplo sería la VAX y la AS/400. - Microordenadores: equipos monousuario con tecnología y prestaciones inferiores a los miniordenadores y, por tanto, con costes inferiores a las mismas. Su funcionamiento interno se basa en un microprocesador, con él se consigue cubrir una serie de prestaciones de potencia, cálculo, manejabilidad, portabilidad, precio, etc. Dentro de las microcomputadoras se pueden distinguir dos grandes grupos: - Estaciones de trabajo (Workstation): equipos monousuario de grandes prestaciones, entre las que destacan una gran capacidad de memoria principal (RAM) y velocidad de cálculo. Permiten la conexión de una red con una computadora de mayor potencia. - Ordenadores personales (personal computer- PC): equipo fácil de usar y de grandes prestaciones. Generalmente posee un solo puesto de trabajo. Actualmente la mayor gama de equipos hardware y de aplicaciones software que existen en el mercado pertenecen a este grupo. Dentro de este tipo existe una clasificación según el tamaño, prestaciones, precio, etc. Los tipos mas conocidos son: Desktop, Portátil, Laptop, Notebook y Pocket-PC o palmtop. - Nanoordenadores: a esta categoría pertenecen equipos con muy pocas prestaciones y orientados principalmente al entretenimiento doméstico. Hasta hace algunos años tuvieron amplio uso, aunque actualmente se están difundiendo ampliamente como consolas de videojuegos. 6 La tendencia actual de los sistemas informáticos es el diseño de sistemas abiertos. Estos se definen como aquellos sistemas cuyas especificaciones son admitidas, aprobadas y mantenidas por los organismos de estandarización y normalización existentes. Sus características fundamentales son: - Portabilidad: posibilidad de utilizar el mismo software en computadoras de diferentes fabricantes. - Interoperabilidad: posibilidad de que ordenadores de diferente fabricante trabajen conjuntamente. - Escalabilidad: posibilidad de utilizar el mismo software en diferentes tipos de computadoras, desde un microordenador hasta un mainframe. 1.2 - Unidades de información Las herramientas creadas para desarrollar la informática, empezaron a funcionar con relés, dispositivos electromagnéticos que reciben una señal y optan por dos posiciones. Combinando relés en serie o en paralelo, se pueden llegar a obtener gran cantidad de combinaciones posibles. Por todo ello la mejor forma de mandar información a un relé, es a través de un impulso, el cual puede ser representado por un número 1. Si por el contrario queremos que el relé permanezca en su posición actual no tendremos que mandar señal, a lo que le asignaremos un 0. Por ello el sistema más básico de funcionamiento de dichos dispositivos bastaría con estar formado por únicamente dos números el 1 y el 0, es entonces cuando se opta por elegir el sistema binario de numeración para la comunicación con dichos dispositivos, y a partir de entonces perdurará en toda la evolución de la informática. A cada una de estas posibilidades (1 ó 0) le vamos a dar el nombre de BIT. Cualquier tipo de información humana (lenguaje) tendremos que traducirla pues a numeración binaria, ya que la herramienta es lo único capaz de entender. Así pues tendremos que crear algún tipo de convenio que a cada símbolo de nuestro lenguaje le asigne una combinación de unos y ceros. Por lo expuesto anteriormente se deduce que con solo una cifra no podemos representar nuestro lenguaje, así que optamos por hacer combinaciones de al menos 8 cifras (8 bits), y le daremos el nombre de BYTE u octeto. Pero siguiendo con nuestro lenguaje, cuando nosotros tengamos que formar palabras, párrafos, documentos o información de mucho mayor tamaño no podremos bastarnos con los bytes, sino que emplearemos unidades mayores para facilitar el manejo de dicha información. Estaremos hablando de los múltiplos del byte: Kilobyte, Megabyte, Gigabyte, Terabyte, Petabyte. 1 bit Es un 1 o un 0 1 byte 8 bits 1 Kilobyte (KB) 1024 bytes 1 Megabyte (MB) 1024 KB 1 Gigabyte (GB) 1024 MB 7 1 Terabyte (TB) 1024 GB 1 Petabyte (PB) 1024 TB 1 Exabyte (EB) 1024 PB 1 Zettabyte (ZB) 1024 EB 1 Yottabyte (YB) 1024 ZB 1 Ronna (RB) 1024 YB 1 Quetta (QB) 1024 RB 1 Byte (B) = 2 nibbles = 8 bits (b). 1 nibble = 4 bits 1 kibibyte = 1024 B = 210 bytes. 1 kilobyte = 1000 B = 103 bytes. 1 Kibibyte (KiB) = 1.024 kilobytes (KB) 1.3 - Sistemas de numeración Entendemos por sistema de numeración el conjunto de normas y símbolos utilizados para representar la información. Así pues, diremos que el sistema de numeración del ser humano en la vida cotidiana es el sistema decimal, formado por diez símbolos, a través de los cuales se pueden conseguir todos los demás. Informáticamente hablando nos podemos encontrar con el sistema binario, que utiliza dos símbolos para formar cualquier tipo de información. Pero también existen otros sistemas utilizados en la informática como pueden ser el sistema octal, formado por 8 componentes, y el sistema hexadecimal, formado por 16 componentes. El conjunto de normas para agrupar los componentes de cada sistema recibirá el nombre de código. Algunos de ellos son el código ASCII o el EBCDIC y UNICODE entre otros. 8 1.3.1 - Conversión de decimal a otros sistemas Para convertir un número decimal a binario, se divide el número entre 2 sucesivamente. Los restos colocados a la inversa componen el número en binario. 8 / 2 = 4. Resto 0. 4 / 2 = 2. Resto 0. 2 / 2 = 1. Resto 0. 1 / 2 = 0. Resto 1. 8 en decimal es 1000 en binario. Para convertir un número decimal a octal se utiliza el mismo método. 34 / 8 = 4. Resto 2. 4 / 8 = 0. Resto 4. 34 en decimal es 42 en octal. Para convertir un número decimal a hexadecimal, primero convertimos de decimal a binario y luego de binario a hexadecimal. 183 / 2 = 91. Resto 1. 91 / 2 = 45. Resto 1. 45 / 2 = 22. Resto 1. 22 / 2 = 11. Resto 0. 11 / 2 = 5. Resto 1. 5 / 2 = 2. Resto 1. 2 / 2 = 1. Resto 0. 1 / 2 = 0. Resto 1. Ahora pasaríamos 10110111 a hexadecimal agrupando de cuatro en cuatro dígitos desde la derecha. 1011 = 11 = B, 0111 = 7. De modo que 183 en decimal es B7 en hexadecimal. En hexadecimal se usan las siguientes letras: A = 10, B = 11, C = 12, D = 13, E = 14, F = 15. 1.3.2 - Conversión de otros sistemas a decimal Para convertir un número binario a decimal, cada digito binario es multiplicado por la base 2 elevada a la posición que ocupa el digito contando desde la derecha empezando por 0. 101 = 1*2^2 + 0*2^1 + 1*2^0 = 4 + 0 + 1 = 5 11011 = 1*2^4 + 1*2^3 + 0*2^2 + 1*2^1 + 1*2^0 = 16 + 8 + 0 + 2 + 1 = 27 Para convertir un número octal a decimal, se utiliza el mismo método que para binario a decimal, pero con base 8. 356 = 3*8^2 + 5*8^1 + 6*8^0 = 192 + 40 + 6 = 238 Para convertir un número hexadecimal a decimal, igualmente pero con base 16. 9 A0D = A*16^2 + 0*16^1 + D*16^0 = A*256 + 0*16 + D*1 = 10*256 + 0 + 13*1 = 2560 + 13 = 2573 7B2 = 7*16^2 + B*16^1 + 2*16^0 = 7*256 + B*16 + 2*1 = 7*256 + 11*16 + 2*1 = 1792 + 176 + 2 = 1970 Binario a octal: Separación en bloques de 3 1.4 - Concepto de sistema de información 1.4.1 - Definición de dato e información Los términos dato e información, tan usados hoy en día, tienen significados diferentes (a la vez que son términos complementarios). Los datos son la materia prima de la cual se deriva la información, es decir, es una composición de datos (con un significado dentro de un contexto) que proporciona conocimiento, permitiendo así lograr algún objetivo. En términos específicos, la información consiste en datos seleccionados y organizados con respecto al usuario, problema, tiempo, lugar y función. Ejemplo.- Un fabricante de automóviles tiene intención de sacar un nuevo modelo al mercado. Necesita conocer la opinión de sus posibles clientes. Entre las acciones a tomar decide elaborar una encuesta, en la que recogerá estas opiniones. Las respuestas recogidas son DATOS. Si agrupamos, totalizamos y procesamos los datos obtendremos información útil para el Departamento de Marketing. Efectivamente tras un procesado de los datos de entrada (encuestas) obtenemos una INFORMACIÓN útil: El perfil de los potenciales compradores del nuevo modelo. En este ejemplo todos los cálculos, agrupaciones, ponderaciones, y tendencias asociadas a datos son procesos. De hecho un proceso es cualquier manipulación efectuada a nuestros datos, con el objetivo de producir información. Este proceso de “dato, proceso, informacion” es recursivo y así un conjunto de información preprocesada puede servir como “datos” a nuevos procesos que produzcan información de mayor calidad. Los datos están constituidos por los registros de los hechos, acontecimientos, transacciones, etc. La información implica que los datos están procesados de tal manera 10 que resulten útiles o significativos para el receptor de los mismos. La información estimula a la acción y su valor reside en que permite decidir mejor, ya que la decisión es el paso previo para toda acción. Pero no toda la información es útil. Para que una información sea útil debe estar contextualizada; esta información debe ser relevante, completa, precisa, actualizada y asumible. Llamamos calidad de información al conjunto de cualidades que, además de la capacidad de disminuir la incertidumbre, ayudan al receptor a tomar la decisión más ventajosa. Estas propiedades son las siguientes: A) Características de la información útil - Relevancia: para el propósito de la decisión o el problema considerado (que sirva para el hecho de decisión que la requiera). - Precisión: exacta con la realidad, para que se pueda confiar en ella (que la información no tenga errores). - Completa: ha de ser completa para el problema. - Adecuada: ha de ser adecuada para la decisión. - Oportunidad: comunicada a tiempo para resultar útil. Se relaciona con el ciclo de entrada-proceso-entrega al usuario de la información, el cual debe de reducirse en su duración. - Detallista: ha de llegar al nivel de detalle adecuado. - Accesibilidad: facilidad y rapidez con la que se puede obtener la información. - Claridad: grado en el que la información está exenta de expresiones ambiguas (ha de ser comprensible para el receptor). - Flexibilidad: concierne a la adaptabilidad de la información no sólo a más de una decisión sino también a más de un responsable de la toma de decisiones. - Verificabilidad: se refiere a que aunque varios usuarios examinen la misma información, todos pueden llegar a una misma decisión. A través de la información, los individuos en las organizaciones, reducen la incertidumbre y son capaces de tomar decisiones posiblemente más acertadas que en caso de no contar con ella. Tanto en la vida diaria como en el medio empresarial, se manejan datos como elementos aislados que no indican absolutamente nada si no son procesados por algún medio y transformados en información. Algunas de las operaciones que pueden ser realizadas con los datos independientemente del medio son: - Captarlos: acción de registrar datos. - Verificarlos: validación de datos. - Clasificarlos: separar por categorías (por ejemplo: hombres y mujeres). - Ordenarlos: colocarlos en una secuencia específica (por ejemplo: alfabéticamente). - Resumirlos: además de la operación matemática, reduce los datos en sentido lógico. - Calcularlos: operaciones aritméticas y lógicas. - Almacenarlos: acción de guardar. - Recuperarlos: buscar y acceder a datos (por ejemplo: tomar los expedientes de un archivero). - Copiarlos: cambiar de un dispositivo a otro ( Ej.: expediente a papel). - Distribuirlos: entregar al usuario. 11 Todos los datos son susceptibles de ser transformados en información a través de algún mecanismo. Los tres medios actualmente identificables de procesamiento de datos son: manual, electromecánico (requiere del apoyo manual para realizar algún proceso) y electrónico (computadora). Con la finalidad de tener una mejor comprensión de las características de la información, se han propuesto diferentes formas de clasificarla dependiendo del enfoque o perspectiva del que las agrupa, algunas de ellas, se describen a continuación: - En relación con la organización: Interna y Externa. - En relación a su naturaleza: Descriptiva (antecedentes), Rendimiento (presente), Predictiva (futura). - De acuerdo con la posición del usuario: Estratégica, Táctica y Técnica. - De acuerdo con el flujo de información: Horizontal o Vertical. - De acuerdo con la calidad: - Exacta o Precisa: significa que 1+1=2 (que la información está libre de errores). - Oportuna: que la información se tenga en el momento adecuado y cuando es necesaria. - Relevante: que contenga lo necesario para el hecho de decisión que la requiera ya que lo que es relevante para unos puede no serlo para otros. Podríamos decir que la información es un conjunto de datos homogéneos relacionados entre sí que significa un aumento de conocimientos importantes para el usuario. 1.4.2 - Definición de sistema y subsistema Un sistema es un conjunto de elementos relacionados entre sí y que cooperan para la consecución de un determinado fin (objetivo). Es la suma total de partes que funcionan independiente o conjuntamente, para lograr ciertos resultados o productos, basados en necesidades. Todo aquello que afecta y rodea a un sistema constituye su entorno. Un sistema puede formar parte de otros sistemas. Los sistemas que tienen el mismo entorno son subsistemas del sistema que interviene como entorno y del cual forman parte. Por tanto, en general los sistemas están formados por otros subsistemas, cada uno de ellos con sus propias metas. Ha de verse un sistema como un conjunto de elementos que colaboran entre sí para alcanzar una meta, o múltiples metas, aceptando unas entradas, procesándolas y produciendo unas salidas de una manera organizada. Los principales elementos presentes en cualquier sistema son: - Los componentes del sistema. - Las relaciones entre ellos, que determinan la estructura del sistema. - El objetivo del sistema. 12 En todos los sistemas también podemos identificar otros elementos importantes como son: - El entorno del sistema: aquello que lo rodea, dentro del cual está ubicado. - Los límites del sistema: la frontera entre lo que el sistema es y lo que constituye el entorno. Suelen existir relaciones entre el sistema y sus componentes y el exterior representado por el contorno. Los sistemas relacionados con el exterior se denominan abiertos. Enfoque sistémico: estudia el análisis de los sistemas adoptando una visión global de los subsistemas que se va refinando progresivamente mediante descomposición de Arriba-Abajo y una vez identificados los límites y sus relaciones con el exterior se pasa a describir su interior abriendo la caja negra del sistema, identificando las grandes cajas internas o subsistemas con las relaciones que lo ligan entre sí, donde de cada subsistema sólo me van a interesar sus entradas y sus salidas; este proceso se va repitiendo hasta que los componentes son simples y se pueden estudiar sin problemas: esto implica pensar globalmente y actuar localmente. A) Características de los sistemas Los sistemas muestran las siguientes características: - La interacción e interdependencia de sus elementos. - La persecución de un objetivo o finalidad. - Los sistemas deben considerarse como un todo compuesto de partes que a su vez pueden ser también subsistemas. - La interacción con el medio ambiente. - Los sistemas tienen entradas y salidas necesarias para otros sistemas por lo cual tienen retroalimentación del medio. - Transforman entradas en salidas las cuales son diferentes en su forma de las primeras. - La sinergia. Como concepto administrativo se refiere a que los elementos en forma independiente tienen un resultado inferior al que generan al integrarse para lograrlo. - La equifinalidad o existencia de múltiples formas de lograr el objetivo del sistema. 1.4.3 - Definición de sistema de información Podemos definir “sistema de información” como el conjunto de procedimientos, manuales y automatizados, y de funciones dirigidas a la recogida, elaboración, almacenamiento, recuperación, condensación y distribución de información dentro de una organización, orientado a promover el flujo de las mismas desde el punto en que se generan hasta el destinatario de las mismas; es un conjunto de elementos que trabajan armónicamente para procesar datos y producir información. Un sistema de información es un conjunto de información extensa y coordinada de subsistemas racionalmente integrados que transforman los datos en información en una variedad de formas para mejorar la productividad de acuerdo con los estilos y características de los administradores. Esta transformación se realiza con base en los criterios 13 de calidad establecidos, que son el tiempo, la relevancia, la precisión, la retroalimentación y la disponibilidad selectiva de los datos. Los sistemas de información son aquellos sistemas creados por analistas y administradores para llevar a cabo tareas específicas esenciales para el funcionamiento de la organización. Estas tareas varían desde el simple procesamiento de datos, como preparar las facturas de los clientes, hasta proveer análisis complejos en los cuales se basa la administración de la organización. “Tecnologías de la Información” (TI). Podríamos definirlas como aquellas tecnologías que facilitan la construcción y el mantenimiento de los Sistemas de Información. Los ordenadores recogen, almacenan y procesan datos para producir información de acuerdo con las instrucciones proporcionadas por humanos en programas informáticos. Aunque los sistemas de información manuales son valiosos en pequeñas organizaciones, en grandes organizaciones lo típico es usar sistemas de información electrónicos, cuyos objetivos son: - Automatizar los procesos operativos (sistemas transaccionales o de procesamiento de las operaciones). - Proporcionar información que sirva de apoyo al proceso de toma de decisiones (sistemas de apoyo a las decisiones o sistemas de información administrativos). - Lograr ventajas competitivas a través de su uso (sistemas estratégicos). Cada uno de estos 1.5 - Elementos que componen un sistema de información Todos los sistemas de información implican tres actividades principales: reciben datos como entrada, procesan los datos por medio de cálculos, combinan elementos de los datos, actualizan cuentas, etc., y proporcionan información como salida. Por tanto, un sistema de información recibe y procesa datos y los transforma en información. Un sistema de procesamiento de datos podría llamarse “generador de información”. Un sistema de información es un subsistema de la empresa que permite el uso y las transferencias de información de unos subsistemas a otros. Se componen de datos, equipos físicos (hardware), sistemas lógicos (software), telecomunicaciones, recursos humanos y procedimientos. Un sistema de información no tiene por qué llevar incorporados necesariamente ordenadores y periféricos, sin embargo y debido a la gran introducción de estos elementos los sistemas de información se han convertido en sinónimos de sistemas de información basados en ordenadores, es decir, cuando en un sistema de información forman parte los ordenadores, se llamará Sistema de Información basado en ordenadores. Veamos la definición de cada elemento: - Datos de los documentos: la entrada que el sistema toma para producir información. - Hardware: son los ordenadores y el conjunto de periféricos utilizados. 14 - Software: conjunto de instrucciones que le indican a los ordenadores como procesar los datos de entrada. - Telecomunicaciones: elementos hardware/software que permiten la interoperación entre los sistemas de información. - Recursos Humanos: usuarios y profesionales de los sistemas de información que analizan las necesidades de información de las organizaciones, los diseñan, construyen, operan y mantienen. - Procedimientos: protocolos, normas y métodos para conseguir una máxima disponibilidad y eficiencia de estos sistemas cumpliendo los requerimientos de seguridad de la organización. Los procedimientos deben acomodarse al equipo o tecnología existente. 1.6 Arquitectura de ordenadores. Elementos básicos y funciones 1.6.1 - Arquitectura de ordenadores Lo primero que hemos de distinguir cuando hablamos de la composición y funcionamiento de un ordenador es la diferencia existente entre estructura y arquitectura: - Cuando hablamos de estructura de un ordenador: el estudio de los componentes que forman el equipo. - Arquitectura de ordenadores: apariencia funcional que el ordenador presenta a los usuarios de éste. El conjunto formado por hardware y software es lo que se conoce comúnmente como equipo informático u ordenador. Un sistema informático estaría formado por el equipo más el usuario que lo maneja. 1.6.2 - Elementos básicos Los elementos básicos que forman un equipo informático podemos dividirlos pensando en su arquitectura o punto de vista funcional: - La unidad central: - Placa base. - Procesador o microprocesador (CPU). - Memorias internas, como pueden ser de la memoria RAM o principal. - Tarjetas. - Buses. - Caja y fuente de alimentación. - Speaker o altavoz interno. - Led o emisores de luz. - Los periféricos: - Entrada. - Salida. - Entrada y salida. - Almacenamiento. - Otros. 15 1.6.3 - Parámetros característicos de un ordenador - Ancho de palabra: indica el número de bits que maneja en paralelo el computador. - Tamaño de la memoria principal: cantidad de información que es capaz de almacenar para la ejecución del programa; es importante ya que dicho programa reside en esta memoria mientras dure su ejecución, y si mandamos ejecutar más de un programa al mismo tiempo y no tenemos suficiente tamaño de memoria necesitamos recurrir a la memoria virtual. - Memoria secundaria y auxiliar: se refiere normalmente a la capacidad de almacenamiento en disco duro y soportes ópticos y magnéticos pudiendo ser internos o externos. - Tiempo de acceso al disco: es el tiempo transcurrido desde que se pide un dato al disco duro hasta que éste lo da. - MIPS: millones de instrucciones de máquina por segundo que es capaz de ejecutar la computadora. - MFLOPS: millones de operaciones en coma flotante por segundo que es capaz de ejecutar el ordenador. - Frecuencia de reloj: en el computador al ser un sistema síncrono, todas las operaciones se ejecutan al compás de un temporizador, que es el reloj maestro que envía señales para marcar las distintas frecuencias de operación. La Frecuencia mide el número de veces por segundo que se repite un ciclo. El número de ciclos por segundo se denomina número de Hercios (Hz). La inversa de la frecuencia es el Periodo (T), o número de segundos que dura un ciclo. F=1/T Hz. T=1/f seg. 1.6.4 - Arquitectura de ordenadores Harvard Tiene dos espacios de memoria separados, uno para datos y otro para instrucciones. La organización del computador según el modelo Harvard, básicamente, se distingue del modelo Von Neumann por la división de la memoria en una memoria de instrucciones y una memoria de datos, de manera que el procesador puede acceder separada y simultáneamente a las dos memorias. 1.6.5 - Arquitectura de Von Neumann Consta de una unidad central de proceso (CPU), que es la encargada de interpretar y procesar las instrucciones recibidas de un programa a través de la realización de operaciones 16 básicas aritméticas (Suma, resta, multiplicación y división) y lógicas (AND, OR y NOT) realizadas por la Unidad Aritmética Lógica. Para esto utiliza los registros del procesador. Uno de los registros es denominado Program Counter y es quien calcula automáticamente la cantidad de ciclos de ejecución y apunta a la próxima instrucción en ser ejecutada. Y por último se encuentra la unidad de control que es aquella que tiene como objetivo buscar instrucciones en la memoria principal y ejecutarlas luego de decodificarlas. La memoria sirve para almacenar datos e instrucciones y mecanismos de entrada y salida. No pueden darse a la vez una búsqueda de instrucciones y una operación de datos ya que comparten el mismo bus. La unidad de control indica qué operación ejecutar en cada momento. - Unidad de Control: Encargada de las etapas de captación y decodificación del ciclo de instrucción. - Unidad lógico-aritmética o ALU: Encargada de realizar las operaciones matemáticas y de lógica que requieren los programas. - Memoria: La memoria en la que se almacena el programa, la cual la conocemos como memoria RAM - Dispositivo de entrada: Desde el que nos comunicamos con el ordenador. - Dispositivo de Salida: Desde el que el ordenador se comunica con nosotros. 1.7 - Funciones El componente que sirve de enlace físico entre todos los elementos que forman la vía central es la placa base o placa madre. Como su propio nombre indica la placa base sirve de base, tanto física como electrónica, al resto de los componentes. El microprocesador, también llamado unidad central de proceso o CPU se puede decir que es el cerebro del ordenador. Es el encargado de ejecutar todas las instrucciones que 17 componen los programas, así como de gestionar el resto de unidades del equipo de cara a dicha ejecución. Controlará y coordinará todas las operaciones del sistema. Se encarga por tanto de realizar todas las operaciones de cálculo y de controlar lo que pasa en el ordenador recibiendo información y dando órdenes para que los demás componentes trabajen. La función de la memoria principal es almacenar datos e instrucciones de programa de forma temporal. Por ella transitan los datos en todas las operaciones de entrada y salida y en los resultados parciales o finales del proceso. La metodología de trabajo entre la CPU y la memoria es siempre la misma, de información (datos o instrucciones) del programa que se está ejecutando y que está almacenado en la memoria principal, análisis y emisión de una serie de órdenes para llevar a cabo la finalidad de éstas. La función que realizan las tarjetas depende toda cual hayan sido creadas; hay tarjetas de vídeo, sonido, red, capturadoras,... las de vídeo por ejemplo envían la señal gráfica al monitor. Los buses son el medio por el cual podemos acceder a los datos y presentar los resultados. Son conexiones o conjuntos de circuitos mediante los cuales circula la información. Se pueden definir como un conjunto de líneas conductoras de hardware utilizadas para transmisión de datos entre los componentes del equipo informático. Se trata en esencia de una ruta compartida que conecta diferentes partes del sistema, como el microprocesador, la controladora de unidades de disco, la memoria y los puertos de entrada y salida para permitir la transmisión de información. La unidad central se encuentra alojada en una caja que realiza el soporte de los componentes. Estas cajas de día han ido cambiando de apariencia llegando a ellas incluso el fenómeno del tuning. Como hemos mencionado anteriormente un sistema informático está compuesto por el equipo más el usuario que maneja, y la forma de comunicarse entre ambos es a través de los periféricos. Cuando el usuario introduce datos en el equipo es a través de los periféricos de entrada; al mismo tiempo cuando el equipo saca datos al usuario es a través de los periféricos de salida, existiendo al mismo tiempo periféricos que permiten introducir o sacar datos del equipo, hacia o desde el usuario conocidos como periféricos de entrada y salida. 18 2 - Periféricos: conectividad y administración. Elementos de impresión. Elementos de almacenamiento. Elementos de visualización y digitalización. 2.1 Periféricos; definición y clasificación Un periférico es un dispositivo hardware de un ordenador que sirve de comunicación entre el ente humano y el equipo informático. Son los dispositivos encargados de la transferencia de información entre el ordenador y el medio exterior. Dichos periféricos necesitan de unos elementos controladores que informen en cada momento al procesador de su estado, para que éste pueda utilizarlos o espere a que estén disponibles. Los podemos clasificar: - Según su función: - Entrada: recogen información para entregársela al procesador. Ej: teclado. - Salida: extraen la información del ordenador y la hacen accesible al usuario. Ej: impresora. - Entrada/salida: las dos funciones anteriores. - Almacenamiento: graban y/o leen información de un soporte. Ej: lector de CD. - Según acceso: - Secuencial: leen el contenido anterior a un dato antes de localizar el mismo. Ej: cinta magnética. - Directo: acceden a un dato sin tener que leer todos los anteriores. - Según ubicación: - Locales: próximos a CPU. - Remotos: lejos de CPU, en otro edificio. Tipos de USB: - USB 1.0: Desde 1.5 Mbit/s hasta 12 Mbit/s. - USB 2.0: Hasta 480 Mbit/s (35 MB/s). - USB 3.0: SuperSpeed USB (SS). Hasta 5 Gbit/s (625 MB/s), unas 10 veces más rápido que USB 2.0. El conector es de color azul. - USB 3.1: Hasta 10 Gbit/s (1250 MB/s). Dos veces más rápido que USB 3.0. - USB 3.2: Hasta 20 Gbit/s (2.5 GB/s) - USB 4.0: Hasta 40 Gbit/s (5 GB/s) - USB 4.0 v2: 80 Gbps de base, opcional hasta 120 Gbps 19 USB-PD: USB Power Delivery es un protocolo de carga que permite que los cables y conectores USB- C entreguen mayores niveles de potencia a sus dispositivos. Proporciona carga más rápida, más potencia para dispositivos más grandes, menos tiempo de carga y carga simultánea entre dispositivos. En la última revisión USB 3.1 va a 240W Otros puertos: - eSATA: External SATA. Desarrollada para poder ser utilizada en unidades de almacenamiento externo. - Firewire: Diseñado por Apple. Permite conectar en tiempo real diferentes tipos de dispositivos digitales, desde ordenadores hasta discos duros o cámaras digitales Firewire 400 (400 Mbit/s), Firewire 800 (800 Mbit/s), Firewire s1600 (1600 Mbit/s), Firewire s3200 (3200 Mbit/s). El estándar es IEEE 1394. - HDMI: High-Definition Multimedia Interface, interfaz de audio y vídeo. Permite audio digital multicanal y vídeo digital de alta definición. Sustituto del euroconector. - DisplayPort: interfaz digital de vídeo, audio y datos. - DVI: interfaz de vídeo (no audio). DVI-D (solo digital), DVI-A (solo analógica), DVI-I (digital y analógica). - Jack: sonido, tanto entrada (micrófono) como salida (altavoces o auriculares). - SCSI: generalmente para discos duros y cintas. Acrónimo de Small Computer System Interface. - PS/2: conector de 6 pines para teclado y ratón. Electrónicamente son similares, pero pueden no ser intercambiables por usar distintos comandos (violeta teclado, verde ratón). - Puerto paralelo: envía varios bits de datos cada vez, por ello cuentan con varias líneas de datos. Se estandarizó como IEEE 1284 y fue el habitual para impresoras hasta que llegó el USB. - Puerto serie: permiten transmitir un bit cada vez solamente, a diferencia del puerto paralelo. - Thunderbolt: creado por Intel y Apple. Thunderbolt 1 hasta 10 Gbit/s, Thunderbolt 2 hasta 20 Gbits/s, Thunderbolt 3 hasta 40 Gbit/s. - VGA: Video Graphics Array, interfaz de vídeo. - PCIe: Peripheral Component Interconnect Express, utilizado para añadir tarjetas de expansión a la placa base (como una gráfica). Pueden ser de 1, 4, 8 y 16 carriles. 20 2.1. Conectividad y Administración 2.1.2 Conectividad El intermediario entre el periférico y la CPU es el controlador de entrada/salida. Este tiene una serie de registros a los cuales tiene acceso la cpu y en los que se obtiene la información del periférico. Estos registros son entre otros: - Registro de control: se establecen las órdenes para el controlador. - Registro de estado: se almacena la disponibilidad u ocupación del periférico en cada momento. - Registro de entrada de datos: se almacena la información que proviene del periférico (típico de los periféricos de entrada). - Registro de salida de datos: se almacena la información que va destinada al periférico (típico de periféricos de salida). - Registro de instrucción: contiene la última instrucción leída y que se está ejecutando Para acceder a estos registros se realizan operaciones de E/S, que se dividen en: - Sincronización: CPU debe esperar a que el dispositivo esté listo. - Transferencia: se envía el dato desde la memoria al dispositivo (salida) o desde el dispositivo a la memoria (entrada). Estas funciones se pueden hacer mediante hardware, donde los elementos hardware se encargan de realizar las operaciones, o por software, donde la CPU ejecuta un programa cuyas instrucciones acceden a los registros del controlador para realizar la operación y nos podemos encontrar con tres tipos de funciones: - Polling o entrada/salida por sondeo - Entrada/salida por interrupciones - Entrada/salida por acceso directo a memoria (dma) La interconexión entre la unidad de control y los periféricos se realiza a través de la controladora, la cual actualmente va incluida en la placa base. - Controladoras de discos duros - Controladoras de puertos - Puertos serie - Puertos paralelos - Puertos USB. Universal Serial Bus. Bus de Serie Universal - Puerto FIREWIRE - Puerto Bluetooth 2.1.3. Administración (sacado de los apuntes del comprimido de Telegram “TAIN - B02T02 - PERIFERICOS.pdf”) Actualizar o instalar el firmware de un dispositivo puede ser complejo. Por ello, los fabricantes facilitan programas de alto nivel, para instalarlos sin conocimientos avanzados. Al programa de alto nivel que instala el firmware se le denomina DRIVER. También los SO suelen incluir funcionalidades de instalación y actualización automática de drivers, así los aspectos más duros, son transparentes al usuario. 21 La memoria ROM, se usa para almacenar el firmware de la PB para su arranque. Allí reside el programa que inicia los elementos del ordenador y llama al SO: la BIOS. Desde el punto de vista del usuario, en entornos WS, en el “Administrador de dispositivos”, se permite esta gestión, ofreciendo una vista del hardware instalado, el firmware de los componentes y periféricos y la posibilidad de modificar su configuración. En entornos Linux los dispositivos, como los terminales virtuales se tratan como archivos. Los dispositivos se enlazan a un archivo; un dispositivo físico se representa con un archivo, en general en el directorio /dev. Es la misma idea de relación entre puerto físico y lógico. Los dispositivos en entornos Linux se identifican con 2 o 3 letras. Si el dispositivo admite particiones lógicas, como los discos duros, se usa otra letra y un número secuencial, para identificarlas. Si no admite particiones, se usa, en general, un identificador y número secuencial. Para gestionar dispositivos, a cada uno se asocia un controlador, un firmware que gestiona la comunicación entre CPU y dispositivo y soluciona la sincronización con el procesador y la transferencia de datos. La transferencia de datos implica sincronismo de la E/S con la CPU. Para ello, se puede usar: - la técnica de sondeo o polling (la CPU consulta periódicamente el estado de cada dispositivo hasta que esté preparado); - la de interrupciones (el dispositivo envía una señal para indicar que está dispuesto, la CPU interrumpe su proceso y atiende la interrupción, con una rutina de servicio); - el Acceso Directo a Memoria o DMA (el periférico se comunica directamente con la memoria principal, sólo interrumpe al final de la transferencia de un bloque). 2.2 Elementos de impresión La impresora es un periférico de salida. Dibuja información en papel. Se suele clasificar con el criterio de impacto. Las actuales no tienen impacto y distinguen 3 tipos: térmicas, inyección (o tinta) y láser. Las impresoras de impacto están obsoletas. Se distinguen entre las matriciales y las de margarita. Las matriciales usan una matriz (de ahí el nombre) con puntos que al impactar en el papel, dibujan. Las de margarita imprimen golpeando un molde sobre una cinta de tinta, al estilo de la máquina de escribir. Impresoras sin impacto: - Las impresoras sin impacto térmicas disponen alfileres que calientan papel termosensible, que se vuelve oscuro en la zona de contacto, dejando así huella. Es la típica impresión de tickets. - Las impresoras de inyección disponen de tinta que se proyecta en el papel. El método de proyección puede ser térmico, calentando la tinta o piezoeléctrico, que mediante impulsos eléctricos cambian la presión sobre la tinta, que es inyectada. - Las impresoras láser usan un láser que dibuja la imagen en un tambor que gira hasta impregnarse de un polvo llamado tóner que se adhiere por la carga eléctrica. 22 El tambor gira y se encuentra con la hoja, en la que imprime el tóner que forma la imagen. Presentan mayor resolución. Impresión con sublimación de tinta: utilizan el calor para la transferencia de la tinta al soporte de la impresión. Las características comunes de las impresoras son: - Velocidad: Suele medirse con 2 parámetros: ppm (páginas por minuto) y cps (caracteres por segundo). - Resolución: Calidad de imagen, medida en ppp (puntos por pulgada cuadrada). Una resolución "HxV ppp" indica que cada línea horizontal de una pulgada cuenta H puntos y en vertical V. Si sólo aparece una cifra las resoluciones horizontal y vertical coinciden. 2.3 Imágenes y compresión El modelo de color HSB (Hue, Saturation, Brightness) se basa en la percepción humana del color y describe tres características fundamentales del color: Matiz, Saturación, Brillo. CRYK: Resolución de imagen: Para las imágenes digitales almacenadas como mapa de bits: nº de columnas de píxeles x nº de filas de píxeles. La profundidad de color o bits por píxel (bpp) es un concepto de la computación gráfica que se refiere a la cantidad de bits de información necesarios para representar el color de un píxel. Una profundidad de bits de n implica que cada píxel de la imagen puede tener 2n posibles valores y por lo tanto, representar 2n colores distintos. Formatos de imágenes: JPG: compresión con pérdida aplicando la transformación discreta de coseno. Joint Photographic Experts Group. Características: - Formato gráfico de mapa bits. - Soporte de color verdadero, también conocido por su homónimo inglés true color (24 Bits). - Algoritmo de compresión (con pérdida) que soporta altas tasas de empaquetado (1/20 y más). - El soporte de color verdadero (24 bits) de JPEG nos ofrece la posibilidad de ofrecer imágenes con una profundidad de 16.777.216 colores. Un mapa de bits con esta profundidad de color alcanza tamaños de memoria descomunales, pero esto se suple con el algoritmo de 23 compresión que ofrece el formato. Ofrece flexibilidad para grado comprensión de la imagen. GIF: imágenes de mapas de bits, hasta 256 colores, con compresión sin pérdida (LZW), admite animaciones. Graphics Interchange Format. PNG: compresión sin pérdida para bitmaps, resuelve limitaciones de GIF. Portable Network Graphics. Características: - Permite almacenar imágenes en blanco y negro (una profundidad de color de 16 bits por píxel) y en color real (una profundidad de color de 48 bits por píxel), así como también imágenes indexadas, utilizando una paleta de 256 colores. - Soporta la transparencia de canal alfa, es decir, la posibilidad de definir 256 niveles de transparencia. - Posee una función de entrelazado que permite mostrar la imagen de forma gradual. - Compresión sin pérdida - Almacena información gama de la imagen, que posibilita una corrección de gama y permite que sea independiente del dispositivo de visualización. Los mecanismos de corrección de errores también están almacenados en el archivo para garantizar la integridad. TIFF: usado para escanear, faxes, OCR y publicaciones. Tagged Image File Format. Características: - Utilizado en imágenes de muy alta resolución y mucha calidad - Permite almacenar imágenes de mapas de bits (raster) muy grandes (más de 4 GB comprimidos) sin pérdida de calidad y sin considerar las plataformas o periféricos utilizados. - Permite almacenar imágenes en blanco y negro, en colores verdaderos (hasta 32 bits por píxel) y también indexar imágenes utilizando una paleta. - Permite que se utilicen varios espacios de color: RGB (rojo, verde, azul), CMYK (cian, magenta, amarillo, negro), CIE L*a*b, YUV/YcrCb. - El principio del formato TIFF consiste en definir etiquetas que describen las características de la imagen. BMP: Es un formato propio del S.Operativo Windows, de imagen de mapa de bits. Características: - Permite obtener un mapa de bits independiente del dispositivo de visualización periférico empleado. - Permite ser comprimido sin perder calidad, utilizando la compresión RLE(Run Length Encoding), aunque no suelen comprimirse. - Los archivos en este formato no son muy apropiados para su transferencia a través de Internet (en páginas web, por ejemplo). debido a su elevado peso. - Define los valores de cada pixel, uno a uno, de abajo a arriba y barriendo las líneas de izquierda a derecha. - Las imágenes pueden ser de 1, 4, 8 y 24 bits 24 Formatos de gráficos vectoriales: SVG: gráficos vectoriales bidimensionales, estáticos o animados, en formato XML. Scalable Vector Graphics. Características: - Trabaja en XML describiendo imágenes tanto estáticas como animadas. Por tanto se almacena en ficheros de texto plano - totalmente escalable sin ningún tipo de pérdida de calidad - SVG es un estándar abierto WMF: admite gráficos vectoriales y bitmaps. Windows MetaFile, de Microsoft. SWF: animaciones, gráficos vectoriales y ActionScript. Small Web Format, de Macromedia Flash. Métodos de compresión de imágenes con pérdidas: Codificación predictiva con pérdidas. Codificación de la transformación: TDC. Chroma subsampling. Compresión fractal. Métodos de compresión de imágenes sin pérdidas: Codificación de longitud variable (Codificación Huffman y otros). Codificación en planos de bits: descomposición y RLE. Fundamentos de LZW y CCYTT. Codificación predictiva sin pérdidas. 2.3 Elementos de almacenamiento Guardan información de forma permanente, aún sin alimentación. La evolución de tecnologías desde la magnética a la óptica y de estado sólido ha ido ofreciendo mejores prestaciones, resumidas en mayor capacidad, velocidad y menor coste. 2.3.1. Elementos magnéticos. Tecnología. Se basan en la polarización de partículas ferromagnéticas. Un sentido de polarización representa un 1 y el otro un 0 lógico. Para la R/W precisan una cabeza lectora, que con un electroimán capta o induce un campo magnético. La velocidad de rotación típica es 7200 rpm. Los datos, a nivel macroscópico poseen tres coordenadas, pista, sector y cilindro, lo que ofrece acceso aleatorio y mayor velocidad que dispositivos secuenciales. Características son: - Tiempo de E/S. El empleado en leer o escribir un dato. Se compone de 2 tiempos: - Tiempo de posicionamiento. El que tarda un cabezal en desplazarse hasta la pista a acceder. - Tiempo de latencia. El empleado en girar y dejar el sector al que se accede bajo el cabezal. 25 Si los datos a leer no están almacenados en una zona continua del disco, se habla de fragmentación. Una fragmentación excesiva puede mermar el rendimiento, al requerir numerosos movimientos de la cabeza. Para almacenar en disco la información ha de organizarse. Esa organización es el formateo: Formateo físico (bajo nivel). Establece sectores y pistas. Puede formatearse a bajo nivel con algunos programas. Cada sector contiene su dirección en cilindro, cabeza y sector (CHS) y un campo de 512 B para datos. El formateo lógico (alto nivel) establece la estructura de disco para el SO. Se apoya en una tabla de particiones que almacena los sectores de cada partición. Una partición se comporta de forma lógica como un disco independiente. Existe un sector de arranque en el primer sector de cada disco y sectores de uso del SO dedicados a describir la organización de ficheros. 2.3.2. Cinta magnética Fue el primer dispositivo magnético. Es una cinta plástica cubierta de material ferromagnético. Los datos se registran como combinación de puntos sobre pistas paralelas a su eje longitudinal. El acceso secuencial es su característica. Aunque cada vez menos, todavía se usan para copias de seguridad. 2.3.3. Disco duro Es un conjunto de discos magnéticos montados sobre un eje. Para las operaciones de R/W se cuenta con un cabezal para cada cara de los platos y un motor para hacerlos girar y posicionarlo. La estructura física de un disco duro está organizada en caras, las superficies de los platos que se montan en su eje; pistas, los anillos concéntricos de grabación de cada cara; cilindros, el conjunto de pistas con la misma posición en todos los discos; sectores o divisiones angulares del disco con capacidad de 512 B y los cluster o conjunto de 2n sectores consecutivos. A nivel lógico se puede dividir en particiones o divisiones lógicas. Como mínimo han de tener una partición primaria, donde se instala el SO, y máximo 4. Para más de 4 particiones hay que crear una partición extendida, otro tipo de partición lógica de las que sólo puede haber una. Una partición extendida permite particionarla en tantas particiones como se desee. Las particiones deben tener un formato lógico para organizar los datos. Especificar ese formato es el formateo. Tipos de formato son FAT, NTFS (en sistemas WS) o ext3, ext4, NFS, más extendidos en entorno Linux. Por compatibilidad, los HD externos suelen formatearse en FAT. La conexión del disco duro externo al PC se puede realizar mediante USB, una bahía con conector IDE o SCSI, u otros. 26 Cilindro: Es el conjunto de pistas concéntricas de cada cara de cada plato, los cuales están situadas unas encima de las otras. Pistas: La superficie de un disco esta dividida en unos elementos llamadas pistas concéntricas, donde se almacena la información. Las pistas son todos los bloquecitos juntos. Pista es una circunferencia dentro de una cara. Sector: Las pistas están divididas en sectores, el número de sectores es variable. Un sector es la unidad básica de almacenamiento de datos sobre los discos duros. Los discos duros almacenan los datos en pedazos gruesos llamados sectores, la mayoría de los discos duros usan sectores de 512 bytes cada uno. Comúnmente es la controladora del disco duro quien determina el tamaño de un sector en el momento en que el disco es formateado, en cambio en algunos modelos de disco duro se permite especificar el tamaño de un sector. Cluster: conjunto continuo de sectores. El tiempo medio de acceso es lo que tarda la aguja en situarse en la pista y sector deseado, siendo la suma del tiempo medio de búsqueda (situarse en pista), tiempo de lectura/escritura y la latencia media (situarse en sector). 2.3.4. Disco flexible Disquete. 2.3.5. CD-ROM El CD (Compact Disk) comenzó usándose para música, pero su naturaleza digital, amplió su aplicación. El CD-ROM es un dispositivo de sólo lectura. Existen CD regrabables (CD-R y CD-RW). Ofrece alta capacidad en poco espacio a bajo coste. Su fiabilidad es característica. No le afectan los campos magnéticos, calor, humedad y puede aguantar golpes. Precisan cierto cuidado frente a polvo e imperfecciones superficiales. La capacidad típica es 650MB. 27 Los CD grabables son de 2 tipos: CD-R (Recordable, grabable una única vez) y CD-RW (ReWritable). Son idóneos para datos poco actualizados, copias de seguridad, etc. En la grabación el flujo de datos a la grabadora debe ser constante: es necesaria una memoria intermedia, el buffer memory. La velocidad de grabación y lectura se mide en relación al estándar audio (1x=150 KBps). 2.3.6. DVD y Blu-Ray El DVD es un CD con mayor capacidad. Incrementa la densidad de pistas, reduciendo el tamaño del pit, necesitando un láser de menor longitud de onda. Por eso, un lector DVD puede leer CD, pero no al contrario. La capacidad típica del DVD es 4,7 GB por capa. Los DVD de doble capa doblan la capacidad y enfocan el láser a una u otra capa. Blu-Ray es un formato de disco óptico de capacidad 25 GB en una capa y 50 GB en doble. Usa luz azul de menor longitud de onda que el DVD. Es más resistente a ralladuras, evitando errores de lectura. 2.3.7 Elementos de estado sólido: SSD. La mayoría de dispositivos SSD (Solid State Drive) se basa en tecnología NAND, más compacta, robusta y silenciosa. Al minimizar el tiempo de acceso (no hay partes móviles), la velocidad es mayor que la de dispositivos magnéticos y ópticos. Alcanzan velocidades de 300 MBps de R/W simétricos. Componentes de un SSD son la controladora, caché y condensador. La controladora gestiona las células y conectores de E/S, el fw del dispositivo. La caché es una memoria ágil intermedia. El condensador mantiene la integridad de los datos de caché, ante incidencias como cortes de alimentación. En general, se combinan puertas NAND en paralelo (técnicas de pipeline) lo que incrementa el ancho de banda y reduce la latencia. Los dispositivos de almacenamiento externo basados en SSD usan memorias tipo flash de silicio. Se componen de memorias EEPROM (Electrically Erasable Programmable Read- Only Memory) organizadas en matrices de transistores. Se distinguen las de celdas tipo NOR y las de celdas NAND. Éstas no permiten acceso aleatorio, son más baratas y el mecanismo de borrado es más sencillo, por lo que son las que implementan la mayoría de memorias USB y tarjetas flash. Sus aplicaciones típicas son dispositivos USB, reproductores MP3, móviles, etc. Son candidatos a sustituir a discos duros. Un HD posee tasas de R/W típicas de 100MBps y tiempo de acceso de 12 ms. Un SSD ronda los 500MBps y 0,08 ms. Con esto, también baja el consumo, la temperatura y se eliminan vibraciones. 28 NVMe: Especificación para el acceso a las unidades SSD conectadas a través del bus PCI Express (PCIe) Tipos de interfaces: - Parallel ATA (PATA): Diseñado por Western Digital en 1986, como interfaz para conectar discos duros, llamado al principio Intergrated Drive Electronics (IDE). Su extensión ATAPI permite lectores de CD. - Serial ATA (SATA): Reemplaza a PATA. Sirve para discos duros, lectoras de CD y discos de estado sólido SSD. - SATA 1.0: 1.5 Gbit/s (150 MB/s) SATA-150. - SATA 2.0: 3 Gbit/s (300 MB/s) SATA-300. - SATA 3.0: 6 Gbit/s (600 MB/s) SATA-600. Tipos de RAID: Paridad: capacidad para recuperar la información al vuelo en el caso de un error de disco usando una forma de redundancia. La paridad es la suma de todos los dispositivos utilizados en una matriz. Recuperarse del fallo de dispositivo es posible leyendo los datos buenos que quedan y comparándolos con el dato de paridad almacenado en el conjunto. Para entender la paridad podemos asemejar a una ecuación algebraica sencilla en la que la paridad es el cálculo de la suma de todos los datos (en la práctica será un checksum de datos). Si se produce un error en un disco ese dato pasa a ser una incógnita que se puede calcular despejándola de la ecuación. - RAID 0: Los datos se distribuyen en bloques entre dos o más discos, sin información de paridad, sin redundancia o tolerancia a fallos. El fallo de uno de los discos provoca la pérdida de todos los datos. La utilidad del RAID 0 es que aumenta el rendimiento (velocidad de lectura y escritura) y puede crear un volumen lógico mayor al combinar varios discos. Requiere que todos los discos tengan la misma capacidad o se desperdicia espacio de los discos más grandes. Por ejemplo, un disco de 15 GB y uno de 50 GB puestos en RAID 0, los dos actuarán como si tuvieran 15 GB, sumando un total de 30 GB. 29 - RAID 1: Consiste en la copia exacta (mirror, espejo) de los datos en dos o más discos (normalmente dos). La velocidad de lectura puede ser mejor, ya que los datos están en varios discos, pero la de escritura es igual a la de un solo disco porque se escribe todo en todos los discos. - RAID 2: Reparte los datos a nivel de bits en vez de bloques. No tiene redundancia pero sí "paridad" con Hamming code. Se utiliza muy poco. - RAID 3: Reparte los datos a nivel de bytes, con un disco con información de paridad. Se utiliza muy poco. - RAID 4: Reparte los datos a nivel de bloque, con un disco dedicado a paridad. El rendimiento de lectura es alto, pero la escritura es baja al ir toda la información de paridad en el mismo disco. - RAID 5: Datos repartidos a nivel de bloque, con paridad distribuida entre varios discos. Si falla un disco, la información puede reconstruirse con la paridad. Requiere al menos tres discos. Permite acceso independiente con paridad distribuida. - RAID 6: Como el RAID 5 pero con dos bloques de paridad en distintos discos. 2.4. Elementos de visualización y digitalización 2.4.1. Monitor Permite visualizar la información contenida en el ordenador. Parámetros a tener en cuenta: - Tamaño - Resolución - Frecuencia de barrido - Plug & Play - Ajuste de la imagen - Características multimedia (Monitores CRT y pantallas LCD). 2.4.2. Escáner El escáner es un periférico de entrada para digitalizar imágenes. Son habituales periféricos multifunción que integren funciones de impresora y escáner. Su funcionamiento consiste en la captación de una imagen iluminada con un foco. Su reflejo se conduce con 30 espejos al CCD que transforma la luz en señales eléctricas que se transforman en bits en un DAC (conversor analógico-digital) y se transmiten al ordenador. Su clasificación suele distinguir 3 tipos: - Mano: A su vez distinguen escáneres de documentos y 3D. Se caracterizan por tener que arrastrar el escáner por la superficie a digitalizar. Suelen requerir un arrastre a velocidad uniforme. - Cama plana: Disponen una superficie plana donde se coloca la imagen a escanear. Suelen tener mejor calidad que los de mano. - Tambor: O escáner rotativo. Ofrecen una gran resolución, gran tamaño y escáner por modelos de color, por lo que suelen ser típicos en estudios de diseño gráfico o artístico. Como características, la resolución de un escáner se define como el número de puntos de una imagen que es capaz de captar. Se indica también en ppp. Una resolución de FxC ppp capta 300 puntos por fila de una pulgada y C puntos por columna (en vertical). La resolución óptica la define el CCD (Charge Coupled Device). Es un elemento electrónico que reacciona ante la luz, transmitiendo más o menos electricidad en función de la intensidad y color de la luz que recibe. 2.4.3. OCR (Optical character recognition) Permite introducir la imagen de un texto a través del escáner y transformarlo en un fichero manejable y editable por un procesador de textos, ahorrando de esta forma la tediosa tarea de copiarlo. 2.4.4. Tarjeta de vídeo Estas tarjetas están encargadas de realizar el ajuste y cálculo de señales entre el equipo y el monitor. Actualmente poseen sus propias CPU orientadas a gráficos (GPU). Tipos de procesadores gráficos. Determina que la potencia de la tarjeta de vídeo será más eficiente cuanto más libere al micro del tratamiento de vídeo: - Controladores de imagen. Frame Buffer. Es el micro el encargado de realizar los cálculos oportunos. Su función es únicamente la de recoger de memoria la imagen. - Aceleradoras. Consigue aliviar al micro del trabajo gracias a la implementación de diferentes rutinas de vídeo en el propio chip. - Coprocesadores. Tarjetas adicionales a las de vídeo. Realizan las tareas según hayan sido programadas ya que son programables almacenando las instrucciones en memorias EPROM y las imágenes en VRAM. Memoria de Vídeo: - DRAM. 400 Mb/s con un tiempo de acceso entre 50-70 ns. - VRAM. 400 Mb/s con un tiempo de acceso entre 50-60 ns. - WRAM. 960 Mb/s con un tiempo de acceso entre 50-60 ns. 31 - SGRAM. 800 Mb/s con un tiempo de acceso entre 10-15 ns. El puerto PCI: Peripheral Component Interconnect (“Interconexión de Componentes Periféricos”) consiste en un bus de ordenador estándar para conectar dispositivos periféricos directamente a su placa base. El problema de conectar la tarjeta de vídeo a estos puertos es que le estamos dando la misma prioridad que al resto de dispositivos situados en otros puertos PCI. El puerto PCI Express incluye características como gestión de energía, conexión y desconexión en caliente de dispositivos, capacidad de manejar transferencias de datos punto a punto, dirigidas todas desde un host. PCI Express puede emular un entorno de red, enviando datos entre dos dispositivos compatibles sin necesidad de que éstos pasen primero a través del chip host. PCI Express es un sistema de interconexión serie punto a punto, capaz de ofrecer transferencias con un altísimo ancho de banda, desde 250MB/seg para la implementación 1X, hasta 4GB/seg para el PCI Express 16X que se empleará con las tarjetas gráficas. Actualmente se utiliza PCI Express 6.0. 256 GB/s El DVI es un interfaz de vídeo de alta definición (puede ser analógico o digital) mientras que el HDMI es de vídeo y audio digital. 2.4.5 Micrófono y auriculares El micrófono es un periférico de entrada que permite registrar sonido. Los ordenadores suelen integrarlo. Altavoces y auriculares son periféricos de salida que reproducen sonidos. Realizan la función inversa al micrófono: a partir de un código sonoro, se efectúa una presión sobre transductores que generan el sonido. Las características de los micrófonos pueden resumirse en su rango dinámico (banda de frecuencias en que responde) y la respuesta en frecuencia, que es la intensidad de señal eléctrica producida para una determinada presión sonora, a distintas frecuencias. El funcionamiento del micrófono usa un transductor electroacústico. Como el caso de una membrana que recoge la presión acústica sobre una resistencia carbónica. La resistencia cambia su valor en función de la presión, modulando la corriente a su través, que podrá ser muestreada. Las características de los altavoces pueden resumirse citando su respuesta en frecuencia, potencia, direccionalidad y sensibilidad. La respuesta en frecuencia es el comportamiento que presenta el altavoz en un rango de frecuencias determinado, lo ideal es que sea el mismo en todo el rango. La potencia, se refiere a la potencia eléctrica, no acústica máxima que es capaz de aceptar el altavoz sin saturar. La direccionalidad refleja las direcciones del espacio que se ven favorecidas en la emisión del sonido y la sensibilidad representa una medida de la eficiencia entre la señal eléctrica aceptada y la presión sonora generada (expresada en dB/W). 32 33 3 - Tipos abstractos y Estructuras de datos. Organizaciones de ficheros. Algoritmos. Formatos de información y ficheros. 3.1 Estructuras de datos Estructuras de datos: sistemas o métodos de organización de datos que permiten un almacenamiento eficiente de la información en la memoria principal. Tipos de datos: - Estáticos: tamaño de memoria fijo definido en tiempo de compilación. - Dinámicos: tamaño de memoria definido en tiempo de ejecución 3.1.1 Array Secuencia contigua de un número fijo de elementos (estáticos) homogéneos (del mismo tipo). Estos elementos se almacenan en memoria en posiciones contiguas. El acceso se realiza por índices. - Arrays de una dimensión: vectores. - Arrays de dos dimensiones: matrices. - Arrays de más dimensiones: poliedros. 3.1.2 Punteros Variable que almacena la dirección de memoria de otra variable, es decir, almacena el valor del lugar físico en la memoria en donde se encuentra almacenada dicha variable. 34 Referencia: variable que almacena la dirección de memoria en donde se ubica un objeto. Una referencia sólo puede apuntar a objetos residentes en memoria. * valor de & dirección de 3.1.3 Listas Estructura de datos secuencial. Clasificación: - Lista densa: estructura de la lista determina cuál es el siguiente elemento de la lista. Ej. Array. - Lista enlazada: dinámicas. La posición del siguiente elemento la determina el elemento actual. Se trata de una serie de nodos conectados entre sí a través de una referencia. En una lista enlazada, cada elemento apunta al siguiente excepto el último que no tiene sucesor y el valor del enlace es null. Por ello los elementos son registros que contienen el dato a almacenar y un enlace al siguiente elemento. Los elementos de una lista, suelen recibir también el nombre de nodos de la lista. - Listas enlazadas simples: Cada elemento solo contiene una referencia al nodo siguiente y solo puede recorrerse en un solo sentido. - Listas enlazadas dobles: dos referencias por nodo, uno al siguiente y otro al anterior, lo que permite recorrer la lista en ambos sentidos. - Listas ordenadas: posición de cada elemento depende de su contenido. - Listas reorganizables: cada vez que se accede a un elemento, éste se coloca al comienzo de la lista. - Listas circulares: el último elemento tiene un enlace al primero. 3.1.4 Pilas Lista de elementos en la cual solo se puede extraer el último elemento insertado. Cuenta con dos operaciones principales (push y pop). Push añade un elemento a la cima de la pila, mientras que pop elimina el elemento situado en la cima de la pila. Este orden se conoce como LIFO (Last In, First Out; Último en entrar, Primero en salir). En el ejemplo imaginemos que puntero1 es un puntero al primer elemento que se va a apilar a la lista y puntero2 al que se va a desapilar. 3.1.5 Colas La operación push se realiza por un extremo de la cola, y la operación pop por el extremo opuesto. Este orden se conoce como FIFO (First In, First Out; Primero en entrar, Primero en salir). En el ejemplo imaginemos que puntero1 es un puntero al primer elemento que se va a apilar a la lista y puntero2 al que se va a desapilar. 35 La cola circular: es aquella que representa la estructura de datos como un círculo y no como una línea recta. Esta representación soluciona el problema de espacio desaprovechado que se presenta en una cola estática considerada como línea recta. La bicola o cola doble: es aquella en la que las inserciones y las eliminaciones se pueden realizar por cualquiera de sus dos extremos. Existen dos tipos de bicolas: - Bicola de entrada restringida: es aquella que acepta intersecciones solo al final de la cola y acepta eliminaciones tanto por el frente como en el fin. - Bicola de salida restringida: es aquella acepta eliminaciones solo por el frente e inserciones tanto por el final como por el frente. Cola de prioridades: es aquella en la que el orden de sus elementos determina el resultado de sus operaciones básicas hay dos tipos de colas de prioridades: - Cola de prioridad ascendente: es aquella en que los elementos se pueden insertar de manera arbitraria haciendo que estos lleven un orden ascendente por lo que eliminación (por el frente), es del elemento menor. - Cola de prioridad descendente: es aquella en la que los elementos se insertan de manera arbitraria siempre y cuando el orden de estos quede descendente por lo que la eliminación será del elemento mayor. 3.1.6 Árboles Estructura no secuencial. Un árbol es un grafo acíclico, conexo y no dirigido. Es decir, es un grafo no dirigido en el que existe exactamente un camino entre todo par de nodos. - Raíz: elemento que no tiene antecesor. - Rama: arista entre dos nodos. - Antecesor: un nodo X es antecesor de un nodo Y si por alguna de las ramas de X se puede llegar a Y. - Sucesor: un nodo X es sucesor de un nodo Y si por alguna de las ramas de Y se puede llegar a X. - Grado de un nodo: el número de descendientes directos que tiene. Ejemplo: c tiene grado 2, d tiene grado 0, a tiene grado 2. - Hoja: nodo que no tiene descendientes: grado 0. Ejemplo: d. - Nodo interno: aquel que tiene al menos un descendiente. 36 - Nivel: número de ramas que hay que recorrer para llegar de la raíz a un nodo. Ejemplo: el nivel del nodo a es 1 (es un convenio), el nivel del nodo e es 3. - Altura: el nivel más alto del árbol. En el ejemplo 1 la altura es 3. - Anchura: es el mayor valor del número de nodos que hay en un nivel. En el ejemplo la anchura es 3. - Grado de un árbol: es el máximo de los grados de todos sus nodos. Árbol: estructura jerárquica y dinámica con un nodo raíz y subárboles que cuelgan de dicho nodo principal u otros inferiores. Los árboles se pueden recorrer en profundidad y en anchura (amplitud). El grado de un árbol es el máximo grado (número de hijos) de los nodos del árbol. Un árbol binario es aquel cuyos nodos pueden tener un máximo de dos hijos. - Nodo externo: Cuando un nodo no apunta a ningún hijo. - Nivel: Se comienza en el nivel 0 (nodo raiz). - Altura: Número de niveles + 1. Un árbol con nivel 0, 1 y 2, tiene altura 3. - Recorrido en profundidad - Recorrido en preorden: raíz, izquierda, derecha. Ejemplo: F B A D C E G I H Igual que el recorrido en profundidad. - Recorrido en inorden: izquierda, raíz, derecha. Ejemplo: A B C D E F G H I - Recorrido en postorden: izquierda, derecha, raíz. Ejemplo: A C E D B H I G F - Recorrido en anchura: se van recorriendo todos los niveles y hasta que no se han recorrido los nodos de cada nivel no se sigue bajando. Ejemplo: F B G A DICEH 37 Grafo: conjunto de nodos conectados, puede haber grafos dirigidos (vértices con orientación) y grafos no dirigidos (vértices sin orientación). Diccionario: colección de pares clave-valor, las claves solo pueden aparecer una vez. Tablas de dispersión: relaciona unas claves con sus valores. La búsqueda es muy rápida, recuperando los valores indicando su clave. También se conocen como matriz asociativa o tabla hash. 3.2 Algoritmos Un algoritmo es un conjunto de instrucciones bien definidas, ordenadas y finitas, que permiten realizar una tarea mediante la ejecución de dichos pasos. A partir de un estado inicial y con unos datos de entrada, siguiendo las instrucciones, se llega al estado final obteniendo el resultado. 38 La complejidad de un algoritmo determina su dificultad y la cantidad de recursos necesarios para su ejecución. La complejidad de los algoritmos se puede medir para su peor, promedio y mejor caso. Peor caso: los datos de inicio hacen que el algoritmo ejecute el caso más complicado. Caso promedio: los datos de inicio no presentan ningún caso especial, es el ejemplo medio. Mejor caso: los datos de inicio suponen el caso más sencillo de resolver. 3.2.1 - Algoritmos de ordenación: - Burbuja / Bubblesort: consiste en revisar cada elemento con el siguiente, intercambiándolos si es necesario. También se conoce como el método del intercambio directo. N-1 pasadas. - Complejidad: O(n^2) - Montículo / Heapsort: Consiste en almacenar todos los elementos del vector a ordenar en un montículo, y luego extraer el nodo que queda como nodo raíz del montículo (cima) en sucesivas iteraciones obteniendo el conjunto ordenado. Basa su funcionamiento en una propiedad de los montículos, por la cual, la cima contiene siempre el menor elemento (o el mayor, según se haya definido el montículo) de todos los almacenados en él. - Complejidad: O(n log n) - Inserción: se escoge el primer elemento de la lista, que es un conjunto ordenado ya que está compuesto por un solo elemento. Entonces se analiza el siguiente, colocándolo en orden dentro de la lista de los que ya están ordenados. - Complejidad: O(n^2) - Radix sort: Es un algoritmo de ordenamiento que ordena enteros procesando sus dígitos de forma individual. Como los enteros pueden representar cadenas de caracteres (por ejemplo, nombres o fechas) y, especialmente, números en punto flotante especialmente formateados, radix sort no está limitado solo a los enteros. - Complejidad: O(n) - Rápido / Quicksort: se escoge un elemento de la lista, llamado pivote. Todos los elementos menores se colocan a su izquierda, los mayores a su derecha. Después se procede con cada sublista, en las que se repite el proceso escogiendo un pivote en cada una. - Complejidad: O(n log n) - Mergesort: Es un algoritmo de ordenación fácilmente paralelizable. Este algoritmo consiste en dividir el vector a ordenar en varias partes, estas partes se ordenan y, posteriormente, se mezclan entre ellas de forma ordenada. Dado que el proceso de mezcla es menos costoso que el proceso de ordenación obtenemos un algoritmo más eficiente. 39 - Complejidad: O(n log n) - Stupid sort: algoritmo ineficiente de ordenación. Genera permutaciones de la entrada hasta que resulta ordenada. También llamado bogosort. - Complejidad: O((n+1)!) Otros algoritmos: - Dijkstra: determina el camino más corto de un nodo a otro (en la versión básica del algoritmo), o entre un nodo y todos los demás nodos. - Kruskal: encuentra un árbol recubridor mínimo en un grafo conexo y ponderado. Es decir, buscar un subconjunto de aristas, que formando un árbol, incluyen todos los vértices y donde el valor de la suma de las aristas del árbol es mínimo. - Prim: otro algoritmo para el mismo problema que resuelve Kruskal. Órdenes de complejidad (más eficiente a menos eficiente): O(1) Orden constante O(log n) Orden logarítmico O(n) Orden lineal O(n log n) Orden cuasi-lineal O(n^2) Orden cuadrático O(n^3) Orden cúbico O(n^a) Orden polinómico O(2^n) Orden exponencial O(n!) Orden factorial 40 4 - Sistemas operativos. Características y elementos constitutivos. Sistemas Windows. Sistemas Unix y Linux. Sistemas operativos para dispositivos móviles. 4.1 - Sistemas operativos. Características y elementos constitutivos. 4.1.1 - Características Un sistema operativo es el software principal que gestiona los recursos hardware y proporciona servicios a los demás programas. - Realiza funciones de intérprete entre el usuario de un ordenador y el hardware del mismo, ofreciendo un entorno más o menos amigable para que el usuario pueda ejecutar programas. - Asignador de recursos. El sistema operativo actúa gestionando estos recursos y los asigna a los programas en ejecución y, por tanto, a los usuarios. - Controla todos los recursos de la computadora y proporciona la base sobre la cual pueden ejecutarse los programas de aplicación. - Sirve de base para que se puedan ejecutar los distintos programas de aplicación. - Sirve de intérprete entre el lenguaje de la máquina y el Humano. - Permite a un grupo de usuarios compartir una instalación de computadora eficazmente. 4.1.2 - Funciones de los SO - Proporcionar interfaz de línea de comando o una interfaz gráfica, para que el usuario se pueda comunicar con la computadora. - Control de recursos. Administrar los dispositivos de hardware en la computadora. El sistema operativo sirve de intermediario entre los programas y el hardware. - Administrar y mantener los sistemas de archivo de disco. Los sistemas operativos agrupan la información dentro de compartimientos lógicos (llamados archivos) para almacenarlos en el disco. El sistema operativo mantiene una lista de los archivos en un disco, y nos proporciona las herramientas necesarias para organizar y manipular estos archivos. - Proporcionar servicios a otros programas. Cuando los programadores escriben programas de computadora, incluyen en sus programas instrucciones que solicitan los servicios del sistema operativo (llamadas al sistema). - Interpretar los comandos que permiten al usuario comunicarse con el ordenador. - Servir de base para la creación del software, - Configurar el entorno para el uso del software y los periféricos. 41 - Aceptar todos los trabajos y conservarlos hasta su finalización. - Manejo de dispositivos de E/S: organiza los archivos en diversos dispositivos de almacenamiento, como discos duros. - Manejo de errores: gestiona los errores de hardware y la pérdida de datos. 4.1.3 - Clasificaciones Según el tipo de núcleo: - Monolítico: arquitectura de sistema operativo donde éste trabaja en espacio del núcleo, estando él solo en modo supervisor. Provee una interfaz de alto nivel para el hardware. Ejemplos: Unix, Linux, DOS, Windows 9x, FreeDOS. - Micronúcleo: el software mínimo que provee de mecanismos necesarios para implementar un sistema operativo. Incluye gestión de espacios de direcciones, hilos y comunicación entre procesos a bajo nivel. Cosas como la gestión de memoria, sistema de archivos y operaciones de entrada-salida se ejecutan en espacio de usuario. Ejemplos: AIX, AmigaOS, Minix, Hurd, Symbian. Según la gestión de tareas: - Monotarea: sólo ejecuta un proceso cada vez, además de los del propio sistema. Cuando ejecuta un proceso lo hace hasta que finaliza o es interrumpido. Ejemplos: MS-DOS. - Multitarea: puede ejecutar varios procesos a la vez, asignando recursos a cada uno de ellos. Hoy en día la mayoría de sistemas son multitarea. Según la gestión de usuarios: - Monousuario: solo ejecuta los procesos de un usuario al mismo tiempo. - Multiusuario: permite que varios usuarios ejecuten sus procesos a la vez. Según la gestión de recursos: - Centralizado: controla los recursos de un solo ordenador. - Distribuido: controla los recursos de varios ordenadores a la vez. Según el dispositivo en el que se ejecutan: - Ordenador: Windows, Unix, Linux, Mac OS, Solaris, FreeBSD, Google Chrome OS, Plan 9, HP-UX, BeOS, ReactOS, Android PC. - Móvil: Android, iOS, BlackBerry OS, Windows Phone, Symbian OS, HP webOS, Palm OS. - Reloj: Android Wear, WatchOS, WearOS, OpenWatch. 4.1.4 - Trabajos, procesos e hilos Procesos Un proceso se define como la imagen de un programa en ejecución. Consta del programa ejecutable, datos y el contexto de ejecución. Un proceso no sólo incluye el código sino también el estado de su ejecución, a diferencia de un programa. A cada uno de ellos le asignará unos recursos determinados. 42 Tabla de procesos: el identificador del proceso (PID), su proceso padre (PPID), memoria ocupada, usuario, prioridad, estado, comando que inició el proceso y el tiempo en ejecución. El primer proceso en cargarse en un sistema Unix es el init, que tiene como identificador de proceso (PID) el número 1. El proceso init es el padre de todos los demás procesos. El proceso init también se encarga de arrancar los llamados daemons. Para la creación de procesos hijo, Unix proporciona la llamada al sistema fork. La invocación de esta llamada al sistema por parte de un proceso genera que el proceso se duplique en dos, siendo uno el padre y el otro el hijo, y continuando ambos su ejecución en paralelo. Al crearse, devuelve como parámetro el PID del proceso hijo. (retorna al proceso padre el PID del proceso creado). Un proceso hijo, cuando finaliza, le envía una señal a su proceso padre (el hijo debería finalizar antes que el padre), el cual le debe esperar mediante la llamada al sistema wait. Un proceso zombie es un proceso que ha finalizado, liberando todos sus recursos, pero que todavía aparece en la tabla de procesos. Esta situación no deseable puede producirse por un error del proceso padre que no ha generado el wait correspondiente para ese hijo. Un proceso huérfano, en cambio, se produce cuando el padre finaliza antes que el hijo. Cuando se produce esta situación, el proceso hijo pasa a ser adoptado por el proceso init (el PPID del proceso huérfano pasa a ser 1). Trabajos e hilos El conjunto de uno o más procesos relacionados se denomina trabajo. El comando jobs muestra los trabajos (tareas) en ejecución. A cada uno le asigna un número comenzando por %1. Se pueden utilizar los comandos fg (foreground) y bg (background) para llevar un trabajo a primer plano o a segundo plano. Para finalizar un trabajo o un proceso se utiliza la orden kill. Un hilo es un trozo o sección de un proceso que tiene sus propios registros, pila y contador de programa, pero que comparte memoria con el resto de hilos de un mismo proceso. Los recursos se asignan a procesos (y no a hilos), todos los hilos de un mismo proceso los comparten. Se dice que los hilos de un mismo proceso cooperan entre sí, mientras los procesos compiten entre sí por el uso de los recursos. 4.1.5 - Gestión de recursos y planificación Planificación del procesador Se refiere a la manera o técnicas que se usan para decidir cuánto tiempo de ejecución y cuando se le asignan a cada proceso del sistema. Existen tres niveles de planificación: - Alto/long term scheluder: Qué conjunto de procesos son candidatos a convert