Programa de informática Informática La informática es la técnica basada en la ingeniería de la información, que al aplicarse, puede abarcar el estudio y sistematización del

tratamiento de la información, tomando como herramienta principal el acceso a un ordenador. Este término se le define como la información que se genera de manera automática y de manera digital a través de un sistema de cómputo. Etimología El vocablo informática proviene del francés automatique d'informations, acuñado por el ingeniero Philippe Dreyfus para su empresa «Société d'Informatique Appliquée» en 1962. Pronto adaptaciones locales del término aparecieron en italiano, español, rumano, portugués y holandés, entre otras lenguas, refiriéndose a la aplicación de las computadoras para almacenar y procesar la información. Es un acrónimo de las palabras information y automatique (información automática). En lo que hoy día conocemos como informática confluyen muchas de las técnicas, procesos y máquinas (ordenadores) que el hombre ha desarrollado a lo largo de la historia para apoyar y potenciar su capacidad de memoria, de pensamiento y de comunicación. En el Diccionario de la Real Academia Española se define informática como:1 Conjunto de conocimientos científicos y técnicas que hacen posible el tratamiento automático de la información por medio de ordenadores. Conceptualmente, se puede entender como aquella disciplina encargada del estudio de métodos, procesos, técnicas, desarrollos y su utilización en ordenadores (computadoras), con el fin de almacenar, procesar y transmitir información y datos en formato digital. En 1957 Karl Steinbuch acuñó la palabra alemana Informatik en la publicación de un documento denominado Informatik: Automatische Informationsverarbeitung (Informática: procesamiento automático de información). En ruso, Alexander Ivanovich Mikhailov fue el primero en utilizar informatika con el significado de «estudio, organización, y la diseminación de la información científica», que sigue siendo su significado en dicha lengua. En inglés, la palabra Informatics fue acuñada independiente y casi simultáneamente por Walter F. Bauer, en 1962, cuando Bauer cofundó la empresa denominada «Informatics General, Inc.». Dicha empresa registró el nombre y persiguió a las universidades que lo utilizaron, forzándolas a utilizar la alternativa computer science. La Association for Computing Machinery, la mayor organización de informáticos del mundo, se dirigió a

Informatics General Inc. para poder utilizar la palabra informatics en lugar de computer machinery, pero al empresa se negó. Informatics General Inc. cesó sus actividades en 1985, pero para esa época el nombre de computer science estaba plenamente arraigado. Actualmente los angloparlantes utilizan el término computer science, traducido a veces como «Ciencias de la computación», para designar tanto el estudio científico como el aplicado; mientras que designan como information technology (IT) o data processing, traducido a veces como «tecnologías de la información», al conjunto de tecnologías que permiten el tratamiento automatizado de información. Orígenes En los inicios del procesado de información, con la informática sólo se facilitaban los trabajos repetitivos y monótonos del área administrativa. La automatización de esos procesos trajo como consecuencia directa una disminución de los costos y un incremento en la productividad. En la informática convergen los fundamentos de las ciencias de la computación, la programación y metodologías para el desarrollo de software, la arquitectura de computadores, las redes de computadores, la inteligencia artificial y ciertas cuestiones relacionadas con la electrónica. Se puede entender por informática a la unión sinérgica de todo este conjunto de disciplinas. Esta disciplina se aplica a numerosas y variadas áreas del conocimiento o la actividad humana, como por ejemplo: gestión de negocios, almacenamiento y consulta de información, monitorización y control de procesos, industria, robótica, comunicaciones, control de transportes, investigación, desarrollo de juegos, diseño computarizado, aplicaciones/herramientas multimedia, medicina, biología, física, química, meteorología, ingeniería, arte, etc. Una de la aplicaciones más importantes de la informática es proveer información en forma oportuna y veraz, lo cual, por ejemplo, puede tanto facilitar la toma de decisiones a nivel gerencial (en una empresa) como permitir el control de procesos críticos. Actualmente es difícil concebir un área que no use, de alguna forma, el apoyo de la informática. Ésta puede cubrir un enorme abanico de funciones, que van desde las más simples cuestiones domésticas hasta los cálculos científicos más complejos. Entre las funciones principales de la informática se cuentan las siguientes:
• • • •

Creación de nuevas especificaciones de trabajo Desarrollo e implementación de sistemas informáticos Sistematización de procesos Optimización de los métodos y sistemas informáticos existentes

Sistemas de tratamiento de la información

Los sistemas computacionales, generalmente implementados como dispositivos electrónicos, permiten el procesamiento automático de la información. Conforme a ello, los sistemas informáticos deben realizar las siguientes tres tareas básicas:
• • •

Entrada: captación de la información Proceso: tratamiento de la información Salida: transmisión de resultados

Sistemas de mando y control, son sistemas basados en la mecánica y motricidad de dispositivos que permiten al usuario localizar, dentro de la logística, los elementos que se demandan. Están basados en la electricidad, osea, no en el control del flujo del electrón, sino en la continuidad o discontinuidad de una corriente eléctrica, si es alterna o continua o si es inducida, contrainducida, en fase o desfase. Sistemas de archivo, son sistemas que permiten el almacenamiento a largo plazo de información que no se demandará por un largo periodo de tiempo. Estos sistemas usan los conceptos de biblioteca para localizar la información demandada. Hardware

Hardware típico de una computadora personal. 1. Monitor 2. Placa base 3. CPU 4. Memoria RAM 5. Tarjeta de expansión 6. Fuente de alimentación 7. Unidad de disco óptico 8. Disco duro, Unidad de estado sólido 9. Teclado 10. Ratón/Mouse Corresponde a todas las partes tangibles de un sistema informático sus componentes son: eléctricos, electrónicos, electromecánicos y mecánicos.1 Sus cables, gabinetes o cajas, periféricos de todo tipo y cualquier otro elemento físico involucrado; contrariamente, el soporte lógico es intangible y es llamado software. El término es propio del idioma inglés (literalmente

La lógica discreta era muy parecida a la anterior. pero la implementación resultó mucho más pequeña.3 4 La historia del hardware del computador se puede clasificar en cuatro generaciones.traducido: partes duras). 3ª Generación (1964-hoy): electrónica basada en circuitos integrados. un teléfono móvil. En principio. Un sistema informático se compone de una unidad central de procesamiento (UCP/CPU). el tamaño de un computador en notable escala. se pueden distinguir: • • • 1ª Generación (1945-1956): electrónica implementada con tubos de vacío. Historia Artículo principal: Historia del hardware La clasificación evolutiva del hardware del computador electrónico está dividida en generaciones. el estrictamente necesario para el funcionamiento normal del equipo. y complementario. Este hardware se puede clasificar en: básico. 2ª Generación (1957-1963): electrónica desarrollada con transistores. su traducción al español no tiene un significado acorde.2 El término. donde cada una supone un cambio tecnológico muy notable. Fueron las primeras máquinas que desplazaron los componentes electromecánicos (relés). aunque es lo más común. no solamente se aplica a una computadora tal como se la conoce. En las últimas décadas es más difícil distinguir las nuevas generaciones. ya que en ellas el hardware fue sufriendo cambios radicales. por tal motivo se la ha adoptado tal cual es y suena. Esta tecnología permitió integrar cientos de transistores y . uno o varios periféricos de entrada. los que posibilitan dar salida (normalmente en forma visual o auditiva) a los datos procesados. el que realiza funciones específicas. ya que los cambios han sido graduales y existe cierta continuidad en las tecnologías usadas. entre otros factores. reduciendo. los que permiten el ingreso de la información y uno o varios periféricos de salida. cada una caracterizada por un cambio tecnológico de importancia. también. El origen de las primeras es sencillo de establecer. la Real Academia Española lo define como «Conjunto de los componentes que integran la parte material de una computadora». 5 Los componentes esenciales que constituyen la electrónica del computador fueron totalmente reemplazados en las primeras tres generaciones. encargada de procesar los datos. un robot. una cámara fotográfica o un reproductor multimedia poseen hardware (y software). por ejemplo. originando cambios que resultaron trascendentales.

7 A diferencia de los cambios tecnológicos anteriores. 4ª Generación (futuro): probablemente se originará cuando los circuitos de silicio. la memoria RAM. Al igual que el microprocesador. el "básico". 6 La aparición del microprocesador marca un hito de relevancia. consumo y tamaño. como el PDP-11/44. no estrictamente necesarias para el funcionamiento de la computadora. que. que abarca el conjunto de componentes indispensables necesarios para otorgar la funcionalidad mínima a una computadora. integrados a alta escala. incrementándose su capacidad.).• otros componentes electrónicos en un único circuito integrado impreso en una pastilla de silicio. y por otro lado. todavía a comienzo de los 80's había computadores. Así. el hardware "complementario". es decir. la unidad central de procesamiento (C. en este caso el desplazamiento ha sido muy gradual. Así es que: un medio de entrada de datos. Muchos equipos implementados con tecnologías VLSI y MSI (Medium Scale Integration) aún coexistían exitosamente hasta bien entrados los 90. . no supuso el cambio inmediato y la rápida desaparición de los computadores basados en circuitos integrados en más bajas escalas de integración.U. sean reemplazados por un nuevo tipo de material o tecnología. un medio de salida de datos y un medio de almacenamiento constituyen el "hardware básico".P. hasta producir máquinas como las que existen en la actualidad. Las computadoras redujeron así considerablemente su costo.8 con lógica carente de microprocesador que continuaban exitosamente en el mercado. a principios de los ochenta. y para muchos autores constituye el inicio de la cuarta generación. velocidad y fiabilidad. Una de las formas de clasificar el hardware es en dos categorías: por un lado. es el utilizado para realizar funciones específicas (más allá de las básicas). Tipos de hardware Microcontrolador Motorola 68HC11 y chips de soporte que podrían constituir el hardware de un equipo electrónico industrial. su invención no supuso la desaparición radical de los computadores que no lo utilizaban. aunque el microprocesador 4004 fue lanzado al mercado en 1971. como su nombre indica. Otro hito tecnológico usado con frecuencia para definir el inicio de la cuarta generación es la aparición de los circuitos integrados VLSI (Very Large Scale Integration).

por ejemplo. un dispositivo de entrada es el que provee el medio para permitir el ingreso de información. se las procesa y almacena (procesamiento). bien puede ingresar información y sacar sus datos procesados. 5.9 Se reciben las entradas (datos). Las computadoras son aparatos electrónicos capaces de interpretar y ejecutar instrucciones programadas y almacenadas en su memoria. y la CPU provee la capacidad de cálculo y procesamiento de la información ingresada (transformación). Procesamiento: Unidad Central de Proceso o CPU Almacenamiento: Memorias Entrada: Periféricos de entrada (E) Salida: Periféricos de salida (S) Entrada/Salida: Periféricos mixtos (E/S) Desde un punto de vista básico y general.11 Un periférico mixto es aquél que puede cumplir funciones tanto de entrada como de salida. siglas en inglés de Unidad Central de Procesamiento. consisten básicamente en operaciones aritmético-lógicas y de entrada/salida. la memoria otorga la capacidad de almacenamiento. Unidad central de procesamiento. la función de la CPU la realiza uno o más microprocesadores. respectivamente. . pero ello no implica que no pueda haber una computadora (por ejemplo controlando un proceso) en la que no sea necesario teclado ni monitor. y finalmente se producen las salidas (resultados del procesamiento). 3. Se conoce como microprocesador a una CPU que es manufacturada como un único circuito integrado. Por ende todo sistema informático tiene. 4. La CPU. al menos.12 En los computadores modernos. temporal o permanente (almacenamiento). componentes y dispositivos hardware dedicados a alguna de las funciones antedichas. es el componente fundamental del computador. datos y programas (lectura). de un teclado y un monitor para entrada y salida de información.Los medios de entrada y salida de datos estrictamente indispensables dependen de la aplicación: desde el punto de vista de un usuario común. el ejemplo más típico es el disco rígido (ya que en él se lee y se graba información y datos).10 a saber: 1. 2. se debería disponer. a través de una placa de adquisición/salida de datos. un dispositivo de salida brinda el medio para registrar la información y datos de salida (escritura). al menos. encargado de interpretar y ejecutar instrucciones y de procesar datos.

sobre un zócalo conocido como zócalo de CPU. juguetes y muchos más. la cual. Placa base de una computadora. . Placa base del teléfono móvil Samsung Galaxy Spica. para evitar daños por efectos térmicos. La gran mayoría de los circuitos electrónicos e integrados que componen el hardware del computador van montados en la placa madre. aviones. Qualcomm y Texas Instruments. Éste es indispensable en los microprocesadores que consumen bastante energía. se pueden distinguir varios "System-on-a-Chip" soldados en ella El microprocesador se monta en la llamada placa base. calculadores. en este caso. incluso miles de microprocesadores trabajando simultáneamente o en paralelo (multiprocesamiento). teléfonos móviles. es emitida en forma de calor: en algunos casos pueden consumir tanta energía como una lámpara incandescente (de 40 a 130 vatios). televisores. electrodomésticos. Actualmente los diseñadores y fabricantes más populares de microprocesadores de PC son Intel y AMD. que por lo general es de aluminio. sobre el disipador se acopla uno o dos ventiladores (raramente más). y en algunos casos de cobre. destinados a forzar la circulación de aire para extraer más rápidamente el calor acumulado por el disipador y originado en el microprocesador. como pueden ser: controladores de procesos industriales. así como sistemas automáticos que controlan la cantidad de revoluciones por unidad de tiempo de estos últimos. Sobre el procesador ajustado a la placa base se fija un disipador térmico de un material con elevada conductividad térmica. Adicionalmente. Las unidades centrales de proceso (CPU) en la forma de un único microprocesador no sólo están presentes en las computadoras personales (PC). todo ese conjunto conforma la CPU de la máquina. los principales son Samsung. puede tener varios. Complementariamente. y para el mercado de dispositivos móviles y de bajo consumo. también se suelen instalar sensores de temperatura del microprocesador y sensores de revoluciones del ventilador. formato ATX. automóviles.Un servidor de red o una máquina de cálculo de alto rendimiento (supercomputación). que permite las conexiones eléctricas entre los circuitos de la placa y el procesador. en gran parte. sino también en otros tipos de dispositivos que incorporan una cierta capacidad de proceso o "inteligencia electrónica".

también como "Central o de Trabajo". La memoria RAM es conocida como Memoria principal de la computadora. En la RAM se almacena temporalmente la información. una GPU. la placa base posee una serie de buses mediante los cuales se trasmiten los datos dentro y hacia afuera del sistema. los zócalos. tarjetas de expansión. conectores. un controlador de memoria. El término tiene relación con la característica de presentar iguales tiempos de acceso a cualquiera de sus posiciones (ya sea para lectura o para escritura). tales como capturadoras de vídeo. Artículo principal: Memoria RAM Del inglés Random Access Memory. tarjetas de adquisición de datos. En ese sentido actualmente se encuentran sistemas denominados System on a Chip que consiste en un único circuito integrado que integra varios módulos electrónicos en su interior. También.13 es un gran circuito impreso sobre el que se suelda el chipset. literalmente significa "memoria de acceso aleatorio". bluetooth. en contraposición al Acceso secuencial. La tendencia de integración ha hecho que la placa base se convierta en un elemento que incluye a la mayoría de las funciones básicas (vídeo. Aunque ello no excluye la capacidad de instalar otras tarjetas adicionales específicas. . módulos de memoria RAM. procesa y ejecuta. periféricos de entrada y salida. la tendencia en los últimos años es eliminar elementos separados en la placa base e integrarlos al microprocesador. red. 14 a diferencia de las llamadas memorias auxiliares. en la placa principal de un teléfono móvil. diversos integrados. Wi-Fi. Es el soporte fundamental que aloja y comunica a todos los demás componentes: Procesador. datos y programas que la Unidad de Procesamiento (CPU) lee. puertos de varios tipos). La mejora más notable en esto está en la reducción de tamaño frente a igual funcionalidad con módulos electrónicos separados.La placa base. etc. Esta particularidad también se conoce como "acceso directo". tales como un procesador. las ranuras de expansión (slots). Para comunicar esos componentes. Memoria RAM Modulos de memoria RAM instalados. La RAM es la memoria utilizada en una computadora para el almacenamiento transitorio y de trabajo (no masivo). tarjetas gráficas. audio. funciones que antes se realizaban con tarjetas de expansión. La figura muestra una aplicación típica. también conocida como placa madre o con el anglicismo board. etc. etc.

unidades de estado sólido. Las más comunes y utilizadas como memoria central son "dinámicas" (DRAM). Esta tarjeta posee una serie de contactos metálicos (con un recubrimiento de oro) que permite hacer la conexión eléctrica con el bus de memoria del controlador de memoria en la placa base. memoria denominada "dinámica". lo cual significa que pierden rápidamente su contenido al interrumpir su alimentación eléctrica. cintas magnéticas u otras memorias). conforman toda la memoria principal. Memoria RAM dinámica Es la presentación más común en computadores modernos (computador personal. conjuntamente. Los integrados son de tipo DRAM. comúnmente. por ello necesitan un circuito electrónico específico que se encarga de proveerle el llamado "refresco" (de energía) para mantener su información. Las memorias RAM son. Entre las tecnologías recientes para integrados de memoria DRAM usados en los módulos RAM se encuentran: . volátiles. aún estando con alimentación eléctrica). lo cual significa que tienden a perder sus datos almacenados en breve tiempo (por descarga. permitiendo la fabricación de memorias con gran capacidad (algunos cientos de Megabytes) a un costo relativamente bajo. están organizadas en matrices y almacenan cada una un bit. son tarjetas de circuito impreso que tienen soldados circuitos integrados de memoria por una o ambas caras. Para acceder a ellas se han ideado varios métodos y protocolos cada uno mejorado con el objetivo de acceder a las celdas requeridas de la manera más eficiente posible. además de otros elementos. Ellos albergan varios circuitos integrados de memoria DRAM que. servidor).secundarias o de almacenamiento masivo (como discos duros. en la cual las celdas de memoria son muy sencillas (un transistor y un condensador). Las posiciones de memoria o celdas. La memoria RAM de un computador se provee de fábrica e instala en lo que se conoce como “módulos”. tales como resistores y condensadores. Memorias RAM con tecnologías usadas en la actualidad.

Es un tipo de memoria más rápida que la DRAM (Dynamic RAM). DDR3 SDRAM: Memoria con un ciclo doble y acceso anticipado a ocho posiciones de memoria consecutivas. 184 pines (usadas con DDR y el obsoleto SIMM) y 240 (para las tecnologías de memoria DDR2 y DDR3). Es el tipo de memoria más actual. la DDR2. Existen de 144 pines (usadas con SDR). la mayoría de memorias NVRAM son memorias flash. ocupa más espacio y utiliza más energía que la DRAM. es usada como memoria caché. y que normalmente no se utilizan como memoria central de la computadora. Si bien esta RAM no requiere circuito de refresco. Los estándares JEDEC. DDR SDRAM: Memoria con un ciclo doble y acceso anticipado a dos posiciones de memoria consecutivas. DDR2 SDRAM: Memoria con un ciclo doble y acceso anticipado a cuatro posiciones de memoria consecutivas. Los estándares usados actualmente son: • • DIMM Con presentaciones de 168 pines (usadas con SDR y otras tecnologías antiguas). Memorias RAM especiales Hay memorias RAM con características que las hacen particulares. Actualmente en desuso.• • • • SDR SDRAM: Memoria con un ciclo sencillo de acceso por ciclo de reloj. entre ellas se puede mencionar: • SRAM: Siglas de Static Random Access Memory. fue popular en los equipos basados en el Pentium III y los primeros Pentium 4. es una miniaturización de la versión DIMM en cada tecnología. SO-DIMM Para computadores portátiles. Memoria RAM no volátil (mantiene la información en ausencia de alimentación eléctrica). incluyendo las dimensiones del circuito impreso. debido a su alta velocidad. El término "estática" deriva del hecho que no necesita el refresco de sus datos. • . NVRAM: Siglas de Non-Volatile Random Access Memory. muy usadas para teléfonos móviles y reproductores portátiles de MP3. establecen las características eléctricas y las físicas de los módulos. Hoy en día. Fue popular en equipos basados en los procesadores Pentium 4 y Athlon 64. Este tipo de memoria. está reemplazando rápidamente a su predecesora. 200 pines (usadas con DDR y DDR2) y 240 pines (para DDR3).

junto con el almacenamiento primario y los dispositivos de entrada/salida.• VRAM: Siglas de Video Random Access Memory. UCP o CPU (por el acrónimo en inglés de central processing unit). Desde mediados de los años 1970. Es un tipo de memoria RAM que se utiliza en las tarjetas gráficas del computador.75 mm) en su empaquetado. Puedes dar aviso al autor principal del artículo pegando el siguiente código en su página de discusión: {{subst:Aviso mal traducido| Unidad central de procesamiento}} ~~~~ Oblea de un microprocesador Intel 80486DX2 (tamaño: 12×6. Unidad central de procesamiento (cpu) De Wikipedia. La expresión "unidad central de proceso" es. Los CPU proporcionan la característica fundamental de la computadora digital (la programabilidad) y son uno de los componentes necesarios encontrados en las computadoras de cualquier tiempo. busca el artículo original y mejora o finaliza esta traducción. la enciclopedia libre (Redirigido desde Cpu) Saltar a: navegación. Así. La característica particular de esta clase de memoria es que es accesible de forma simultánea por dos dispositivos. y hoy en día. que interpreta las instrucciones contenidas en los programas y procesa los datos. el término "CPU" es aplicado usualmente a todos los microprocesadores. Sin . Esta amplia definición puede fácilmente ser aplicada a muchos de los primeros computadores que existieron mucho antes que el término "CPU" estuviera en amplio uso. De las anteriores a su vez. búsqueda El texto que sigue es una traducción defectuosa o incompleta. es posible que la CPU grabe información en ella. hay otros subtipos más. La unidad central de procesamiento. o simplemente el procesador o microprocesador. es el componente del computador y otros dispositivos programables. Si quieres colaborar con Wikipedia. al tiempo que se leen los datos que serán visualizados en el Monitor de computadora. los microprocesadores de un solo chip han reemplazado casi totalmente todos los tipos de CPU. una descripción de una cierta clase de máquinas de lógica que pueden ejecutar complejos programas de computadora. Se conoce como microprocesador el CPU que es manufacturado con circuitos integrados. en términos generales.

hasta teléfonos móviles o celulares.4 Procesadores vectoriales y el SIMD 4 Véase también 5 Notas . La forma. el diseño y la implementación de los CPU ha cambiado drásticamente desde los primeros ejemplos.3.2 Frecuencia de reloj o 3.3. computadoras centrales. Los primeros CPU fueron diseñados a la medida como parte de una computadora más grande.3 Paralelismo  3. desde automóviles. Los microprocesadores modernos aparecen en todo. entre otros. ha desaparecido en gran parte y se ha sustituido por el desarrollo de clases de procesadores baratos y estandarizados adaptados para uno o muchos propósitos.1 Rango de enteros o 3. Esta tendencia de estandarización comenzó generalmente en la era de los transistores discretos. Sin embargo. este costoso método de diseñar los CPU a la medida. neveras. y fue acelerada rápidamente con la popularización del circuito integrado (IC). televisores. generalmente una computadora única en su especie. para una aplicación particular. juguetes.2 TLP: ejecución simultánea de hilos o 3.1 CPU de transistores y de circuitos integrados discretos o 1. pero su operación fundamental ha permanecido bastante similar.2 Microprocesadores 2 Operación del CPU 3 Diseño e implementación o 3. calculadoras. y microcomputadoras. Contenido [ocultar] • • • • • 1 Historia o 1.1 ILP: Entubado de instrucción y arquitectura superescalar  3. éste ha permitido que sean diseñados y fabricados CPU más complejos en espacios pequeños (en la orden de milímetros). Tanto la miniaturización como la estandarización de los CPU han aumentado la presencia de estos dispositivos digitales en la vida moderna mucho más allá de las aplicaciones limitadas de máquinas de computación dedicadas. aviones. el término en sí mismo y su acrónimo han estado en uso en la industria de la informática por lo menos desde el principio de los años 1960.embargo.

como el EDVAC. hacer circuitos de lógica secuencial de corriente directa requería hardware adicional para hacer frente al problema del rebote de contacto. los CPU basados en tubo llegaron a ser dominantes porque las significativas ventajas de velocidad producidas generalmente pesaban más que los problemas de confiabilidad. uno de los primeros computadores de programas almacenados electrónicamente. Aunque éstos tenían distintas ventajas de velocidad sobre los anteriores diseños puramente mecánicos. Por lo tanto. limitado en gran parte por la velocidad de los dispositivos de conmutación con los que fueron construidos. (ver más abajo para una exposición sobre la frecuencia de reloj). memoria de núcleo. éstos deben calentarse antes de llegar a estar completamente operacionales y eventualmente fallan y dejan de funcionar por completo. La mayor parte de estos tempranos CPU síncronos corrían en frecuencias de reloj bajas comparadas con los modernos diseños microelectrónicos. Las computadoras de tubo. como el Harvard Mark I. Por ejemplo. mientras que los tubos de vacío no sufren del rebote de contacto.• • 6 Bibliografía 7 Enlaces externos Historia El EDVAC. (basados en tubos de vacío). (anteriores y más lentas). Por otro lado. Artículo principal: Historia del hardware de computador Casi todos los CPU tratan con estados discretos. (basadas en relés). e interfaz de bus externo de un MSI PDP-8/I. mientras que las computadoras de relés. CPU de transistores y de circuitos integrados discretos CPU. y por lo tanto requieren una cierta clase de elementos de conmutación para diferenciar y cambiar estos estados. los primeros computadores electrónicos. la CPU tendría que ser diagnosticada para localizar el componente que falla para que pueda ser reemplazado. Al final. los relés eléctricos y los tubos de vacío (válvulas termoiónicas) eran usados comúnmente como elementos de conmutación. generalmente eran más rápidos pero menos confiables que las computadoras electromecánicas. . fallaban muy raramente. tendieron en tener un promedio de ocho horas entre fallas. no eran fiables por varias razones.1 Generalmente. Eran muy comunes en este tiempo las frecuencias de la señal del reloj con un rango desde 100 kHz hasta 4 MHz. cuando un tubo ha fallado. Antes de la aceptación comercial del transistor.

Al principio. Para facilitar esta mejora. A medida que la tecnología microelectrónica avanzó. y luego a miles. Construir un CPU completo usando IC SSI requería miles de chips individuales. dirigido a los mercados científicos y de investigación. usualmente contenían transistores que se contaban en números de múltiplos de diez. a menudo llamado "microcódigo". en los IC fue colocado un número creciente de transistores. Los CPU basadas en estos IC de "bloques de construcción" generalmente son referidos como dispositivos de pequeña escala de integración "small-scale integration" (SSI). el PDP-8. El circuito integrado (IC) permitió que una gran cantidad de transistores fueran fabricados en una simple oblea basada en semiconductor o "chip". Esto fue significativo en un tiempo en que la mayoría de las computadoras electrónicas eran incompatibles entre sí. y frágiles. Los circuitos integrados SSI. En 1964.La complejidad del diseño de los CPU se incrementó a medida que varias tecnologías facilitaron la construcción de dispositivos electrónicos más pequeños y confiables. Los CPU transistorizados durante los años 1950 y los años 1960 no tuvieron que ser construidos con elementos de conmutación abultados. En el mismo año de 1964. que originalmente fue construido con IC SSI pero . ampliamente usado aún en los CPU modernos. solamente circuitos digitales muy básicos. DEC introduciría más adelante la muy popular línea del PDP-11. que fue usada en una serie de computadores que podían ejecutar los mismos programas con velocidades y desempeños diferentes. IBM introdujo su arquitectura de computador System/360. disminuyendo así la cantidad de IC individuales necesarios para un CPU completo. no especializados. pero todavía consumía mucho menos espacio y energía que diseños anteriores de transistores discretos. IBM utilizó el concepto de microprograma. no fiables. como los usados en el computador guía del Apollo (Apollo Guidance Computer). Con esta mejora. Durante este período. incluso las hechas por el mismo fabricante. Digital Equipment Corporation (DEC) introdujo otro computador que sería muy influyente. fueron construidos CPU más complejos y más confiables sobre una o varias tarjetas de circuito impreso que contenían componentes discretos (individuales). como el IBM zSeries. ganó popularidad un método de fabricar muchos transistores en un espacio compacto. La primera de esas mejoras vino con el advenimiento del transistor. como las puertas NOR fueron miniaturizados en IC. La arquitectura System/360 era tan popular que dominó el mercado del mainframe durante las siguientes décadas y dejó una herencia que todavía aún perdura en las computadoras modernas. como los tubos de vacío y los relés eléctricos. Los circuitos integrados MSI y el LSI (de mediana y gran escala de integración) aumentaron el número de transistores a cientos.

usualmente solo uno. Los computadores basados en transistores tenían varias ventajas frente a sus predecesores. Aparte de facilitar una creciente fiabilidad y un menor consumo de energía. mientras que los CPU de transistores discretos y circuitos integrados se usaban comúnmente. el Intel 4004. Las generaciones previas de CPUs fueron implementadas como componentes discretos y numerosos circuitos integrados de pequeña escala de integración en una o más tarjetas de circuitos. esta clase de CPUs ha desplazado casi totalmente el resto de los métodos de implementación de la Unidad Central de Proceso. comenzaron a aparecer los nuevos diseños de alto rendimiento como procesadores vectoriales SIMD (Single Instruction Multiple Data) (Simple Instrucción Múltiples Datos). la primera implementación LSI del PDP-11 contenía un CPU integrado únicamente por cuatro circuitos integrados LSI. el Intel 8080. Estos primeros diseños experimentales dieron lugar más adelante a la era de las supercomputadoras especializadas. Además.eventualmente fue implementado con componentes LSI cuando se convirtieron en prácticos. significa tiempos de . el término "CPU" es aplicado ahora casi exclusivamente a los microprocesadores. Microprocesadores Microprocesador Intel 80486DX2 en un paquete PGA de cerámica Artículo principal: Microprocesador Desde la introducción del primer microprocesador. en 1971. Los fabricantes de mainframes y minicomputadores de ese tiempo lanzaron programas de desarrollo de IC propietarios para actualizar sus más viejas arquitecturas de computador. Por otro lado. Combinado con el advenimiento y el eventual vasto éxito del ahora ubicuo computadora personal. en 1974. y eventualmente produjeron microprocesadores con conjuntos de instrucciones que eran compatibles hacia atrás con sus más viejos hardwares y softwares. y del primer microprocesador ampliamente usado. como los hechos por Cray Inc. como resultado de estar implementado en una simple pastilla. El tamaño más pequeño del CPU. Gracias tanto a esta creciente fiabilidad como al dramático incremento de velocidad de los elementos de conmutación que por este tiempo eran casi exclusivamente transistores. En fuerte contraste con sus precursores hechos con tecnología SSI y MSI. los microprocesadores son CPUs fabricados con un número muy pequeño de IC. los transistores también permitían al CPU operar a velocidades mucho más altas debido al corto tiempo de conmutación de un transistor en comparación a un tubo o relé. se fueron alcanzando frecuencias de reloj del CPU de decenas de megahertz.

conmutación más rápidos debido a factores físicos como el decrecimiento de la capacitancia parásita de las puertas. Esto ha permitido que los microprocesadores síncronos tengan tiempos de reloj con un rango de decenas de megahercios a varios gigahercios. Adicionalmente, como ha aumentado la capacidad de construir transistores excesivamente pequeños en un IC, la complejidad y el número de transistores en un simple CPU también se ha incrementado dramáticamente. Esta tendencia ampliamente observada es descrita por la ley de Moore, que ha demostrado hasta la fecha, ser una predicción bastante exacta del crecimiento de la complejidad de los CPUs y otros IC. Mientras que, en los pasados sesenta años han cambiado drásticamente, la complejidad, el tamaño, la construcción, y la forma general del CPU, es notable que el diseño y el funcionamiento básico no ha cambiado demasiado. Casi todos los CPU comunes de hoy se pueden describir con precisión como máquinas de programa almacenado de von Neumann. A medida que la ya mencionada ley del Moore continúa manteniéndose verdadera, se han presentado preocupaciones sobre los límites de la tecnología de transistor del circuito integrado. La miniaturización extrema de puertas electrónicas está causando los efectos de fenómenos que se vuelven mucho más significativos, como la electromigración, y el subumbral de pérdida. Estas más nuevas preocupaciones están entre los muchos factores que hacen a investigadores estudiar nuevos métodos de computación como la computadora cuántica, así como ampliar el uso de paralelismo, y otros métodos que extienden la utilidad del modelo clásico de von Neumann. Operación del CPU La operación fundamental de la mayoría de los CPU, es ejecutar una secuencia de instrucciones almacenadas llamadas "programa". El programa es representado por una serie de números que se mantentienen en una cierta clase de memoria de computador. Hay cuatro pasos que casi todos los CPU de arquitectura de von Neumann usan en su operación: fetch, decode, execute, y writeback, (leer, decodificar, ejecutar, y escribir).

Diagrama mostrando como es decodificada una instrucción del MIPS32. (MIPS Technologies 2005) El primer paso, leer (fetch), implica el recuperar una instrucción, (que es representada por un número o una secuencia de números), de la memoria de programa. La localización en la memoria del programa es determinada por un contador de programa (PC), que almacena un número que identifica la posición actual en el programa. En otras palabras, el contador de programa indica al CPU, el lugar de la instrucción en el programa actual. Después de que se lee una instrucción, el Contador de Programa es incrementado por la longitud de la palabra de instrucción en términos de unidades de memoria.2 Frecuentemente la instrucción a ser leída debe ser recuperada de memoria relativamente lenta, haciendo detener al CPU mientras espera que la instrucción sea retornada. Este problema es tratado en procesadores modernos en gran parte por los cachés y las arquitecturas pipeline (ver abajo). La instrucción que el CPU lee desde la memoria es usada para determinar qué deberá hacer el CPU. En el paso de decodificación, la instrucción es dividida en partes que tienen significado para otras unidades del CPU. La manera en que el valor de la instrucción numérica es interpretado está definida por la arquitectura del conjunto de instrucciones (el ISA) del CPU.3 A menudo, un grupo de números en la instrucción, llamados opcode, indica qué operación realizar. Las partes restantes del número usualmente proporcionan información requerida para esa instrucción, como por ejemplo, operandos para una operación de adición. Tales operandos se pueden dar como un valor constante (llamado valor inmediato), o como un lugar para localizar un valor, que según lo determinado por algún modo de dirección, puede ser un registro o una dirección de memoria. En diseños más viejos las unidades del CPU responsables de decodificar la instrucción eran dispositivos de hardware fijos. Sin embargo, en CPUs e ISAs más abstractos y complicados, es frecuentemente usado un microprograma para ayudar a traducir instrucciones en varias señales de configuración para el CPU. Este microprograma es a veces reescribible de tal manera que puede ser modificado para cambiar la manera en que el CPU decodifica instrucciones incluso después de que haya sido fabricado.

Diagrama de bloques de un CPU simple Después de los pasos de lectura y decodificación, es llevado a cabo el paso de la ejecución de la instrucción. Durante este paso, varias unidades del CPU son conectadas de tal manera que ellas pueden realizar la operación deseada. Si, por ejemplo, una operación de adición fue solicitada, una unidad aritmético lógica (ALU) será conectada a un conjunto de entradas y un conjunto de salidas. Las entradas proporcionan los números a ser sumados, y las salidas contendrán la suma final. La ALU contiene la circuitería para realizar operaciones simples de aritmética y lógica en las entradas, como adición y operaciones de bits (bitwise). Si la operación de adición produce un resultado demasiado grande para poder ser manejado por el CPU, también puede ser ajustada una bandera (flag) de desbordamiento aritmético localizada en un registro de banderas (ver abajo la sección sobre rango de números enteros). El paso final, la escritura (writeback), simplemente "escribe" los resultados del paso de ejecución a una cierta forma de memoria. Muy a menudo, los resultados son escritos a algún registro interno del CPU para acceso rápido por subsecuentes instrucciones. En otros casos los resultados pueden ser escritos a una memoria principal más lenta pero más barata y más grande. Algunos tipos de instrucciones manipulan el contador de programa en lugar de directamente producir datos de resultado. Éstas son llamadas generalmente "saltos" (jumps) y facilitan comportamientos como bucles (loops), la ejecución condicional de programas (con el uso de saltos condicionales), y funciones en programas.4 Muchas instrucciones también cambiarán el estado de dígitos en un registro de "banderas". Estas banderas pueden ser usadas para influenciar cómo se comporta un programa, puesto que a menudo indican el resultado de varias operaciones. Por ejemplo, un

de acuerdo a cuál es el mayor. para representar números internamente. Algunas otras computadoras han usado sistemas de numeración más exóticos como el ternario (base tres). decodificadas. Algunas de las primeras calculadoras digitales usaron. Casi todos los CPU modernos representan los números en forma binaria. un modelo eléctrico del sistema de numeración decimal común (base diez). el contador de programa será modificado para contener la dirección de la instrucción a la cual se saltó. En CPUs más complejos que el descrito aquí. Esta sección describe lo que es referido generalmente como el "entubado RISC clásico" (Classic RISC pipeline). a menudo llamados microcontroladores. Si la instrucción completada era un salto. el proceso entero se repite con el siguiente ciclo de instrucción.5 Diseño e implementación Artículo principal: Diseño del CPU Prerrequisitos Arquitectura informática Circuitos digitales [editar] Rango de enteros La manera en que un CPU representa los números es una opción de diseño que afecta las más básicas formas en que el dispositivo funciona.tipo de instrucción de "comparación" considera dos valores y fija un número. un diseño extremadamente popular de 8 bits. y ejecutadas simultáneamente. como un voltaje "alto" o "bajo". esta bandera puede ser usada por una posterior instrucción de salto para determinar el flujo de programa.6 Microprocesador MOS 6502 en un dual in-line package (encapasulado en doble línea). Después de la ejecución de la instrucción y la escritura de los datos resultantes. que de hecho es bastante común entre los CPU simples usados en muchos dispositivos electrónicos. normalmente leyendo la siguiente instrucción en secuencia debido al valor incrementado en el contador de programa. y la ejecución del programa continúa normalmente. . Entonces. múltiples instrucciones pueden ser leídas. en el registro de banderas. en donde cada dígito es representado por una cierta cantidad física de dos valores.

Ésta es una vista muy simple del espacio de dirección del CPU. Los microcontroladores más simples son generalmente más baratos. a menudo se llama "tamaño de la palabra". 32. son más significativos y con frecuencia afectan las opciones del diseño. "ancho de bits". la cantidad máxima de memoria que el CPU puede direccionar es 232 octetos. 64. Niveles más altos del rango de números enteros requieren más estructuras para manejar los dígitos adicionales. e incluso 128 bits). pero usó precisión de 128 bits dentro de sus unidades de coma flotante para facilitar mayor exactitud y rango de . y cada dirección de memoria representa a un octeto (8 bits). o dígitos) que un CPU usa para representar los números.7 El rango del número entero también puede afectar el número de posiciones en memoria que el CPU puede direccionar (localizar). El número de bits (o de posiciones numéricas. Por ejemplo. usan menos energía. y a menudo dentro de diferentes unidades del mismo CPU. y por lo tanto. Por ejemplo. un CPU de 8 bits maneja un rango de números que pueden ser representados por ocho dígitos binarios. o 4 GB. como más altas. Este número difiere entre las arquitecturas. cada dígito teniendo dos valores posibles. tamaño. en aplicaciones del extremo alto. los beneficios producidos por el rango adicional. Por ejemplo. muchas CPUs están diseñadas con anchos de bit diferentes para diferentes unidades del dispositivo. si un CPU binario utiliza 32 bits para representar una dirección de memoria. más complejidad. aun cuando están disponibles CPU con un rango mucho más alto (de 16. En efecto. ver microcontroladores de 4 y 8 bits usados en aplicaciones modernas. "ancho de ruta de datos". uso de energía. (más a menudo el espacio de dirección adicional). un bit se refiere a una posición significativa en los números con que trabaja un CPU. Todo esto pueden ser consideraciones de diseño importantes para los dispositivos electrónicos. el IBM System/370 usó un CPU que fue sobre todo de 32 bits. y por lo tanto disipan menos calor. Sin embargo.Con la representación numérica están relacionados el tamaño y la precisión de los números que un CPU puede representar. y en combinación los 8 bits teniendo 28 ó 256 números discretos. y muchos diseños modernos usan métodos de dirección mucho más complejos como paginación para localizar más memoria que su rango entero permitiría con un espacio de dirección plano. Por ello. En el caso de un CPU binario. Para ganar algunas de las ventajas proporcionadas por las longitudes de bits tanto más bajas. o "precisión del número entero" cuando se ocupa estrictamente de números enteros (en oposición a números de coma flotante). no es del todo infrecuente. el tamaño del número entero fija un límite de hardware en el rango de números enteros que el software corre y que el CPU puede usar directamente. y generalmente costo.

aun cuando algunas unidades de la misma son mucho más rápidas. un componente que está cambiando de . y de hecho. es la cantidad de calor que es disipado por el CPU. Esta limitación ha sido compensada en gran parte por varios métodos de aumentar el paralelismo del CPU (ver abajo). conocida como señal de reloj. Esto ha conducido que muchos CPU modernos requieran que se les proporcione múltiples señales de reloj idénticas. Al fijar el período del reloj a un valor bastante mayor sobre el retardo de la propagación del peor caso. o propagarse en el peor de los casos. Muchos diseños posteriores de CPU usan una mezcla de ancho de bits similar. Sin embargo. es posible diseñar todo el CPU y la manera que mueve los datos alrededor de los "bordes" de la subida y bajada de la señal del reloj. para evitar retardar una sola señal lo suficiente como para hacer al CPU funcionar incorrectamente. especialmente cuando el procesador está diseñado para usos de propósito general donde se requiere un razonable equilibrio entre la capacidad de números enteros y de coma flotante. una señal de reloj está sujeta a los retardos de cualquier otra señal eléctrica. Esta señal. Otro importante problema cuando la velocidad del reloj aumenta dramáticamente.números de coma flotante. las mejoras arquitectónicas por sí solas. la mayoría de los dispositivos de lógica secuencial. En general. La señal del reloj cambia constantemente. esto también tiene la desventaja que todo el CPU debe esperar por sus elementos más lentos. no solucionan todas las desventajas de CPUs globalmente síncronas. Por ejemplo. Esto tiene la ventaja de simplificar el CPU significativamente. Frecuencia de reloj Artículo principal: Frecuencia de reloj La mayoría de los CPU. como en una perspectiva de cantidad de componentes. Sin embargo. provocando la conmutación de muchos componentes (cambio de estado) sin importar si están siendo usados en ese momento. los diseñadores pueden seleccionar un período apropiado para la señal del reloj. usualmente toma la forma de una onda cuadrada periódica. Velocidades de reloj más altas en CPUs cada vez más complejas hacen más difícil de mantener la señal del reloj en fase (sincronizada) a través de toda la unidad. tanto en una perspectiva de diseño. son de naturaleza síncrona. están diseñados y operan en función de una señal de sincronización. Este período debe ser más largo que la cantidad de tiempo que toma a una señal moverse.8 Es decir. Calculando el tiempo máximo en que las señales eléctricas pueden moverse en las varias bifurcaciones de los muchos circuitos de un CPU.

Este tipo de CPU. En lugar de remover totalmente la señal del reloj. Aunque algo infrecuente. que implica apagar la señal del reloj a los componentes innecesarios. Sin embargo. es evidente que por lo menos sobresalen en las más simples operaciones matemáticas. Por lo tanto. Paralelismo Artículo principal: Computación paralela Modelo de un CPU subescalar. los diseños asincrónicos (o sin reloj) tienen marcadas ventajas en el consumo de energía y la disipación de calor. considerablemente más complejo el proceso del diseño. que implementa la arquitectura del ARM. usualmente referido como subescalar. Esto. compatible con el MIPS R3000. así lo hace también la disipación de calor. Mientras que no está completamente claro si los diseños totalmente asincrónicos pueden desempeñarse a un nivel comparable o mejor que sus contrapartes síncronas. La descripción de la operación básica de un CPU ofrecida en la sección anterior describe la forma más simple que puede tomar un CPU. usa más energía que un elemento en un estado estático. usar ALUs asincrónicas en conjunción con pipelining superescalar para alcanzar algunas ganancias en el desempeño aritmético. CPUs completas se han construido sin utilizar una señal global de reloj. en comparación con diseños síncronos similares. efectivamente desactivándolos. de muchas maneras. y el MiniMIPS. opera sobre y ejecuta una sola instrucción con una o dos piezas de datos a la vez. Un método de tratar la conmutación de componentes innecesarios se llama el clock gating. los hace muy adecuados para sistemas embebidos. Dos notables ejemplos de esto son el AMULET. a medida que la velocidad del reloj aumenta. . esto es frecuentemente considerado como difícil de implementar y por lo tanto no ve uso común afuera de diseños de muy baja potencia. algunos diseños de CPU permiten a ciertas unidades del dispositivo ser asincrónicas. como por ejemplo. causando que el CPU requiera soluciones de enfriamiento más efectivas. Mientras que quitar la señal global del reloj hace.estado.9 10 Otro método de tratar algunos de los problemas de una señal global de reloj es la completa remoción de la misma. Note que toma quince ciclos para terminar tres instrucciones. combinado con sus excelentes características de consumo de energía y disipación de calor.

en inglés thread level parallelism (TLP). • • El paralelismo a nivel de instrucción. que se propone incrementar el número de hilos (efectivamente programas individuales) que un CPU pueda ejecutar simultáneamente. Como resultado. Cada metodología se diferencia tanto en las maneras en las que están implementadas. busca aumentar la tasa en la cual las instrucciones son ejecutadas dentro de un CPU. han resultado en una variedad de metodologías de diseño que hacen comportarse al CPU menos linealmente y más en paralelo. en donde los recursos de ejecución del CPU pueden operar con solamente una instrucción a la vez. solo puede. alcanzar el desempeño escalar (una instrucción por ciclo de reloj). posiblemente. Cuando se refiere al paralelismo en los CPU.11 ILP: Entubado de instrucción y arquitectura superescalar Artículo principal: Entubado de instrucción y superescalar Tubería básica de cinco etapas. es decir. . En lugar de un camino quedando congelado. generalmente son usados dos términos para clasificar estas técnicas de diseño. Puesto que solamente una instrucción es ejecutada a la vez. esta tubería puede sostener un ratio de completado de una instrucción por ciclo. el CPU subescalar queda "paralizado" en instrucciones que toman más de un ciclo de reloj para completar su ejecución. en inglés Instruction Level Parallelism (ILP). aumentar la utilización de los recursos de ejecución en la pastilla El paralelismo a nivel de hilo de ejecución. Incluso la adición de una segunda unidad de ejecución (ver abajo) no mejora mucho el desempeño. todo el CPU debe esperar que esa instrucción se complete antes de proceder a la siguiente instrucción. el desempeño casi siempre es subescalar (menos de una instrucción por ciclo). como en la efectividad relativa que producen en el aumento del desempeño del CPU para una aplicación.Este proceso da lugar a una ineficacia inherente en CPUs subescalares. Las tentativas de alcanzar un desempeño escalar y mejor. Este diseño. En el mejor de los casos. Sin embargo. ahora dos caminos se paralizan y aumenta el número de transistores no usados.

son despachadas a las unidades de ejecución disponibles. De ser así. Naturalmente. Un procesador entubado puede llegar a ser casi completamente escalar. lograr esto requiere circuitería adicional. pero no mucho. y si esto ocurre. Una mejora adicional sobre la idea del entubado de instrucción (instruction pipelining) condujo al desarrollo de un método que disminuye incluso más el tiempo ocioso de los componentes del CPU. Al dividir la ruta de ejecución en etapas discretas. En una tubería superescalar. Ésta es la forma más simple de una técnica conocida como instruction pipelining (entubado de instrucción). Para hacer frente a esto. la tubería permite que más de una instrucción sea ejecutada en cualquier tiempo. Tubería superescalar simple. en la cual una instrucción es hecha más completa en cada etapa hasta que sale de la tubería de ejecución y es retirada. que decide si las instrucciones se pueden o no ejecutar en paralelo (simultáneamente). y es utilizada en casi todos los CPU de propósito general modernos.Uno de los más simples métodos usados para lograr incrementar el paralelismo es comenzar los primeros pasos de leer y decodificar la instrucción antes de que la instrucción anterior haya terminado de ejecutarse. la tubería introduce la posibilidad de una situación donde es necesario terminar el resultado de la operación anterior para completar la operación siguiente. múltiples instrucciones son leídas y pasadas a un despachador. debe ser tomado un cuidado adicional para comprobar estas clases de condiciones. un máximo de dos instrucciones por ciclo pueden ser completadas. Esta separación puede ser comparada a una línea de ensamblaje. Sin embargo. solamente inhibido por las abruptas paradas de la tubería (una instrucción durando más de un ciclo de reloj en una etapa). dando por resultado la capacidad para que varias instrucciones sean ejecutadas . una condición llamada a menudo como conflicto de dependencia de datos. Al leer y despachar dos instrucciones a la vez. se debe retrasar una porción de la tubería de instrucción. Diseños que se dice que son superescalares incluyen una larga tubería de instrucción y múltiples unidades de ejecución idénticas. los procesadores entubados son más complejos que los subescalares.

simultáneamente. En general, cuanto más instrucciones un CPU superescalar es capaz de despachar simultáneamente a las unidades de ejecución en espera, más instrucciones serán completadas en un ciclo dado. La mayor parte de la dificultad en el diseño de una arquitectura superescalar de CPU descansa en crear un despachador eficaz. El despachador necesita poder determinar rápida y correctamente si las instrucciones pueden ejecutarse en paralelo, tan bien como despacharlas de una manera que mantenga ocupadas tantas unidades de ejecución como sea posible. Esto requiere que la tubería de instrucción sea llenada tan a menudo como sea posible y se incrementa la necesidad, en las arquitecturas superescalares, de cantidades significativas de caché de CPU. Esto también crea técnicas para evitar peligros como la predicción de bifurcación, ejecución especulativa, y la ejecución fuera de orden, cruciales para mantener altos niveles de desempeño.

La predicción de bifurcación procura predecir qué rama (o trayectoria) tomará una instrucción condicional, el CPU puede minimizar el número de tiempos que toda la tubería debe esperar hasta que sea completada una instrucción condicional. La ejecución especulativa frecuentemente proporciona aumentos modestos del desempeño al ejecutar las porciones de código que pueden o no ser necesarias después de que una operación condicional termine. La ejecución fuera de orden cambia en algún grado el orden en el cual son ejecutadas las instrucciones para reducir retardos debido a las dependencias de los datos.

En el caso donde una porción del CPU es superescalar y una parte no lo es, la parte que no es superescalar sufre en el desempeño debido a las paradas de horario. El Intel Pentium original (P5) tenía dos ALUs superescalares que podían aceptar, cada una, una instrucción por ciclo de reloj, pero su FPU no podía aceptar una instrucción por ciclo de reloj. Así el P5 era superescalar en la parte de números enteros pero no era superescalar de números de coma (o punto [decimal]) flotante. El sucesor a la arquitectura del Pentium de Intel, el P6, agregó capacidades superescalares a sus funciones de coma flotante, y por lo tanto produjo un significativo aumento en el desempeño de este tipo de instrucciones. El entubado simple y el diseño superescalar aumentan el ILP de un CPU al permitir a un solo procesador completar la ejecución de instrucciones en ratios que sobrepasan una instrucción por ciclo (IPC).12 La mayoría de los modernos diseños de CPU son por lo menos algo superescalares, y en la última década, casi todos los diseños de CPU de propósito general son

superescalares. En los últimos años algo del énfasis en el diseño de computadores de alto ILP se ha movido del hardware del CPU hacia su interface de software, o ISA. La estrategia de la muy larga palabra de instrucción, very long instruction word (VLIW), causa a algún ILP a ser implícito directamente por el software, reduciendo la cantidad de trabajo que el CPU debe realizar para darle un empuje significativo al ILP y por lo tanto reducir la complejidad del diseño. TLP: ejecución simultánea de hilos Otra estrategia comúnmente usada para aumentar el paralelismo de los CPU es incluir la habilidad de correr múltiples hilos (programas) al mismo tiempo. En general, CPUs con alto TLP han estado en uso por mucho más tiempo que los de alto ILP. Muchos de los diseños en los que Seymour Cray fue pionero durante el final de los años 1970 y los años 1980 se concentraron en el TLP como su método primario de facilitar enormes capacidades de computación (para su tiempo). De hecho, el TLP, en la forma de mejoras en múltiples hilos de ejecución, estuvo en uso tan temprano como desde los años 1950. En el contexto de diseño de procesadores individuales, las dos metodologías principales usadas para lograr el TLP son, multiprocesamiento a nivel de chip, en inglés chip-level multiprocessing (CMP), y el multihilado simultáneo, en inglés simultaneous multithreading (SMT). En un alto nivel, es muy común construir computadores con múltiples CPU totalmente independientes en arreglos como multiprocesamiento simétrico (symmetric multiprocessing (SMP)) y acceso de memoria no uniforme (Non-Uniform Memory Access (NUMA)).13 Aunque son usados medios muy diferentes, todas estas técnicas logran la misma meta: incrementar el número de hilos que el CPU(s) puede correr en paralelo. Los métodos de paralelismo CMP y de SMP son similares uno del otro y lo más directo. Éstos implican algo más conceptual que la utilización de dos o más CPU completos y CPU independientes. En el caso del CMP, múltiples "núcleos" de procesador son incluidos en el mismo paquete, a veces en el mismo circuito integrado.14 Por otra parte, el SMP incluye múltiples paquetes independientes. NUMA es algo similar al SMP pero usa un modelo de acceso a memoria no uniforme. Esto es importante para los computadores con muchos CPU porque el tiempo de acceso a la memoria, de cada procesador, es agotado rápidamente con el modelo de memoria compartido del SMP, resultando en un significativo retraso debido a los CPU esperando por la memoria. Por lo tanto, NUMA es considerado un modelo mucho más escalable, permitiendo con éxito que en un computador sean usados muchos más CPU que los que pueda soportar de una manera

factible el SMP. El SMT se diferencia en algo de otras mejoras de TLP en que el primero procura duplicar tan pocas porciones del CPU como sea posible. Mientras es considerada una estrategia TLP, su implementación realmente se asemeja más a un diseño superescalar, y de hecho es frecuentemente usado en microprocesadores superescalares, como el POWER5 de IBM. En lugar de duplicar todo el CPU, los diseños SMT solamente duplican las piezas necesarias para lectura, decodificación, y despacho de instrucciones, así como cosas como los registros de propósito general. Esto permite a un CPU SMT mantener sus unidades de ejecución ocupadas más frecuentemente al proporcionarles las instrucciones desde dos diferentes hilos de software. Una vez más esto es muy similar al método superescalar del ILP, pero ejecuta simultáneamente instrucciones de múltiples hilos en lugar de ejecutar concurrentemente múltiples instrucciones del mismo hilo. Procesadores vectoriales y el SIMD Artículos principales: Procesador vectorial y SIMD Un menos común pero cada vez más importante paradigma de CPU (y de hecho, de computación en general) trata con vectores. Los procesadores de los que se ha hablado anteriormente son todos referidos como cierto tipo de dispositivo escalar.15 Como implica su nombre, los procesadores vectoriales se ocupan de múltiples piezas de datos en el contexto de una instrucción, esto contrasta con los procesadores escalares, que tratan una pieza de dato por cada instrucción. Estos dos esquemas de ocuparse de los datos son generalmente referidos respectivamente como SISD (Single Instruction, Single Data|) (Simple Instrucción, Simple Dato) y SIMD (Single Instruction, Multiple Data) (Simple Instrucción, Múltiples Datos). La gran utilidad en crear CPUs que se ocupen de vectores de datos radica en la optimización de tareas que tienden a requerir la misma operación, por ejemplo, una suma, o un producto escalar, a ser realizado en un gran conjunto de datos. Algunos ejemplos clásicos de este tipo de tareas son las aplicaciones multimedia (imágenes, vídeo, y sonido), así como muchos tipos de tareas científicas y de ingeniería. Mientras que un CPU escalar debe completar todo el proceso de leer, decodificar, y ejecutar cada instrucción y valor en un conjunto de datos, un CPU vectorial puede realizar una simple operación en un comparativamente grande conjunto de datos con una sola instrucción. Por supuesto, esto es solamente posible cuando la aplicación tiende a requerir muchos pasos que apliquen una operación a un conjunto grande de datos. La mayoría de los primeros CPU vectoriales, como el Cray-1, fueron asociados casi exclusivamente con aplicaciones de investigación científica

ya que muchas de las aplicaciones que se beneficiaban del SIMD trataban sobre todo con números de coma flotante. que generalmente están asociadas a un ISA.16 Véase también • • • • • • • • • • • • • • • • • • • • • Arquitectura de CPU Unidad de control Unidad aritmético lógica Unidad de coma flotante Coprocesador Bus interface unit Unidad de gestión de memoria Unidad de ejecución Unidad de proceso Registro (hardware) Microcódigo Barrel shifter Microprocesador CISC RISC Bus de computadora Bus de datos Bus de direcciones Bus de control Conjunto de instrucciones Diseño de CPU . Progresivamente. a medida que la multimedia se desplazó en gran parte a medios digitales. modernas especificaciones SIMD. éstos primeros diseños fueron refinados y rehechos en alguna de las comunes. como el MMX de Intel.y criptografía. fueron solamente para números enteros. ha llegado a ser significativa la necesidad de una cierta forma de SIMD en CPUs de propósito general. también comenzaron a aparecer especificaciones e implementaciones de unidades de ejecución SIMD para los CPU de uso general. Sin embargo. Algunos ejemplos modernos notables son el SSE de Intel y el AltiVec relacionado con el PowerPC (también conocido como VMX). Algunas de estas primeras especificaciones SIMD. Esto demostró ser un impedimento significativo para algunos desarrolladores de software. Poco después de que comenzara a ser común incluir unidades de coma flotante en procesadores de uso general.

like the Intel Itanium. Additionally. This is especially the case in heavily pipelined and superescalar architectures (see the relevant sections below). it is often used as a classification of the "type" of CPU. which accelerates the cathode contamination. such as x86. it is incremented by the number of memory units that the instruction word contains. Some CPU.• • • • • • • Estado de espera Ingeniería de computación Lista de procesadores AMD Athlon 64 Tipos de datos máquina Socket de CPU Voltaje del núcleo del CPU Enfriamiento del CPU Notas ↑ Vacuum tubes eventually stop functioning in the course of normal operation due to the slow contamination of their cathodes that occurs when the tubes are in 66u7i9 glp bhikmrj7uft67mp6rgt5mp7rpkwwtgmpktgmpklgtpmkrmkprmkprmk prrhwmkphrkpmpkrmpkuse. however this is often accomplished by software means rather than by designing the hardware to directly support both interfaces. effectively limiting the complexity of the programs they could run. 1. ↑ Because the instruction set architecture of a CPU is fundamental to its interface and usage. note that in more complex CPU. a fixed-length 32-bit instruction word ISA that uses 8-bit memory words would always increment the PC by 4 (except in the case of jumps). ↑ Since the program counter counts memory addresses and not instructions. (See emulator) 4. For example. incrementing the PC does not necessarily occur at the end of instruction execution. sometimes the tube's vacuum seal can form a leak. a "PowerPC CPU" uses some variant of the PowerPC ISA. this is always the same number. It is largely for this reason that these computers are often not considered to contain a CPU proper. For example. In the case of simple fixed-length instruction word ISAs. despite their close similarity as stored program computers. increment the PC by the number of memory words corresponding to the last instruction's length. See vacuum tube. Also. 3. . ISAs that use variable length instruction words. 2. ↑ Some early computers like the Harvard Mark I did not support any kind of "jump" instruction. can actually interpret instructions for more than one ISA.

↑ This description is, in fact, a simplified view even of the Classic RISC pipeline. It largely ignores the important role of CPU cache, and therefore the access stage of the pipeline. See the respective articles for more details. 6. ↑ The physical concept of voltage is an analog one by its nature, practically having an infinite range of possible values. For the purpose of physical representation of binary numbers, set ranges of voltages are defined as one or zero. These ranges are usually influenced by the operational parameters of the switching elements used to create the CPU, such as a transistor's threshold level. 7. ↑ While a CPU's integer size sets a limit on integer ranges, this can (and often is) overcome using a combination of software and hardware techniques. By using additional memory, software can represent integers many magnitudes larger than the CPU can. Sometimes the CPU's ISA will even facilitate operations on integers larger that it can natively represent by providing instructions to make large integer arithmetic relatively quick. While this method of dealing with large integers is somewhat slower than utilizing a CPU with higher integer size, it is a reasonable trade-off in cases where natively supporting the full integer range needed would be costprohibitive. See Arbitrary-precision arithmetic for more details on purely software-supported arbitrary-sized integers. 8. ↑ In fact, all synchronous CPU use a combination of sequential logic and combinatorial logic. (See boolean logic) 9. ↑ One notable late CPU design that uses clock gating is that of the IBM PowerPC-based Xbox 360. It utilizes extensive clock gating in order to reduce the power requirements of the aforementioned videogame console it is used in. 10. ↑ Brown, Jeffery (2005). «Application-customized CPU design». IBM developerWorks. Consultado el 17-12-2005. 11. ↑ It should be noted that neither ILP nor TLP is inherently superior over the other; they are simply different means by which to increase CPU parallelism. As such, they both have advantages and disadvantages, which are often determined by the type of software that the processor is intended to run. High-TLP CPU are often used in applications that lend themselves well to being split up into numerous smaller applications, so-called "embarrassingly parallel problems." Frequently, a computational problem that can be solved quickly with high TLP design strategies like SMP take significantly more time on high ILP devices like superescalar CPU, and vice versa. 12. ↑ Best-case scenario (or peak) IPC rates in very superscalar architectures are difficult to maintain since it is impossible to keep
5.

the instruction pipeline filled all the time. Therefore, in highly superscalar CPU, average sustained IPC is often discussed rather than peak IPC. 13. ↑ Even though SMP and NUMA are both referred to as "systems level" TLP strategies, both methods must still be supported by the CPU's design and implementation. 14. ↑ While TLP methods have generally been in use longer than ILP methods, Chip-level multiprocessing is more or less only seen in later IC-based microprocessors. This is largely because the term itself is inapplicable to earlier discrete component devices and has only come into use recently. For several years during the late 1990s and early 2000s, the focus in designing high performance general purpose CPU was largely on highly superescalar IPC designs, such as the Intel Pentium 4. However, this trend seems to be reversing somewhat now as major general-purpose CPU designers switch back to less deeply pipelined high-TLP designs. This is evidenced by the proliferation of dual and multi core CMP designs and notably, Intel's newer designs resembling its less superescalar P6 architecture. Late designs in several processor families exhibit CMP, including the x86-64 Opteron and Athlon 64 X2, the SPARC UltraSPARC T1, IBM POWER4 and POWER5, as well as several video game console CPU like the Xbox 360's triple-core PowerPC design. 15. ↑ Earlier the term scalar was used to compare most the IPC (instructions per cycle) count afforded by various ILP methods. Here the term is used in the strictly mathematical sense to contrast with vectors. See scalar (mathematics) and vector (spatial). 16. ↑ Although SSE/SSE2/SSE3 have superseded MMX in Intel's general purpose CPU, later IA-32 designs still support MMX. This is usually accomplished by providing most of the MMX functionality with the same hardware that supports the much more expansive SSE instruction sets.

Periféricos Artículo principal: Periféricos Se entiende por periférico a las unidades o dispositivos que permiten a la computadora comunicarse con el exterior, esto es, tanto ingresar como exteriorizar información y datos.10 Los periféricos son los que permiten realizar las operaciones conocidas como de entrada/salida (E/S).11 Aunque son estrictamente considerados “accesorios” o no esenciales, muchos de ellos son fundamentales para el funcionamiento adecuado de la computadora moderna; por ejemplo, el teclado, el disco duro y el monitor son elementos actualmente imprescindibles; pero no lo son un escáner o un plóter. Para ilustrar este punto: en los años 80, muchas de las primeras computadoras personales no utilizaban disco duro ni mouse (o ratón), tenían sólo una o dos disqueteras, el teclado y el monitor como únicos periféricos. Dispositivos de entrada de información (E) Teclado para PC inalámbrico. Ratón (Mouse) común alámbrico. De esta categoría son aquellos que permiten el ingreso de información, en general desde alguna fuente externa o por parte del usuario. Los dispositivos de entrada proveen el medio fundamental para transferir hacia la computadora (más propiamente al procesador) información desde alguna fuente, sea local o remota. También permiten cumplir la esencial tarea de leer y cargar en memoria el sistema operativo y las aplicaciones o programas informáticos, los que a su vez ponen operativa la computadora y hacen posible realizar las más diversas tareas.11 Entre los periféricos de entrada se puede mencionar:10 teclado, mouse o ratón, escáner, micrófono, cámara web , lectores ópticos de código de barras, Joystick, lectora de CD, DVD o BluRay (sólo lectoras), placas de adquisición/conversión de datos, etc. Pueden considerarse como imprescindibles para el funcionamiento, (de manera como hoy se concibe la informática) al teclado, al ratón y algún dispositivo lector de discos; ya que tan sólo con ellos el hardware puede ponerse operativo para un usuario. Los otros son más bien accesorios, aunque en la actualidad pueden resultar de tanta necesidad que son considerados parte esencial de todo el sistema.

10 Entre los periféricos de salida puede considerarse como imprescindible para el funcionamiento del sistema.15 Los dispositivos de almacenamiento masivo10 también son conocidos como "Memorias Secundarias o Auxiliares". además de tener la suficiente capacidad para albergar información y datos en grandes volúmenes por tiempo prácticamente indefinido. etc. aunque accesorios. tales como: Tarjetas de Memoria flash o unidad de estado sólido.10 Si bien se puede clasificar al pendrive (lápiz de memoria). siendo todos de categoría Entrada/Salida. Dispositivos mixtos (E/S de información) Piezas de un Disco duro. todas las aplicaciones. otras unidades. También entran en este rango. son sumamente necesarios para un usuario que opere un computador moderno. normalmente se los utiliza como dispositivos de almacenamiento masivo. disquetes. el disco duro ocupa un lugar especial. utilitarios. Los dispositivos de salida aportan el medio fundamental para exteriorizar y comunicar la información y datos procesados. de correo electrónico y de redes con bases de datos. tarjetas de captura/salida de vídeo. se puede mencionar como periféricos mixtos o de Entrada/Salida a: discos rígidos. Entre ellos. y los altavoces. Son aquellos dispositivos que pueden operar de ambas formas: tanto de entrada como de salida. las impresoras. con sutil diferencia. tarjetas de red.11 Típicamente. memoria flash o memoria USB o unidades de estado sólido en la categoría de memorias. etc. que utiliza el usuario. unidades de cinta magnética. utilizan discos rígidos de grandes . etc. al monitor. Dispositivos de salida de información (S) Son aquellos que permiten emitir o dar salida a la información resultante de las operaciones realizadas por la CPU (procesamiento).11 Los dispositivos más comunes de este grupo son los monitores clásicos (no de pantalla táctil).Impresora de inyección de tinta. discos ZIP. sin duda. Los servidores Web. lecto-grabadoras de CD/DVD. ya que es el de mayor importancia en la actualidad. ya sea al usuario o bien a otra fuente externa. Otros. módems. en el que se aloja el sistema operativo. local o remota.

SATA. Artículo principal: Tarjeta gráfica El hardware gráfico lo constituyen básicamente las tarjetas gráficas. El objetivo básico de la GPU es realizar los cálculos asociados a operaciones gráficas. capacidad de redundancia de datos RAID. lo que incrementa notablemente su eficiencia. La tendencia en los últimos años es integrar los sistemas gráficos dentro del propio procesador central. Dichos componentes disponen de su propia memoria y unidad de procesamiento. y en las unidades de estado sólido son SATA y PCIExpress ya que necesitan grandes anchos de banda. . no obstante. incluso utilizan tecnologías híbridas: disco rígido y unidad de estado sólido. normalmente. Hardware gráfico GPU de Nvidia GeForce. 16 liberando así al procesador principal (CPU) de esa costosa tarea (en tiempo) para que éste pueda efectuar otras funciones en forma más eficiente. La pantalla táctil (no el monitor clásico) es un dispositivo que se considera mixto. presentes mayoritariamente en equipos portátiles o en equipos prefabricados (OEM). esta última llamada unidad de procesamiento gráfico (o GPU. los cuales generalmente. y buena parte de la memoria principal (RAM) de la computadora también era utilizada para estos fines. siglas en inglés de Graphics Processing Unit).capacidades y con una tecnología que les permite trabajar a altas velocidades como SCSI incluyendo también. son más que suficiente para cubrir las necesidades de la mayoría de los usuarios de un PC. Antes de esas tarjetas de vídeo con aceleradores por hardware. Dentro de ésta categoría no se deben omitir los sistemas gráficos integrados (IGP). por ejemplo. ya que además de mostrar información y datos (salida) puede actuar como un dispositivo de entrada. no disponen de una memoria dedicada. utilizando para su función la memoria principal del sistema. era el procesador principal el encargado de construir la imagen mientras la sección de vídeo (sea tarjeta o de la placa base) era simplemente un traductor de las señales binarias a las señales requeridas por el monitor. a algunas funciones del ratón o del teclado. SCSI y SAS. Las interfaces actuales más usadas en discos duros son: IDE. reemplazando. a diferencia de las tarjetas gráficas. fundamentalmente en coma flotante. Los procesadores gráficos integrados (IGP) generalmente son de un rendimiento y consumo notablemente más bajo que las GPU de las tarjetas gráficas dedicadas.

Barcelona : Marcombo. Torres . ↑ «Origen de las generaciones». ↑ «Diario de Ciencia y Tecnología». -. Prieto y otros . «My PDP-11/44» (en inglés). ↑ Jörg Hoppes. Cap. relativamente reciente. ya que en potencia de cálculo la GPU es superior. ↑ «Robotics and Automation Society».956 p.3ra Ed. de rápido acceso / Klaus Dembowski. 8. 9. más rápida y eficiente que el procesador para operaciones en coma flotante.3ra Ed.ISBN 84-267-1263-0 1.. se le denomina GPGPU (General-Purpose Computing on Graphics Processing Units). Universidad de Columbia. 4. ↑ «Definición de Hardware por la RAE». 2000(c). The IEEE Robotics and Automation Society. al concepto.. McGraw-Hill. duplicando. (c)2003. -. ↑ «Computation of Customized Symbolic robot models on peripheral array processors». McGraw-Hill. (c)2003. por ello se está tratando de aprovecharla para propósitos generales. . ↑ «¿ Cuáles son las Generaciones de la Computadora ?». la evolución en el procesamiento gráfico ha tenido un crecimiento vertiginoso. Diccionario de la lengua española. Portal de tecnología. ↑ «Esquemas del funcionamiento de la computadora . 6. La Ley de Moore establece que cada 18 a 24 meses la cantidad de transistores que puede contener un circuito integrado se logra duplicar.. 7. ↑ a b c d e f «Introducción a la Informática».17 Desde la década de 1990. 10. en el caso de los GPU esta tendencia es bastante más notable. -. las actuales animaciones por computadoras y videojuegos eran impensables veinte años atrás. 1». IEEE Xplore. Véase también • • • • • Historia del hardware de computador Arquitectura de computadoras Arquitectura de von Neumann Hardware libre Software Referencias ↑ «MasterMagazine». ↑ a b c d e Hardware : información sobre la totalidad del hardware. 3. 2.Actualmente se están empezando a utilizar las tarjetas gráficas con propósitos no exclusivamente gráficos. o aún más. 11. lo indicado en la ley de Moore. 5. Prieto. : il.Figuras. Lloris.

↑ «Procesadores gráficos como supercomputadores de consumo».Micro IEEE. están comunicadas entre sí por tres buses o canales de comunicación: • • • direcciones. 13. Estas tres unidades básicas en un computador. básicamente para seleccionar la operación a realizar sobre el dato (principalmente lectura. 16. ↑ «Computer Graphics and Aplications». Monografias.Memorias Flash USB». por donde circulan los datos. 17. . Diccionario informático. sin pertenecer al núcleo fundamental de la computadora. como a los sistemas que almacenan o archivan la información. A. Periféricos . 15."Introducción a la Informática".↑ «The Microprocessor Today». memoria central y el subsistema de E/S. permitan realizar operaciones de entrada/salida (E/S) complementarias al proceso de datos que realiza la CPU.com. Se consideran periféricos tanto a las unidades o dispositivos a través de los cuales la computadora se comunica con el mundo exterior. Michael Slater. IEEE Xplore. Una vez que hayas realizado la fusión de artículos. búsqueda Se ha sugerido que periférico de entrada sea fusionado en este artículo o sección (discusión). para seleccionar la dirección del dato o del periférico al que se quiere acceder. se denomina periféricos a los aparatos o dispositivos auxiliares e independientes conectados a la unidad central de procesamiento de una computadora. ↑ «Memoria pincipal del computador». CPU. En informática. Stanford University . ↑ «Definición de Motherboard». pide la fusión de historiales aquí. sirviendo de memoria auxiliar de la memoria principal. ↑ «Periféricos de computadores .Prieto (c) McGrawHill Interamericana. la enciclopedia libre Saltar a: navegación. Supercomputación de consumo. formado por la CPU y la memoria central. Periférico De Wikipedia.[cita requerida] Se entenderá por periférico al conjunto de dispositivos que. 14. control. escritura o modificación) y datos. 12.

4 Periféricos de comunicación 2 Enlaces externos • Tipos de periféricos Los periféricos pueden clasificarse en 5 categorías principales: • • Periféricos de entrada: captan y digitalizan los datos de ser necesario. Sin embargo. sistema operativo de la Macintosh de Apple y la posterior aparición de Windows cuando el ratón comenzó a ser un elemento imprescindible en cualquier hogar dotado de una computadora personal. El ratón o mouse es posiblemente el ejemplo más claro de este aspecto. El sistema operativo MS-DOS. todo se hacía mediante comandos de texto. introducidos por el usuario o por otro dispositivo y los envían al ordenador para ser procesados. El teclado y el monitor. algunos sistemas básicos de UNIX y GNU/Linux.A pesar de que el término periférico implica a menudo el concepto de “adicional pero no esencial”. comunicar. de la misma forma se encargan de convertir los impulsos eléctricos en información legible para el usuario. proyectar o dar al usuario cierta información. muchos de ellos son elementos fundamentales para un sistema informático. Fue con la popularización de Finder. tenía una interfaz de línea de comandos para la que no era necesaria el empleo de un ratón. alertar.3 Periféricos de almacenamiento o 1. imprescindibles en cualquier computadora personal de hoy en día (no lo fueron en los primeros computadores). Hace menos de 20 años no todos las computadora personales incluían este dispositivo. Periféricos de salida: son dispositivos que muestran o proyectan información hacia el exterior del ordenador. no todos de este tipo de periféricos es información para el usuario. Contenido [ocultar] • 1 Tipos de periféricos o 1. . por ejemplo.1 Periféricos de entrada o 1. el más común en esa época.2 Periféricos de salida o 1. Actualmente existen sistemas operativos con interfaz de texto que pueden prescindir del ratón como. son posiblemente los periféricos más comunes. y es posible que mucha gente no los considere como tal debido a que generalmente se toman como parte necesaria de una computadora. La mayoría son para informar.

Los periféricos de entrada/salida son los que utiliza el ordenador tanto para mandar como para recibir información. Son ejemplos de periférico de entrada/salida o de almacenamiento: • • • • • • • • • • • • • • • Disco duro Grabadora y/o lector de CD Grabadora y/o lector de DVD Impresora Memoria flash Cintas magnéticas Memoria portátil Disquete Pantalla táctil Casco virtual Grabadora y/o lector de CD Grabadora y/o lector de DVD Grabadora y/o lector de Blu-ray Grabadora y/o lector de HD-DVD Periféricos de almacenamiento: son los dispositivos que almacenan datos e información por bastante tiempo.• Periféricos de entrada/salida (E/S): sirven básicamente para la comunicación de la computadora con el medio externo. siendo la principal . ya sea para trabajar en conjunto. La memoria de acceso aleatorio no puede ser considerada un periférico de almacenamiento. Los periféricos de entrada más habituales son: • • Teclado Micrófono . ya que su memoria es volátil y temporal. • Periféricos de entrada Artículo principal: Periférico de entrada Ratón. Su función es la de almacenar o guardar. de forma permanente o virtual. o para enviar y recibir información. Son los que permiten introducir datos externos a la computadora para su posterior tratamiento por parte de la CPU. Estos datos pueden provenir de distintas fuentes. Periféricos de comunicación: son los periféricos que se encargan de comunicarse con otras máquinas o computadoras. un ser humano. todo aquello que hagamos con el ordenador para que pueda ser utilizado por los usuarios u otros sistemas.

ya que ésta se borra cada vez que se apaga la computadora. Los más comunes son: • • • • • • • • • • • Disco duro Disquete Unidad de CD Unidad de DVD Unidad de Blu-ray Disc Memoria flash Memoria USB Cinta magnética Tarjeta perforada Memoria portátil Otros dispositivos de almacenamiento: o Zip (Iomega): Caben 100 Mb y utiliza tecnología magnética. como un CD.• • • • • • Escáner Ratón o mouse Escáner de código de barras Cámara web Lápiz óptico Cámara digital Periféricos de salida Son los que reciben la información procesada por la CPU y la reproducen. como un disco duro. Pueden ser internos. para que ésta pueda hacer uso de ellos una vez que han sido eliminados de la memoria principal. Algunos ejemplos son: • • • • • • • Visualizador o Monitor Impresora Fax Tarjeta de sonido Altavoz Proyector Digital Audífonos Periféricos de almacenamiento Interior de un disco duro. o extraíbles. Se encargan de guardar los datos de los que hace uso la CPU. de modo que sea perceptible por el usuario. o EZFlyer (SyQuest): Caben 230 Mb y tiene una velocidad de lectura muy alta .

implementa lo fundamental del modelo de computadora de Arquitectura de von Neumann.o o o SuperDisk LS-120: Caben 200 Mb y utilizan tecnología magneto-óptica. la memoria (también llamada almacenamiento) se refiere a parte de los componentes que forman parte de una computadora. Son dispositivos que retienen datos informáticos durante algún intervalo de tiempo. Periféricos de comunicación Su función es permitir o facilitar la interacción entre dos o más computadoras. la retención o almacenamiento de información. central processing unit). En la actualidad. Es uno de los componentes fundamentales de todas las computadoras modernas que. memoria suele referirse a una forma de almacenamiento de estado sólido conocido como memoria RAM (memoria de acceso aleatorio. RAM por sus siglas en inglés random access memory) y otras veces se refiere a otras formas de almacenamiento rápido pero temporal. usado desde los años 1940. Entre ellos se encuentran los siguientes: • • • • • • • Fax-Módem Tarjeta de red Concentrador Conmutador Enrutador Tarjeta inalámbrica Tarjeta Bluetooth Memoria (informática) De Wikipedia. la enciclopedia libre Saltar a: navegación. búsqueda En informática. se refiere a formas de almacenamiento masivo como discos ópticos y tipos de almacenamiento magnético como discos duros y . De forma similar. o entre una computadora y otro periférico externo a la computadora. acoplados a una unidad central de procesamiento (CPU por su sigla en inglés. Las memorias de computadora proporcionan una de las principales funciones de la computación moderna. Magneto-ópticos de 3.5: Caben de 128 Mb a 640 Mb Jaz (Iomega): Similar al dispositivo Zip y con capacidad de 1 GB a 2 GB.

2 Habilidad para acceder a información no contigua o 2. para memorias de acceso aleatorio. y "almacenamiento secundario" para dispositivos de almacenamiento masivo.2 Memoria de semiconductor o 3. Esto se explica en las siguientes secciones.1 Almacenamiento primario o 1. que se ha ido diluyendo por el uso histórico de los términos "almacenamiento primario" (a veces "almacenamiento principal").3.3 Habilidad para cambiar la información o 2. pero de naturaleza más permanente.1 Memorias magnéticas o 3.1 Volatilidad de la información o 2.2 Almacenamiento secundario o 1.5 Almacenamiento de red 2 Características de las memorias o 2.otros tipos de almacenamiento más lentos que las memorias RAM. se refleja una diferencia técnica importante y significativa entre memoria y dispositivos de almacenamiento masivo.4 Direccionamiento de la información o 2. en las que el término tradicional "almacenamiento" se usa como subtítulo por conveniencia.5 Otros métodos propuestos 4 Referencias 5 Véase también 6 Enlaces externos Propósitos del almacenamiento .4 Almacenamiento fuera de línea o 1.3 Memorias de disco óptico  3. dispositivos y medios o 3. Contenido [ocultar] • • • • • • 1 Propósitos del almacenamiento o 1. Además.5 Capacidad de memoria 3 Tecnologías.3 Almacenamiento terciario o 1. Estas distinciones contemporáneas son de ayuda porque son fundamentales para la arquitectura de computadores en general.1 Memorias de discos magneto-ópticos o 3.4 Otros métodos iniciales o 3.

Texto. si se elimina el almacenamiento. igual a 8 bits. Técnicamente. También es de uso . o dígitos binarios. cada uno con su propósito individual. sonido y casi cualquier otra forma de información puede ser transformada en una sucesión de bits. la caché es ligeramente más lenta pero de mayor capacidad. siendo transistores de conmutación integrados en el chip de silicio del microprocesador (CPU) que funcionan como "flipflop" electrónicos. puede ser usada para editar una novela pequeña. números. Comparada con los registros. es más rápida. cada uno de los cuales tiene un valor de 1 ó 0. La unidad de almacenamiento más común es el byte. Una determinada información puede ser manipulada por cualquier computadora cuyo espacio de almacenamiento sea suficientemente grande como para que quepa el dato correspondiente o la representación binaria de la información. Debe estar presente para que la CPU funcione correctamente. No existen ningún medio de almacenamiento de uso práctico universal y todas las formas de almacenamiento tienen sus desventajas. un sistema informático contiene varios tipos de almacenamiento. La memoria caché es un tipo especial de memoria interna usada en muchas CPU para mejorar su eficiencia o rendimiento. el aparato sería una simple calculadora en lugar de una computadora. Almacenamiento primario La memoria primaria está directamente conectada a la CPU de la computadora.Los componentes fundamentales de las computadoras de propósito general son la CPU. Se han inventado varias formas de almacenamiento basadas en diversos fenómenos naturales. una computadora con un espacio de almacenamiento de ocho millones de bits. Simplificando mucho. el espacio de almacenamiento y los dispositivos de entrada/salida. La habilidad para almacenar las instrucciones que forman un programa de computadora y la información que manipulan las instrucciones es lo que hace versátiles a las computadoras diseñadas según la arquitectura de programas almacenados Una computadora digital representa toda la información usando el sistema binario. es el sistema más rápido de los distintos tipos de almacenamientos de la computadora. Por ejemplo. El almacenamiento primario consiste en tres tipos de almacenamiento: • • Los registros del procesador son internos de la CPU. Parte de la información de la memoria principal se duplica en la memoria caché. o un megabyte. Por tanto. imágenes. Sin embargo. aunque de mucha menor capacidad que la memoria principal.

Habitualmente. que es cerca de un millón de veces más lenta que memoria “verdadera”. datos y control. La memoria principal contiene los programas en ejecución y los datos con que operan. ralentiza apreciablemente el . el tiempo para acceder al mismo tipo de información en una memoria de acceso aleatorio (RAM) se mide en mil-millonésimas de segundo (nanosegundos). La memoria secundaria también se llama "de almacenamiento masivo". Esto ilustra cuan significativa es la diferencia entre la velocidad de las memorias de estado sólido y la velocidad de los dispositivos rotantes de almacenamiento magnético u óptico: los discos duros son del orden de un millón de veces más lentos que la memoria (primaria). El tiempo necesario para acceder a un byte de información dado almacenado en un disco duro de platos magnéticos es de unas milésimas de segundo (milisegundos). Por lo tanto.(A esta utilización del almacenamiento secundario se le denomina memoria virtual). la "caché secundaria" que es más grande y lenta. los discos duros suelen usarse como dispositivos de almacenamiento masivo. En cambio. Almacenamiento secundario La memoria secundaria requiere que la computadora use sus canales de entrada/salida para acceder a la información y se utiliza para almacenamiento a largo plazo de información persistente. la mayoría de los sistemas operativos usan los dispositivos de almacenamiento secundario como área de intercambio para incrementar artificialmente la cantidad aparente de memoria principal en la computadora. Los dispositivos rotantes de almacenamiento óptico (unidades de CD y DVD) son incluso más lentos que los discos duros. pero es mucho más lenta. que está directamente conectada a la CPU a través de buses de direcciones. rápida y cercana al dispositivo de procesamiento. pero más rápida y mucho más pequeña que la memoria principal.la "caché primaria" que es más pequeña. Un disco duro es un ejemplo de almacenamiento secundario. la memoria secundaria o de almacenamiento masivo tiene mayor capacidad que la memoria primaria. Sin embargo. En las computadoras modernas se usan memorias de acceso aleatorio basadas en electrónica del estado sólido. En las computadoras modernas. Se puede transferir información muy rápidamente entre un registro del microprocesador y localizaciones del almacenamiento principal. el uso de la memoria virtual. aunque es probable que su velocidad de acceso mejore con los avances tecnológicos.• común la memoria caché multi-nivel .

Estos medios de almacenamiento suelen usarse para transporte y archivo de datos. Almacenamiento terciario La memoria terciaria es un sistema en el que un brazo robótico montará (conectará) o desmontará (desconectará) un medio de almacenamiento masivo fuera de línea (véase el siguiente punto) según lo solicite el sistema operativo de la computadora. En computadoras modernas son de uso habitual para este propósito los disquetes. en el caso de almacenamientos de archivos en línea. la computación científica en grandes sistemas informáticos y en redes empresariales. Aun así. La memoria terciaria se usa en el área del almacenamiento industrial.funcionamiento de cualquier computadora. Discutiblemente. También hay discos duros USB que se pueden conectar en caliente. el almacenamiento de red permite centralizar el control de información en una organización y reducir la duplicidad de la información. incluyendo las unidades USB. discos ópticos y las memorias flash. muchos sistemas operativos siguen implementándola. internet. Este tipo de memoria es algo que los usuarios de computadoras personales normales nunca ven de primera mano. Esa ventaja es menos relevante hoy en día. la memoria virtual resultaba mucho más barata que la memoria real. una red de área extensa. La principal ventaja histórica de la memoria virtual es el precio. Los dispositivos de almacenamiento fuera de línea usados en el pasado son cintas magnéticas en muchos tamaños y formatos diferentes. Almacenamiento fuera de línea El almacenamiento fuera de línea es un sistema donde el medio de almacenamiento puede ser extraído fácilmente del dispositivo de almacenamiento. Almacenamiento de red El almacenamiento de red es cualquier tipo de almacenamiento de computadora que incluye el hecho de acceder a la información a través de una red informática. a pesar de provocar un funcionamiento significativamente más lento. . y las baterías extraíbles de discos Winchester. Muchos sistemas operativos implementan la memoria virtual usando términos como memoria virtual o "fichero de caché". El almacenamiento en red incluye: • El almacenamiento asociado a red es una memoria secundaria o terciaria que reside en una computadora a la que otra de éstas puede acceder a través de una red de área local. una red privada virtual o.

dependiendo de la unidad de información que fue leída anteriormente. como es el caso de la memoria ROM. ya que pierde información en la falta de energía eléctrica. El dispositivo puede necesitar buscar (posicionar correctamente el cabezal de lectura/escritura de un disco). por tanto. Se usa para almacenamientos a largo plazo y. Características de las memorias La división entre primario. terciarias y fuera de línea. Habilidad para cambiar la información • Las memorias de lectura/escritura o memorias cambiables permiten que la información se reescriba en cualquier momento. Habilidad para acceder a información no contigua • • Acceso aleatorio significa que se puede acceder a cualquier localización de la memoria en cualquier momento en el mismo intervalo de tiempo. normalmente pequeño. La memoria no volátil retendrá la información almacenada incluso si no recibe corriente eléctrica constantemente. La memoria dinámica es una memoria volátil que además requiere que periódicamente se refresque la información almacenada. se usa en memorias secundarias. Volatilidad de la información Foto de memorias RAM tipo DDR instaladas en su socket • • • La memoria volátil requiere energía constante para mantener la información almacenada. fuera de línea se basa en la jerarquía de memoria o distancia desde la unidad central de proceso. La memoria RAM es una memoria volátil. En su lugar. o dar vueltas (esperando a que la posición adecuada aparezca debajo del cabezal de lectura/escritura en un medio que gira continuamente). Acceso secuencial significa que acceder a una unidad de información tomará un intervalo de tiempo variable. los documentos y otros datos son almacenados en un dispositivo de la red. o leída y reescrita sin modificaciones. secundario. Hay otras formas de caracterizar a los distintos tipos de memoria. Una computadora sin algo de memoria de lectura/escritura como memoria . terciario.• Las redes de computadoras son computadoras que no contienen dispositivos de almacenamiento secundario. La memoria volátil se suele usar sólo en memorias primarias.

La memoria de contenido direccionable pueden construirse usando software o hardware. En las memorias de contenido direccionable (content-addressable memory). El dispositivo subyacente sigue siendo de localización direccionable.• • principal sería inútil para muchas tareas. la información se divide en Archivos informáticos de longitud variable y un fichero concreto se localiza en directorios y nombres de archivos "legible por humanos". Las memorias de escritura lenta y lectura rápida son memorias de lectura/escritura que permite que la información se reescriba múltiples veces pero con una velocidad de escritura mucho menor que la de lectura. También están las memorias inmutables. En las memorias de sistema de archivos. En las computadora modernas. pero el sistema operativo de la computadora proporciona la abstracción del sistema de archivos para que la operación sea más entendible. cada unidad de información legible individualmente se selecciona con una valor hash o un identificador corto sin relación con la dirección de memoria en la que se almacena la información. que se leen internamente por programas de computadora ya que la localización direccionable es muy eficiente. Capacidad de memoria Memorias de mayor capacidad son el resultado de la rápida evolución en tecnología de materiales semiconductores. la opción hardware es la opción más rápida y cara. Un ejemplo son los CD-ROMs. Las computadora modernas también usan habitualmente memorias de lectura/escritura como memoria secundaria. terciarias y fuera de línea usan sistemas de archivos. cada unidad de información accesible individualmente en la memoria se selecciona con su dirección de memoria numérica. Los primeros programas de ajedrez funcionaban en máquinas que utilizaban memorias de base . las memorias secundarias. pero difícil de usar para los humanos. Direccionamiento de la información • • • En la memoria de localización direccionable. La memorias de sólo lectura retienen la información almacenada en el momento de fabricarse y la memoria de escritura única (WORM) permite que la información se escriba una sola vez en algún momento tras la fabricación. En las computadoras modernas. Un ejemplo son los CD-RW. la memoria de localización direccionable se suele limitar a memorias primarias. que se utilizan en memorias terciarias y fuera de línea.

impresora. Este hecho es particularmente importante para los programas que utilizan tablas de transposición: a medida que aumenta la velocidad de la computadora se necesitan memorias de capacidad proporcionalmente mayor para mantener la cantidad extra de posiciones que el programa está buscando.magnética. terminales (monitores). Memorias de mayor capacidad podrán ser utilizadas por programas con tablas de Hash de mayor envergadura.000 aproximadamente y la capacidad de memoria creció en una proporción similar. también puede tener varios megabytes o hasta gigabytes según las necesidades de la empresa. no es un abuso pensar que la capacidad de memoria continuará creciendo de manera impresionante. Su capacidad de memoria varía de 16 a 256 kbytes. basada en el microprocesador INTEL 8008. las cuales mantendrán la información en forma permanente. como las utilizadas en la serie de computadoras IBM 370. • Minicomputadoras: se caracterizan por tener una configuración básica regular que puede estar compuesta por un monitor. Esta máquina. etc. A inicios de 1970 aparecen las memorias realizadas por semiconductores. tenía características interesantes que hacían más amplio su campo de operaciones. El ordenador personal ha pasado por varias • • . Su capacidad de memoria varía desde 256 a 512 kbytes. Macrocomputadoras: son aquellas que dentro de su configuración básica contienen unidades que proveen de capacidad masiva de información. En la década de los 80 comenzó la verdadera explosión masiva. la hacían más atractiva y fácil de usar. Microcomputadores y computadoras personales: con el avance de la microelectrónica en la década de los 70 resultaba posible incluir todos los componente del procesador central de una computadora en un solo circuito integrado llamado microprocesador. Microsoft Disk Operating Sistem) y una mejor resolución óptica. de los ordenadores personales (Personal Computer PC) de IBM. Ésta fue la base de creación de unas computadoras a las que se les llamó microcomputadoras. etc. disco. unidades de disquete. 8080). sobre todo porque su nuevo sistema operativo estandarizado (MS-DOS. El origen de las microcomputadoras tuvo lugar en los Estados Unidos a partir de la comercialización de los primeros microprocesadores (INTEL 8008. multiplicada por 100. Se espera que la capacidad de procesadores siga aumentando en los próximos años. La velocidad de los computadores se incrementó.

.. dispositivos y medios Memorias magnéticas Las memorias magnéticas usan diferentes patrones de magnetización sobre una superficie cubierta con una capa magnetizada para almacenar información. Cinta magnética. Memoria de semiconductor La memoria de semiconductor usa circuitos integrados basados en semiconductores para almacenar información. Se llega a la información usando uno o más cabezales de lectura/escritura. ha habido un crecimiento constante en el uso de un nuevo tipo de memoria de semiconductor no volátil llamado memoria flash. el almacenamiento magnético se usaba también como memoria principal en forma de memoria de tambor. memoria de Twistor o memoria burbuja. AT(Tecnología Avanzada) y PS/2. la superficie magnética será de alguno de estos tipos: • • • • Disco magnético. la memoria principal consiste casi exclusivamente en memoria de semiconductor volátil y dinámica. Un chip de memoria de semiconductor puede contener millones de minúsculos transistores o condensadores. Dicho crecimiento se ha dado. Las memorias de semiconductor no volátiles se están usando también como memorias secundarias en varios dispositivos de electrónica avanzada y computadoras especializadas y no especializadas. su acrónimo inglés. el almacenamiento magnético es de acceso secuencial y debe buscar. principalmente en el campo de las memorias fuera de línea en computadoras domésticas. En computadoras modernas. Las memorias magnéticas son no volátiles. Con el cambio de siglo. memoria en hilera de núcleo. memoria de núcleo. dar vueltas o las dos cosas. usado para memoria secundario. Además. En las computadoras modernas. también conocida como memoria dinámica de acceso aleatorio o más comúnmente RAM. Como el cabezal de lectura/escritura solo cubre una parte de la superficie. usada para memoria terciaria y fuera de línea. memoria película delgada.transformaciones y mejoras que se conocen como XT(Tecnología Extendida). Existen memorias de semiconductor de ambos tipos: volátiles y no volátiles. las cintas magnéticas se solían usar como memoria secundaria. usado para memoria fuera de línea. Disco duro. a diferencia de hoy. Disquete. Tecnologías.. En las primeras computadoras.

Las tarjetas perforadas fueron utilizados por primera vez por Basile Bouchon para el control de telares textiles en Francia. DVD-R. DVD-RAM: Memoria de escritura lenta y lectura rápida usada como memoria terciaria y fuera de línea. de acceso secuencial. DVD+R: Memorias de escritura única usada como memoria terciaria y fuera de línea. Para su desarrollo se creó la BDA. IBM . DVD+RW. CD-R. entre otros. Otros métodos iniciales Tarjetas perforadas en un telar de Jacquard. CD-ROM. DVD: Memorias de simplemente solo lectura. Los siguientes formatos son de uso común: • • • • • CD. DVD-RW. La información se lee ópticamente y se escribe combinando métodos magnéticos y ópticos. de escritura lenta y lectura rápida. HD DVD Se han propuesto los siguientes formatos: • • HVD Discos cambio de fase Dual [editar] Memorias de discos magneto-ópticos Las Memorias de disco magneto óptico son un disco de memoria óptica donde la información se almacena en el estado magnético de una superficie ferromagnética. una de las precursoras de IBM. conocido como telar de Jacquard.2 Herman Hollerith desarrolló la tecnología de procesamiento de datos de tarjetas perforadas para el censo de Estados Unidos de 1890 y posteriormente fundó la Tabulating Machine Company. Sony o Phillips. Blu-ray: Formato de disco óptico pensado para almacenar vídeo de alta calidad y datos. Las memorias de discos magneto ópticos son de tipo no volátiles. CD-RW. La información se lee iluminando la superficie con un diodo láser y observando la reflexión. vídeo. Se usa como memoria terciaria y fuera de línea. quien desarrolló un telar automático.Memorias de disco óptico Las memorias en disco óptico almacenan información usando agujeros minúsculos grabados con un láser en la superficie de un disco circular. programas informáticos). usada para distribución masiva de información digital (música. en la que se encuentran. Los discos ópticos son no volátil y de acceso secuencial.1 En 1801 el sistema de Bouchon fue perfeccionado por Joseph Marie Jacquard.

las tarjetas IBM y las unidades máquinas de registro IBM se habían vuelto indispensables en la industria y el gobierno estadounidense. La memoria molecular puede ser especialmente interesante como memoria principal. Estos dispositivos de memoria primaria tuvieron una corta vida en el mercado ya que el tubo de Williams no era fiable y el tubo de Selectron era caro. los tubos Williams usaban un tubo de rayos catódicos y los tubos Selectrón usaban un gran tubo de vacío. que están limitadas a un pequeño número de superficies en capas. las tarjetas perforadas fueron gradualmente reemplazadas por las cintas magnéticas. Para almacenar información. [editar] Otros métodos propuestos La memoria de cambio de fase usa las fases de un material de cambio de fase para almacenar información. La memoria holográfica podría ser no volátil.desarrolló la tecnología de la tarjeta perforada como una potente herramienta para el procesamiento de datos empresariales y produjo una línea extensiva de máquinas de registro que utilizaban papel perforado para el almacenamiento de datos y su procesado automático. secundaria y fuera de línea. a diferencia de las memorias de discos ópticos. Durante los años 1960. de acceso secuencial y tanto de escritura única como de lectura/escritura. La memoria de línea de retardo usaba ondas sonoras en una sustancia como podía ser el Mercurio para guardar información. Puede ser usada tanto como memoria secundaria como fuera de línea. Dicha información se lee observando la resistencia eléctrica variable del material. Se ha demostrado que es posible desarrollar un circuito . La memoria holográfica almacena ópticamente la información dentro de cristales o fotopolímeros. La información se grababa en las tarjetas perforando agujeros en el papel o la tarjeta. de acceso aleatorio podría ser usada como memoria primaria. En el año 1950. La memoria de cambio de fase sería una memoria de lectura/escritura no volátil. La memoria molecular almacena la información en polímeros que pueden almacenar puntas de carga eléctrica. La lectura se realizaba por sensores eléctricos (más tarde ópticos) donde una localización particular podía estar agujereada o no. ciclo secuencial de lectura/escritura. La memoria de línea de retardo era una memoria dinámica volátil. Las memorias holográficas pueden utilizar todo el volumen del medio de almacenamiento. Recientemente se ha propuesto utilizar el spin de un electrón como memoria. Se usaba como memoria principal. aunque su uso fue muy común hasta medidados de los años 1970 con la aparición de los discos magnéticos.

Ltd. en Computer Organization and Design (en inglés). Edwin D. (2004). «Electromechanical machines». [cita requerida] Referencias ↑ Pal Chaudhuri. Puedes añadirlas así o avisar al autor principal del artículo en su página de discusión pegando: {{subst:Aviso referencias|Dispositivo de almacenamiento de datos}} ~~~~ Los dispositivos o unidades de almacenamiento de datos son componentes que leen o escriben datos en medios o soportes de almacenamiento. PHI Learning Pvt. ↑ Reilly. la enciclopedia libre Saltar a: navegación. P. como revistas especializadas. en Milestones in computer science and information technology. (2003). 1. y . Véase también • • • • • • • • • • • • • Desfragmentación Memoria principal o primaria Memoria ROM Memoria RAM Memoria virtual Memoria dinámica Memoria de acceso aleatorio dinámica Memoria de acceso aleatorio estática Asignación de memoria Fuga de memoria Protección de memoria Memoria flash Disco de estado sólido Unidad de almacenamiento (Dispositivo de almacenamiento de datos) De Wikipedia. ISBN 978157356219. búsqueda Este artículo o sección necesita referencias que aparezcan en una publicación acreditada. 2. ISBN 978-81-203-1254-8. «Jacquard loom». monografías. Greenwood Publishing Group.electrónico que lea el spin del electrón y lo convierta en una señal eléctrica. prensa diaria o páginas de Internet fidedignas.

En computación éstos se conocen como dispositivos de entrada-salida. lógica y físicamente. exclusivamente para lectura (por ejemplo lectores de códigos de barras).4 Unidad de CD-RW (regrabadora) o "grabadora" o 2.10 Restauración de datos o 2. Contenido [ocultar] • • 1 Terminología 2 Dispositivos de almacenamiento de datos o 2. instrumentos musicales) y dispositivos que son intermedios en el proceso de almacenamiento y recuperación (por ejemplo. los archivos de un sistema informático.3 Unidad de CD-ROM o "lectora" o 2.6 Unidad de DVD-RW o "grabadora de DVD" o 2. cámaras. Los dispositivos usados exclusivamente para grabación (por ejemplo impresoras). bocas.9 Otros dispositivos de almacenamiento o 2.11 Recuperación de datos Terminología Los dispositivos que no se utilizan exclusivamente para grabación (por ejemplo manos. monitores. . ojos.5 Unidad de DVD-ROM o "lectora de DVD" o 2. o los dispositivos que procesan solamente una forma de información (por ejemplo fonógrafos) pueden o no considerarse dispositivos de almacenamiento.1 Disco duro o 2. proyectores de vídeo) no son por lo general considerados como dispositivos de almacenamiento. altavoces.juntos conforman la memoria o almacenamiento secundario de la computadora. oídos.2 Disquetera o 2.8 Lector de tarjetas de memoria o 2. micrófonos. Estos dispositivos realizan las operaciones de lectura o escritura de los medios o soportes donde se almacenan o guardan. Un cerebro orgánico puede o no considerarse un dispositivo de almacenamiento de datos. escáneres.7 Unidad de disco magneto-óptico o 2.

Es el espacio disponible para almacenar secuencias de 1 byte. una sola placa puede tener varios discos duros conectados. La capacidad aumenta constantemente desde cientos de MB.200 a 15. Este componente.Toda la información es datos.000 RPM. necesita energía para funcionar. al contrario que el micro o los módulos de memoria. pues. memorias flash. no se pincha directamente en la placa. . sino que se conecta a ella mediante un cable. dependiendo del lugar que ocupe en el gabinete o caja de computadora. etc. los discos ópticos (CD. También va conectado a la fuente de alimentación. cientos de GB y hasta TB. Un disco duro está formado por varios discos apilados sobre los que se mueve una pequeña cabeza magnética que graba y lee la información. memorias USB. los discos magneto-ópticos. los programas. Velocidad de giro: Se mide en revoluciones por minuto (RPM). Para intercambiar información con otros equipos (si no están conectados en red) necesitamos utilizar unidades de disco. En él se aloja. Dispositivos de almacenamiento de datos Disco duro Gabinete para disco duro con interfaz USB. no todos los datos son información. pero al estar alojados normalmente dentro de la computadora (discos internos). Dicha unidad puede ser interna (fija) o externa (portátil). el sistema operativo que permite arrancar la máquina. Los discos actuales giran desde las 4. Además. etc. como los disquetes. DVD). por ejemplo. dependiendo del tipo de ordenador al que estén destinadas. Artículo principal: Disco duro Los discos duros tienen una gran capacidad de almacenamiento de información. vídeo. El disco duro almacena casi toda la información que manejamos al trabajar con una computadora. Cuanto más rápido gire el disco. como cualquier otro componente. archivos de texto. imagen. más rápido podrá acceder a la información la cabeza lectora. no son extraíbles fácilmente. Sin embargo. Las características principales de un disco duro son: • • Capacidad: Se mide en gigabytes (GB). decenas de GB.

se enciende en la carcasa un LED (de color rojo. Normalmente se conectan al PC mediante un conector USB. verde u otro). aunque la transferencia de información es bastante lenta si la comparamos con otros soportes. Cuando el disco duro está leyendo. o bien se ejecuta alguna acción en el entorno gráfico con el que trabajamos (por ejemplo. La unidad de 3. También existen discos duros externos que permiten almacenar grandes cantidades de información. Son muy útiles para intercambiar información entre dos equipos. Para usar el disquete basta con introducirlo en la ranura de la disquetera. Disquetera Artículo principal: Disquetera Representación gráfica de un disquete. pues pueden borrarse y reescribirse cuantas veces se desee de una manera muy cómoda. En los disquetes solo se puede escribir cuando la pestaña esta cerrada. La unidad de disco se alimenta mediante cables a partir de la fuente de alimentación del sistema.• Capacidad de transmisión de datos: De poco servirá un disco duro de gran capacidad si transmite los datos lentamente. por ejemplo. Y también va conectada mediante un cable a la placa base.44 MB de capacidad. Aunque la capacidad de soporte es muy limitada si tenemos en cuenta las necesidades de las aplicaciones actuales se siguen utilizando para intercambiar archivos pequeños. como ocurre en el caso del disco duro. Los discos actuales pueden alcanzar transferencias de datos de 3 GB por segundo. . puesto que se ha vuelto obsoleto teniendo en cuenta los avances que en materia de tecnología se han producido. se arrastra el símbolo del disquete hasta un icono representado por una papelera). Un diodo LED se ilumina junto a la ranura cuando la unidad está leyendo el disco. como el disco duro o un CD-ROM. Cabe destacar que el uso de este soporte en la actualidad es escaso o nulo.5 pulgadas permite intercambiar información utilizando disquetes magnéticos de 1. Para expulsarlo se pulsa el botón situado junto a la ranura. Esto es útil para saber. si la máquina ha acabado de realizar una tarea o si aún está procesando datos.

c: velocidad de regrabación). 52x. En estas unidades. que normalmente se expresa como un número seguido de una «x» (40x. Una regrabadora puede grabar y regrabar discos compactos. 20X. 16X. pueden leer la información en un disco. permiten grabar los 650. b: velocidad de grabación. es decir.. Para introducir un disco. Una característica básica de las unidades de CD-ROM es la velocidad de lectura. Es habitual observar tres datos de velocidad. existe una toma para auriculares. Las características básicas de estas unidades son la velocidad de lectura. El uso de estas unidades está muy extendido. En los discos regrabables es normalmente menor que en los discos que sólo pueden ser grabados una vez.5 MB/s. Unidad de DVD-ROM o "lectora de DVD" Artículo principal: DVD-ROM . pero no pueden escribir datos en él. La unidad de CD-ROM permite utilizar discos ópticos de una mayor capacidad que los disquetes de 3. Pulsando nuevamente el botón.. aplicaciones. Así. ya que también permiten leer los discos compactos de audio. por ejemplo. una unidad de 52x lee información de 128 kB/s × 52 = 6. Unidad de CD-RW (regrabadora) o "grabadora" Artículo principal: CD-RW Las unidades de CD-ROM son de sólo lectura.Unidad de CD-ROM o "lectora" Artículo principal: CD-ROM Representación gráfica de un disco compacto.. Ésta es su principal ventaja. a 6. etc. 24X. además. 700 o más megabytes (hasta 900 MB) de un disco compacto en unos pocos minutos.656 kB/s. en la mayoría de las unidades hay que pulsar un botón para que salga una especie de bandeja donde se deposita el CDROM. la bandeja se introduce. y también pueden estar presentes los controles de navegación y de volumen típicos de los equipos de audio para saltar de una pista a otra.). etc. de grabación y de regrabación. pues los CD-ROM se han convertido en el estándar para distribuir sistemas operativos.5 pulgadas: hasta 700 MB. Las regrabadoras que trabajan a 8X. según la expresión ax bx cx (a:velocidad de lectura. Este número indica la velocidad de lectura en múltiplos de 128 kB/s. Es decir.

Así: 16x = 21. 16x. suelen leer varios tipos de tarjetas.32 MB/s. por ejemplo. • Lector de tarjetas de memoria Artículo principal: Memoria USB El lector de tarjetas de memoria es un periférico que lee o escribe en soportes de memoria flash. Además. admiten discos de gran capacidad: 230 MB. pero tienen algunas ventajas en cuanto a los disquetes: • Por una parte. La diferencia más destacable es que las unidades lectoras de discos DVDROM también pueden disponer de una salida de audio digital.3 GB. pueden leer tanto discos DVD-ROM como CD-ROM. Se diferencian de las unidades lectoras de CD-ROM en que el soporte empleado tiene hasta 17 GB de capacidad. Gracias a esta conexión es posible leer películas en formato DVD y escuchar seis canales de audio separados si disponemos de una buena tarjeta de sonido y un juego de altavoces apropiado (subwoofer más cinco satélites).Las unidades de DVD-ROM son aparentemente iguales que las de CDROM. Pero ahora la x hace referencia a 1. marcos digitales. aunque en entornos domésticos fueron menos usadas que las disqueteras y las unidades de CD-ROM. y en la velocidad de lectura de los datos. Unidad de disco magneto-óptico Artículo principal: Disco magneto-óptico La unidad de discos magneto-ópticos permiten el proceso de lectura y escritura de dichos discos con tecnología híbrida de los disquetes y los discos ópticos. por lo que es interesante emplearlos. los instalados en computadores (incluidos en una placa o mediante puerto USB). fuente de alimentación y tarjeta de sonido..12 MB/s. de una capacidad de 650 MB a 9 GB. . La velocidad se expresa con otro número de la «x»: 12x.. para realizar copias de seguridad. Unidad de DVD-RW o "grabadora de DVD" Artículo principal: DVD-RW Puede leer y grabar y regrabar imágenes. 640 Mb o 1. Actualmente. lectores de DVD y otros dispositivos. son discos reescribibles. Las conexiones de una unidad de DVD-ROM son similares a las de la unidad de CD-ROM: placa base. sonido y datos en discos de varios gigabytes de capacidad.

siendo necesario acudir a la copia que habíamos realizado anteriormente. en los últimos modelos la batería no es requerida. como los CD y los disquetes. Almacenamiento en línea: Hoy en día también debe hablarse de esta forma de almacenar información.Una tarjeta de memoria es un pequeño soporte de almacenamiento que utiliza memoria flash para guardar la información que puede requerir o no baterías (pilas). Estas memorias son resistentes a los rasguños externos y al polvo que han afectado a las formas previas de almacenamiento portátil. Su capacidad de almacenamiento puede ser de cientos de gigabytes. El aparato correspondiente o bien un lector de tarjetas. o herramientas de diversos fabricantes. se conecta a la computadora a través del puerto USB o Firewire. En este caso podemos hablar de dos tipos de almacenamiento en línea: un almacenamiento de corto plazo normalmente destinado a la transferencia de grandes archivos vía web. el "cp" de sistemas Linux y Unix. como cámaras digitales o agendas electrónicas. Esta modalidad permite liberar espacio de los equipos de escritorio y trasladar los archivos a discos rígidos remotos provistos que garantizan normalmente la disponibilidad de la información. . • Memoria flash: Es un tipo de memoria que se comercializa para el uso de aparatos portátiles.. desde un simple copiar pasando por comandos como el "copy" de DOS. Restauración de datos • • La información almacenada en cualquiera de estos dispositivos debe de disponer de algún mecanismo para restaurar la información. Para esta restauración de datos existen diferentes métodos. destinado a conservar información que normalmente se daría en el disco rígido del ordenador personal. es decir restaurar la información a su estado original en caso de que algún evento no nos permita poder acceder a la información original. la batería era utilizada por los primeros modelos. Discos y cintas magnéticas de gran capacidad: Son unidades especiales que se utilizan para realizar copias de seguridad o respaldo en empresas y centros de investigación. otro almacenamiento de largo plazo. Otros dispositivos de almacenamiento Otros dispositivos de almacenamiento son las memorias flash o los dispositivos de almacenamiento magnéticos de gran capacidad.

1. existen empresas especializadas que pueden rescatarnos la información de nuestros dispositivos de almacenamiento de información dañados. las aplicaciones informáticas.1.Recuperación de datos En casos en los que no es posible acceder a la información original.1 Modelos de proceso o ciclo de vida  4. Los componentes lógicos incluyen. permite al resto de los programas funcionar adecuadamente. Se conoce como software1 al equipamiento lógico o soporte lógico de un sistema informático. tales como el procesador de texto. entre muchos otros.2. básicamente. que son llamados hardware. facilitando también la interacción entre los componentes físicos y el resto de las aplicaciones.2. Software Los procesadores de texto están incluidos dentro del software. que. Estas empresas reparan el medio con el fin de extraer de el la información y después volcarla a otro medio en correcto estado de funcionamiento. en contraposición a los componentes físicos. que permite al usuario realizar todas las tareas concernientes a la edición de textos. modelado y formas de . comprende el conjunto de los componentes lógicos necesarios que hacen posible la realización de tareas específicas. tal como el sistema operativo.1.1. el software de sistema.3 Modelo espiral Win & Win o 4. abajo.1 Procesos. capturas de pantalla de OpenOficce (arriba) y KWord.2. y no disponemos de copia de seguridad o no podemos acceder a ella.1.2 Modelo espiral  4.1. análisis y especificación de requisitos  4. Contenido [ocultar] • • • • 1 Etimología 2 Definición de software 3 Clasificación del software 4 Proceso de creación del software o 4.2.1 Modelo cascada  4. En las imágenes.2.1 Captura.2 Etapas en el desarrollo del software  4.1 Modelo iterativo incremental  4. y proporcionando una interfaz con el usuario.2 Modelos evolutivos  4.

también su documentación.2 Aunque no es estrictamente lo mismo.2 Diseño del sistema  4. documentación y datos asociados que forman parte de las operaciones de un sistema de computación.1 Libros o 8.4 Pruebas (unitarias y de integración)  4.3 Software es lo que se denomina producto en Ingeniería de Software.1 Modelos de ciclo de vida 7 Referencias 8 Bibliografía o 8.2. Extraído del estándar 729 del IEEE5 Considerando esta definición.2 Artículos y revistas 9 Enlaces externos Etimología • Software (pronunciación AFI:[soft'ɣware]) es una palabra proveniente del inglés (literalmente: partes blandas o suaves). todo lo «no físico» relacionado.2 Clasificación e identificación de requerimientos  4.• • • • elicitación de requisitos  4. el concepto de software va más allá de los programas de computación en sus distintos estados: código fuente. suele sustituirse por expresiones tales como programas (informáticos) o aplicaciones (informáticas). que en español no posee una traducción adecuada al contexto. reglas.2. por lo cual se la utiliza asiduamente sin traducir y así fue admitida por la Real Academia Española (RAE).3 Codificación del software  4. pero probablemente la más formal sea la siguiente: Es el conjunto de los programas de cómputo.2. .5 Instalación y paso a producción  4.2.4 Definición de software Existen varias definiciones similares aceptadas para software. los datos a procesar e incluso la información de usuario forman parte del software: es decir. binario o ejecutable.2.2. abarca todo lo intangible.1. procedimientos.6 Mantenimiento 5 Carácter evolutivo del software[17] 6 Véase también o 6.

discos. puertos y dispositivos de comunicaciones. impresoras. de una manera práctica. usando diferentes alternativas y lenguajes de programación. En la ingeniería de software y las ciencias de la computación. controladores. y a veces confusa.El término «software» fue usado por primera vez en este sentido por John W. El concepto de leer diferentes secuencias de instrucciones (programa) desde la memoria de un dispositivo para controlar los cálculos fue introducido por Charles Babbage como parte de su máquina diferencial. a los fines prácticos se puede clasificar al software en tres grandes tipos: • • Software de sistema: Su objetivo es desvincular adecuadamente al usuario y al programador de los detalles del sistema informático en particular que se use. pantallas. herramientas y utilidades de apoyo que permiten el mantenimiento del sistema global. arbitraria. El software de sistema le procura al usuario y programador adecuadas interfaces de alto nivel. teclados. Incluyen básicamente: o Editores de texto o Compiladores o Intérpretes o Enlazadores o Depuradores o Entornos de Desarrollo Integrados (IDE): Agrupan las anteriores herramientas. de forma tal que el programador no necesite introducir múltiples . el software es toda la información procesada por los sistemas informáticos: programas y datos. «Los números computables». aislándolo especialmente del procesamiento referido a las características internas de: memoria. en cierto modo. Tukey en 1957. Clasificación del software Si bien esta distinción es. etc. La teoría que forma la base de la mayor parte del software moderno fue propuesta por Alan Turing en su ensayo de 1936. con una aplicación al problema de decisión. usualmente en un entorno visual. Incluye entre otros: o Sistemas operativos o Controladores de dispositivos o Herramientas de diagnóstico o Herramientas de Corrección y Optimización o Servidores o Utilidades Software de programación: Es el conjunto de herramientas que permiten al programador desarrollar programas informáticos.

para lograr un producto software que resuelva un problema específico. dependiendo de su porte. o Software de diseño asistido (CAD) o Software de control numérico (CAM) Proceso de creación del software Artículo principal: Proceso para el desarrollo de software Se define como proceso al conjunto ordenado de pasos a seguir para llegar a la solución de un problema u obtención de un producto. etc. si se trata de un sencillo programa (por ejemplo. Es así que normalmente se dividen en tres categorías según su tamaño (líneas de código) o costo: de «pequeño». con especial énfasis en los negocios. costo monetario. características y criticidad del mismo.• comandos para compilar. gestión. Habitualmente cuentan con una avanzada interfaz gráfica de usuario (GUI). depurar. cantidad de líneas fuente de acuerdo a lenguaje usado. Por ejemplo la creación de un sistema operativo es una tarea que requiere proyecto. en este caso particular. Existen varias metodologías para estimarlo. la resolución de una ecuación de segundo orden). interpretar. etc. . Incluye entre muchos otros: o Aplicaciones para Control de sistemas y automatización industrial o Aplicaciones ofimáticas o Software educativo o Software empresarial o Bases de datos o Telecomunicaciones (por ejemplo Internet y toda su estructura lógica) o Videojuegos o Software médico o Software de cálculo Numérico y simbólico. Software de aplicación: Es aquel que permite a los usuarios llevar a cabo una o varias tareas específicas.). numerosos recursos y todo un equipo disciplinado de trabajo. una de las más populares es el sistema COCOMO que provee métodos y un software (programa) que calcula y provee una aproximación de todos los costos de producción en un «proyecto software» (relación horas/hombre. éste puede ser realizado por un solo programador (incluso aficionado) fácilmente. El proceso de creación de software puede llegar a ser muy complejo. en cualquier campo de actividad susceptible de ser automatizado o asistido. En el otro extremo. «mediano» y «gran porte».

tanto técnicas como de gerencia. si bien deben existir. a criterio del líder (si lo hay) del equipo de desarrollo. Entre tales «procesos» los hay ágiles o livianos (ejemplo XP). y variantes intermedias. o crear nuevas y concientizar a los profesionales de la informática a su utilización adecuada. Feature Driven Development (FDD). pequeños equipos de trabajo (incluso un avezado analista-programador solitario) pueden realizar la tarea. En tanto que en los de mediano porte. se deben seguir ciertas etapas que son necesarias para la construcción del software. la principal causa de fallos y fracasos es la falta de aplicación de una buena metodología o proceso de desarrollo. una fuerte tendencia. siempre se debe aplicar un «modelo de ciclo de vida». una fuerte gestión y análisis diversos (entre otras cosas).Considerando los de gran porte. Normalmente se aplican de acuerdo al tipo y porte del software a desarrollar. XP. en pocas palabras). la complejidad de ello ha llevado a que desarrolle una ingeniería específica para tratar su estudio y realización: es conocida como Ingeniería de Software. Tales etapas. es mejorar las metodologías o procesos de desarrollo. Los «procesos de desarrollo de software» poseen reglas preestablecidas. y casi independientemente de él. desde hace pocas décadas. Aunque. Cualquiera sea el «proceso» utilizado y aplicado al desarrollo del software (RUP. Algunos de esos procesos son Programación Extrema (en inglés eXtreme Programming o XP). 7 Cuando un proyecto fracasa. y con variedad de fallos inaceptables (fracasan. pesados y lentos (ejemplo RUP). rara vez es debido a fallas técnicas. ya que en caso contrario lo más seguro es que el proyecto o no logre concluir o termine sin cumplir los objetivos previstos. del total de proyectos software grandes emprendidos. según su complejidad). etc). Proceso Unificado de Rational (en inglés Rational Unified Process o RUP). siempre en casos de mediano y gran porte (y a veces también en algunos de pequeño porte. Los especialistas en cualquier otra área de . es necesario realizar complejas tareas. Normalmente los especialistas en el estudio y desarrollo de estas áreas (metodologías) y afines (tales como modelos y hasta la gestión misma de los proyectos) son los ingenieros en software. son flexibles en su forma de aplicación. un 28% fracasan. es su orientación. FDD. y deben ser aplicados en la creación del software de mediano y gran porte. Entre otras. de acuerdo a la metodología o proceso de desarrollo escogido y utilizado por el equipo de desarrollo o por el analista-programador solitario (si fuere el caso). etc.6 Se estima que. un 46% caen en severas modificaciones que lo retrasan y un 26% son totalmente exitosos.

las que se pueden resumir como sigue: • • • • • • Captura. y su enlace y realimentación. Entre los más modelos conocidos se puede mencionar: modelo en cascada o secuencial. Lic. siempre se cumplen ciertas etapas mínimas. ser más refinadas. modelo espiral. todas existen e incluyen. desde lo administrativo. especificación y análisis de requisitos (ERS) Diseño Codificación Pruebas (unitarias y de integración) Instalación y paso a producción Mantenimiento En las anteriores etapas pueden variar ligeramente sus nombres. paradigmas y procesos ya elaborados. por ejemplo indicar como una única fase (a los fines documentales e interpretativos) de «análisis y diseño». De los antedichos hay a su vez algunas variantes o alternativas. Es común para el desarrollo de software de mediano porte que los equipos humanos involucrados apliquen «metodologías propias». programador. ingeniero en informática. normalmente un híbrido de los procesos anteriores y a veces con criterios propios. más o menos atractivas según sea la aplicación requerida y sus requisitos.) normalmente aplican sus conocimientos especializados pero utilizando modelos. casi rigurosamente. ingeniero de sistemas. o contrariamente. Modelos de proceso o ciclo de vida Para cada una de las fases o etapas listadas en el ítem anterior. las mismas tareas específicas. elicitación8 . pero en rigor. Pero. existen subetapas (o tareas). pasando por lo técnico y hasta la gestión y el gerenciamiento. En el apartado 4 del presente artículo se brindan mayores detalles de cada una de las etapas indicadas.desarrollo informático (analista. etc.7 Modelo cascada . El proceso de desarrollo puede involucrar numerosas y variadas tareas6 . o indicar como «implementación» lo que está dicho como «codificación». básicamente. en informática. El modelo de proceso o modelo de ciclo de vida utilizado para el desarrollo define el orden para las tareas o actividades involucradas6 también definen la coordinación entre ellas. o ser más globales. modelo iterativo incremental.

más que nada en software de pequeño y algunos de mediano porte. por ejemplo pasar del diseño a la codificación implicaría un diseño exacto y sin errores ni probable modificación o evolución: «codifique lo diseñado sin errores. que no es completamente predecible ni rígida.Este. pues esto implicaría un previo y absoluto conocimiento de los requisitos. esto da oportunidad al desarrollo de productos software en los cuales hay ciertas incertezas. aunque es más comúnmente conocido como modelo en cascada es también llamado «modelo clásico». «modelo tradicional» o «modelo lineal secuencial».6 Fig. Esto es utópico. una vez capturados y especificados los requisitos (primera etapa) se puede pasar al diseño del . Algún cambio durante la ejecución de una cualquiera de las etapas en este modelo secuencial implicaría reiniciar desde el principio todo el ciclo completo. cambios o evoluciones durante el ciclo de vida. como se dijo anteriormente. Así por ejemplo. 2 . cambiante y difícilmente libre de errores. El modelo en cascada puro difícilmente se utiliza tal cual. pero nunca (o muy rara vez) se lo usa en su "forma pura". ya que intrínsecamente el software es de carácter evolutivo9 .6 Sin embargo. En lugar de ello. En estas circunstancias. ello sólo podría ser aplicable a escasos y pequeños sistemas a desarrollar. siempre se produce alguna realimentación entre etapas.Modelo cascada puro o secuencial para el ciclo de vida del software. por su eficacia y simplicidad. La figura 2 muestra un posible esquema de el modelo en cuestión. el paso de una etapa a otra de las mencionadas sería sin retorno. no habrá en absoluto variantes futuras». tanto durante su desarrollo como durante su vida operativa. lo cual redundaría en altos costos de tiempo y desarrollo. el modelo cascada en algunas de sus variantes es uno de los actualmente más utilizados10 . la no volatilidad de los mismos (o rigidez) y etapas subsiguientes libres de errores.

10 . hacer los reajuste pertinentes y luego continuar nuevamente con el diseño. pero durante esta última fase lo más probable es que se deban realizar ajustes en los requisitos (aunque sean mínimos). Fig. menores y más específicas) o incluso mostrar menos etapas de las indicadas. El orden de esas fases indicadas en el ítem previo es el lógico y adecuado. permitiendo retroceder de una a la anterior (e incluso poder saltar a varias anteriores) si es requerido. aunque en tal caso la faltante estará dentro de alguna otra. 3 . como se dijo. con lo cual se debe retornar a la primera o previa etapa.10 Hay más variantes similares al modelo: refino de etapas (más etapas. tiene un lugar muy importante en la Ingeniería de software y continúa siendo el más utilizado. ya sea por fallas detectadas. uno de los más usados y populares. previsto no evolutivo). los requisitos son muy claros y están correctamente especificados.Modelo cascada realimentado para el ciclo de vida. la forma y utilización de este modelo. hasta ideal. y siempre es mejor que un enfoque al azar. ambigüedades o bien por que los propios requisitos han cambiado o evolucionado. El modelo lineal o en cascada es el paradigma más antiguo y extensamente utilizado. sin embargo las críticas a él (ver desventajas) han puesto en duda su eficacia.6 El modelo cascada realimentado resulta muy atractivo. que normalmente habrá realimentación hacia atrás.sistema. a grandes rasgos. que puede ser esquematizado como lo ilustra la figura 3. Lo dicho es. Lo normal en el modelo cascada será entonces la aplicación del mismo con sus etapas realimentadas de alguna forma. De esta manera se obtiene el «modelo cascada realimentado». esto último se conoce como realimentación. pero adviértase. si el proyecto presenta alta rigidez (pocos cambios. Pese a todo.

10 Modelo iterativo incremental En términos generales. durante la fase de operación. Modelos evolutivos El software evoluciona con el tiempo.Desventajas del modelo cascada:6 • • • Los cambios introducidos durante el desarrollo pueden confundir al equipo profesional en las etapas tempranas del proyecto. donde los requisitos centrales son conocidos de antemano. Los modelos «iterativo incremental» y «espiral» (entre otros) son dos de los más conocidos y utilizados del tipo evolutivo. se puede distinguir.10 El cliente debe tener paciencia ya que el software no estará disponible hasta muy avanzado el proyecto. En esas u otras situaciones similares los desarrolladores necesitan modelos de progreso que estén diseñados para acomodarse a una evolución temporal o progresiva. No es frecuente que el cliente o usuario final explicite clara y completamente los requisitos (etapa de inicio). se plantea como estático. permiten desarrollar versiones cada vez más completas y complejas. incluso evolucionar más allá. los pasos generales que sigue el proceso de desarrollo de un producto software. Un error detectado por el cliente (en fase de operación) puede ser desastroso. con requisitos bien conocidos y definidos desde el inicio. en la figura 4. Las fechas de mercado y la competencia hacen que no sea posible esperar a poner en el mercado un producto absolutamente completo. En el . con altos costos. En el modelo cascada y cascada realimentado no se tiene demasiado en cuenta la naturaleza evolutiva del software11 . y el modelo lineal lo requiere. Si los cambios se producen en etapa madura (codificación o prueba) pueden ser catastróficos para un proyecto grande. hasta llegar al objetivo final deseado.11 9 Los requisitos del usuario y del producto suelen cambiar conforme se desarrolla el mismo.6 Los evolutivos son modelos iterativos. implicando reinicio del proyecto. por lo que se aconsejable introducir una versión funcional limitada de alguna forma para aliviar las presiones competitivas. La incertidumbre natural en los comienzos es luego difícil de acomodar. aunque no estén bien definidos a nivel detalle.

10 En la figura 5 se muestra un refino del diagrama previo. La descripción del sistema es esencial para especificar y confeccionar los distintos incrementos hasta llegar al producto global y final. a medida que cada incremento definido llega a su etapa de operación y mantenimiento. El diagrama 4 muestra en forma muy esquemática. el cual permite la entrega de versiones parciales a medida que se va construyendo el producto final. Las actividades concurrentes (especificación. El incremental es un modelo de tipo evolutivo que está basado en varios ciclos Cascada Realimentados aplicados repetidamente. desarrollo y validación) sintetizan el desarrollo pormenorizado de los incrementos. Cada incremento es un ciclo Cascada Realimentado. por simplicidad. que se hará posteriormente. Fig.Diagrama genérico del desarrollo evolutivo incremental. estos últimos se van integrando para obtener el producto final completo. para obtener finalmente el esquema del modelo de ciclo de vida Iterativo Incremental. con sus actividades genéricas asociadas.modelo de ciclo de vida seleccionado. bajo un esquema temporal.6 Es decir. Aquí se observa claramente cada ciclo cascada que es aplicado para la obtención de un incremento. con una filosofía iterativa. el funcionamiento de un ciclo iterativo incremental. en la figura 5 se muestra como secuencial puro. se identifican claramente dichos pasos. aunque. Cada versión emitida incorpora a los anteriores incrementos las funcionalidades y requisitos que fueron analizados como necesarios. 4 . .

se aplican secuencias Cascada en forma escalonada. el resultado de su uso y evaluación puede aportar al plan para el desarrollo del/los siguientes incrementos (o versiones). en cualquier tiempo de la etapa previa. 5 . como lo es la priorización (mayor o menor urgencia en la . con muchas funciones suplementarias (conocidas o no) sin entregar. mientras se realiza el diseño detalle del primer incremento ya se está realizando en análisis del segundo. etc.Fig. independencia o dependencia entre incrementos (dos de ellos totalmente independientes pueden ser fácilmente iniciados al mismo tiempo si se dispone de personal suficiente). pero reutilizables.Modelo iterativo incremental para el ciclo de vida del software.. El momento de inicio de cada incremento es dependiente de varios factores: tipo de sistema. llamadas incrementos. Además también aportan a ese plan otros factores. que es donde se produce la entrega del producto parcial al cliente. La figura 5 es sólo esquemática.6 Como se muestra en la figura 5. intertanto. un incremento no necesariamente se iniciará durante la fase de diseño del anterior. mientras progresa el tiempo calendario. puede ser posterior (incluso antes). así por ejemplo. Cada secuencia lineal o Cascada produce un incremento y a menudo el primer incremento es un sistema básico. Cada incremento concluye con la actividad de «operación y mantenimiento» (indicada como «Operación» en la figura). En general cada incremento se construye sobre aquel que ya fue entregado. Bajo este modelo se entrega software «por partes funcionales más pequeñas». en la figura. Se observa que existen actividades de desarrollo (para cada incremento) que son realizadas en paralelo o concurrentemente. El cliente utiliza inicialmente ese sistema básico. capacidad y cantidad de profesionales involucrados en el desarrollo.

funciones básicas de edición de archivos y producción de documentos (algo como un editor simple). y no una parte que sea usada para reajustar los requerimientos (como si ocurre en el modelo de construcción de prototipos). se admite cierto margen para que el software pueda evolucionar9 . es decir donde se permiten y esperan probables cambios en los requisitos en tiempo de desarrollo. pero desde la entrega del primer incremento ya es útil y funcional para el cliente. sin notar que la fecha límite del proyecto puede no estar acotada ni tan definida. Como se dijo. con el modelo incremental se entrega un producto parcial pero completamente operacional en cada incremento. y de generación y mezcla de documentos. Así sucesivamente hasta llegar al procesador final requerido. en principio. el cual observa una respuesta rápida en cuanto a entrega temprana. acercándose a su meta final. esquemas de paginado y plantillas. También es un modelo útil a los fines de versiones de evaluación. Ejemplo: Un procesador de texto que sea desarrollado bajo el paradigma Incremental podría aportar. En un tercer incremento podría considerarse el agregado de funciones de corrección ortográfica. En un segundo incremento se le podría agregar edición más sofisticada. el Iterativo Incremental es un modelo del tipo evolutivo. El proceso se repite hasta alcanzar el software final completo.10 El enfoque incremental resulta muy útil cuando se dispone de baja dotación de personal para el desarrollo. en un cuarto capacidades de dibujo propias y ecuaciones matemáticas. el producto va creciendo. en cualquier momento o incremento incorporar temporalmente el paradigma MCP como complemento. lo que da margen de operación y alivia presiones al equipo de desarrollo. Siendo iterativo. Así. también si no hay disponible fecha límite del proyecto por lo que se entregan versiones incompletas pero que proporcionan al usuario funcionalidad básica (y cada vez mayor). Nota: Puede ser considerado y útil. Aplicable cuando los requisitos son medianamente bien . Luego de cada integración se entrega un producto con mayor funcionalidad que el previo. teniendo así una mixtura de modelos que mejoran el esquema y desarrollo general.necesidad de cada incremento en particular) y la dependencia entre incrementos (o independencia).

la segunda. La selección de este modelo permite realizar entregas funcionales tempranas al cliente (lo cual es beneficioso tanto para él como para el grupo de desarrollo). indispensable para los incrementos siguientes. pero el desarrollador debe fijarlas de todos modos y con algún criterio. y así sucesivamente. por tanto este modelo facilita tal paradigma de diseño. Aunque si se produce un cambio de requisitos por parte del cliente que afecte incrementos previos ya terminados (detección/incorporación tardía) se debe evaluar la factibilidad y realizar un acuerdo con el cliente. es decir. eventualmente. con entregas parciales del producto software denominados «incrementos» del sistema. esto se conoce como «definición de los incrementos» con base en la priorización. El modelo es aconsejable para el desarrollo de software en el cual se observe. ya que puede impactar fuertemente en los costos. que posee áreas bastante bien definidas a cubrir. por ejemplo para cargas previas de información. El modelo permite una implementación con refinamientos sucesivos (ampliación o mejora). un cambio de requisitos propuesto y aprobado puede analizarse e implementarse como un nuevo incremento o.10 . ya que basándose en ellas se desarrollarán y entregarán los distintos incrementos. Este modelo brinda cierta flexibilidad para que durante el desarrollo se incluyan cambios en los requisitos por parte del usuario. cuestión esa que si es indispensable para poder utilizar un modelo Cascada. podrá constituir una mejora/adecuación de uno ya planeado. en su etapa inicial de análisis. Tales áreas a cubrir suelen tener distintos grados de apremio por lo cual las mismas se deben priorizar en un análisis previo. En resumen. Con cada incremento se agrega nueva funcionalidad o se cubren nuevos requisitos o bien se mejora la versión previamente implementada del producto software. definir cual será la primera. Se priorizan las entregas de aquellos módulos o incrementos en que surja la necesidad operativa de hacerlo. con suficiente independencia como para ser desarrolladas en etapas sucesivas. que son escogidos según prioridades predefinidas de algún modo. El hecho de que existan incrementos funcionales del software lleva inmediatamente a pensar en un esquema de desarrollo modular.conocidos pero no son completamente estáticos y definidos. Pueden no existir prioridades funcionales por parte del cliente. un modelo incremental lleva a pensar en un desarrollo modular.

Aunque. En las últimas iteraciones se producen versiones cada vez más completas del sistema diseñado. de alto nivel de seguridad. en 1998 expuso un tratado más reciente. antes de ser construido (como el caso del cascada. con requisitos congelados). solo afecta una parte del sistema. En la figura 6 se muestra el esquema de un Modelo Espiral con 6 regiones. Sólo se hace en el incremento en desarrollo. En las primeras iteraciones la versión incremental podría ser un modelo en papel o bien un prototipo. En general existen entre tres y seis regiones de tareas (hay variantes del modelo). de procesamiento distribuido. El modelo incremental no es recomendable para casos de sistemas de tiempo real. Es un modelo evolutivo que conjuga la naturaleza iterativa del modelo MCP con los aspectos controlados y sistemáticos del Modelo Cascada. llamadas «regiones de tareas». . Proporciona potencial para desarrollo rápido de versiones incrementales. que es la entrega temprana de partes operativas del software. porque en caso de alterar o rehacer los requisitos. El modelo proporciona todas las ventajas del modelo en cascada realimentado. es decir en los últimos incrementos. En el modelo Espiral el software se construye en una serie de versiones incrementales. También provee un impacto ventajoso frente al cliente. (y cómo). En este caso se explica una variante del modelo original de Boehm. reduciendo sus desventajas sólo al ámbito de cada incremento.El modelo iterativo incremental no obliga a especificar con precisión y detalle absolutamente todo lo que el sistema debe hacer.6 10 El modelo se divide en un número de Actividades de marco de trabajo. En definitiva. lógicamente. ya que se implementa funcionalidad parcial. Con un paradigma incremental se reduce el tiempo de desarrollo inicial. esta situación se agrava si se presenta en estado avanzado. Esto torna más manejable el proceso y reduce el impacto en los costos. Esto es así. expuesto en su tratado de 1988. o de alto índice de riesgos. Modelo espiral El modelo espiral fue propuesto inicialmente por Barry Boehm. el modelo facilita la incorporación de nuevos requisitos durante el desarrollo.

mediano o pequeño. Región 2 . según la evaluación de lo creado e instalado en los ciclos anteriores. Región 6 .Modelo espiral para el ciclo de vida del software. instalarla.Tareas para construir la aplicación. complejo o no. Las actividades enunciadas para el marco de trabajo son generales y se aplican a cualquier proyecto.Tareas requeridas para establecer la comunicación entre el cliente y el desarrollador. probarla y proporcionar soporte al usuario o cliente (Ej. Proyectos pequeños requieren baja cantidad de tareas y también de formalidad. algunas de las ellas normalmente dependen del proyecto o desarrollo en si. Región 4 . 6 . grande. Región 5 .Tareas necesarias para evaluar los riesgos técnicos y de gestión del proyecto.Tareas para construir una o más representaciones de la aplicación software. Nótese que lo listado en los ítems de 1 a 6 son conjuntos de tareas.Tareas para obtener la reacción del cliente. Las regiones que definen esas actividades comprenden un «conjunto de tareas» del trabajo: ese conjunto sí se debe adaptar a las características del proyecto en particular a emprender. documentación y práctica). En proyectos mayores o críticos cada región de tareas contiene .Tareas inherentes a la definición de los recursos. Las regiones definidas en el modelo de la figura son: • • • • • • Región 1 . tiempo y otra información relacionada con el proyecto.Fig. Región 3 .

garantía de calidad. El modelo espiral da un enfoque realista. hace múltiples iteraciones hasta que se completa. que evoluciona igual que el software11 . Al inicio del ciclo. se adapta muy bien para desarrollos a gran escala. Si lo anterior se va a desarrollar como producto real. pero cuando se produce un cambio el proceso arranca nuevamente en el punto de entrada apropiado (por ejemplo. En cualquier caso se aplican actividades de protección (por ejemplo. etc. o cascada. eventualmente puede estar inactiva (el proceso).labores de más alto nivel de formalidad. Una visión alternativa del modelo puede observarse examinando el «eje de punto de entrada de proyectos». . Cada paso por la región de planificación provoca ajustes en el plan del proyecto. Cada uno de los circulitos (๏) fijados a lo largo del eje representan puntos de arranque de los distintos proyectos (relacionados). El gestor de proyectos debe ajustar el número de iteraciones requeridas para completar el desarrollo. Que evolucionará con iteraciones hasta culminar. Cuando la espiral se caracteriza de esta forma. el primer circuito de la espiral puede producir el desarrollo de una especificación del producto.). en «mejora del producto»). se inicia otro proyecto: «Desarrollo de nuevo Producto». o proceso evolutivo. los pasos siguientes podrían generar un prototipo y progresivamente versiones más sofisticadas del software. a saber: • • • Un proyecto de «desarrollo de conceptos» comienza al inicio de la espiral. El modelo espiral puede ir adaptándose y aplicarse a lo largo de todo el Ciclo de vida del software (en el modelo clásico. es la zona marcada con verde. el equipo de ingeniería gira alrededor del espiral (metafóricamente hablando) comenzando por el centro (marcado con ๑ en la figura 6) y en el sentido indicado. respectivamente). Eventual y análogamente se generarán proyectos de «mejoras de productos» y de «mantenimiento de productos». es la zona marcada en color azul. con las iteraciones necesarias en cada área (zonas roja y gris. el proceso termina a la entrega del software). el coste y planificación se realimentan en función de la evaluación del cliente. está operativa hasta que el software se retira. gestión de configuración del software.

6) es el «Modelo espiral Win-Win»7 (Barry Boehm). «Es así que la obtención de requisitos requiere una negociación. Evidentemente. como el Cascada (Incremental) o MCP. navegadores y controladores aeronáuticos) y en todos aquellos en que sea necesaria una fuerte gestión del proyecto y sus riesgos. Normalmente cliente y desarrollador entran en una negociación. Mantiene el enfoque clásico (cascada) pero incorpora un marco de trabajo iterativo que refleja mejor la realidad. técnicos o de gestión. pero esto es en un contexto ideal que rara vez ocurre. aplicado adecuadamente debe reducirlos antes de que sean un verdadero problema. es decir que el cliente gane obteniendo el producto que lo satisfaga. se negocia coste frente a funcionalidad. Modelo espiral Win & Win Una variante interesante del Modelo Espiral previamente visto (Fig. en que simplemente se pregunta al cliente qué necesita y él proporciona la información para continuar. también en sistemas de altos riesgos o críticos (Ej. Este modelo requiere considerar riesgos técnicos en todas las etapas del proyecto. por lo que no se tiene bien medida su eficacia. rendimiento. Este modelo no se ha usado tanto. El Modelo Espiral previo (clásico) sugiere la comunicación con el cliente para fijar los requisitos. Las mejores negociaciones se fuerzan en obtener «Victoria & Victoria» (Win & Win). calidad. este modelo requiere fuertes habilidades de negociación. El Modelo evolutivo como el Espiral es particularmente apto para el desarrollo de Sistemas Operativos (complejos). etc. y el desarrollador también gane consiguiendo presupuesto y fecha de entrega realista.El Espiral utiliza el MCP para reducir riesgos y permite aplicarlo en cualquier etapa de la evolución. Es difícil convencer a los grandes clientes que se podrá controlar este enfoque evolutivo. es un paradigma relativamente nuevo y difícil de implementar y controlar. Desventajas importantes: • • Requiere mucha experiencia y habilidad para la evaluación de los riesgos. que tiene éxito cuando ambas partes ganan». lo cual es requisito para el éxito del proyecto. .

análisis y especificación de requisitos Al inicio de un desarrollo (no de un proyecto). como de su entorno. que puede ser premiado por la organización si tiene éxito o criticado si no. según el modelo de proceso adoptado. puede casi terminar para pasar a la próxima etapa (caso de Modelo Cascada Realimentado) o puede hacerse parcialmente para luego retomarla (caso Modelo Iterativo Incremental u otros de carácter evolutivo). se adquieren. Etapas en el desarrollo del software Captura. El modelo Win & Win hace énfasis en la negociación inicial. tanto del sistema o programa a desarrollar. Identificación del sistema o subsistemas clave de los directivos(*) (saber qué quieren). parámetros no funcionales y arquitectura dependen enormemente de lo bien lograda que esté esta etapa. también introduce 3 hitos en el proceso llamados «puntos de fijación». Las bondades de las características. probablemente. Esta es. (*) Directivo: Cliente escogido con interés directo en el producto. pues no es automatizable. no es muy técnica y depende en gran medida de la habilidad y experiencia del analista que la realice. Determinación de «condiciones de victoria» de los directivos (saber qué necesitan y los satisface) 3. durante esta fase. Involucra fuertemente al usuario o cliente del sistema. y proporcionan hitos de decisión antes de continuar el proyecto de desarrollo del software. que ayudan a establecer la completitud de un ciclo de la espiral. 2. la de mayor importancia y una de las fases más difíciles de lograr certeramente. por tanto tiene matices muy subjetivos y es difícil de modelar con certeza o aplicar una técnica que sea «la más cercana a la adecuada» (de hecho no existe «la . esta es la primera fase que se realiza. y. En simple palabras y básicamente.El modelo Win-Win define un conjunto de actividades de negociación al principio de cada paso alrededor de la espiral. se definen las siguientes actividades: 1. reúnen y especifican las características funcionales y no funcionales que deberá cumplir el futuro programa o sistema a desarrollar. Negociación de las condiciones «victoria» de los directivos para obtener condiciones «Victoria & Victoria» (negociar para que ambos ganen).

elicitación. cómo debe operar. Escasas son las situaciones en que el cliente sabe con certeza e incluso con completitud lo que requiere de su futuro sistema. En otros casos menos frecuentes. este es el caso más sencillo para el analista. mucho menos. incluso software de apoyo. puede llegar a ser dificultosa de lograr acertadamente y llevar bastante tiempo relativo al proceso total del desarrollo.estrictamente adecuada»). pero dada la antedicha complejidad. Estos grupos son los que normalmente hablan de la Ingeniería de requisitos. tiene que saber ponerse al nivel del usuario para permitir una adecuada comunicación y comprensión. es decir se plantea ésta como un área o disciplina pero no como una carrera universitaria en si misma. técnicas y procesos para intentar lograr la correcta captura. . Hay grupos de estudio e investigación. pero su empecinamiento entorpece la tarea de elicitación. modelado y registro de requerimientos. El artefacto más importante resultado de la culminación de esta etapa es lo que se conoce como especificación de requisitos software o simplemente documento ERS. actualmente se habla de una Ingeniería de requisitos12 . el cliente «piensa» que sabe precisamente lo que el software tiene que hacer. para captura. análisis y registro de requerimientos. la habilidad del analista para interactuar con el cliente es fundamental. El analista debe tener la capacidad para lidiar con este tipo de problemas. ni siquiera sabe con precisión qué debería hacer el producto software (qué y cuantas funciones) ni. al proceso y metodologías para llevar a cabo este conjunto de actividades normalmente se las asume parte propia de la Ingeniería de Software. que están exclusivamente abocados a la idear modelos. en todo el mundo. lo común es que el cliente tenga un objetivo general o problema que resolver. Las tareas relativas a captura. aunque ella aún no existe formalmente. no existe una forma infalible o absolutamente confiable. Si bien se han ideado varias metodologías. elicitación y registro de requisitos. es fundamental también lograr una fluida y adecuada comunicación y comprensión con el usuario final o cliente del sistema. que incluyen relaciones humanas. Como se dijo. y deben aplicarse conjuntamente buenos criterios y mucho sentido común por parte del o los analistas encargados de la tarea. y generalmente acierta muy parcialmente. además de ser sumamente importante. no conoce en absoluto el área (informática). ni su jerga.

no es problema del cliente. desde niveles muy bajos e incluso llegando hasta los gerenciales. si el sistema a desarrollar será para gestionar información de una aseguradora y sus sucursales remotas. En empresas grandes de desarrollo de productos software. etc) al analista. relaciones internas o ligas entre la información (entre registros o tablas de datos) a almacenar en caso de bases o bancos de datos. La obtención de especificaciones a partir del cliente (u otros actores intervinientes) es un proceso humano muy interactivo e iterativo. ni de diseños. refinándola. es decir él no tiene por qué saber nada de software. Contrariamente. evidentemente una única persona (el analista) no puede abarcar tan vasta cantidad de áreas del conocimiento. etc. normalmente a medida que se captura la información. los analistas suelen ser asistidos por especialistas. requisitos no funcionales tales como los relativos al rendimiento. hasta cierto punto. sólo se debe limitar a aportar objetivos. EL analista siempre debe llegar a conocer la temática y el problema que resolver. nivel de soporte a errores operativos. plataformas de desarrollo. defina el «Universo de Discurso». cualquiera sea el método de ERS utilizado. Dada a gran diversidad de campos a cubrir.Algunos requisitos no necesitan la presencia del cliente. puliéndola y corrigiendo si es necesario. Algunos funcionales tales como opciones secundarias o de soporte necesarias para una mejor o más sencilla operatividad. el analista se debe compenetrar en cómo ella trabaja y maneja su información. equipos. Por citar ejemplos probables: Algunos requisitos sobre la arquitectura del sistema. etc. para ser capturados o analizados. en ciertos casos los puede proponer el mismo analista o. incluso. en primera instancia. Cuanto más complejo es el contexto del problema más . dominarlo. y guiado por él. se la analiza y realimenta con el cliente. datos e información (de mano propia o de sus registros. adoptar unilateralmente decisiones que considera adecuadas (tanto en requerimientos funcionales como no funcionales). para que. y con posterior trabajo logre confeccionar el adecuado documento ERS. es común tener analistas especializados en ciertas áreas de trabajo. Por ello el analista debe tener alta capacidad para comprender problemas de muy diversas áreas o disciplinas de trabajo (que no son específicamente suyas). así por ejemplo. Es bien conocida la presión que sufren los desarrolladores de sistemas informáticos para comprender y rescatar las necesidades de los clientes/usuarios. ni otras cosas relacionadas. hasta el ámbito que el futuro sistema a desarrollar lo abarque. es decir gente que conoce profundamente el área para la cual se desarrollará el software. empleados.

El UdeD es la realidad circunstanciada por el conjunto de objetivos definidos por quienes demandaron el software. Esas personas son conocidas también como actores de ese universo. modelado y formas de elicitación de requisitos Siendo que la captura. el resultado de este análisis. a veces se fuerza a los desarrolladores a tener que convertirse en casi expertos de los dominios que analizan. se plasma en un documento. El estándar IEEE 830-1998 brinda una normalización de las «Prácticas Recomendadas para la Especificación de Requisitos Software». elicitación y especificación de requisitos. El UdeD incluye todas las fuentes de información y todas las personas relacionadas con el software.14 A medida que se obtienen los requisitos. conocido como ERS o Especificación de Requisitos Software. Todo aquello que no se detecte. normalmente se los va analizando. que se define y entiende por: Universo de Discurso (UdeD): es el contexto general en el cual el software deberá ser desarrollado y deberá operar. También existen herramientas software que apoyan las tareas relativas realizadas por el ingeniero en requisitos. Un primer paso para realizar el relevamiento de información es el conocimiento y definición acertada lo que se conoce como «Universo de Discurso» del problema. propagando esta corriente degradante a lo largo de todo el proceso de desarrollo e incrementando su perjuicio cuanto más tardía sea su detección (Bell y Thayer 1976)(Davis 1993). . cuya estructura puede venir definida por varios estándares. Cuando esto no sucede es muy probable que se genere un conjunto de requisitos13 erróneos o incompletos y por lo tanto un producto de software con alto grado de desaprobación por parte de los clientes/usuarios y un altísimo costo de reingeniería y mantenimiento. es una parte crucial en el proceso de desarrollo de software. Procesos. ya que de esta etapa depende el logro de los objetivos finales previstos. A partir de la extracción y análisis de información en su ámbito se obtienen todas las especificaciones necesarias y tipos de requisitos para el futuro producto software. se han ideado modelos y diversas metodologías de trabajo para estos fines.difícil es lograrlo. tales como CMM-I. con o sin el cliente. o resulte mal entendido en la etapa inicial provocará un fuerte impacto negativo en los requisitos.

completos y oportunos posibles. . de los pasos y tareas a seguir para realizar la captura. aquí15 se presenta una de las tantas referencias y bibliografía sobre ello. lo que si se puede decir sin dudas es que es indispensable utilizar alguna de ellas para documentar las especificaciones del futuro producto software. en el trabajo de la Universidad de Sevilla sobre «Metodología para el Análisis de Requisitos de Sistemas Software». permitiendo básicamente: • • • • Comprender el problema Facilitar la obtención de las necesidades del cliente/usuario Validar con el cliente/usuario Garantizar las especificaciones de requisitos Si bien existen diversas formas. de alguna manera. Otra forma.16 En la Fig. análisis y especificación de requerimientos software. técnicas y herramientas que asisten a los ingenieros de requisitos (analistas) para obtener requerimientos lo más seguros. y todas cumplen el mismo objetivo. ya que ambos participan en la generación y definición de los requisitos del sistema. suelen tener muchísimo en común. La IR aporta un conjunto de métodos. Así por ejemplo. aunque no detallado. veraces. hay un grupo de investigación argentino que desde hace varios años ha propuesto y estudia el uso del LEL (Léxico Extendido del Lenguaje) y Escenarios como metodología. más o menos riguroso. generando un compromiso entre los ingenieros de requisitos y los clientes/usuarios. por ejemplo. de capturar y documentar requisitos se puede obtener en detalle. más ortodoxa. modelos y metodologías para elicitar. 7 se muestra un esquema. En el diagrama no se explicita metodología o modelo a utilizar. definir y documentar requerimientos. no se puede decir que alguna de ellas sea mejor o peor que la otra. Sin embargo. modelar y analizar el problema. sencillamente se pautan las tareas que deben cumplirse. También allí se observa qué artefacto o documento se obtiene en cada etapa del proceso.El objetivo de la Ingeniería de requisitos (IR) es sistematizar el proceso de definición de requisitos permitiendo elicitar.

Preparar y realizar las reuniones para elicitación/negociación. 7. en fase de Especificación de Requisitos Software es: 1. 7 . particulares. Definir correctamente las funciones que debe realizar el Software. Dividir claramente los modelos que representan la información. 5. Priorizar objetivos y requisitos.Fig. ambiguos o contradictorios. 4. Identificar/revisar los requisitos funcionales. Clasificación e identificación de requerimientos .Diagrama de tareas para captura y análisis de requisitos. Algunos principios básicos a tener en cuenta: • • • • • Presentar y entender cabalmente el dominio de la información del problema. Una posible lista. Identificar/revisar los requisitos no funcionales. Reconocer requisitos incompletos. 6. general y ordenada. las funciones y comportamiento y características no funcionales. Identificar/revisar los objetivos del sistema. 2. Representar el comportamiento del software a consecuencias de acontecimientos externos. Identificar/revisar los requisitos de información. los productos a obtener y las técnicas a emplear durante la actividad de elicitación de requisitos. 8. 3. Identificar/revisar los objetivos del usuario. Obtener información sobre el dominio del problema y el sistema actual (UdeD). incluso inesperados. de tareas recomendadas para obtener la definición de lo que se debe realizar.

etc. Requisitos de sistema: Los requisitos de sistema determinan los servicios del sistema y pero con las restricciones en detalle.) Ejemplo 1. código ejemplar. tasa de fallos. rendimiento. Se clasifican en tres los tipos de requisitos de sistema: • Requisitos funcionales Los requisitos funcionales describen: • • • • Los servicios que proporciona el sistema (funciones). estándares de proceso. pero con distinto nivel de detalle. Ejemplo de requisito de usuario: El sistema debe hacer préstamos Ejemplo de requisito de sistema: Función préstamo: entrada código socio. La biblioteca Central debe ser capaz de atender simultáneamente a todas las bibliotecas de la Universidad Ejemplo 2. hay tres tipos de requisitos no funcionales: • • Requisitos del producto. etc. cotas de tiempo. Especifican el comportamiento del producto (Ej. Requisitos no funcionales Los requisitos no funcionales son restricciones de los servicios o funciones que ofrece el sistema (ej. Es decir. salida: fecha devolución. lenguajes de programación.Se pueden identificar dos formas de requisitos: • • Requisitos de usuario: Los requisitos de usuario son frases en lenguaje natural junto a diagramas con los servicios que el sistema debe proporcionar. proceso de desarrollo. etc. memoria. El tiempo de respuesta a una consulta remota no debe ser superior a 1/2 s A su vez. Sirven como contrato. ambos son lo mismo.) Requisitos organizativos. etc. El comportamiento del sistema en situaciones particulares. prestaciones. La respuesta del sistema ante determinadas entradas.) . Se derivan de las políticas y procedimientos de las organizaciones de los clientes y desarrolladores (Ej. así como las restricciones bajo las que debe operar.

El sistema de biblioteca de la Universidad debe ser capaz de exportar datos mediante el Lenguaje de Intercomunicación de Bibliotecas de España (LIBE). el diseño es una fase de ciclo de vida del software. En ingeniería de software. la estructura que debe darse al sistema de software para que se haga realidad. Normalmente se entiende por "diseño de la arquitectura" al diseño de "muy alto nivel". o en la página de discusión del artículo.) Requisitos del dominio. para poder coordinar la redacción. Es posible que a causa de ello haya lagunas de contenido o deficiencias de formato. el diseño define cómo estos requisitos se cumplirán. requisitos legislativos. El sistema de biblioteca no podrá acceder a bibliotecas con material censurado. Diseño del sistema Un wikipedista está trabajando actualmente en este artículo o sección. En este nivel de diseño pertenecen fórmulas como cliente- . que sólo define la estructura del sistema en términos de la módulos de software de que se compone y las relaciones macroscópicas entre ellos. pero por favor: antes de realizar correcciones mayores contáctalo en su página de discusión. cada una de ellos se coloca en una posición intermedia entre el análisis y codificación. Ej. El diseño. en particular. éticos. Las distinciones entre las actividades mencionadas hasta ahora no siempre son claras cómo se quisiera en las teorías clásicas de ingeniería de software. etc.• Requisitos externos. El diseño sigue siendo una fase separada del la programación o codificación. Pueden ser funcionales o no funcionales. Ej. • Los requisitos del dominio se derivan del dominio de la aplicación y reflejan características de dicho dominio. Si quieres. puede describir el funcionamiento interno de un sistema en diferentes niveles de detalle. Se basa en la especificación de requisitos producido por el análisis de los requerimientos (análisis). esta ultima corresponde a la traducción en un determinado lenguaje de programación de las decisiones tomadas en el diseño. Se derivan de factores externos al sistema y al proceso de desarrollo (Ej. puedes ayudar y editar.

por último. pero esta vez con una referencia más o menos explícita al modo de descomposición que ofrece el particular lenguaje de programación con el que el desarrollo va a ocurrir. . y dependiendo de las herramientas que se utilizan en el proceso. esto puede ser relativo (y generalmente aplicable a sistemas de pequeño porte) ya que las etapas previas son cruciales.servidor o “tres niveles”. y así sucesivamente. sin embargo. en llevar a código fuente. todo lo diseñado en la fase anterior. la frontera entre el diseño y la codificación también puede ser virtualmente imposible de identificar. Debido a la naturaleza "intangible" del software. pero esta cifra no es consistente ya que depende en gran medida de las características del sistema. o. Es común pensar que la etapa de programación o codificación (algunos la llaman implementación) es la que insume la mayor parte del trabajo de desarrollo del software. DBMS. el proyecto podría describir al sistema en términos de las clases y sus interrelaciones.7 En tanto menor es el nivel del lenguaje mayor será el tiempo de programación requerido. las decisiones sobre el uso de la arquitectura de hardware especial que se utilice. El diseño detallado. que consiste. así por ejemplo se tardaría más tiempo en codificar un algoritmo en lenguaje ensamblador que el mismo programado en lenguaje C. esencialmente. Por ejemplo. describir no sólo las clases en abstracto. en el lenguaje de programación elegido. Esta tarea la realiza el programador. Se suele hacer estimaciones de un 30% del tiempo total insumido en la programación. en un diseño realizado con la tecnología de objetos. más generalmente. algunas herramientas CASE son capaces de generar código a partir de diagramas UML que describen gráficamente la estructura de un sistema software. sino también sus atributos y los métodos con sus tipos). Codificación del software Durante esta etapa se realizan las tareas que comúnmente se conocen como programación. siguiendo por completo los lineamientos impuestos en el diseño y en consideración siempre a los requisitos funcionales y no funcionales (ERS) especificados en la primera etapa. el sistema operativo. es una descripción del sistema muy cercana a la codificación (por ejemplo. su criticidad y el lenguaje de programación elegido. por ejemplo. críticas y pueden llevar bastante más tiempo. Protocolos de red. Un nivel intermedio de detalle puede definir la descomposición del sistema en módulos.

o El código objeto no existe si el programador trabaja con un lenguaje a modo de intérprete puro. a saber: • Código fuente: es el escrito directamente por los programadores en editores de texto. Contiene el conjunto de instrucciones codificadas en algún lenguaje de alto nivel. Durante la fase de programación. dependiendo de la forma de trabajo y del lenguaje elegido. normalmente con datos de prueba. Código objeto: es el código binario o intermedio resultante de procesar con un compilador el código fuente. El código objeto no es inteligible por el ser humano (normalmente es formato binario) pero tampoco es directamente ejecutable por la computadora. Puede estar distribuido en paquetes. claro es que no todos los errores serán encontrados sólo en la etapa de programación. habrán otros que se encontrarán durante las etapas subsiguientes. y bastante más lenta que si existe el o los archivos de código ejecutable. esto es la labor de ir liberando al código de los errores factibles de ser hallados en esta fase (de semántica. el código puede adoptar varios estados. Consiste en una traducción completa y de una sola vez de éste último. FORTRAN (compilador puro) MSIL (Microsoft Intermediate Language) (intérprete) y BASIC (intérprete puro. intérprete intermedio. bibliotecas fuente. Se trata de una representación intermedia entre el código fuente y el código ejecutable. etc. o software en general. Pero una • . Hay una suerte de solapamiento con la fase siguiente. en tiempo de ejecución. En este caso tampoco existe el o los archivos de código ejecutable. lo cual genera el programa. sintáctica y lógica). ya que para depurar la lógica es necesario realizar pruebas unitarias. procedimientos. sistema. Es decir no favorece el rendimiento en velocidad de ejecución.Mientras se programa la aplicación. se realizan también tareas de depuración. depende de la versión utilizada)]. (intérprete intermedio). Una desventaja de esta modalidad es que la ejecución del programa o sistema es un poco más lenta que si se hiciera con un intérprete intermedio. La aparición de algún error funcional (mala respuesta a los requerimientos) eventualmente puede llevar a retornar a la fase de diseño antes de continuar la codificación. en este caso el mismo intérprete se encarga de traducir y ejecutar línea por línea el código fuente (de acuerdo al flujo del programa). a los fines de un enlace final con las rutinas de biblioteca y entre procedimientos o bien para su uso con un pequeño intérprete intermedio [a modo de distintos ejemplos véase EUPHORIA. compilador intermedio o compilador puro.

no existe si se programa con modalidad de «intérprete puro». procedimientos. mucho más reducidas que el conjunto. Por lo anterior se dice que el código ejecutable es directamente «inteligible por la computadora». también conocido como código máquina. funciones y módulos. Constituye uno o más archivos binarios con un formato tal que el sistema operativo es capaz de cargarlo en la memoria RAM (eventualmente también parte en una memoria virtual). También se escogen: Datos que llevan a condiciones límites al software a fin de probar su tolerancia y robustez. y proceder a su ejecución directa. Dichas pruebas se utilizan para asegurar el correcto funcionamiento de secciones de código. aquellas que tengan funcionalidades específicas. y una vez depurado el código fuente (liberado de errores) se utiliza un compilador del mismo lenguaje para obtener el código ejecutable completo. Pruebas (unitarias y de integración) Entre las diversas pruebas que se le efectúan al software se pueden distinguir principalmente: • • Prueba unitarias: Consisten en probar o testear piezas de software pequeñas. El código ejecutable. datos que propocan condiciones eventuales o particulares poco comunes y . es que el esta forma de trabajo facilita enormemente la tarea de depuración del código fuente (frente a la alternativa de hacerlo con un compilador puro). con éstas se intenta asegurar que el sistema completo. Pruebas de integración: Se realizan una vez que las pruebas unitarias fueron concluidas exitosamente. los módulos o los bloques de código. Las pruebas normalmente se efectúan con los llamados datos de prueba. a nivel de secciones. Frecuentemente se suele usar una forma mixta de trabajo (si el lenguaje de programación elegido lo permite). • Código ejecutable: Es el código binario resultado de enlazar uno o más fragmentos de código objeto con las rutinas y bibliotecas necesarias. datos de utilidad para mediciones de rendimiento. con lo cual se agiliza la depuración y la velocidad de ejecución se optimiza. es decir inicialmente trabajar a modo de intérprete puro. incluso los subsistemas que componen las piezas individuales grandes del software funcionen correctamente al operar e inteoperar en conjunto.gran ventaja de la modalidad intérprete puro. y que tienen funciones concretas con cierto grado de independencia. que es un conjunto seleccionado de datos típicos a los que puede verse sometido el sistema.

teniendo para ello un período de prueba pactado con el desarrollador. más comúnmente. eventualmente. existe un fase probatoria final y completa del software. Instalación y paso a producción La instalación del software es el proceso por el cual los programas desarrollados son transferidos apropiadamente al computador destino. inestabilidades. por el cual se asignan adecuados parámetros de funcionamiento y se testea la operatividad funcional del producto. etc. o bien. puede incluso requerirse la instalación en varios y distintos computadores (instalación distribuida). durante la cual el sistema instalado en condiciones normales de operación y trabajo es probado exhaustivamente a fin de encontrar errores.) son descomprimidos y copiados a lugares específicos preestablecidos del disco. En el caso de software de desarrollo «a pedido». comúnmente es un proceso bastante automático que es creado y guiado con heramientas software específicas (empaquetado y distribución. la segunda alternativa es la utilizada. inicializados. para el que fuera diseñado. respuestas erróneas. y. Los posibles errores encontrados se transmiten a los desarrolladores para su depuración. Constituye la etapa final en el desarrollo propiamente dicho del software. Estas son normalmente realizadas por personal idóneo contratado o afectado específicamente a ello. con una de complejidad intermedia en la que los distintos archivos componentes del software (ejecutables. bibliotecas. La instalación. También. que hayan pasado los previos controles. incluso se crean vínculos con otros productos. todo ello con el propósito de ser ya utilizados por el usuario final. Este último caso. configurados. dependiendo del sistema desarrollado. Generalmente. puede consistir en una simple copia al disco rígido destino (casos raros actualmente).a las que el software normalmente no estará sometido pero pueden ocurrir. llamada Beta Test. datos propios. pero es realizada o guiada por especialistas. En productos de mayor complejidad. Luego de ésta el producto entrará en la fase de funcionamiento y producción. etc. . pero normalmente si lo son los de poca probabilidad de ocurrencia. etc. Los «datos de prueba» no necesariamente son ficticios o «creados». el usuario final (cliente) es el que realiza el Beta Test. instaladores). en software de mediana y alta complejidad normalmente es requerido un proceso de configuración y chequeo. además del propio sistema operativo.

puede llevar incluso a rever y adaptar desde parte de las primeras fases del desarrollo inicial. el mismo pasa a la fase de producción (operatividad). Uno o más cambios en el software. normalmente. que lo liberan más depurado. alterando todas las demás.En productos de venta masiva las instalaciones completas. El modelo cascada común es particularmente costoso en mantenimiento. incluso la configuración suele ser automática. produciendo los resultados esperados. En productos de diseño específico o «a medida» la instalación queda restringida. no necesariamente implica que el sistema tuvo errores.7 Esta fase involucra también actualizaciones y evoluciones del software. tanto en costo temporal como monetario. De un buen diseño y documentación del desarrollo dependerá cómo será la fase de mantenimiento. dependiendo de cuán profundos sean los cambios. utilitarios. La fase de mantenimiento es la que viene después de que el software está operativo y en producción. es común que surjan nuevas revisiones y versiones del producto. ya que su rigidez implica que cualquier cambio provoca regreso a fase inicial y fuertes alteraciones en las demás fases del ciclo de vida.) con herramientas propias de instalación guiada. etc. Durante el período de mantenimiento. El período de la fase de mantenimiento es normalmente el mayor en todo el ciclo de vida. paquetes de oficina. mejora y optimización del software ya desarrollado e instalado. según el modelo empleado) que se aplica al ciclo de vida del desarrollo de software. Por ello. durante la cual cumple las funciones para las que fue desarrollado. con . es finalmente utilizado por el (o los) usuario final. que también incluye depuración de errores y defectos que puedan haberse filtrado de la fase de pruebas de control y beta test. Una vez realizada exitosamente la instalación del software. a personas especialistas involucradas en el desarrollo del software en cuestión. Mantenimiento El mantenimiento de software es el proceso de control. si son relativamente simples. Esta fase es la última (antes de iterar. suelen ser realizadas por los propios usuarios finales (tales como sistemas operativos. es decir. por ejemplo de adaptación o evolutivos. Modificaciones realizadas a un software que fue elaborado con una documentación indebida o pobre y mal diseño puede llegar a ser tanto o más costosa que desarrollar el software desde el inicio. es de fundamental importancia respetar debidamente todas las tareas de las fases del desarrollo y mantener adecuada y completa la documentación.

será reemplazado por un producto nuevo. Carácter evolutivo del software17 El software es el producto derivado del "proceso" de desarrollo. 1998. de plataforma o arquitectura hardware. 2001).mayor y mejor funcionalidad. El software evoluciona sencillamente por que se debe adaptar a los cambios del entorno. Correctivos: Alteraciones necesarias para corregir errores de cualquier tipo en el producto software desarrollado.. según las necesidades del usuario. operativos. en gestores de base de datos. incluso eliminaciones. adaptaciones o ampliaciones y mejoras. definición más clara del sistema y su documentación. Su trabajo continuó en la década de 1990. con Lehman y otros investigadores18 de relevancia en la realimentación en los procesos de evolución (Lehman. eventualmente cumplirá con su ciclo de vida. Básicamente se tienen los siguientes tipos de cambios: • • • • Perfectivos: Aquellos que llevan a una mejora de la calidad interna del software en cualquier aspecto: Reestructuración del código. etc. comenzando en los años 70 y 80. Cuando un sistema deja de evolucionar. necesarias en el software para cubrir su expansión o cambio. Adaptivos: Modificaciones que afectan a los entornos en los que el sistema opera. adecuadas a nuevas plataformas (sean de hardware o sistemas operativos).. etc. etc. optimización del rendimiento y eficiencia. complejas. La mayor contribución en esta área fue realizada por Meir M. generando versiones cada vez más completas. A partir de esos estudios propusieron un . Varias son las facetas que pueden ser alteradas para provocar cambios deseables. entrará en obsolescencia e inevitablemente. El software evoluciona. según la ingeniería de software. Este producto es intrínsecamente evolutivo durante su ciclo de vida. Lehman et al. optimizadas en algún aspecto. mejoradas. en general. cambios en el software de base. en comunicaciones. modificaciones. sean funcionales (exigencias de usuarios). La dinámica de evolución del software es el estudio de los cambios del sistema. lehman et al. evolutivos. mejor rendimiento. Lehman y Belady. Evolutivos: Agregados. tarde o temprano. tales como: Cambios de configuración del hardware (por actualización o mejora de componentes electrónicos). 1996.

Realimentación del sistema: Los procesos de evolución incorporan sistemas de realimentación multiagente y multibucle y estos deben ser tratados como sistemas de realimentación para lograr una mejora significativa del producto. 6. derivando finalmente. Estas leyes (en realidad son hipótesis) son invariantes y ampliamente aplicables. Estabilidad organizacional: Durante el tiempo de vida de un programa. 3. el cambio incremental en cada entrega es aproximadamente constante. Se deben dedicar recuersos extras para preservar y simplificar la estrucutura. Complejidad creciente: A medida que un programa en evolución cambia. las siguientes ocho leyes: 1. Véase también • • • • • Portal:Software. Crecimiento continuado: La funcionalidad ofrecida por los sistemas tiene que crecer continuamente para mantener la satisfacción de los usuarios. su estructura tiende a ser cada vez más compleja. 7.conjunto de leyes (conocidas como leyes de Lehman)9 respecto de los cambios producidos en los sistemas. según sus medidas. 2. Ingeniería de software Programa informático Aplicación informática Programación . 5. su velocidad de desarrollo es aproximadamente constante e independiente de los recursos dedicados al desarrollo del sistema. Contenido relacionado con Software. Conservación de la familiaridad: Durante el tiempo de vida de un sistema. tiempo entre entregas y la cantidad de errores documentados son aproximadamente invariantes para cada entrega del sistema. Los atributos de los sistemas. Evolución prolongada del programa: La evoluvión de los programas es un proceso autoregulativo. 4. Decremento de la calidad: La calidad de los sistemas software comenzará a disminuir a menos que dichos sistemas se adapten a los cambios de su entorno de funcionamiento. 8. Lehman y Belady analizaron el crecimiento y la evolución de varios sistemas software de gran porte. Cambio continuo: Un programa que se usa en un entorno real necesariamente debe cambiar o se volverá progresivamente menos útil en ese entorno. tales como tamaño.

Espasa-Calpe. Quinta edición edición. Consultado el 1 de febrero de 2010. ↑ Real Academia Española.. ↑ a b c d e Pressman. Diccionario de la Lengua Española. 7. «El producto». Consultado el 15 Dic 2008. IEEE Software Engineering Standard: Glossary of Software Engineering Terminology. 5. Ingeniería del Software. 4. Diccionario panhispánico de dudas.Libros Digitales. IEEE Computer Society Press. ↑ «Término "Elicitar"». Instituto de Formación Profesional . 3.Educational content repository. 1ra. 11. (2003). (2003). Roger S. ↑ a b c d e f g h i «Ciclo de vida del Software y Modelos de desarrollo». 1993 6. Quinta edición edición.Wiktionary. ↑ IEEE Std. México: Mc Graw Hill.. 8. 1. Connexions Educational content repository. acepción . XXIIº Edición. 9. ↑ a b c d e f g h i j k «Ciclo de Vida del Software». ↑ Pressman. Consultado el 8 de febrero de 2009.): «software» (diccionario). . ↑ a b c «Evolución del Software». 1. Consultado el 14 de marzo de 2008. un enfoque Práctico. ↑ a b c d «Leyes de evolución del Software». Ingeniería del Software. Connexions .com (ed. un enfoque Práctico. 2.° Edición (octubre 2005). 10. Mexico: Mc Graw Hill. «Uso de la palabra Software». Roger S. ↑ Real Academia Española.• • • • Fases del desarrollo de software Software colaborativo Software libre Ingeniería informática Modelos de ciclo de vida • • • • • Modelo en cascada o secuencial Modelo iterativo incremental Modelo evolutivo espiral Modelo de prototipos Modelo de desarrollo rápido Referencias ↑ Diccionario de la lengua española 2005 (2010). «Significado de la palabra Software». wordreference. «El proceso». Grupo Alarcos Escuela Superior de Informática de Ciudad Real.

puede referirse tanto a un programa ejecutable. (Manny) Lehman». los presentaron como ficheros ejecutables. Ingeniería del Software. Ian (2005). donde debido a la estructura de este último. las instrucciones que se escribieron en un lenguaje de programación que los humanos usan para escribirlos con mayor facilidad. 17. España: Pearson Educacion S. 12. (propio en sistemas Unix. como a su código fuente. de Morón.. IEEE-SA Standards Board. Rio de Janeiro. con extensión . En informática. Programa informático De Wikipedia. ↑ Sommerville. que más genéricamente se refiere al equipamiento lógico o soporte lógico de una computadora digital. CA. 18. ↑ «Metodología para el análisis de Requisitos de Sistemas Software». ↑ «Recommended Practice for Software Requirements Specification». Cuando se pide . 1997 (Compendio de papers y artículos en ingeniería de requisitos) 13. Univ.A. «21-Evolución del software». El mismo término. el cual es transformado en un binario cuando es compilado. Buenos Aires. 2000. ACM (31-05-2007). estas máquinas no pueden funcionar. 2nd Edition. se han traducido al único idioma que la máquina comprende. IEEE Computer Society. en los sistemas operativos de la familia Windows) debido a que una vez que han pasado por el proceso de compilación y han sido creados. Generalmente el código fuente lo escriben profesionales conocidos como programadores. 16.1 2 Al conjunto general de programas. Consultado el 27-11-2011. 15. 14. Sin programas. Posteriormente. ↑ «ACM Fellow Profile for Meir M. se los denomina comúnmente binarios. de Sevilla. la enciclopedia libre (Redirigido desde Programa (informática)) Saltar a: navegación..↑ Software Requirements Engineering. WER 2000. ↑ «III Workshop de Engenharia de Requisitos». Univ. 2001. se le denomina software.exe. Se escribe en un lenguaje que sigue uno de los siguientes dos paradigmas: imperativo o declarativo y que posteriormente puede ser convertido en una imagen ejecutable por un compilador.. Los Alamitos. búsqueda Un programa informático es un conjunto de instrucciones que una vez ejecutadas realizarán una o varias tareas en una computadora. los ficheros no necesitan hacer uso de extensiones. ↑ «LEL y Escenarios como metodología en Ingeniería de Requisitos». combinaciones de ceros y unos llamada código máquina.

A este proceso se lo llama interpretar y a los programas que lo hacen se los conoce como intérpretes. se clasifican en software de sistema y software de aplicación. Ejemplos de esto son: El lenguaje C.que el programa sea ejecutado.1 Programas que se auto-modifican 2 Ejecución y almacenamiento de los programas o 2.3 Traduciendo el código escrito del programa (lo que se denomina código fuente). Contenido [ocultar] • • • • • 1 Ejecución o 1. A este proceso se le llama compilar y al programa traductor se le denomina compilador.4 Ejecución simultánea 3 Categorías funcionales 4 Véase también 5 Referencias Ejecución Una vez escritos. clásico en estaciones Unix y que fue escrito para el proyecto GNU o Python. .3 Programas generados automáticamente o 2. En los computadores actuales. está en su facilidad de uso y productividad y de hecho. cuya peculiaridad además de ser multipropósito.2 Programas cargados manualmente o 2. De acuerdo a sus funciones.1 Programas empotrados en hardware o 2. se le conoce como multitarea. es usado en parte de los proyectos Google y YouTube. que combina en su sintaxis características de medio y bajo nivel y el compilador gcc usado en el proyecto GNU. a su equivalente en lenguaje máquina. Ejemplos de esto son bash. al hecho de ejecutar varios programas de forma simultánea y eficiente. el procesador ejecuta instrucción por instrucción. pueden ser ejecutados de diversas formas: • • Mediante un programa que va adaptando las instrucciones conforme son encontradas.

un dispositivo de hardware podría tener firmware empotrado para el control de sus operaciones. dicho error puede ser de software o de hardware. el cual puede acceder directamente al procesador. o cuando el programa no debe perderse cuando haya ausencia de energía. El firmware se utiliza cuando se espera que el programa cambie en raras ocasiones o nunca. Independiente de la computadora. directa o indirectamente. el programa es cargado en la memoria de acceso aleatorio o RAM del equipo. Se pueden escribir programas auto-modificables en lenguajes como Lisp. especialmente cuando un programa se modifica a sí mismo. bajo el control del software llamado sistema operativo.5 Programas cargados manualmente Interruptores para la carga manual en una Data General Nova 3. Al momento de dicha solicitud. Los programas históricamente se cargaron manualmente al procesador central mediante interruptores. Una instrucción era representada por una . instrucción por instrucción hasta que termina. desde los registros del procesador. Programas empotrados en hardware El microcontrolador a la derecha de la Memoria USB está controlada por un firmware empotrado. solicite su ejecución. para que luego el usuario de la computadora. Una computadora con arquitectura de programas almacenados requiere un programa inicial almacenado en su ROM para arrancar. Un programa puede terminar su ejecución en forma normal o por causa de un error. El programa modificado es secuencialmente ejecutado como parte del mismo programa. este programa inicial carga al sistema operativo e inicializa al contador de programa para empezar las operaciones normales. Algunos programas están empotrados en el hardware.4 Seguido del proceso de inicialización. El proceso de arranque es para identificar e inicializar todos los aspectos del sistema. los programas se almacenan en una memoria no volátil (por ejemplo un disco). El procesador ejecuta (corre) el programa.Programas que se auto-modifican Un programa en ejecución se trata de forma diferente que los datos en los cuales opera. COBOL y Prol Ejecución y almacenamiento de los programas Típicamente. controladores de dispositivos hasta el contenido de la memoria RAM. De cualquier forma. en algunos casos ésta distinción es ambigua. A un programa en ejecución se le suele llamar también proceso.

a lo cual se le conoce como multitarea y puede lograrse a través de mecanismos de software o de hardware. Ejecución simultánea Véanse también: Proceso (informática) y Multiprocesamiento Muchos programas pueden correr simultáneamente en la misma computadora. El código fuente se genera con herramientas de programación tal como un procesador de plantilla o un IDE. históricamente los programas se cargaban manualmente mediante una cinta de papel o tarjetas perforadas.configuración de estado abierto o cerrado de los interruptores. Las Wikis generan HTML. CSS. y Javascript los cuales son interpretados por un navegador web. Por ejemplo. y generadores de código para aumentar la productividad del programador. Java.7 También se puede lograr la multitarea por medio del hardware. Los sistemas operativos modernos pueden correr varios programas a través del planificador de procesos — un mecanismo de software para conmutar con frecuencia la cantidad de procesos del procesador de modo que los usuarios puedan interactuar con cada programa mientras estos están corriendo.8 Categorías funcionales . También. Los servidores de aplicaciones son motores de software que entregan aplicaciones a computadoras cliente. prototipos. tal como el preprocesador de C. Después de que el programa se cargaba. un software para wikis es un sevidor de aplicaciones que permite a los usuarios desarrollar contenido dinámico ensamblado a partir de artículos. aspectos. se ejecutaba un botón de ejecución. Después de establecer la configuración. La forma más simple de un generador de código fuente es un procesador macro. plantillas.6 Programas generados automáticamente La programación automática es un estilo de programación que crea código fuente mediante clases genéricas. Un motor de software da de salida código fuente o lenguaje de marcado que simultáneamente se vuelve la entrada de otro proceso informático. la dirección de inicio se establecía mediante interruptores y el botón de ejecución se presionaba. las computadoras modernas que usan varios procesadores o procesadores con varios núcleos pueden correr muchos programas a la vez. Este proceso era repetitivo. Podemos pensar como analogía un proceso manejando a otro siendo el código máquina quemado como combustible. que reemplaza patrones de código fuente de acuerdo a reglas relativamente simples.

estadísticas o proposiciones descriptivas. Estas categorías funcionales son software de sistema y software de aplicación. es la parte mínima de la información. el software de sistema incluye programas utilitarios que ayudan a manejar y configurar la computadora. Si un programa no es software de sistema entonces es software de aplicación. . Los datos convenientemente agrupados. El software de sistema incluye al sistema operativo el cual acopla el hardware con el software de aplicación. como por ejemplo la necesidad de ordenamiento.9 El propósito del sistema operativo es proveer un ambiente en el cual el software de aplicación se ejecuta de una manera conveniente y eficiente. un atributo o característica de una entidad. la enciclopedia libre (Redirigido desde Datos) Saltar a: navegación. búsqueda El dato es una representación simbólica (numérica. prácticamente en cualquier disciplina científica. En programación. hipótesis o teoría se puede apreciar la información contenida en dichos datos. Es de empleo muy común en el ámbito informático y. sucesos y entidades. Los datos pueden consistir en números. un dato es la expresión general que describe las características de las entidades sobre las cuales opera un algoritmo. En Estructura de datos. estructurados e interpretados se consideran que son la base de la información humanamente relevante que se pueden utilizar en la toma decisiones. También son software de aplicación los programas utilitarios que ayudan a los usuarios a resolver problemas de aplicaciones. entre otros. El middleware también es un software de aplicación que acopla el software de sistema con la interfaz de usuario. Un dato por sí mismo no constituye información. alfabética. Los datos describen hechos empíricos.).9 Además del sistema operativo. es el procesamiento de los datos lo que nos proporciona información.Los programas se pueden categorizar según líneas funcionales. Los datos aisladamente pueden no contener información humanamente relevante. la reducción de la incertidumbre o la realización de cálculos. algorítmica. Datos De Wikipedia. en general. Sólo cuando un conjunto de datos se examina conjuntamente a la luz de un enfoque.

Archivo (informática) De Wikipedia. Para otros usos de este término. Contenido . una buena organización permite una gran coordinación y comunicación entre los miembros.Organización de la información De Wikipedia. se pasó a controlar mucha más información que debía ser organizada. haciéndola visible sólo a aquellos usuarios con los permisos suficientes. papel o microfichas del entorno de oficina tradicional. debido a la relevancia de este aspecto en el mundo empresarial. véase Archivo. La introducción del ordenador en el mundo empresarial revolucionó por completo el sector. Los archivos informáticos facilitan una manera de organizar los recursos usados para almacenar permanentemente datos en un sistema informático. Para una explicación más detallada y técnica. Años más tarde fue Internet quien revolucionó el sector empresarial. Los archivos informáticos se llaman así porque son los equivalentes digitales de los archivos en tarjetas. Se desarrollaron más tarde bases de datos y aplicaciones dedicadas a optimizar la gestión de información. Un archivo es identificado por un nombre y la descripción de la carpeta o directorio que lo contiene. búsqueda Este artículo explica los archivos informáticos y los sistemas de archivos en términos generales. Otros beneficios de la organización de la información son la reducción de costes y esfuerzo en proyectos. vea sistemas de archivos. Un archivo o fichero informático es un conjunto de bits almacenado en un dispositivo. la enciclopedia libre Saltar a: navegación. Además. la enciclopedia libre (Redirigido desde Archivos) Saltar a: navegación. al tener disponible de una manera más eficaz la documentación de otros proyectos. Una buena organización garantiza disponer de la información precisa al instante. búsqueda La organización de la información constituye actualmente un factor de éxito en las empresas.

Un archivo de datos informático normalmente tiene un tamaño. Los datos de un archivo informático normalmente consiste de paquetes más pequeños de datos (a menudo llamados registros o líneas) que son individualmente diferentes pero que comparten algún rasgo en común. Depende del software que se ejecuta en la computadora el interpretar esta estructura básica como por ejemplo un programa. un archivo es. que generalmente se expresa en bytes. no consisten en un flujo de bits y no tienen tamaño de archivo. simplemente un flujo unidimensional de bits . La manera en que se agrupan los datos en un archivo depende completamente de la persona que diseñe el archivo. Por ejemplo. en todos los sistemas operativos modernos. y todos los registros tienen la característica común de estar relacionados con las nóminas-esto es muy similar a colocar todos los datos sobre nóminas en un archivador concreto en una oficina que no tenga ninguna computadora. desde los más simples a los más . Los tipos especiales de archivos. como los nodos de dispositivo que representan simbólicamente partes del hardware. Esto ha conducido a una plétora de estructuras de archivo más o menos estandarizadas para todos los propósitos imaginables. un archivo de nóminas puede contener datos sobre todos los empleados de una empresa y los detalles de su nómina. cada registro del archivo de nóminas se refiere únicamente a un empleado. que es tratado por el sistema operativo como una única unidad lógica. basándose en su nombre y contenido. correspondientes a líneas impresas en una hoja de papel. el tamaño puede ser cualquier número entero no negativo de bytes hasta un máximo dependiente del sistema. un texto o una imagen.[ocultar] • • • • • • • • • 1 Contenido de los archivos 2 Identificación y organización de archivos 3 Operaciones sobre ficheros completos 4 Protección de archivos 5 Protección legal de datos de archivos 6 Almacenamiento de archivos 7 Respaldo de archivos 8 Sistemas de archivos y gestores de archivos 9 Véase también Contenido de los archivos En lo que concierne al sistema operativo. Un archivo de texto puede contener líneas de texto. en la mayoría de los casos.

los programas de computadora manipulan los archivos que se hacen visibles al usuario de la computadora. y (a menudo) sus nombres. los archivos de Microsoft Office Word son normalmente creados y modificados por el programa Microsoft Word en respuesta a las órdenes del usuario. Los archivos de datos usados por juegos como Doom y Quake son ejemplos de esto. pero el usuario también puede mover. modifican y borran archivos para su propio uso bajo demanda.complejos. La mayoría de los archivos informáticos son usados por programas de computadora. Los archivos de una computadora se pueden crear. los programas de computadora que se ejecutan en la computadora se encargan de estas operaciones. Estos programas crean. Los programadores que crean los programas deciden qué archivos necesitan. Por ejemplo. cómo se van a usar. y proporciona la información (como palabras y texto) que se almacenará en el archivo. En algunos casos. renombrar o borrar estos archivos directamente usando un programa gestor de archivos como Windows Explorer (en computadoras con sistema operativo Windows). aumentar. reducir y borrar. pero el usuario elige el nombre y la ubicación del archivo. en un programa de procesamiento de texto. usando marcadores internos para discernir los diferentes tipo de información que contienen. Por ejemplo. Muchas aplicaciones empaquetan todos sus archivos de datos en un único archivo. el usuario manipula archivosdocumento a los que él mismo da nombre. pero el usuario de una computadora también puede manipular los archivos si es necesario. También un archivo es un documento donde uno introduce algún tipo de Dato para almacenar en un objeto que lo pueda leer o modificar como una computadora. modificar. En la mayoría de los casos. El contenido del archivodocumento está organizado de una manera que el programa de procesamiento de texto entiende. mover. Identificación y organización de archivos .

. pero las computadoras modernas permiten nombres largos que contengan casi cualquier combinación de letras unicode y dígitos unicode. Algunos sistemas informáticos permiten nombres de archivo que contengan espacios. sin embargo. otros no. y permiten a las aplicaciones a nivel de usuario crear archivos cuyos nombres difieran solamente en si los caracteres están en mayúsculas o minúsculas. El popular antiguo sistema de archivos FAT puede tener varios archivos cuyos nombres difieran únicamente en las mayúsculas y minúsculas si el usuario utiliza un editor de discos para editar los nombres de archivo en las entradas de directorio. cada uno con diferentes políticas en cuanto a la distinción entre mayúsculas y minúsculas. no puede haber dos archivos con el mismo nombre en el mismo directorio. El aspecto del nombre depende del tipo de sistema informático que se use. En otras palabras.Los archivos y carpetas se organizan jerárquicamente. normalmente no permitirán al usuario crear varios archivos con el mismo nombre pero con diferentes letras en mayúsculas y minúsculas. El nombre de un archivo y la ruta al directorio del archivo lo identifica de manera unívoca entre todos los demás archivos del sistema informático -no puede haber dos archivos con el mismo nombre y ruta-. haciendo más fácil entender el propósito de un archivo de un vistazo. Microsoft Windows reconoce varios sistemas de archivos. Las aplicaciones de usuario. Las primeras computadoras sólo permitían unas pocas letras o dígitos en el nombre de un archivo. En los sistemas informáticos modernos. Los sistemas de archivos Unix distinguen normalmente entre mayúsculas y minúsculas. los archivos siempre tienen nombres. Los archivos se ubican en directorios. El nombre de un archivo debe ser único en ese directorio. La distinción entre mayúsculas y minúsculas en los nombres de archivo está determinada por el sistemas de archivos.

etc. Sin embargo. la extensión . se emplea algún tipo de carácter especial -como una barra. Por ejemplo. Muchos (pero no todos) sistemas informáticos usan extensiones en los nombres de archivo para ayudar a identificar qué contienen. cada archivo y carpeta no sólo tiene un nombre propio. Incluso cuando se utilizan extensiones en un sistema informático. . sino también una ruta. la organización del fichero y la estructura lógica de sus registros sí debe ser tenida en cuenta al operar con él. En computadoras Windows. y también puede contener otras carpetas. En este ejemplo. que identifica la carpeta o carpetas en las que reside un archivo o carpeta. las extensiones consisten en un punto al final del nombre del archivo. (El concepto es el mismo independientemente de la terminología usada. sin tener en cuenta sus registros.para separar los nombres de los archivos y carpetas.) Cada carpeta puede contener un número arbitrario de archivos. Una extensión .La mayoría de las computadoras organizan los archivos en jerarquías llamadas carpetas. directorios o catálogos. comúnmente en el formato de archivo de Microsoft Office Word. la ruta /Payroll/Salaries/Managers identifica unívocamente un archivo llamado Managers que está en una carpeta llamada Salaries que a su vez está contenida en una carpeta llamada Payroll. el grado con el que un sistema informático los reconoce y trata puede variar. A las carpetas se les puede dar nombre exactamente igual que a los archivos (excepto para la carpeta raíz. Las otras carpetas pueden contener todavía más archivos y carpetas. seguido de unas pocas letras para identificar el tipo de archivo. precedería a esta primera barra). la superior o carpeta raíz no tiene nombre. que a menudo no tiene nombre). Operaciones sobre ficheros completos Las operaciones sobre ficheros completos con el fichero como unidad. En la ruta. construyéndose un estructura en árbol en la que una «carpeta raíz» (el nombre varía de una computadora a otra) puede contener cualquier número de niveles de otras carpetas y archivos. mientras que en otros sistemas se ignoran completamente si están presentes. los nombres de las carpetas y archivos están separados por barras.txt identifica un archivo de texto.doc identifica cualquier tipo de documento o documentación. y por ello la ruta comienza con una barra (si la carpeta raíz tuviera nombre. Cuando una computadora permite el uso de carpetas. en algunos sistemas son obligatorios. El uso de carpetas hace más fácil organizar los archivos de una manera lógica. y así sucesivamente. en la ilustración mostrada en este artículo.

En el proceso de creación del fichero debe registrarse la información necesaria para que el sistema pueda localizar el fichero y manipular sus registros lógicos. garantizando la integridad de los registros. Tras cerrar el fichero. Para ello. la que implícitamente. Mediante esta operación el método de acceso se encarga de "romper" la conexión entre el programa de usuario y el fichero. sus atributos dejan de ser accesibles para el método de acceso. la fecha de creación. etc. El fichero no se puede leer por errores en el hardware del dispositivo de almacenamiento. la identificación del fichero. Al ejecutar esta operación. y es la operación de apertura de un fichero no existente. directorio. aspectos de seguridad. Mediante esta operación se indican las propiedades y las características del fichero para que el sistema de ficheros pueda reconocerlo y procesarlo. El único parámetro necesario para realizar esta operación es el identificador del fichero devuelto por el método de acceso al crear o abrir el fichero. crea un nuevo fichero. el sistema se encarga de escribir en el dispositivo de almacenamiento aquella información que contienen los búfer asociados al fichero y se llevan a cabo las operaciones de limpieza necesarias. el método de acceso debe obtener información sobre el formato y el tamaño de los registros lógicos y físicos. Los errores que se pueden producir al cerrar un fichero son los siguientes: • El fichero no está abierto. nombre). Los errores que pueden producirse en la apertura de un fichero son los siguientes: • • • El fichero no se encuentra en el lugar indicado (dispositivo. Apertura de un fichero En esta operación el método de acceso localiza e identifica un fichero existente para que los usuarios o el propio sistema operativo pueda operar con él. Cierre de un fichero Esta operación se utiliza para indicar que se va a dejar de utilizar un fichero determinado. En algunos sistemas la operación de creación no existe como tal. su organización. . El fichero se ha localizado pero el usuario no tiene permiso para acceder al mismo.Creación de un fichero El objetivo de esta operación es permitir a los usuarios la creación de nuevos ficheros. su posible tamaño.

A un usuario dado se le puede conceder solamente permiso para modificar un archivo o carpeta. Los permisos también se pueden usar para permitir que solamente ciertos usuarios vean el contenido de un archivo o carpeta. y mantienen la información privada confidencial impidiendo que los usuarios no autorizados vean ciertos archivos. El lenguaje de comandos del sistema operativo dispone de un comando para eliminar el identificador del fichero de la tabla de contenidos. Mediante esta operación el atributo que indica el tamaño del fichero será modificado y se devolverá al programa de usuario con un código de estado. Para realizar esta operación el método de acceso necesita conocer el identificador del fichero y el tamaño del espacio adicional que se debe asignar al fichero.• • No se ha podido escribir en el dispositivo toda la información del fichero. borrar o crear archivos y carpetas. Otro mecanismo de protección implementado en muchas computadoras es una marca de sólo lectura. Cuando esta marca está activada en un archivo . No se ha podido escribir en el dispositivo toda la información del fichero por falta de espacio en el dispositivo de almacenamiento. El único motivo para que esta operación no se lleve a cabo con éxito es que no haya suficiente espacio disponible en el lugar adecuado (no contiguo). Borrado de un fichero Esta operación elimina un fichero del directorio o tabla de contenidos correspondiente. En función de la organización del fichero. Protección de archivos Muchos sistemas informáticos modernos proporcionan métodos para proteger los archivos frente a daños accidentales o intencionados. Las computadoras que permiten varios usuarios implementan permisos sobre archivos para controlar quién puede o no modificar. pero no para borrarlos. Extensión del fichero Esta operación permite a los programas de usuario aumentar el tamaño de un fichero asignándole más espacio en el dispositivo de almacenamiento. Los permisos protegen de la manipulación no autorizada o destrucción de la información de los archivos. pero no para borrarlo. el método de acceso determinará si el espacio adicional que debe asignar debe ser contiguo al fichero o no. o a un usuario se le puede conceder permiso para crear archivos o carpetas. debido a fallos en el hardware.

(lo que puede ser realizado por un programa de computadora o por un usuario humano). También se usaban otros medios de almacenamiento como discos compactos grabables. Algunos países han creado organismos que se encargan del tema y de legislar respecto del acceso. etcétera. la mayoría de los archivos informáticos se almacenan en discos duros —discos magnéticos que giran dentro de una computadora que pueden registrar información indefinidamente—. Almacenamiento de archivos En términos físicos. El mal uso de información personal puede constituir un delito. pero no puede ser modificado. uso y confidencialidad de los datos. . como archivos especiales que son usados solamente por partes internas del sistema informático. dispositivos con mucha capacidad de almacenamiento que tienen la ventaja de ser pequeños y portátiles. Protección legal de datos de archivos La protección de datos personales y velar por la privacidad de la información es un tema de suma importancia a nivel de empresas y de países. o si fueran borrados accidentalmente. Los discos duros permiten acceso casi instantáneo a los archivos informáticos. el archivo puede ser examinado. se usa un proceso de respaldo (back-up) para protegerse contra desastres que podrían destruir los archivos. Algunos sistemas incluyen también una marca oculta para hacer que ciertos archivos sean invisibles. Hacer copias de respaldo de archivos significa simplemente hacer copias de los archivos en una ubicación separada de modo que se puedan restaurar si le pasara algo a la computadora. No obstante en la actualidad han cobrado mucho auge las memorias flash. suelen usarse para guardar archivos en dispositivos pequeños como teléfonos móviles o reproductores de audio portátiles Respaldo de archivos Cuando los archivos informáticos contienen información que es extremadamente importante. Esta marca es útil para información crítica que no debe ser modificada o borrada. Hace unos años solían usarse cintas magnéticas para realizar copias de seguridad. esta marca la usa el sistema informático para ocultar archivos de sistema esenciales que los usuarios nunca deben modificar. unidades Zip.

además del sistema de archivos NTFS que es el sistema de archivos normal en las versiones recientes de Windows. aunque no le permiten realmente leer el contenido de un archivo o almacenar información en él. En Windows.Hay muchas maneras de hacer copias de respaldo de archivos. NTFS no es más moderno que FAT32. y tener varias letras Unicode. Copiar los archivos a otro disco duro en la misma computadora protege contra el fallo de un disco.dat" (salvo que estuviera usando VFAT. La mayoría de los sistemas informáticos proporcionan utilidades para ayudar en el proceso de respaldo. Por ejemplo. por ejemplo. en Microsoft Windows 7. Se puede llamar a un archivo "Registros de nóminas" en NTFS. . La FAT estándar solamente permite nombres de archivo de ocho bytes (u ocho caracteres de sólo 1 byte) sin espacios (más una extensión de tres bytes/caracteres). entonces de deben hacer copias de los archivos en otro medio que puede sacarse de la computadora y almacenarse en una ubicación distante y segura. Cada sistema de archivos tiene sus propias ventajas y desventajas. Los programas gestores o administradores de archivos son utilidades que le permiten manipular archivos directamente. se reconocen los antiguos sistemas de archivos FAT y FAT32 de las versiones antiguas de Windows. borrar y renombrar archivos y carpetas. Cada sistema informático proporciona al menos un programa gestor de archivos para su sistema de archivos nativo. mientras que en FAT estaría limitado a algo como "nominas. mientras que NTFS permite nombres mucho más largos que pueden contener espacios. pero si es necesario protegerse contra el fallo o destrucción de la computadora entera. crear. el gestor de archivos usado más comúnmente es Windows Explorer. que puede llegar a consumir mucho tiempo si hay muchos archivos a salvaguardar. algunos sistemas operativos permiten usar varios sistemas de archivos diferentes. Sistemas de archivos y gestores de archivos Artículo principal: Sistema de archivos La manera en que un sistema operativo organiza. Todos los sistemas operativos tienen al menos un sistema de archivos. almacena y manipula los archivos se denomina globalmente como su sistema de archivos. una extensión de FAT que permite nombres de archivo largos). da nombre. ha existido desde que Windows NT se publicó en 1993. Le permiten mover.

la enciclopedia libre Saltar a: navegación. Interacción entre el SO con el resto de las partes. la inclusión en el mismo término de programas como el explorador de ficheros.Sistema operativo De Wikipedia. el navegador y todo tipo de herramientas que permiten la interacción con el sistema operativo. y permite la normal ejecución del resto de las operaciones. Uno de los más prominentes ejemplos de esta diferencia. es decir. Este . que es el núcleo del sistema operativo GNU. del cual existen las llamadas distribuciones GNU. es el núcleo Linux. también llamado núcleo o kernel.1 Nótese que es un error común muy extendido denominar al conjunto completo de herramientas sistema operativo. búsqueda No debe confundirse con Sistemas operados. Un sistema operativo (SO) es el programa o conjunto de programas que efectúan la gestión de los procesos básicos de un sistema informático. Estimación del uso de sistemas operativos según una muestra de computadoras con acceso a Internet en Noviembre de 2009 (Fuente: W3counter).

error de precisión.3.2 Gestión de la memoria principal .3 Excepciones  3. La mayoría de aparatos electrónicos que utilizan microprocesadores para funcionar. fueron bautizados con el sobrenombre de Video Toasters5 por su capacidad para la Edición de vídeo en entorno multitarea round robin.1 Tratamiento de las interrupciones o 3.2 Monitores residentes o 1.1 Modos de ejecución en un CPU o 2. cambiando el concepto de computador multiusuario. cuando los Amiga. Contenido [ocultar] • • • • 1 Perspectiva histórica o 1.3 Bibliotecas de interfaz de llamadas al sistema 3 Interrupciones y excepciones o 3. cuando la filosofía de estructura básica de funcionamiento de los grandes computadores2 se rediseñó a fin de llevarla a los hogares y facilitar su uso.3 (Véase AmigaOS. se debe a la modernización de la informática llevada a cabo a finales de los 80. beOS o MacOS como los pioneros4 de dicha modernización. computadoras.2 Llamadas al sistema o 2.1 Problemas de explotación y soluciones iniciales o 1.2 Importancia de las excepciones 4 Componentes de un sistema operativo o 4.1 Gestión de procesos o 4. (teléfonos móviles. reproductores de DVD. hecho que alivia a los programadores de aplicaciones de tener que tratar con estos detalles.5 Sistemas operativos multiprogramados 2 Llamadas al sistema operativo o 2. Uno de los propósitos del sistema operativo que gestiona el núcleo intermediario consiste en gestionar los recursos de localización y protección de acceso del hardware. radios.3 Sistemas con almacenamiento temporal de E/S o 1. (muchos usuarios al mismo tiempo) por un sistema monousuario (únicamente un usuario al mismo tiempo) más sencillo de gestionar. llevan incorporado un sistema operativo. con gestión de miles de colores e interfaces intuitivos para diseño en 3D. enrutadores.3.1 Clases de excepciones  3.4 Spoolers o 1.2 Importancia de las interrupciones o 3. etc).

Un Video Toaster junto a Lightwave ayudó a producir muchos programas de televisión y películas.5 Ejemplos de sistemas operativos para dispositivos móviles 6 Véase también 7 Referencias 8 Bibliografía o 9 Enlaces externos Perspectiva histórica Los primeros sistemas (1945-1960) eran grandes máquinas operadas desde la consola maestra por los programadores.3 Gestión del almacenamiento secundario o 4.8 Programas de sistema o 4. A finales de los años 1980. cargadores.9 Gestor de recursos 5 Clasificación o 5. cintas magnéticas. Seaquest DSV y Terminator II. una computadora Commodore Amiga equipada con una aceleradora Video Toaster era capaz de producir efectos comparados a sistemas dedicados que costaban el triple.3 Manejo de recursos o 5. etc.4 El sistema de E/S o 4. se ahorró tiempo y se aumentó la velocidad.7 Sistema de comunicaciones o 4.1 Administración de tareas o 5. los trabajos se agrupaban de forma manual en lotes mediante lo que se conoce como procesamiento por lotes (batch) sin automatizar. entre las que se incluyen Babylon 5.5 Sistema de archivos o 4. con lo que se eliminaron las hojas de reserva. Durante la década siguiente (1950-1960) se llevaron a cabo avances en el hardware: lectoras de tarjetas.4 Ejemplos de sistemas operativos para PC o 5.2 Administración de usuarios o 5. manejadores de dispositivos. impresoras. etc. la primera solución fue poner un operador profesional que lo manejase. Para ello. ensambladores.6 Problemas de explotación y soluciones iniciales El problema principal de los primeros sistemas era la baja utilización de los mismos. .6 Sistemas de protección o 4.• • • • • 4. Esto a su vez provocó un avance en el software: compiladores.

fue necesario implementar soluciones que automatizaran la organización de tareas sin necesidad de un operador. Debido a ello se crearon los monitores residentes: programas que residían en memoria y que gestionaban la ejecución de una cola de trabajos. La salida desde el buffer 1 termina y el nuevo cálculo también. para ejecución secuencial. con programa y datos. El proceso se puede repetir de nuevo.Monitores residentes Fichas en lenguaje de procesamiento por lotes. Sistemas con almacenamiento temporal de E/S Los avances en el hardware crearon el soporte de interrupciones y posteriormente se llevó a cabo un intento de solución más avanzado: solapar la E/S de un trabajo con sus propios cálculos. Se inicia la salida desde el buffer 2 y otro nuevo cálculo dirige su salida al buffer 1. Un monitor residente estaba compuesto por un cargador. Los problemas surgen si hay muchas más operaciones de cálculo que de E/S (limitado por la CPU) o si por el contrario hay muchas más operaciones de E/S que cálculo (limitado por la E/S). por lo que se creó el sistema de buffers con el siguiente funcionamiento: • • • • • Un programa escribe su salida en un área de memoria (buffer 1). El monitor residente inicia la salida desde el buffer y el programa de aplicación calcula depositando la salida en el buffer 2. Spoolers Hace aparición el disco magnético con lo que surgen nuevas soluciones a los problemas de rendimiento. Se eliminan las cintas magnéticas para el . un Intérprete de comandos y un Controlador (drivers) para el manejo de entrada/salida. Según fue avanzando la complejidad de los programas.

Se pueden mantener en memoria varios programas.volcado previo de los datos de dispositivos lentos y se sustituyen por discos (un disco puede simular varias cintas). naciendo lo que se denomina como Sistemas Operativos multiprogramados. en general el programa no funcionará. Llamadas al sistema operativo Definición breve: llamadas que ejecutan los programas de aplicación para pedir algún servicio al SO. . se producen cambios en el monitor residente. Cada SO implementa un conjunto propio de llamadas al sistema. Ese conjunto de llamadas es la interfaz del SO frente a las aplicaciones. Por ello si cambiamos de SO. Administrar el uso de los dispositivos de E/S. Gestionar el uso de la CPU (planificación). y abrimos un programa diseñado para trabajar sobre el anterior. los cuales cumplen con las siguientes funciones: • • • Administrar la memoria. Debido a los cambios anteriores. Cuando desempeña esas tareas. el monitor residente se transforma en un sistema operativo multiprogramado. Debido al solapamiento del cálculo de un trabajo con la E/S de otro trabajo se crean tablas en el disco para diferentes tareas. Se asigna el uso de la CPU a los diferentes programas en memoria. a no ser que el nuevo SO tenga la misma interfaz. Constituyen el lenguaje que deben usar las aplicaciones para comunicarse con el SO. Sistemas operativos multiprogramados Surge un nuevo avance en el hardware: el hardware con protección de memoria. lo que se conoce como Spool (Simultaneous Peripherial Operation On-Line). Para ello: • • Las llamadas correspondientes deben tener el mismo formato. Cada llamada al nuevo SO tiene que dar los mismos resultados que la correspondiente del anterior. con lo que éste debe abordar nuevas tareas. Lo que ofrece nuevas soluciones a los problemas de rendimiento: • • • Se solapa el cálculo de unos trabajos con la entrada/salida de otros trabajos.

normalmente no sabe dónde está situada la rutina de servicio de la llamada. distintas de las que se usan para las llamadas de función. Con lo que hay que conseguir llamar a la rutina de servicio. Esto se hace utilizando instrucciones máquina diseñadas específicamente para este cometido. Modo supervisor: la CPU debe poder ejecutar el juego completo de instrucciones. cualquier cambio en el S. Por lo que si ésta se codifica como una llamada de función. Las hay para distintos lenguajes de programación. No se limita a utilizar el hardware a petición de las aplicaciones . Pero lo más importante es que una llamada de función no cambia el modo de ejecución de la CPU. Bibliotecas de interfaz de llamadas al sistema Las llamadas al sistema no siempre tienen una expresión sencilla en los lenguajes de alto nivel. La aplicación llama a una función de la biblioteca de interfaz (mediante una llamada normal) y esa función es la que realmente hace la llamada al sistema. sin tener que conocer su ubicación. No obstante el Sistema Operativo. Por ello. haría que hubiera que reconstruir la aplicación. que son bibliotecas de funciones que pueden usarse para efectuar llamadas al sistema. por ello se crean las bibliotecas de interfaz. y hacer que se fuerce un cambio de modo de operación de la CPU en la llamada (y la recuperación del modo anterior en el retorno).O.Modos de ejecución en un CPU Las aplicaciones no deben poder usar todas las instrucciones de la CPU. Interrupciones y excepciones El SO ocupa una posición intermedia entre los programas de aplicación y el hardware. Llamadas al sistema Una aplicación. una CPU debe tener (al menos) dos modos de operación diferentes: • • Modo usuario: el CPU podrá ejecutar sólo las instrucciones del juego restringido de las aplicaciones. tiene que poder utilizar todo el juego de instrucciones del CPU.

Tratamiento de las interrupciones Una interrupción se trata en todo caso. . El inconveniente es que el dispositivo debe tener los circuitos electrónicos necesarios para acceder al sistema de interrupciones del computador. se continúe ejecutando. En ambos casos. que requiere tratamiento por parte del SO. Importancia de las interrupciones El mecanismo de tratamiento de las interrupciones permite al SO utilizar la CPU en servicio de una aplicación. ante la cual debe poder identificar el dispositivo que la ha causado. Se ha producido una situación de error al intentar ejecutar una instrucción del programa (normalmente de la aplicación). pudiendo deberse estas llamadas a dos condiciones: • • Algún dispositivo de E/S necesita atención. ya ha terminado. mientras otra permanece a la espera de que concluya una operación en un dispositivo de E/S. En tales situaciones el hardware debe poder llamar al sistema. es decir. después de terminar la ejecución de la instrucción en curso. La ventaja de este procedimiento es que no se tiene que perder tiempo ejecutando continuamente rutinas para consultar el estado del periférico. si es conveniente. El tratamiento depende de cuál sea el dispositivo de E/S que ha causado la interrupción. para hacer que el programa que estaba esperando por el dispositivo. la acción realizada no está ordenada por el programa de aplicación. Según los dos casos anteriores tenemos las interrupciones y la excepciones: • • Interrupción: señal que envía un dispositivo de E/S a la CPU para indicar que la operación de la que se estaba ocupando. El hardware se encarga de avisar al SO cuando el dispositivo de E/S ha terminado y el SO puede intervenir entonces. no figura en el programa.ya que hay situaciones en las que es el hardware el que necesita que se ejecute código del SO. Excepción: una situación de error detectada por la CPU mientras ejecutaba una instrucción.

Las excepciones al igual que las interrupciones deben estar identificadas. el tratamiento específico de una excepción lo realiza el SO. que las aplicaciones realicen operaciones que no les están permitidas. la instrucción en curso es abortada. La dirección de algún operando puede ser incorrecta o se intenta violar alguno de sus permisos de uso. Cuando se introduce un carácter. junto a los modos de ejecución de la CPU y los mecanismos de protección de la memoria. Por ello las interrupciones pueden inhibirse por programa (aunque esto no deben poder hacerlo las mismas).En ciertos intervalos de tiempo puede convenir no aceptar señales de interrupción. Clases de excepciones Las instrucciones de un programa pueden estar mal construidas por diversas razones: • • • • El código de operación puede ser incorrecto. como dividir por cero. El teclado almacena el carácter en el vector de memoria intermedia ( también llamado buffer) asociada al teclado y despierta el proceso que había en el estado de espera de la operación de entrada/salida. El procesador deja temporalmente la tarea que estaba completando y ejecuta la rutina de atención a la interrupción correspondiente. la unidad de control lanza una excepción para permitir al SO ejecutar el tratamiento adecuado. En cualquier caso. Un ejemplo de sincronismo por interrupción es el almacenamiento de caracteres introducidos mediante el teclado. Se intenta realizar alguna operación no definida. Al contrario que en una interrupción. . Excepciones Cuando la CPU intenta ejecutar una instrucción incorrectamente construida. se codifica en el registro de datos del dispositivo y además se activa un bit del registro de estado quien crea una interrupción en el hardware. La instrucción puede no estar permitida en el modo de ejecución actual. Importancia de las excepciones El mecanismo de tratamiento de las excepciones es esencial para impedir.

La gestión de procesos podría ser similar al trabajo de oficina. Parar y reanudar los procesos. media. Una vez realizada la tarea se tacha. Ofrecer mecanismos para que se comuniquen y sincronicen. Este almacén de datos de rápido accesos es compartido por la CPU y los dispositivos de E/S. memoria. se puede asignar alta prioridad a las tareas más antiguas.Como en el caso de las interrupciones. Es bastante frecuente que el tratamiento de una excepción no retorne al programa que se estaba ejecutando cuando se produjo la excepción. Esto puede traer un problema que las tareas de baja prioridad pueden que nunca lleguen a ejecutarse. Se puede tener una lista de tareas a realizar y a estas fijarles prioridades alta. archivos y dispositivos de E/S. es volátil y pierde su contenido en los fallos del sistema. y permanezcan en la lista para siempre. Debemos comenzar haciendo las tareas de prioridad alta primero y cuando se terminen seguir con las de prioridad media y después las de baja. Gestión de la memoria principal La Memoria es una gran tabla de palabras o bytes que se referencian cada una mediante una dirección única. sino que el SO aborte la ejecución de ese programa. Gestión de procesos Un proceso es simplemente. El SO es el responsable de: • • • Crear y destruir los procesos. El SO es el responsable de: . un programa en ejecución que necesita recursos para realizar su tarea: tiempo de CPU. y éste es el que trata la situación como convenga. Componentes de un sistema operativo Componentes del Sistema Operativo. Para solucionar esto. baja por ejemplo. Este factor depende de la pericia del programador para controlar la excepción adecuadamente. el hardware se limita a dejar el control al SO.

Éstos almacenan programas (en código fuente y objeto) y datos tales como imágenes. Establecer la correspondencia entre archivos y unidades de almacenamiento. Asignar y reclamar espacio de memoria cuando sea necesario. Verificar que los datos se guarden en orden El sistema de E/S Consiste en un sistema de almacenamiento temporal (caché). También es necesario mantener los datos que no convenga mantener en la memoria principal. Gestión del almacenamiento secundario Un sistema de almacenamiento secundario es necesario. definidas por sus creadores. EXT3. El sistema operativo debe gestionar el almacenamiento temporal de E/S y servir las interrupciones de los dispositivos de E/S. Gestionar el espacio libre. NTFS. Sistema de archivos Los archivos son colecciones de información relacionada. etc. XFS. . información de bases de datos. Decidir qué procesos se cargarán en memoria cuando haya espacio disponible. existen los sistemas de archivos FAT. etc. existen diferentes formas de organizar la información que se almacena en las memorias (normalmente discos) de los ordenadores. ya que la memoria principal (almacenamiento primario) es volátil y además muy pequeña para almacenar todos los programas y datos. Ofrecer funciones para manipular archivos y directorios. Asignar el almacenamiento. FAT32. Existen diferentes Sistemas de Archivos. Por ejemplo. El SO es responsable de: • • • • Construir y eliminar archivos y directorios. una interfaz de manejadores de dispositivos y otra para dispositivos concretos.• • • Conocer qué partes de la memoria están siendo utilizadas y por quién. Realizar copias de seguridad de archivos. textos. es decir. El SO se encarga de: • • • • Planificar los discos.

Por ejemplo. El SO se encarga de: • • • Distinguir entre uso autorizado y no autorizado. en un sistema NTFS el tamaño es considerablemente mayor. Forzar el uso de estos mecanismos de protección. Gestor de recursos Como gestor de recursos.Desde el punto de vista del usuario estas diferencias pueden parecer insignificantes a primera vista. . que se utilizan fundamentalmente en sistemas operativos de Microsoft. donde está alojado el microprocesador). Soporte a lenguajes de programación. existen diferencias muy importantes. tienen una gran diferencia para un usuario que utilice una base de datos con bastante información ya que el tamaño máximo de un fichero con un sistema de archivos FAT32 está limitado a 4 gigabytes. Ofrecen un entorno útil para el desarrollo y ejecución de programas. siendo algunas de las tareas que realizan: • • • • Manipulación y modificación de archivos. los sistemas de ficheros FAT32 y NTFS. Especificar los controles de seguridad a realizar. y crear y mantener conexiones virtuales entre aplicaciones que están ejecutándose localmente y otras que lo hacen remotamente. También hay que crear y mantener puntos de comunicación que sirvan a las aplicaciones para enviar y recibir información. Sistemas de protección Mecanismo que controla el acceso de los programas o los usuarios a los recursos del sistema. Programas de sistema Son aplicaciones de utilidad que se suministran con el SO pero no forman parte de él. sin embargo. Información del estado del sistema. Comunicaciones. Sistema de comunicaciones Para mantener las comunicaciones con otros sistemas es necesario poder controlar el envío y recepción de información a través de las interfaces de red. sin embargo. el Sistema Operativo administra: • La CPU (Unidad Central de Proceso.

) de más de una computadora al mismo tiempo. periféricos. continuará haciéndolo hasta su finalización y/o interrupción. Administración de usuarios • • Monousuario: Si sólo permite ejecutar los programas de un usuario al mismo tiempo. de manera que el usuario percibe que todos funcionan a la vez. normalmente asigna los recursos disponibles (CPU. Los discos (o memoria secundaria). periféricos) de forma alternada a los procesos que los solicitan. Manejo de recursos • • Centralizado: Si permite usar los recursos de una sola computadora. Ejemplos de sistemas operativos para PC • • • • • Microsoft Windows Mac OS GNU/Linux AmigaOS Unix . accediendo a la vez a los recursos de la computadora. Este tipo de SO. Distribuido: Si permite utilizar los recursos (memoria. Una vez que empieza a ejecutar un proceso.. Multitarea: Es capaz de ejecutar varios procesos al mismo tiempo. Multiusuario: Si permite que varios usuarios ejecuten simultáneamente sus programas. memoria. CPU.. Clasificación Administración de tareas • • Monotarea: Solamente puede ejecutar un proceso (aparte de los procesos del propio SO) en un momento dado. de forma concurrente. Los procesos (o programas en ejecución). disco.• • • • • Los dispositivos de E/S (entrada y salida) La memoria principal (o de acceso directo). de manera que un programa no pueda usar o cambiar los datos de otro usuario. y en general todos los recursos del sistema. Normalmente estos sistemas operativos utilizan métodos de protección de datos.

hasta la versión 6. de 16 bits. Probablemente la más popular de sus variantes sea la perteneciente a la familia MS-DOS. Fue creado originalmente para computadoras de la familia IBM PC. la enciclopedia libre Saltar a: navegación. Contaba con una interfaz de línea de comandos en modo texto o alfanumérico.22 (bien entrados los 90). en tales versiones. Todo vestigio del mismo queda relegado. desde el que se arrancaba el equipo y sus procesos básicos y se procedía a ejecutar y cargar la inferfaz gráfica o entorno operativo de Windows. siendo el primer sistema operativo popular para esta plataforma. 2003. En las versiones nativas de Microsoft Windows. frecuentemente adjunto a una versión de la interfaz gráfica Ms Windows de 16 bits. en especial aquellos de la familia Intel. El nombre son las siglas de disk operating system ("sistema operativo de disco"). búsqueda Para otros usos de este término. a la existencia de un . basadas en NT (y éste a su vez en OS/2 2.x) (véase Windows NT. véase Dos (desambiguación). suministrada con buena parte de los ordenadores compatibles con IBM PC. vía su propio intérprete de órdenes. command. como sistema operativo independiente o nativo. DOS es una familia de sistemas operativos para PC.Ejemplos de sistemas operativos para dispositivos móviles • • • • • • • Symbian Android iOS Windows Phone BlackBerry OS WebOS Bada Véase también • • • • • • Anexo:Sistemas operativos Comparación de sistemas operativos Cronología de los sistemas operativos Historia y evolución de los sistemas operativos. 2000.1x. de Microsoft. Sistema operativo de red Software de sistema DOS De Wikipedia.com. como las 3. XP o Vista) MS-DOS desaparece como sistema operativo (propiamente dicho) y entorno base. que utilizaban los procesadores Intel 8086 y 8088.

PIF y . Ms Windows tuvo el planteamiento de una simple aplicación de interfaz o entorno gráfico.simple intérprete de comandos. de 16 bits. que sí están basadas en MS-DOS. MSDOS. Sin embargo. lo que acapara la atención del usuario medio y atribuye al antiguo sistema un papel más dependiente y secundario. complementaria al propio intérprete de comandos. el DOS ha ido quedando relegado a un segundo plano. a los distintos módulos y archivos de sistema que componían el modesto armazón del DOS. Otros sistemas son el PC-DOS. a su automática ejecución. del archivo de sistema. ahora de texto. SYS). para poder ejecutarse (tales como IO.SYS. a partir del propio entorno gráfico (elevado ahora a la categoría de sistema). Contenido [ocultar] . por defecto. llegando a ser por muchos olvidado y desconocido. desde el que era ejecutado. Existen varias versiones de DOS. más recientemente. durante el proceso de arranque. como sistema operativo. Tanto varias de las funciones primarias o básicas del sistema como su arranque se deben aún en las versiones de 32 bits. puede hacer las veces. de IBM. El más conocido de ellos es el MS-DOS. del tipo Windows. el FreeDOS. Esto no es así en las versiones no nativas de Windows. Fue a partir de las versiones de 32 bits.exe. de licencia libre y código abierto. Windows no funcionaba de forma autónoma. dando paso. cargándose a partir del mismo. cuando el MS-DOS comienza a ser deliberadamente camuflado por el propio entorno gráfico de Windows. ejecutado como aplicación mediante cmd. de nuevo diseño y mayor potencia. el DR-DOS. de Digital Research. requiriendo aquéllas un mínimo de los archivos básicos de este. y paulatinamente abandonado por los desarrolladores de software y hardware. y a las líneas de comandos (en especial en ficheros de tipo . basadas en Windows 95 y 98. empezando por la propia Microsoft (esta opción puede desactivarse alterando la entrada BootGUI=1 por BootGUI=0. Éste último.EXE e HIMEM. de emulador del DOS bajo sistemas de este tipo. en especial aquellos de 32 bits. que pasaría posteriormente a Novell (Novell DOS 7. luego a Caldera y finalmente a DeviceLogics y. del tipo Windows 95. denominado Símbolo del Sistema. en su versión para GNU/Linux y UNIX.0). SYS). BIN. como ocurre en los sistemas derivados de Windows NT. Con la aparición de los sistemas operativos gráficos.0x a las versiones 3. de Microsoft (de ahí las iniciales MS). en tales versiones. Desde los 1. DRVSPACE. EMM386.1(1).BAT). hasta verse reducido al mero intérprete de órdenes.

a su vez. era de 32 MB por partición. a menos que las mencionadas controladoras incluyan en su núcleo de sistema. el límite. como residentes en memoria. aventuras gráficas y Shoot 'em up subjetivos. no podía manejar más de 64KB de memoria RAM. ó el intérprete de BASIC qbasic. el código. entre otros). o introduciendo teclas de acceso rápido para activar los distintos menúes y opciones desde el editor (un buen ejemplo de esto último son el editor de texto edit. no puede trabajar con particiones de disco demasiado grandes.exe. El DOS no es ni multiusuario ni multitarea. además de diversos juegos que tendían a requerirlo (como juegos de estrategia. Por sí sólo es incapaz de detectar el hardware. En sus versiones nativas (hasta la 6. Originalmente. el menú de ayuda help. en versiones muy posteriores. a través del teclado. que requieren formatos y sistemas de archivos tales como el FAT32. con las mejoras en la arquitectura de los PC.0. y luego hasta 1 megabyte (agregando a . En las versiones anteriores a la 4. el intérprete de comandos y la mayoría de sus aplicaciones y mandatos de edición debían o podían ser fácilmente controlados manualmente. Tales opciones siguen. No puede trabajar con más de un usuario ni en más de un proceso a la vez. instrucciones y funciones necesarias. inicializarlo y hacerlo funcionar bajo diversas aplicaciones de edición y de interfaz y entorno gráfico. incluidos en las últimas versiones del MSDOS). ó el NTFS. propio de Windows de 32 bits (a partir del 95).com. y no utiliza el ratón. ó base).exe. aunque a partir de ciertas versiones solía incluir controladoras para detectarlo. propio de Windows de tipo NT. En cualquier caso. por limitaciones del software. superiores a los 2 GB.22 en el MS-DOS). al no soportar aún el formato FAT16 (desarrollado en 1987).• • • • • • • • • 1 Características 2 Órdenes principales 3 Uso de modificadores 4 Características avanzadas 5 Ejemplo de salida 6 Versiones de DOS 7 Historia 8 Software Malintencionado 9 Enlaces externos Características El DOS carece por completo de interfaz gráfica. encontrándose presentes en los Windows. de hecho. llegó primero a manejar hasta 640 KB de RAM (la llamada "memoria convencional". Poco a poco. ya fuera mediante comandos.

libre de las capas de abstracción y medidas de seguridad a las que obligan los sistemas multiusuario y multitarea.. en versiones posteriores. Órdenes principales • • DIR: Muestra un listado de archivos. que ya no se basan ni parten de MS-DOS. emuladores como el DOSBox. este sistema operativo permitía un control total de la computadora. utilizando programas extensores que hacían funcionar programas de 32 bits sobre DOS. Aunque este sistema operativo sea uno de los más antiguos. comunes ambos en GNU/Linux.com. . ó. puede invocarse desde la interfaz como command. la mayoría de videojuegos para PC funcionaban directamente bajo DOS. o entornos de código abierto como el FreeDOS. que permitían ya manejar varios megabytes. y con el fin de aprovechar al máximo el hardware. o bajo sistemas operativos de arquitectura dispar. por lo general. La necesidad de mantener la compatibilidad con programas antiguos. aún los entornos operativos Windows de 32 bits. hasta el 98. Así. Command Prompt o Símbolo del Sistema. Algunas aplicaciones de DOS son usadas en las microempresas. es decir. hasta la aparición del DirectX. que ya no pueden funcionar desde los nuevos Windows. 80486.la memoria convencional la "memoria superior" o UMB). como los UNIX y GNU/Linux. la memoria apuntada por un puntero tenía como máximo el tamaño de un segmento de 64KB. debido a que la memoria estaba segmentada. Para superar estas limitaciones del modo real de los procesadores x86. ya que son de mayor utilidad. Desde el punto de vista de los programadores. También existen. basadas en NT.). Su intérprete de comandos.exe. el mayor campo de uso de estos programas se da en las cajas registradoras. TYPE: Muestra el contenido de un archivo en pantalla. esto pasa también en Windows ME a pesar de estar aún basado en la antigua arquitectura 9x. basados en NT. denominado.. aparecieron mecanismos como la memoria expandida (EMS) y la memoria extendida (XMS). para sistemas actuales. se recurría al modo protegido de los procesadores posteriores (80386. tenían como plataforma base camuflada u oculta el DOS. ello permite recuperar la compatibilidad perdida con ciertas aplicaciones nativas para este antiguo sistema. Más tarde. mediante cmd. hacía cada vez más difícil programar para DOS. que están contenidos en un directorio.

MD o MKDIR: Crea un nuevo directorio. CD o CHDIR: Cambia el directorio actual por el especificado. VERIFY:Comunica a Windows si debe comprobar que los archivos se escriben de forma correcta en un disco. Algunas de estas órdenes admiten el uso de parámetros. incluidos subdirectorios (apareció en las últimas versiones) CLS: limpia la pantalla.:retrocede a la rama anterior. +R: de sólo lectura. presente en las últimas versiones nativas del DOS. FC o COMP: Compara las diferencias entre el contenido de dos archivos. también llamados modificadores. guardando los cambios efectuados en el sistema. REN o RENAME: Renombra archivos. salvo que el lugar del archivo o archivos borrados hubiese sido utilizado con posterioridad). Uso de modificadores Modificadores de la orden DIR • dir /s . DATE: Permite ver y cambiar la fecha. archivo especial del sistema. ó +S. EDLIN o EDIT: Permite editar archivos. CD. VOL:Muestra la etiqueta del volumen y el número de serie del disco. HELP: Ofrece ayuda sobre las distintas órdenes. ATTRIB: Permite asignar o quitar atributos de archivos (tales como +A: ya modificado. TACS: Ordena todos los archivos del cp. DEL o ERASE: Borra uno o varios archivos (con posibilidad de recuperarlos mediante la orden UNDELETE. o a la inversa) TREE:Muestra gráficamente la estructura de directorios de una unidad o ruta de acceso DELTREE: Borra un directorio con todo su contenido. TIME: Permite ver y cambiar la hora. FIND: Busca cadenas de texto dentro del contenido de un archivo. +H: oculto. SORT: Ordena las entradas.• • • • • • • • • • • • • • • • • • • • • • COPY: Copia archivos en otro lugar. RD o RMDIR: Borra un directorio vacío.. LABEL: Permite ver y cambiar la etiqueta de una unidad de disco ó volumen.

archivo4. • dir /as Muestra los archivos de sistema del directorio actual. por ejemplo: • dir /p /w /on Características avanzadas Ciertas órdenes. • dir /ah Muestra los archivos ocultos del directorio actual. en particular el modificador /b. Por ejemplo la secuencia : • copy /b archivo1 + archivo2 + archivo3 archivo4 copiará el contenido de archivo1. • dir /od Muestra los archivos ordenados por fecha.el dir es un sistema cobo Los modificadores pueden combinarse. como COPY. que efectúa una copia binaria. archivo2 y archivo3 en un nuevo archivo. • dir /w Ordena el listado a lo ancho de la pantalla. . • dir /on Muestra los archivos ordenados alfabéticamente. • dir /p pausa el texto de salida en pantalla y espera que el usuario pulse una tecla para continuar.muestra el listado con el contenido de un directorio y de todos sus subdirectorios. • dir /r Muestra los archivos marcados "sólo lectura" del directorio actual. pueden recibir parámetros que permiten una manipulación de archivos ciertamente avanzada.

BAT. etc. GOTO y CHOICE (que pedía la entrada de un caracter entre los especificados).779 01-21-96 7:12p SETUP <DIR> 01-21-96 9:06p HIDDEN TX1 19.890 01-21-96 10:22p WINDOWS <DIR> 01-21-96 8:42p MOUSE <DIR> 01-21-96 8:45p BASIC <DIR> 01-21-96 5:09p MASM <DIR> 01-21-96 5:09p CONFIG SYS 122 01-31-03 11:50p PROGRA~1 <DIR> 01-21-96 6:26p MYDOCU~1 <DIR> 01-21-96 9:00p AUTOEXEC BAT 1. Así. generalmente muy similares entre sí.296 01-21-96 7:27p CONFIG BAK 122 01-21-96 2:25p GAMES <DIR> 01-21-96 9:06p WS_FTP LOG 128 01-21-96 12:36p CONFIG DOS 50 01-21-96 2:25p AUTOEX~2 BAK 1. que admitían órdenes como IF. por ejemplo. se podían hacer menús. el DOS permitía escribir archivos de proceso por lotes (pequeños scripts para COMMAND. PC-DOS y MS-DOS.Además.84 MB free Versiones de DOS Fueron varias las compañías que sacaron versiones del DOS. Ejemplo de salida C:\>dir Volume in drive C has no label Volume Serial Number is 1234-5678 Directory of C:\ AUTOEXEC TTZ 1.056. empezaron siendo prácticamente idénticos. COM). cuya extensión era .573 bytes 12 dir(s) 1. automatizar tareas. Las versiones más conocidas fueron: .120 07-26-03 1:03a MSDOSS~1 BAK 1.214.150 01-22-03 2:13p CYGNUS <DIR> 01-21-96 9:38a JAVA <DIR> 01-21-96 9:40a TMP <DIR> 01-21-96 4:01p E <DIR> 01-21-96 4:23p COMMAND COM 93. aunque acabaron siendo muy distintos.150 07-26-03 1:03a 10 file(s) 12.

3 Loadlin 4 Fase del kernel o 4.2 LILO o 3. Proceso de arranque en Linux De Wikipedia.2 Fase de inicio del kernel 5 El proceso de inicio 6 Enlaces externos Descripción general del proceso típico En Linux. fuera del espacio del núcleo) y el programa de inicialización (que . Hay otros muchos emuladores para diferentes versiones de UNIX. una máquina virtual nativa de Linux para ejecutar programas en modo real. la enciclopedia libre Saltar a: navegación. El núcleo inicia el planificador (para permitir la multitarea) y ejecuta el primer espacio de usuario (es decir.1 Fase de carga del kernel o 4. de los cuales deriva.1 GRUB o 3. incluso para plataformas diferentes a la arquitectura de procesador x86. Contenido [ocultar] • • • • • • 1 Descripción general del proceso típico 2 Espacio de usuario temprano 3 Fase del cargador de arranque o 3. búsqueda El Proceso de arranque en Linux es el proceso de inicialización del Sistema Operativo-Linux. el flujo de control durante el arranque es desde el BIOS . al gestor de arranque y al núcleo (kernel). Es en muchos aspectos similar a los procesos de arranque de BSD y otros sistemas Unix.• • • • • • MS-DOS (Microsoft) DR-DOS (Digital Research) PC-DOS (IBM) Novell DOS (Novell) FreeDOS OpenDOS Bajo GNU/Linux es posible ejecutar copias de DOS bajo dosemu.

a fin de permitir que el entorno de usuario sea creado y pueda presentarse al usuario con una pantalla de inicio de sesión. Init es llamado a cerrar toda las funcionalidades del espacio de usuario de una manera controlada. 5. el resto de la gestión de memoria. hardware. etc). 4. el BIOS carga y ejecuta el código de la partición de arranque del dispositivo de arranque designado. controladores. antes de continuar por separado el proceso inactivo y planificador. Determinadas BIOS pueden cargar y pasar el control a Linux sin hacer uso del cargador. y el núcleo queda dormido (inactivo). 1. que descomprime en la memoria. En el apagado. La función start_kernel() a continuación realiza la mayor parte de la configuración del sistema (interrupciones. Algunos cargadores pueden utilizar una fase intermedia (conocida como la fase 1.5) para lograr esto. Cada proceso de arranque será diferente dependiendo de la arquitectura del procesador y el BIOS. El proceso Init ejecuta secuencias de comandos (Scripts) necesarios para configurar todos los servicios y estructuras que no sean del sistema operativo. momento en el que el núcleo se inactiva hasta que sea llamado externamente. El planificador toma control efectivo de la gestión del sistema. de nuevo a través de secuencias de comandos. tras lo cual el Init termina y el núcleo ejecuta el apagado. que contiene la fase 1 de un gestor de arranque Linux. 3. y establece las funciones del sistema como del hardware esencial y la paginación de memoria. carga el sistema operativo. La etapa del cargador de arranque no es totalmente necesaria. La fase 1 carga la fase 2 (la mayor parte del código del gestor de arranque). y el proceso de Init (que se ejecuta en el espacio de usuario). Una vez que el hardware es reconocido y se inicia correctamente. El BIOS realiza las tareas de inicio específicas de la plataforma de 2. ya que los modernos discos de gran tamaño no pueden ser totalmente leídos sin código adicional. A continuación.establece el entorno de usuario y permite la interacción del usuario y el inicio de sesión). 6. Espacio de usuario temprano . antes de llamar a la función start_kernel(). El gestor de arranque a menudo presenta al usuario un menú de opciones posibles de arranque. la inicialización del dispositivo.

En esta primera etapa se localiza el sector de arranque (o MBR) y se carga el cargador de este sector (normalmente una parte de LILO o GRUB). el cual es de 512 bytes. Por eso. Los usos típicos del espacio de usuario temprano son para detectar que controladores de dispositivos (Drivers) son necesarios para cargar el sistema de archivos del espacio de usuario principal y cargarlos desde un sistema de archivos temporal. así como las opciones personalizadas en su caso. el cargador de arranque consta de varias etapas. el control se pasa al sistema operativo activado recientemente. Las primeras operaciones las realiza el BIOS. o la imagen del kernel de Linux. Se carga el código del menú y.conf para identificar los sistemas disponibles.El espacio de usuario temprano se utiliza en las versiones más recientes del kernel de Linux para sustituir tantas funciones como sea posible que originalmente se harían en el núcleo durante el proceso de inicio. Como en la mayoría de arquitecturas este programa se encuentra en el MBR. A partir de ese momento. esto se hace a través del mapa instalado que lee el archivo de configuración /etc/lilo. en función de la respuesta. este espacio no es suficiente para cargar en su totalidad un sistema operativo. Fase del cargador de arranque Un cargador de arranque (boot loader en inglés) es un programa diseñado exclusivamente para cargar un sistema operativo en memoria. La etapa del cargador de arranque es diferente de una plataforma a otra. y junto con los parámetros adecuados. Bajo LILO. a continuación. Incluye datos como la partición de arranque y la localización del kernel para cada uno. carga. En esta etapa se realizan operaciones básicas de hardware. que normalmente da un mensaje que pregunta que sistema operativo (o tipo de sesión) el usuario desea inicializar. un sistema de archivos mínimo inicial se establece en la memoria RAM desde un archivo de imagen (" initrd "). por lo que utiliza desplazamientos de disco sin procesar y el BIOS para cargar los datos. El sistema operativo seleccionado es cargado en la memoria RAM. o el sector MBR del disco de 512 bytes como en Microsoft Windows. . el proceso de arranque continúa de la siguiente manera: La primera etapa del cargador de arranque carga el resto del gestor de arranque. LILO y GRUB difieren en algunos aspectos: • LILO no entiende los sistemas de archivos.

un editor de configuración. excepto que no contiene una interfaz de línea de comandos.• GRUB por el contrario comprende los sistemas de archivos comunes ext2 . Después de elegir un sistema operativo. la ubicación de los archivos de imagen se almacenan directamente en el MBR y el BIOS se utiliza para acceder a ellos directamente. Loadlin Otra forma de cargar Linux es desde DOS o Windows 9x. Por lo tanto todos los cambios en su configuración deben ser escritos en el MBR y luego reiniciar el sistema. GRUB soporta métodos de arranque directo. El gestor de arranque 1. LILO LILO es más antiguo. 3. En su lugar. Debido a que GRUB almacena sus datos en un archivo de configuración en vez de en el MBR y a que contiene un interfaz de línea de comandos. Además. en ocasiones se carga una fase intermedia 1. LBA. La primera etapa carga el resto del gestor de arranque (segunda etapa). La segunda etapa del gestor de arranque ejecuta y muestra el menú de inicio de GRUB que permite al usuario elegir un sistema operativo y examinar y modificar los parámetros de inicio. La primera etapa del cargador la lee el BIOS desde el MBR. y una consola de línea de comandos. ext3 y ext4. Un error en la configuración puede dejar el disco inservible para el proceso de arranque hasta tal grado.5. Contiene tres interfaces: un menú de selección. 4. no entiende el sistema de archivos. arranque chain-loading. Es casi idéntico a GRUB en su proceso. a menudo es más fácil rectificar o modificar GRUB si está mal configurado o corrupto. ext4 y hasta "un pre-sistema operativo en máquinas x86 totalmente basado en comandos". GRUB GRUB se carga y se ejecuta en 4 etapas: 1. que contiene código adicional para permitir que los cilindros por encima de 1024. etc) que contenga un programa capaz de arreglar el error. donde el núcleo de Linux reemplaza completamente la copia de funcionamiento de estos . ext3. que sea necesario usar otro dispositivo (disquete.5 es almacenado (si es necesario) en el MBR o en la partición de arranque. se carga y se le pasa el control. puedan leerse. o unidades tipo LBA. 2. Si la segunda etapa está en una unidad grande. ext2.

lleva a cabo su ejecución. Fase de carga del kernel El kernel es cargado normalmente como un archivo imagen. esto era muy útil en el pasado. teniendo en cuenta cualquier disco RAM si está configurado. Contiene una cabecera de programa que hace una cantidad mínima de instalación del hardware. DOS o Windows pueden cargar el driver apropiado para el dispositivo superando dicha limitación del BIOS. descomprime la imagen completamente en la memoria alta . esta tediosa forma de arranque ya no es necesaria en la actualidad ya que Linux tiene drivers para multitud de dispositivos hardware. comunicación entre procesos. Al núcleo en sí entonces se le permite pasar a inactivo. después de ser cargado y ejecutado . sujeto a las llamadas de otros procesos. y algunas funciones fundamentales como la gestión de memoria de base se establecen.el kernel busca un proceso de inicio para ejecutar. comprimido dentro de otro con zlib como zImage o bzImage. planificador de tareas. Aun así.y como parte de su puesta en marcha. Esto se realiza llamando la función startup del kernel (en los procesadores x86) a través de la función startup_32() del archivo /arch/i386/boot/head). y cargar Linux desde allí. como la gestión de memoria. Otro caso es cuando Linux se encuentra en un dispositivo que el BIOS no lo tiene disponible para el arranque.sistemas operativos. que (separadamente) fija un espacio de usuario y los procesos necesarios para un entorno de usuario y ultimar la entrada . debido a cuestiones de secretos industriales y código propietario. Este se carga en dos etapa: en la primera etapa el kernel (como un archivo imagen comprimido) se carga y se descomprime en memoria. I/O. y el control general del sistema. Fase de inicio del kernel La función de arranque para el kernel (también llamado intercambiador o proceso 0) establece la gestión de memoria (tablas de paginación y . Entonces. Esto puede ser útil en el caso de hardware que necesita ser conectado a través del software y la configuración de estos programas sólo está disponible para DOS y no para Linux. El control entonces se cambia a la etapa final para iniciar el kernel principal. Fase del kernel El kernel de Linux se encarga de todos los procesos del sistema operativo. A continuación. Sin embargo. Una vez que el núcleo está en pleno funcionamiento .

En esencia. Cada nivel . En un sistema Linux estándar. en última instancia. e iniciar el proceso para continuar con la carga del entorno de usuario en el espacio de usuario. El sistema de archivos raíz es cambiado más tarde a través de la llamada a pivot_root(). Por lo tanto. Es similar a los procesos Init de Unix y BSD. y que determina que subsistemas pueden ser operacionales. a través de una llamada a la función start_kernel(). La memoria utilizada por el sistema de archivos temporal es entonces recuperada. y se ejecuta Init (/sbin/init). Esto incluye la comprobación y montaje de sistemas de archivos. Esto permite que los módulos controladores se carguen sin depender de otros dispositivos físicos y drivers y mantiene el kernel más pequeño. la puesta en marcha los servicios de usuario necesarios y. y después cambia a las funcionalidades del kernel para arquitectura no específicas de Linux. con las interrupciones habilitadas. En este punto. que tiene un valor entre 1 y 6. start_kernel ejecuta una amplia gama de funciones de inicialización. de la que deriva. Init se ejecuta con un parámetro. establece y opera todo el espacio de usuario. para proporcionar multitarea preventiva. el proceso de inicio del kernel también monta el disco RAM inicial ("initrd") que se ha cargado anteriormente como el sistema raíz temporal durante la fase de arranque. detecta el tipo de CPU y cualquier funcionalidad adicional como capacidades de punto flotante. configura memoria adicional. conocido como nivel de ejecución. En particular.paginación de memoria). También puede ejecutar opcionalmente initrd para permitir instalar y cargar dispositivos relacionados (disco RAM o similar). el programador puede tomar el control de la gestión general del sistema. y luego comienza la tarea inactiva a través de cpu_idle(). comienza el proceso de inicialización (procesa el espacio del primer usuario). que desmonta el sistema de archivos temporal y lo reemplaza por el real una vez que éste sea accesible. pero en algunos casos se ha apartado o se hicieron a la medida. para ser manipulados antes de que el sistema de archivos raíz está montado. que es designado como el primer proceso ejecutado por el sistema (PID=1). cambiar al entorno de usuario cuando el inicio del sistema se ha completado. el núcleo inicializa los dispositivos. Establece el manejo de interrupciones (IRQ). El proceso de inicio El trabajo de Init es "conseguir que todo funcione como debe ser" una vez que el kernel está totalmente en funcionamiento. monta el sistema de archivos raíz especificado por el gestor de arranque como de sólo lectura .

Durante el arranque del sistema. Los scripts de Init se localizan normalmente en directorios con nombres como "/etc/rc. el BIOS está programado para que el POST se dirija primero a buscar el "boot sector" o sector de arranque al disco duro..Registro Maestro de Arranque) o simplemente "boot record". si no encuentra nada anormal continúa el proceso de “booting” (secuencia de instrucciones de inicialización o de arranque del ordenador). sin el cual el ordenador no podría ejecutar ninguna función. que contiene. de acuerdo a como lo . siguiéndole el Linux (de código abierto) y el Mac-OS (Macintosh Operating System . se debe introducir por medio de la consola del sistema. si no. Init se aletarga. entre otros datos. No obstante. parámetros del disco duro y la secuencia de inicialización o arranque. En los ordenadores personales actuales. y son estas secuencias de comandos los necesarios en el proceso de arranque. Después se procede a ejecutar todos los scripts relativos al nivel de ejecución especificado. Esta última es una de las rutinas más importantes que contiene el programa del CMOS. se encuentra. configuración de los puertos.de ejecución tiene sus propios scripts que codifican los diferentes procesos involucrados en la creación o salida del nivel de ejecución determinado. Entre los sistemas operativos más comúnmente utilizados hoy en día en los ordenadores personales o PC. y espera a que uno de estos tres eventos sucedan:. cuya información se encuentra grabada en una pequeña memoria ROM denominada CMOS (Complementary MetalOxide Semiconductor – Semiconductor de óxido-metal complementario). Una vez que el BIOS termina de chequear las condiciones de funcionamiento de los diferentes dispositivos del ordenador. En el primer sector físico del disco duro (correspondiente también al sector de arranque). un fallo de la señal de potencia (energía). el BIOS localiza primeramente la información de configuración del CMOS. coincidente con la unidad "C:/". Para comenzar el proceso de inicialización. la fecha y la hora actualizada.". que contiene las instrucciones necesarias que permiten realizar el proceso de carga en la memoria RAM de una parte de los ficheros del sistema operativo que se encuentra grabado en la partición activa del disco duro y que permite iniciar el proceso de carga. que emplean los ordenadores Apple.sistema operativo Macintosh). se verifica si existe un nivel de ejecución predeterminado en el archivo /etc/inittab.que procesos comenzados finalicen o mueran. en primer lugar. se encuentra grabado el MBR (Master Boot Record . porque le indica al BIOS el orden en que debe comenzar a examinar los discos o soportes que guardan la información para encontrar en cuál de ellos se encuentra alojado el sistema operativo o programa principal. el Windows (de Microsoft). que es donde se encuentra localizado el sistema operativo. Generalmente el disco duro posee una sola partición activa. o una petición a través de /sbin/telinit para cambiar el nivel de ejecución. El archivo de configuración de más alto nivel para Init es /etc/inittab.. Después de que se han dado lugar todos los procesos especificados.

En algunos casos io. las de la BPD (BIOS Parameter Block . Una vez que se ha cargado el sistema operativo. hoja de cálculo. los diferentes dispositivos conectados al ordenador.sys para chequear también la información que contenía y poder poner en funcionamiento el sistema operativo.com. Ese fichero carga los controles básicos de los dispositivos y ejecuta también los ficheros ntdetec.sys para la correspondiente versión de Windows. un mismo disco duro puede estar dividido en dos o más particiones.dos hasta que el sistema operativo Windows XP queda cargado. será el encargado de manejar el microprocesador. A partir del momento en que el sistema operativo se encuentra cargado y en pleno funcionamiento.dll. a su vez. por ejemplo: procesador o editor de texto.ARRANQUE O INICIALIZACIÓN DEL ORDENADOR haya decidido el usuario. cuya función es mostrar las ventanas de Windows. el ordenador ya puede funcionar en estrecha relación con el microprocesador. programas multimedia. Este fichero chequeaba los parámetros de configuración del sistema contenidos en config. En esos sistemas operativos.bat. a autoexec. la memoria RAM. el Bootstrap Loader localizaba el MBR.exe y hall. En el caso de Windows 2000 y Windows XP el fichero que asume la función de cargador del sistema se denomina NTLDR (NT Loader . SECUENCIA DE ARRANQUE DE WINDOWS 95 y 98 La secuencia de inicialización de los sistemas operativos Windows 95 y Windows 98 estaba basada en el primero que comercializó Microsoft: el MS-DOS.Bloque de Parámetros del BIOS) y las del código que permite poner en ejecución los ficheros correspondientes al sistema operativo. finalizado el cheque previo del POST del BIOS.com y éste.sys también ejecutaba el fichero command. .in y bootsect. el programa del sector de arranque ejecuta las instrucciones de inicialización o de arranque para el microprocesador.sys y cargaba después msdos.Cargador NT). SECUENCIA DE ARRANQUE DE WINDOWS XP Después que el MBR comienza el proceso de carga. etc. los programas o software que se ejecutan. base de datos. obedeciendo las órdenes procedente de los programas de aplicaciones o software que emplean los usuarios como. Una vez que el sistema se pone en funcionamiento. NTLDR carga los ficheros ntoskenl. e incluso tener un sistema operativo diferente en cada una de esas particiones (nunca dos sistemas operativos en una misma partición). el almacenamiento de datos y la interacción entre el usuario y el ordenador. que cargaba el fichero io. boot.

Contenido . no volátil y variable en el tiempo. Se trata. Los almacenes de datos contienen a menudo grandes cantidades de información que se subdividen a veces en unidades lógicas más pequeñas dependiendo del subsistema de la entidad del que procedan o para el que sean necesario. la enciclopedia libre Saltar a: navegación. sobre todo. procesamiento analítico en línea). etc. En el contexto de la informática. integrado. búsqueda Descripción de un Data Warehouse.Almacén de datos De Wikipedia. almacenado en una base de datos diseñada para favorecer el análisis y la divulgación eficiente de datos (especialmente OLAP.). organización. un almacén de datos (del inglés data warehouse) es una colección de datos orientada a un determinado ámbito (empresa. que ayuda a la toma de decisiones en la entidad en la que se utiliza. de un expediente completo de una organización. más allá de la información transaccional y operacional. El almacenamiento de los datos no debe usarse con datos de uso actual.

3 Ejemplos 5 Elementos que integran un almacén de datos o 5.2 Definición de Ralph Kimball o 1. No volátil.1 Definición de Bill Inmon o 1.1 Ventajas o 8.Los cambios producidos en los datos a lo largo del tiempo quedan registrados para que los informes que se puedan generar reflejen esas variaciones. una vez almacenado un dato.Los datos en la base de datos están organizados de manera que todos los elementos de datos relativos al mismo evento u objeto del mundo real queden unidos entre sí. transformación y carga) o 5.2 Funciones ETL (extracción. y se mantiene para futuras consultas.2 Variables o 4.1 Dimensiones o 4.[ocultar] • • • • • • • • • • • 1 Definiciones de almacén de datos o 1. define un data warehouse (almacén de datos) en términos de las características del repositorio de datos: • • • Orientado a temas. éste se convierte en información de sólo lectura..3 Middleware 6 Diseño de un almacén de datos 7 Almacén de datos espacial 8 Ventajas e inconvenientes de los almacenes de datos o 8. . Variante en el tiempo.2 Inconvenientes 9 Véase también 10 Notas y referencias 11 Enlaces externos Definiciones de almacén de datos Definición de Bill Inmon Bill Inmon1 fue uno de los primeros autores en escribir sobre el tema de los almacenes de datos..3 Una definición más amplia de almacén de datos 2 Función de un almacén de datos 3 Data marts 4 Cubos de información o 4..La información no se modifica ni se elimina.1 Metadatos o 5.

los medios para obtener y analizar esos datos. Defiende por tanto una metodología ascendente (bottom-up) a la hora de diseñar un almacén de datos. Una definición más amplia de almacén de datos Las definiciones anteriores se centran en los datos en sí mismos. ya que de esta forma se considerarán mejor todos los datos corporativos. utilizando Sistemas de Soporte a Decisiones (DSS). transformarlos y cargarlos. El almacén de datos da respuesta a las necesidades de usuarios expertos.. herramientas para extraer. que se utiliza como un repositorio de datos para posteriormente transformarlos en información útil para el usuario.La base de datos contiene los datos de todos los sistemas operacionales de la organización. También fue Kimball quien determinó que un data warehouse no era más que: "la unión de todos los Data marts de una entidad". define un almacén de datos como: "una copia de las transacciones de datos específicamente estructurada para la consulta y el análisis". En esta metodología los Data marts se crearán después de haber terminado el data warehouse completo de la organización. Un almacén de datos debe entregar la información correcta a la gente indicada en el momento óptimo y en el formato adecuado. Inmon defiende una metodología descendente (top-down) a la hora de diseñar un almacén de datos. Sin embargo.• Integrado. y dichos datos deben ser consistentes. transformar y cargar datos en el almacén de datos. es decir. así como las diferentes formas para realizar la gestión de datos son componentes esenciales de un almacén de datos. Por lo tanto. en esta definición se incluyen herramientas para la inteligencia empresarial. Definición de Ralph Kimball Ralph Kimball2 es otro conocido autor en el tema de los data warehouse. para extraerlos. Función de un almacén de datos En un almacén de datos lo que se quiere es contener datos que son necesarios o útiles para una organización. Sistemas de información ejecutiva (EIS) o herramientas para hacer consultas o . Muchas referencias a un almacén de datos utilizan esta definición más amplia. y herramientas para gestionar y recuperar los metadatos.

Data marts Artículo principal: Data mart Los Data marts son subconjuntos de datos de un data warehouse para áreas especificas. cambios de formato. Separación de los datos usados en operaciones diarias de los datos usados en el almacén de datos para los propósitos de divulgación. transformación y carga (ETL). ya que obedecen a objetivos muy distintos y podrían entorpecerse entre sí. Se debe facilitar una descripción global y un análisis comprensivo de toda la organización en el almacén de datos. para el análisis y para operaciones de control. realizan el proceso de transformación al almacén de datos (filtración. de ayuda en la toma de decisiones. Periódicamente.) y escriben en el almacén. adaptación. Tiene un propósito especifico. Cubos de información . Ambos tipos de datos no deben coincidir en la misma base de datos.informes. Tiene una función de apoyo. Estas herramientas leen los datos primarios (a menudo bases de datos OLTP de un negocio). se importan datos al almacén de datos de los distintos sistemas de planeamiento de recursos de la entidad (ERP) y de otros sistemas de software relacionados con el negocio para la transformación posterior. etc. Los usuarios finales pueden hacer fácilmente consultas sobre sus almacenes de datos sin tocar o afectar la operación del sistema. Entre las características de un data mart destacan: • • • • Usuarios limitados. Área especifica. Es práctica común normalizar los datos antes de combinarlos en el almacén de datos mediante herramientas de extracción. En el funcionamiento de un almacén de los datos son muy importantes las siguientes ideas: • • Integración de los datos provenientes de bases de datos distribuidas por las diferentes unidades de la organización y que con frecuencia tendrán diferentes estructuras (fuentes heterogéneas).

las dimensiones son atributos relativos a las variables. Dimensiones Las dimensiones de un cubo son atributos relativos a las variables. Las diferentes operaciones que se pueden realizar con cubos de información se producen con mucha rapidez. y son utilizadas para indexar.Artículo principal: cubo OLAP Los cubos de información o cubos OLAP funcionan como los cubos de rompecabezas en los juegos. Variables También llamadas “indicadores de gestión”. Un cubo OLAP contendrá datos de una determinada variable que se desea analizar. rangos de tiempo. Las tablas dinámicas le permiten manipular las vistas (cruces. Llevando estos conceptos a un data warehouse. los primeros (el juego) tienen 3 dimensiones. son los datos que están siendo analizados. totales) de la información con mucha facilidad. las variables son representadas por valores detallados y numéricos para cada instancia del objeto o evento medido. razón por la cual también reciben el nombre de hipercubos. la información general complementaria a cada uno de los registros de la tabla de hechos. las variables representan algún aspecto cuantificable o medible de los objetos o eventos a analizar. filtrados. El análisis de los datos está basado en las dimensiones del hipercubo. proporcionando una vista lógica de los datos provistos por el sistema de información hacia el data warehouse. Es decir. En forma contraria. Más formalmente. por lo tanto. nombres. como por ejemplo: descripciones. ordenar. zonas. Normalmente. Forman parte de la tabla de hechos. en el juego se trata de armar los colores y en el data warehouse se trata de organizar los datos por tablas o relaciones. organización. entendiendo como dimensiones a aquellos elementos que participan en el análisis y variables a los valores que se desean analizar. éste es una colección de datos que está formada por «dimensiones» y «variables». esta vista estará dispuesta según unas dimensiones y podrá contener información calculada. los cubos OLAP tienen un número indefinido de dimensiones. se trata de un análisis multidimensional. son las perspectivas de análisis de las variables (forman parte de la tabla de dimensiones). etc. A la información de un cubo puede acceder el ejecutivo mediante "tablas dinámicas" en una hoja de cálculo o a través de programas personalizados. Son catálogos de información complementaria necesaria para la presentación de los datos a los usuarios. agrupar o abreviar los .

Ejemplos de dimensiones podrían ser: • • • • • producto (diferentes tipos o denominaciones de productos) localidades (o provincia.). . joven/adulto/anciano. o zonas geográficas) tiempo (medido de diferentes maneras.) tipo de cliente (casado/soltero. Las dimensiones poseen una granularidad menor. entre otras cosas. el metadato es de interés para los programas que tienen que manejar estos datos. El metadato documenta. Los datos son de interés para el usuario final. horas. etc. . o regiones. en el sentido de que se trata de datos que describen cuál es la estructura de los datos que se van a almacenar y cómo se relacionan. . Ejemplos Ejemplos de variables podrían ser: • • • • Beneficios Gastos Ventas etc.. Se define comúnmente como "datos acerca de los datos". ejemplos de dimensiones podrían ser: “productos”. por días. Sin embargo. semanas.valores de las mismas. el rol que cumple el metadato en un entorno de almacén de datos es muy diferente al rol que cumple en los ambientes . Tendríamos un cubo de 4 dimensiones. Elementos que integran un almacén de datos Metadatos Artículo principal: metadato Uno de los componentes más importantes de la arquitectura de un almacén de datos son los metadatos. “el tiempo” (medido en días. “localidades” (o zonas).. tomando como valores un conjunto de elementos menor que el de las variables. Según lo anterior. podríamos construir un cubo de información sobre el índice de ventas (variable a estudiar) en función del producto vendido.. qué tablas existen en una base de datos. por meses..) etc. por horas.. qué columnas posee cada una de las tablas y qué tipo de datos se pueden almacenar. la provincia. el mes del año y si el cliente está casado o soltero (dimensiones).. por años.

debe contener toda la información concerniente a: • • • • • Tablas Columnas de tablas Relaciones entre tablas Jerarquías y Dimensiones de datos Entidades y Relaciones Funciones ETL (extracción. Consiste en almacenar los datos en la base de datos final. que se sitúa entre las capas de aplicaciones y las capas inferiores (sistema operativo y red). transformación y carga (ETL) son importantes ya que son la forma en que los datos se guardan en un almacén de datos (o en cualquier base de datos). Middleware Artículo principal: Middleware Middleware es un término genérico que se utiliza para referirse a todo tipo de software de conectividad que ofrece servicios u operaciones que hacen posible el funcionamiento de aplicaciones distribuidas sobre plataformas heterogéneas. En el ámbito de los data warehouse el metadato juega un papel fundamental. . que sirve como base a los programadores para que puedan desarrollar aplicaciones que trabajen en diferentes entornos sin preocuparse de los protocolos de red y comunicaciones en que se ejecutarán. El middleware puede verse como una capa API. en menos tiempo. La función del middleware en el contexto de los data warehouse es la de asegurar la conectividad entre todos los componentes de la arquitectura de un almacén de datos. transformación y carga) Artículo principal: Extract. Implican las siguientes operaciones: • • • Extracción. Carga. transform and load Los procesos de extracción. Acción de obtener la información deseada a partir de los datos almacenados en fuentes externas. su función consiste en recoger todas las definiciones de la organización y el concepto de los datos en el almacén de datos. por ejemplo el almacén de datos objetivo normal.operacionales. De esta manera se ofrece una mejor relación costo/rendimiento que pasa por el desarrollo de aplicaciones más complejas. Cualquier operación realizada sobre los datos para que puedan ser cargados en el data warehouse o se puedan migrar de éste a otra base de datos. Transformación. Estos servicios funcionan como una capa de abstracción de software distribuida.

Es indispensable tener el conocimiento exacto sobre el tipo de negocios de la organización y el soporte que representa la información dentro de todo su proceso de toma de decisiones.Diseño de un almacén de datos Para construir un Data Warehouse se necesitan herramientas para ayudar a la migración y a la transformación de los datos hacia el almacén. servidores. ya se entra en el desarrollo de un modelo conceptual para la construcción del data warehouse. redes. Se dará énfasis a los Sistemas de soporte a decisiones (DSS). Entorno técnico. Para abordar un proyecto de data warehouse es necesario hacer un estudio de algunos temas generales de la organización o empresa. Una vez construido. Tipo y características del negocio.. Expectativas de los usuarios. cómo operan.Cualquier solución propuesta de data warehouse debe estar muy orientada por las necesidades del negocio y debe ser compatible con la arquitectura técnica existente y planeada de la compañía. etc. Prototipo.. es una forma de vida de las organizaciones y como tal.Un proyecto de data warehouse no es únicamente un proyecto tecnológico..Un prototipo es un esfuerzo designado a simular tanto como sea posible el producto final que será entregado a los usuarios. o cada uno de los primeros resultados generados de forma iterativa que se harán para llegar a la construcción del producto final deseado..Con el conocimiento previo. Con este criterio los datos deben ser repartidos entre numerosos data marts.) así como aplicaciones y herramientas.El piloto de un data warehouse es el primero. Se diseña su arquitectura dependiendo de la estructura interna de los datos del almacén y especialmente del tipo de consultas a realizar.. si existen en la actualidad.. los cuales se describen a continuación: • Situación actual de partida. se requieren medios para manejar grandes volúmenes de información. • • • • • • . tiene que contar con el apoyo de todos los usuarios y su convencimiento sobre su bondad.. Piloto...Se debe incluir tanto el aspecto del hardware (mainframes.. Etapas de desarrollo.

y que a través de herramientas de procesamiento analítico en línea (OLAP).Es un paso opcional que se puede necesitar para determinar si la arquitectura especificada del data warehouse funcionará finalmente como se espera. El almacén de datos espacial forma el corazón de un extensivo Sistema de Información Geográfica para la toma de decisiones. a diferencia de un simple almacén de datos que está orientado al tema. Actualmente es geo-objetos. no volátiles. Algunas de ellas son: . sino que es una dimensión o variable en la tecnología de la información. Los Data Warehouse Espaciales son aplicaciones basadas en un alto desempeño de las bases de datos. en los Data warehouse espaciales. integrados.. para los Data warehouse espaciales la variable geográfica debe ser almacenada directamente en ella. y de igual manera que para un Data warehouse. muchos de los cuales no referencian ubicación espacial. el Data warehouse espacial adicionalmente es Geo-Relacional. a pesar de poseerla intrínsecamente. Almacén de datos espacial Almacén de datos espacial es una colección de datos orientados al tema. la variable tiempo es imprescindible en los análisis. permiten que un gran número de usuarios accedan a información integrada. y sabiendo que un 80% de los datos poseen representación y ubicación en el espacio. Sin embargo la componente geográfica no es un dato agregado. la variable geográfica desempeña un papel importante en la base de información para la construcción del análisis. Mientras los almacenes de datos trabajan con muchos tipos y dimensiones de datos.• Prueba del concepto tecnológico. que utilizan arquitecturas Cliente-Servidor para integrar diversos datos en tiempo real. es decir que en estructuras relacionales combina e integra los datos espaciales con los datos descriptivos. éste al igual que los SIG. no solamente se posea un alto desempeño en consultas multidimensionales sino que adicionalmente se puedan visualizar espacialmente los resultados. para la toma de decisiones. esto es que los elementos geográficos se manifiestan como objetos con todas sus propiedades y comportamientos. variantes en el tiempo y que añaden la geografía de los datos. Ventajas e inconvenientes de los almacenes de datos Ventajas Hay muchas ventajas por las que es recomendable usar un almacén de datos. de tal manera que permita modelar todo el negocio como un ente holístico. y que adicionalmente están almacenados en una única base de datos Objeto-Relacional.

informes de excepción. A veces. informes que muestran los resultados reales frente a los objetivos planteados a priori. por ejemplo: obtener los ítems con la mayoría de las ventas en un área en particular dentro de los últimos dos años. algunos de ellos son: • • • • A lo largo de su vida los almacenes de datos pueden suponer altos costos. A menudo existe una delgada línea entre los almacenes de datos y los sistemas operacionales.• • • Los almacenes de datos hacen más fácil el acceso a una gran variedad de datos a los usuarios finales Facilitan el funcionamiento de las aplicaciones de los sistemas de apoyo a la decisión tales como informes de tendencia'. Los almacenes de datos pueden trabajar en conjunto y. resultaría costoso implementar operaciones no necesarias o dejar de implementar alguna que sí vaya a necesitarse. Inconvenientes Utilizar almacenes de datos también plantea algunos inconvenientes. en especial la gestión de relaciones con clientes. Hay que determinar qué funcionalidades de estos se pueden aprovechar y cuáles se deben implementar en el data warehouse. que también supone una pérdida para la organización. ante una petición de información estos devuelven una información subóptima. Los almacenes de datos se pueden quedar obsoletos relativamente pronto. aumentar el valor operacional de las aplicaciones empresariales. Los costos de mantenimiento son elevados. El almacén de datos no suele ser estático. . por lo tanto.

Véase también • • • • • • • • • • • • • • • • • • • Administración basada en la relación con los clientes Almacén de datos espacial Almacén operacional de los datos Data mart Esquema de la estrella Esquema del copo de nieve Extracción. Cubos OLAP Procesamiento de transacciones a través de una red (OLTP) Sistema de gestión de base de datos Sistemas de soporte a decisiones Sistemas de información ejecutiva Tabla de hechos Tabla de dimensión Cuadro de mando integral Modelo de base de datos . transformación y carga Inteligencia empresarial Minería de datos espacial Minería de datos Procesamiento analítico en línea (OLAP).

Sign up to vote on this title
UsefulNot useful