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

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

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

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

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

conectores. Aunque ello no excluye la capacidad de instalar otras tarjetas adicionales específicas. 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. literalmente significa "memoria de acceso aleatorio". la tendencia en los últimos años es eliminar elementos separados en la placa base e integrarlos al microprocesador. Es el soporte fundamental que aloja y comunica a todos los demás componentes: Procesador. Wi-Fi. periféricos de entrada y salida. Esta particularidad también se conoce como "acceso directo". En la RAM se almacena temporalmente la información. tarjetas de expansión. diversos integrados. etc. 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. etc. audio. Para comunicar esos componentes.La placa base. la placa base posee una serie de buses mediante los cuales se trasmiten los datos dentro y hacia afuera del sistema. 14 a diferencia de las llamadas memorias auxiliares. tarjetas de adquisición de datos. tarjetas gráficas. 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). red. Memoria RAM Modulos de memoria RAM instalados. La memoria RAM es conocida como Memoria principal de la computadora. los zócalos. un controlador de memoria. datos y programas que la Unidad de Procesamiento (CPU) lee.13 es un gran circuito impreso sobre el que se suelda el chipset. procesa y ejecuta. 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. también conocida como placa madre o con el anglicismo board. también como "Central o de Trabajo". una GPU. tales como un procesador. las ranuras de expansión (slots). La figura muestra una aplicación típica. funciones que antes se realizaban con tarjetas de expansión. También. La RAM es la memoria utilizada en una computadora para el almacenamiento transitorio y de trabajo (no masivo). puertos de varios tipos). etc. Artículo principal: Memoria RAM Del inglés Random Access Memory. . módulos de memoria RAM. en la placa principal de un teléfono móvil. tales como capturadoras de vídeo. bluetooth. en contraposición al Acceso secuencial.

están organizadas en matrices y almacenan cada una un bit. Memorias RAM con tecnologías usadas en la actualidad. conjuntamente. lo cual significa que tienden a perder sus datos almacenados en breve tiempo (por descarga. memoria denominada "dinámica". Los integrados son de tipo DRAM. comúnmente. tales como resistores y condensadores. además de otros elementos. lo cual significa que pierden rápidamente su contenido al interrumpir su alimentación eléctrica.secundarias o de almacenamiento masivo (como discos duros. Entre las tecnologías recientes para integrados de memoria DRAM usados en los módulos RAM se encuentran: . Las más comunes y utilizadas como memoria central son "dinámicas" (DRAM). servidor). volátiles. 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. Las memorias RAM son. Ellos albergan varios circuitos integrados de memoria DRAM que. aún estando con alimentación eléctrica). en la cual las celdas de memoria son muy sencillas (un transistor y un condensador). Memoria RAM dinámica Es la presentación más común en computadores modernos (computador personal. unidades de estado sólido. conforman toda la memoria principal. permitiendo la fabricación de memorias con gran capacidad (algunos cientos de Megabytes) a un costo relativamente bajo. 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 posiciones de memoria o celdas. son tarjetas de circuito impreso que tienen soldados circuitos integrados de memoria por una o ambas caras. cintas magnéticas u otras memorias). La memoria RAM de un computador se provee de fábrica e instala en lo que se conoce como “módulos”. 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.

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

hay otros subtipos más. búsqueda El texto que sigue es una traducción defectuosa o incompleta.• VRAM: Siglas de Video Random Access Memory. una descripción de una cierta clase de máquinas de lógica que pueden ejecutar complejos programas de computadora. De las anteriores a su vez. y hoy en día. Desde mediados de los años 1970. Es un tipo de memoria RAM que se utiliza en las tarjetas gráficas del computador. es posible que la CPU grabe información en ella. 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. el término "CPU" es aplicado usualmente a todos los microprocesadores. 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. Si quieres colaborar con Wikipedia. que interpreta las instrucciones contenidas en los programas y procesa los datos. Se conoce como microprocesador el CPU que es manufacturado con circuitos integrados. junto con el almacenamiento primario y los dispositivos de entrada/salida. o simplemente el procesador o microprocesador. busca el artículo original y mejora o finaliza esta traducción. UCP o CPU (por el acrónimo en inglés de central processing unit). La característica particular de esta clase de memoria es que es accesible de forma simultánea por dos dispositivos. la enciclopedia libre (Redirigido desde Cpu) Saltar a: navegación. en términos generales. es el componente del computador y otros dispositivos programables. Unidad central de procesamiento (cpu) De Wikipedia. La unidad central de procesamiento. los microprocesadores de un solo chip han reemplazado casi totalmente todos los tipos de CPU. La expresión "unidad central de proceso" es. al tiempo que se leen los datos que serán visualizados en el Monitor de computadora.75 mm) en su empaquetado. Así. 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.

Los microprocesadores modernos aparecen en todo. generalmente una computadora única en su especie. 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.1 ILP: Entubado de instrucción y arquitectura superescalar  3.2 TLP: ejecución simultánea de hilos o 3.1 CPU de transistores y de circuitos integrados discretos o 1.2 Frecuencia de reloj o 3. entre otros. calculadoras. Los primeros CPU fueron diseñados a la medida como parte de una computadora más grande. y microcomputadoras. Contenido [ocultar] • • • • • 1 Historia o 1. pero su operación fundamental ha permanecido bastante similar. y fue acelerada rápidamente con la popularización del circuito integrado (IC). computadoras centrales.embargo.1 Rango de enteros o 3. éste ha permitido que sean diseñados y fabricados CPU más complejos en espacios pequeños (en la orden de milímetros).2 Microprocesadores 2 Operación del CPU 3 Diseño e implementación o 3.3 Paralelismo  3. neveras. Sin embargo. juguetes. 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. el diseño y la implementación de los CPU ha cambiado drásticamente desde los primeros ejemplos.3.3.4 Procesadores vectoriales y el SIMD 4 Véase también 5 Notas . este costoso método de diseñar los CPU a la medida. Esta tendencia de estandarización comenzó generalmente en la era de los transistores discretos. aviones. televisores. 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. hasta teléfonos móviles o celulares. desde automóviles. La forma. para una aplicación particular.

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

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

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. 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. y eventualmente produjeron microprocesadores con conjuntos de instrucciones que eran compatibles hacia atrás con sus más viejos hardwares y softwares. el término "CPU" es aplicado ahora casi exclusivamente a los microprocesadores.eventualmente fue implementado con componentes LSI cuando se convirtieron en prácticos. se fueron alcanzando frecuencias de reloj del CPU de decenas de megahertz. Los computadores basados en transistores tenían varias ventajas frente a sus predecesores. mientras que los CPU de transistores discretos y circuitos integrados se usaban comúnmente. Aparte de facilitar una creciente fiabilidad y un menor consumo de energía. el Intel 4004. Además. Por otro lado. en 1974. la primera implementación LSI del PDP-11 contenía un CPU integrado únicamente por cuatro circuitos integrados LSI. Estos primeros diseños experimentales dieron lugar más adelante a la era de las supercomputadoras especializadas. esta clase de CPUs ha desplazado casi totalmente el resto de los métodos de implementación de la Unidad Central de Proceso. como los hechos por Cray Inc. En fuerte contraste con sus precursores hechos con tecnología SSI y MSI. 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. 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é. el Intel 8080. usualmente solo uno. significa tiempos de . comenzaron a aparecer los nuevos diseños de alto rendimiento como procesadores vectoriales SIMD (Single Instruction Multiple Data) (Simple Instrucción Múltiples Datos). Combinado con el advenimiento y el eventual vasto éxito del ahora ubicuo computadora personal. y del primer microprocesador ampliamente usado. Microprocesadores Microprocesador Intel 80486DX2 en un paquete PGA de cerámica Artículo principal: Microprocesador Desde la introducción del primer microprocesador. como resultado de estar implementado en una simple pastilla. en 1971. El tamaño más pequeño del CPU. los microprocesadores son CPUs fabricados con un número muy pequeño de IC.

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

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

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

Esto ha conducido que muchos CPU modernos requieran que se les proporcione múltiples señales de reloj idénticas. un componente que está cambiando de . como en una perspectiva de cantidad de componentes. 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.8 Es decir. Frecuencia de reloj Artículo principal: Frecuencia de reloj La mayoría de los CPU. Sin embargo. Al fijar el período del reloj a un valor bastante mayor sobre el retardo de la propagación del peor caso. conocida como señal de reloj.números de coma flotante. una señal de reloj está sujeta a los retardos de cualquier otra señal eléctrica. aun cuando algunas unidades de la misma son mucho más rápidas. y de hecho. para evitar retardar una sola señal lo suficiente como para hacer al CPU funcionar incorrectamente. En general. Esto tiene la ventaja de simplificar el CPU significativamente. o propagarse en el peor de los casos. Sin embargo. esto también tiene la desventaja que todo el CPU debe esperar por sus elementos más lentos. la mayoría de los dispositivos de lógica secuencial. 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. los diseñadores pueden seleccionar un período apropiado para la señal del reloj. tanto en una perspectiva de diseño. no solucionan todas las desventajas de CPUs globalmente síncronas. La señal del reloj cambia constantemente. las mejoras arquitectónicas por sí solas. Otro importante problema cuando la velocidad del reloj aumenta dramáticamente. Esta señal. 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. es la cantidad de calor que es disipado por el CPU. 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. Por ejemplo. están diseñados y operan en función de una señal de sincronización. Muchos diseños posteriores de CPU usan una mezcla de ancho de bits similar. Este período debe ser más largo que la cantidad de tiempo que toma a una señal moverse. provocando la conmutación de muchos componentes (cambio de estado) sin importar si están siendo usados en ese momento. Esta limitación ha sido compensada en gran parte por varios métodos de aumentar el paralelismo del CPU (ver abajo). usualmente toma la forma de una onda cuadrada periódica. son de naturaleza síncrona.

así lo hace también la disipación de calor. considerablemente más complejo el proceso del diseño. como por ejemplo.estado. 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. Sin embargo. combinado con sus excelentes características de consumo de energía y disipación de calor. a medida que la velocidad del reloj aumenta. compatible con el MIPS R3000. causando que el CPU requiera soluciones de enfriamiento más efectivas. CPUs completas se han construido sin utilizar una señal global de reloj. Note que toma quince ciclos para terminar tres instrucciones. los diseños asincrónicos (o sin reloj) tienen marcadas ventajas en el consumo de energía y la disipación de calor. Este tipo de CPU. efectivamente desactivándolos. Aunque algo infrecuente. Dos notables ejemplos de esto son el AMULET. Por lo tanto.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. algunos diseños de CPU permiten a ciertas unidades del dispositivo ser asincrónicas. Paralelismo Artículo principal: Computación paralela Modelo de un CPU subescalar. que implementa la arquitectura del ARM. es evidente que por lo menos sobresalen en las más simples operaciones matemáticas. Mientras que quitar la señal global del reloj hace. los hace muy adecuados para sistemas embebidos. opera sobre y ejecuta una sola instrucción con una o dos piezas de datos a la vez. usualmente referido como subescalar. usa más energía que un elemento en un estado estático. y el MiniMIPS. . en comparación con diseños síncronos similares. de muchas maneras. usar ALUs asincrónicas en conjunción con pipelining superescalar para alcanzar algunas ganancias en el desempeño aritmético. Esto. que implica apagar la señal del reloj a los componentes innecesarios. Un método de tratar la conmutación de componentes innecesarios se llama el clock gating. 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. 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. En lugar de remover totalmente la señal del reloj.

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

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. Al leer y despachar dos instrucciones a la vez. 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. debe ser tomado un cuidado adicional para comprobar estas clases de condiciones. Tubería superescalar simple. Para hacer frente a esto. Un procesador entubado puede llegar a ser casi completamente escalar. y si esto ocurre.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. lograr esto requiere circuitería adicional. Al dividir la ruta de ejecución en etapas discretas. Esta separación puede ser comparada a una línea de ensamblaje. De ser así. dando por resultado la capacidad para que varias instrucciones sean ejecutadas . 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. y es utilizada en casi todos los CPU de propósito general modernos. En una tubería superescalar. pero no mucho. los procesadores entubados son más complejos que los subescalares. 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. un máximo de dos instrucciones por ciclo pueden ser completadas. solamente inhibido por las abruptas paradas de la tubería (una instrucción durando más de un ciclo de reloj en una etapa). una condición llamada a menudo como conflicto de dependencia de datos. múltiples instrucciones son leídas y pasadas a un despachador. Ésta es la forma más simple de una técnica conocida como instruction pipelining (entubado de instrucción). Sin embargo. se debe retrasar una porción de la tubería de instrucción. son despachadas a las unidades de ejecución disponibles. la tubería permite que más de una instrucción sea ejecutada en cualquier tiempo. Naturalmente. que decide si las instrucciones se pueden o no ejecutar en paralelo (simultáneamente).

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

fueron solamente para números enteros. modernas especificaciones SIMD. Algunas de estas primeras especificaciones SIMD. a medida que la multimedia se desplazó en gran parte a medios digitales. Poco después de que comenzara a ser común incluir unidades de coma flotante en procesadores de uso general. Progresivamente.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 . éstos primeros diseños fueron refinados y rehechos en alguna de las comunes. que generalmente están asociadas a un ISA. Algunos ejemplos modernos notables son el SSE de Intel y el AltiVec relacionado con el PowerPC (también conocido como VMX). ha llegado a ser significativa la necesidad de una cierta forma de SIMD en CPUs de propósito general.y criptografía. Esto demostró ser un impedimento significativo para algunos desarrolladores de software. como el MMX de Intel. ya que muchas de las aplicaciones que se beneficiaban del SIMD trataban sobre todo con números de coma flotante. Sin embargo. también comenzaron a aparecer especificaciones e implementaciones de unidades de ejecución SIMD para los CPU de uso general.

It is largely for this reason that these computers are often not considered to contain a CPU proper. ISAs that use variable length instruction words. ↑ Some early computers like the Harvard Mark I did not support any kind of "jump" instruction. 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. 3. it is incremented by the number of memory units that the instruction word contains. 1. . increment the PC by the number of memory words corresponding to the last instruction's length. For example. 2. note that in more complex CPU. it is often used as a classification of the "type" of CPU. sometimes the tube's vacuum seal can form a leak. can actually interpret instructions for more than one ISA. this is always the same number. Some CPU. which accelerates the cathode contamination. despite their close similarity as stored program computers. ↑ Since the program counter counts memory addresses and not instructions. such as x86. Also. (See emulator) 4. Additionally. like the Intel Itanium. 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). a "PowerPC CPU" uses some variant of the PowerPC ISA. For example.• • • • • • • 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. See vacuum tube. incrementing the PC does not necessarily occur at the end of instruction execution. In the case of simple fixed-length instruction word ISAs. This is especially the case in heavily pipelined and superescalar architectures (see the relevant sections below). ↑ Because the instruction set architecture of a CPU is fundamental to its interface and usage.

↑ 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.

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

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

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

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

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

• Periféricos de entrada/salida (E/S): sirven básicamente para la comunicación de la computadora con el medio externo. o para enviar y recibir información. Los periféricos de entrada más habituales son: • • Teclado Micrófono . de forma permanente o virtual. siendo la principal . 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. todo aquello que hagamos con el ordenador para que pueda ser utilizado por los usuarios u otros sistemas. ya sea para trabajar en conjunto. Son los que permiten introducir datos externos a la computadora para su posterior tratamiento por parte de la CPU. Su función es la de almacenar o guardar. ya que su memoria es volátil y temporal. • Periféricos de entrada Artículo principal: Periférico de entrada Ratón. Estos datos pueden provenir de distintas fuentes. un ser humano. Los periféricos de entrada/salida son los que utiliza el ordenador tanto para mandar como para recibir información. La memoria de acceso aleatorio no puede ser considerada un periférico de almacenamiento. Periféricos de comunicación: son los periféricos que se encargan de comunicarse con otras máquinas o computadoras.

como un disco duro. como un CD. ya que ésta se borra cada vez que se apaga la computadora.• • • • • • 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. Pueden ser internos. 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. Se encargan de guardar los datos de los que hace uso la CPU. para que ésta pueda hacer uso de ellos una vez que han sido eliminados de la memoria principal. 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. o extraíbles. o EZFlyer (SyQuest): Caben 230 Mb y tiene una velocidad de lectura muy alta . de modo que sea perceptible por el usuario.

memoria suele referirse a una forma de almacenamiento de estado sólido conocido como memoria RAM (memoria de acceso aleatorio. la memoria (también llamada almacenamiento) se refiere a parte de los componentes que forman parte de una computadora. Es uno de los componentes fundamentales de todas las computadoras modernas que. 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. implementa lo fundamental del modelo de computadora de Arquitectura de von Neumann. Las memorias de computadora proporcionan una de las principales funciones de la computación moderna. Magneto-ópticos de 3.o o o SuperDisk LS-120: Caben 200 Mb y utilizan tecnología magneto-óptica. central processing unit). Son dispositivos que retienen datos informáticos durante algún intervalo de tiempo. búsqueda En informática. usado desde los años 1940. Periféricos de comunicación Su función es permitir o facilitar la interacción entre dos o más computadoras. 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. la retención o almacenamiento de información. la enciclopedia libre Saltar a: navegación. se refiere a formas de almacenamiento masivo como discos ópticos y tipos de almacenamiento magnético como discos duros y . De forma similar. En la actualidad.5: Caben de 128 Mb a 640 Mb Jaz (Iomega): Similar al dispositivo Zip y con capacidad de 1 GB a 2 GB. RAM por sus siglas en inglés random access memory) y otras veces se refiere a otras formas de almacenamiento rápido pero temporal.

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

Los componentes fundamentales de las computadoras de propósito general son la CPU. Comparada con los registros. Almacenamiento primario La memoria primaria está directamente conectada a la CPU de la computadora. un sistema informático contiene varios tipos de almacenamiento. imágenes. 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é. puede ser usada para editar una novela pequeña. Debe estar presente para que la CPU funcione correctamente. 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. La memoria caché es un tipo especial de memoria interna usada en muchas CPU para mejorar su eficiencia o rendimiento. números. siendo transistores de conmutación integrados en el chip de silicio del microprocesador (CPU) que funcionan como "flipflop" electrónicos. el espacio de almacenamiento y los dispositivos de entrada/salida. la caché es ligeramente más lenta pero de mayor capacidad. si se elimina el almacenamiento. También es de uso . aunque de mucha menor capacidad que la memoria principal. o dígitos binarios. La unidad de almacenamiento más común es el byte. Se han inventado varias formas de almacenamiento basadas en diversos fenómenos naturales. 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. cada uno con su propósito individual. es más rápida. es el sistema más rápido de los distintos tipos de almacenamientos de la computadora. Texto. No existen ningún medio de almacenamiento de uso práctico universal y todas las formas de almacenamiento tienen sus desventajas. Por ejemplo. cada uno de los cuales tiene un valor de 1 ó 0. Por tanto. el aparato sería una simple calculadora en lugar de una computadora. o un megabyte. una computadora con un espacio de almacenamiento de ocho millones de bits. sonido y casi cualquier otra forma de información puede ser transformada en una sucesión de bits. Sin embargo. Simplificando mucho. Técnicamente. igual a 8 bits.

Por lo tanto. ralentiza apreciablemente el . pero más rápida y mucho más pequeña que la memoria principal. Sin embargo. aunque es probable que su velocidad de acceso mejore con los avances tecnológicos. 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). En las computadoras modernas se usan memorias de acceso aleatorio basadas en electrónica del estado sólido. el uso de la memoria virtual. datos y control.• común la memoria caché multi-nivel . La memoria principal contiene los programas en ejecución y los datos con que operan. los discos duros suelen usarse como dispositivos de almacenamiento masivo. En las computadoras modernas. que está directamente conectada a la CPU a través de buses de direcciones. Se puede transferir información muy rápidamente entre un registro del microprocesador y localizaciones del almacenamiento principal. que es cerca de un millón de veces más lenta que memoria “verdadera”. La memoria secundaria también se llama "de almacenamiento masivo". pero es mucho más lenta. rápida y cercana al dispositivo de procesamiento. Los dispositivos rotantes de almacenamiento óptico (unidades de CD y DVD) son incluso más lentos que los discos duros.la "caché primaria" que es más pequeña. la memoria secundaria o de almacenamiento masivo tiene mayor capacidad que la memoria primaria. 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. En cambio. Un disco duro es un ejemplo de almacenamiento secundario. Habitualmente. 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). 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. 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).(A esta utilización del almacenamiento secundario se le denomina memoria virtual). la "caché secundaria" que es más grande y lenta.

el almacenamiento de red permite centralizar el control de información en una organización y reducir la duplicidad de la información. Aun así. 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. internet. y las baterías extraíbles de discos Winchester. la computación científica en grandes sistemas informáticos y en redes empresariales. la memoria virtual resultaba mucho más barata que la memoria real. a pesar de provocar un funcionamiento significativamente más lento. 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. 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. Muchos sistemas operativos implementan la memoria virtual usando términos como memoria virtual o "fichero de caché". 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. También hay discos duros USB que se pueden conectar en caliente.funcionamiento de cualquier computadora. . una red de área extensa. La principal ventaja histórica de la memoria virtual es el precio. La memoria terciaria se usa en el área del almacenamiento industrial. En computadoras modernas son de uso habitual para este propósito los disquetes. Discutiblemente. muchos sistemas operativos siguen implementándola. incluyendo las unidades USB. Estos medios de almacenamiento suelen usarse para transporte y archivo de datos. Los dispositivos de almacenamiento fuera de línea usados en el pasado son cintas magnéticas en muchos tamaños y formatos diferentes. Este tipo de memoria es algo que los usuarios de computadoras personales normales nunca ven de primera mano. discos ópticos y las memorias flash. en el caso de almacenamientos de archivos en línea. Esa ventaja es menos relevante hoy en día. una red privada virtual 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. La memoria RAM es una memoria volátil. Características de las memorias La división entre primario. El dispositivo puede necesitar buscar (posicionar correctamente el cabezal de lectura/escritura de un disco). Habilidad para cambiar la información • Las memorias de lectura/escritura o memorias cambiables permiten que la información se reescriba en cualquier momento. dependiendo de la unidad de información que fue leída anteriormente. 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. Hay otras formas de caracterizar a los distintos tipos de memoria. los documentos y otros datos son almacenados en un dispositivo de la red. como es el caso de la memoria ROM. se usa en memorias secundarias. En su lugar. normalmente pequeño. o leída y reescrita sin modificaciones. o dar vueltas (esperando a que la posición adecuada aparezca debajo del cabezal de lectura/escritura en un medio que gira continuamente).• Las redes de computadoras son computadoras que no contienen dispositivos de almacenamiento secundario. fuera de línea se basa en la jerarquía de memoria o distancia desde la unidad central de proceso. secundario. ya que pierde información en la falta de energía eléctrica. terciario. La memoria volátil se suele usar sólo en memorias primarias. terciarias y fuera de línea. Acceso secuencial significa que acceder a una unidad de información tomará un intervalo de tiempo variable. por tanto. Una computadora sin algo de memoria de lectura/escritura como memoria . 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. Se usa para almacenamientos a largo plazo y.

cada unidad de información accesible individualmente en la memoria se selecciona con su dirección de memoria numérica. En las computadoras modernas. Direccionamiento de la información • • • En la memoria de localización direccionable. Los primeros programas de ajedrez funcionaban en máquinas que utilizaban memorias de base . El dispositivo subyacente sigue siendo de localización direccionable. terciarias y fuera de línea usan sistemas de archivos. En las memorias de contenido direccionable (content-addressable memory). 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. la opción hardware es la opción más rápida y cara. Un ejemplo son los CD-ROMs. 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. la memoria de localización direccionable se suele limitar a memorias primarias. 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. También están las memorias inmutables. En las computadora modernas. La memoria de contenido direccionable pueden construirse usando software o hardware. En las memorias de sistema de archivos. las memorias secundarias. 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". pero el sistema operativo de la computadora proporciona la abstracción del sistema de archivos para que la operación sea más entendible. Las computadora modernas también usan habitualmente memorias de lectura/escritura como memoria secundaria. Capacidad de memoria Memorias de mayor capacidad son el resultado de la rápida evolución en tecnología de materiales semiconductores. Un ejemplo son los CD-RW. pero difícil de usar para los humanos. que se utilizan en memorias terciarias y fuera de línea.• • principal sería inútil para muchas tareas.

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

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

Los siguientes formatos son de uso común: • • • • • CD. 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. Las memorias de discos magneto ópticos son de tipo no volátiles. DVD-RAM: Memoria de escritura lenta y lectura rápida usada como memoria terciaria y fuera de línea. CD-RW.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. Las tarjetas perforadas fueron utilizados por primera vez por Basile Bouchon para el control de telares textiles en Francia. vídeo. Para su desarrollo se creó la BDA. programas informáticos). DVD: Memorias de simplemente solo lectura. Blu-ray: Formato de disco óptico pensado para almacenar vídeo de alta calidad y datos. Se usa como memoria terciaria y fuera de línea. quien desarrolló un telar automático. Sony o Phillips. de escritura lenta y lectura rápida. Los discos ópticos son no volátil y de acceso secuencial.1 En 1801 el sistema de Bouchon fue perfeccionado por Joseph Marie Jacquard. IBM . DVD-RW. CD-ROM. conocido como telar de Jacquard. entre otros. La información se lee ópticamente y se escribe combinando métodos magnéticos y ópticos. de acceso secuencial. DVD-R. La información se lee iluminando la superficie con un diodo láser y observando la reflexión. CD-R. DVD+R: Memorias de escritura única usada como memoria terciaria y fuera de línea. usada para distribución masiva de información digital (música. Otros métodos iniciales Tarjetas perforadas en un telar de Jacquard. en la que se encuentran. DVD+RW. una de las precursoras de IBM.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.

La memoria holográfica podría ser no volátil. La memoria de cambio de fase sería una memoria de lectura/escritura no volátil. 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. Dicha información se lee observando la resistencia eléctrica variable del material. secundaria y fuera de línea. Para almacenar información. La memoria holográfica almacena ópticamente la información dentro de cristales o fotopolímeros. Se usaba como memoria principal. de acceso secuencial y tanto de escritura única como de lectura/escritura. En el año 1950. Durante los años 1960. aunque su uso fue muy común hasta medidados de los años 1970 con la aparición de los discos magnéticos. La memoria molecular almacena la información en polímeros que pueden almacenar puntas de carga eléctrica. La memoria de línea de retardo usaba ondas sonoras en una sustancia como podía ser el Mercurio para guardar información. Recientemente se ha propuesto utilizar el spin de un electrón como memoria.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. La memoria de línea de retardo era una memoria dinámica volátil. Puede ser usada tanto como memoria secundaria como fuera de línea. La información se grababa en las tarjetas perforando agujeros en el papel o la tarjeta. las tarjetas IBM y las unidades máquinas de registro IBM se habían vuelto indispensables en la industria y el gobierno estadounidense. a diferencia de las memorias de discos ópticos. Las memorias holográficas pueden utilizar todo el volumen del medio de almacenamiento. La lectura se realizaba por sensores eléctricos (más tarde ópticos) donde una localización particular podía estar agujereada o no. las tarjetas perforadas fueron gradualmente reemplazadas por las cintas magnéticas. ciclo secuencial de lectura/escritura. Se ha demostrado que es posible desarrollar un circuito . 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. [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. de acceso aleatorio podría ser usada como memoria primaria.

en Milestones in computer science and information technology. prensa diaria o páginas de Internet fidedignas. 2. 1. y . Greenwood Publishing Group. P. 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. (2003). (2004). en Computer Organization and Design (en inglés). PHI Learning Pvt. 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.electrónico que lea el spin del electrón y lo convierta en una señal eléctrica. Ltd. ↑ Reilly. «Electromechanical machines». «Jacquard loom». como revistas especializadas. monografías. ISBN 978-81-203-1254-8. la enciclopedia libre Saltar a: navegación. [cita requerida] Referencias ↑ Pal Chaudhuri. Edwin D. búsqueda Este artículo o sección necesita referencias que aparezcan en una publicación acreditada.

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

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

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

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

pero tienen algunas ventajas en cuanto a los disquetes: • Por una parte. marcos digitales. aunque en entornos domésticos fueron menos usadas que las disqueteras y las unidades de CD-ROM. son discos reescribibles. 16x. lectores de DVD y otros dispositivos. Además. Unidad de DVD-RW o "grabadora de DVD" Artículo principal: DVD-RW Puede leer y grabar y regrabar imágenes.12 MB/s.. y en la velocidad de lectura de los datos. • 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. Actualmente. los instalados en computadores (incluidos en una placa o mediante puerto USB). fuente de alimentación y tarjeta de sonido. 640 Mb o 1.32 MB/s. . 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). sonido y datos en discos de varios gigabytes de capacidad.. suelen leer varios tipos de tarjetas. para realizar copias de seguridad. La diferencia más destacable es que las unidades lectoras de discos DVDROM también pueden disponer de una salida de audio digital. por ejemplo. pueden leer tanto discos DVD-ROM como CD-ROM.3 GB. Se diferencian de las unidades lectoras de CD-ROM en que el soporte empleado tiene hasta 17 GB de capacidad. admiten discos de gran capacidad: 230 MB. Así: 16x = 21. Las conexiones de una unidad de DVD-ROM son similares a las de la unidad de CD-ROM: placa base. por lo que es interesante emplearlos. Pero ahora la x hace referencia a 1. 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. de una capacidad de 650 MB a 9 GB.Las unidades de DVD-ROM son aparentemente iguales que las de CDROM. La velocidad se expresa con otro número de la «x»: 12x.

desde un simple copiar pasando por comandos como el "copy" de DOS. 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. o herramientas de diversos fabricantes. 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. se conecta a la computadora a través del puerto USB o Firewire. Estas memorias son resistentes a los rasguños externos y al polvo que han afectado a las formas previas de almacenamiento portátil. 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. otro almacenamiento de largo plazo. la batería era utilizada por los primeros modelos. en los últimos modelos la batería no es requerida.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). siendo necesario acudir a la copia que habíamos realizado anteriormente. el "cp" de sistemas Linux y Unix. 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. 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. El aparato correspondiente o bien un lector de tarjetas. Su capacidad de almacenamiento puede ser de cientos de gigabytes. como cámaras digitales o agendas electrónicas. . • Memoria flash: Es un tipo de memoria que se comercializa para el uso de aparatos portátiles. 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. Para esta restauración de datos existen diferentes métodos. Otros dispositivos de almacenamiento Otros dispositivos de almacenamiento son las memorias flash o los dispositivos de almacenamiento magnéticos de gran capacidad. destinado a conservar información que normalmente se daría en el disco rígido del ordenador personal.

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

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

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. El software de sistema le procura al usuario y programador adecuadas interfaces de alto nivel. 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. 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. En la ingeniería de software y las ciencias de la computación. con una aplicación al problema de decisión.El término «software» fue usado por primera vez en este sentido por John W. puertos y dispositivos de comunicaciones. impresoras. Clasificación del software Si bien esta distinción es. arbitraria. usualmente en un entorno visual. controladores. y a veces confusa. etc. de forma tal que el programador no necesite introducir múltiples . La teoría que forma la base de la mayor parte del software moderno fue propuesta por Alan Turing en su ensayo de 1936. en cierto modo. discos. pantallas. usando diferentes alternativas y lenguajes de programación. el software es toda la información procesada por los sistemas informáticos: programas y datos. aislándolo especialmente del procesamiento referido a las características internas de: memoria. teclados. Tukey en 1957. herramientas y utilidades de apoyo que permiten el mantenimiento del sistema global. «Los números computables». de una manera práctica. 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.

costo monetario. 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. dependiendo de su porte. en cualquier campo de actividad susceptible de ser automatizado o asistido. depurar. 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. «mediano» y «gran porte». con especial énfasis en los negocios. En el otro extremo. características y criticidad del mismo. en este caso particular.). 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. Habitualmente cuentan con una avanzada interfaz gráfica de usuario (GUI). . gestión. Por ejemplo la creación de un sistema operativo es una tarea que requiere proyecto. cantidad de líneas fuente de acuerdo a lenguaje usado. El proceso de creación de software puede llegar a ser muy complejo. para lograr un producto software que resuelva un problema específico. la resolución de una ecuación de segundo orden). interpretar.• comandos para compilar. 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». éste puede ser realizado por un solo programador (incluso aficionado) fácilmente. si se trata de un sencillo programa (por ejemplo. numerosos recursos y todo un equipo disciplinado de trabajo. Software de aplicación: Es aquel que permite a los usuarios llevar a cabo una o varias tareas específicas. etc. Existen varias metodologías para estimarlo. etc.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

difícil es lograrlo. 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). 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. tales como CMM-I. 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. cuya estructura puede venir definida por varios estándares. El UdeD incluye todas las fuentes de información y todas las personas relacionadas con el software. modelado y formas de elicitación de requisitos Siendo que la captura. Todo aquello que no se detecte. 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. normalmente se los va analizando. Procesos. a veces se fuerza a los desarrolladores a tener que convertirse en casi expertos de los dominios que analizan. conocido como ERS o Especificación de Requisitos Software. ya que de esta etapa depende el logro de los objetivos finales previstos. El UdeD es la realidad circunstanciada por el conjunto de objetivos definidos por quienes demandaron el software. El estándar IEEE 830-1998 brinda una normalización de las «Prácticas Recomendadas para la Especificación de Requisitos Software». o resulte mal entendido en la etapa inicial provocará un fuerte impacto negativo en los requisitos. . elicitación y especificación de requisitos. También existen herramientas software que apoyan las tareas relativas realizadas por el ingeniero en requisitos. el resultado de este análisis. Esas personas son conocidas también como actores de ese universo. se han ideado modelos y diversas metodologías de trabajo para estos fines. es una parte crucial en el proceso de desarrollo de software. 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. con o sin el cliente. se plasma en un documento.14 A medida que se obtienen los requisitos.

En el diagrama no se explicita metodología o modelo a utilizar. de capturar y documentar requisitos se puede obtener en detalle. análisis y especificación de requerimientos software. . sencillamente se pautan las tareas que deben cumplirse. aunque no detallado. Otra forma. veraces. suelen tener muchísimo en común. También allí se observa qué artefacto o documento se obtiene en cada etapa del proceso. y todas cumplen el mismo objetivo. en el trabajo de la Universidad de Sevilla sobre «Metodología para el Análisis de Requisitos de Sistemas Software». aquí15 se presenta una de las tantas referencias y bibliografía sobre ello. de alguna manera. no se puede decir que alguna de ellas sea mejor o peor que la otra. por ejemplo.16 En la Fig. Así por ejemplo. 7 se muestra un esquema. La IR aporta un conjunto de métodos. más ortodoxa. más o menos riguroso. técnicas y herramientas que asisten a los ingenieros de requisitos (analistas) para obtener requerimientos lo más seguros.El objetivo de la Ingeniería de requisitos (IR) es sistematizar el proceso de definición de requisitos permitiendo elicitar. definir y documentar requerimientos. lo que si se puede decir sin dudas es que es indispensable utilizar alguna de ellas para documentar las especificaciones del futuro producto software. ya que ambos participan en la generación y definición de los requisitos del sistema. 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. Sin embargo. modelar y analizar el problema. 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. modelos y metodologías para elicitar. generando un compromiso entre los ingenieros de requisitos y los clientes/usuarios. de los pasos y tareas a seguir para realizar la captura. completos y oportunos posibles.

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

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

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. puede describir el funcionamiento interno de un sistema en diferentes niveles de detalle. En ingeniería de software. pero por favor: antes de realizar correcciones mayores contáctalo en su página de discusión. Diseño del sistema Un wikipedista está trabajando actualmente en este artículo o sección. puedes ayudar y editar. El diseño. • Los requisitos del dominio se derivan del dominio de la aplicación y reflejan características de dicho dominio. el diseño define cómo estos requisitos se cumplirán. etc. Se derivan de factores externos al sistema y al proceso de desarrollo (Ej. En este nivel de diseño pertenecen fórmulas como cliente- . 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). Se basa en la especificación de requisitos producido por el análisis de los requerimientos (análisis). Ej. El diseño sigue siendo una fase separada del la programación o codificación.• Requisitos externos. Normalmente se entiende por "diseño de la arquitectura" al diseño de "muy alto nivel". en particular. Si quieres. requisitos legislativos. El sistema de biblioteca no podrá acceder a bibliotecas con material censurado. Es posible que a causa de ello haya lagunas de contenido o deficiencias de formato. cada una de ellos se coloca en una posición intermedia entre el análisis y codificación. el diseño es una fase de ciclo de vida del software. éticos. esta ultima corresponde a la traducción en un determinado lenguaje de programación de las decisiones tomadas en el diseño. Ej. Pueden ser funcionales o no funcionales. la estructura que debe darse al sistema de software para que se haga realidad. o en la página de discusión del artículo. 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.) Requisitos del dominio. para poder coordinar la redacción.

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

sintáctica y lógica). lo cual genera el programa. Durante la fase de programación. normalmente con datos de prueba. Hay una suerte de solapamiento con la fase siguiente. intérprete intermedio. habrán otros que se encontrarán durante las etapas subsiguientes. Código objeto: es el código binario o intermedio resultante de procesar con un compilador el código fuente. a saber: • Código fuente: es el escrito directamente por los programadores en editores de texto. Se trata de una representación intermedia entre el código fuente y el código ejecutable. FORTRAN (compilador puro) MSIL (Microsoft Intermediate Language) (intérprete) y BASIC (intérprete puro. bibliotecas fuente. 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. Contiene el conjunto de instrucciones codificadas en algún lenguaje de alto nivel. ya que para depurar la lógica es necesario realizar pruebas unitarias. 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). Consiste en una traducción completa y de una sola vez de éste último. y bastante más lenta que si existe el o los archivos de código ejecutable.Mientras se programa la aplicación. o software en general. sistema. Puede estar distribuido en paquetes. (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. el código puede adoptar varios estados. El código objeto no es inteligible por el ser humano (normalmente es formato binario) pero tampoco es directamente ejecutable por la computadora. dependiendo de la forma de trabajo y del lenguaje elegido. En este caso tampoco existe el o los archivos de código ejecutable. claro es que no todos los errores serán encontrados sólo en la etapa de programación. se realizan también tareas de depuración. procedimientos. esto es la labor de ir liberando al código de los errores factibles de ser hallados en esta fase (de semántica. o El código objeto no existe si el programador trabaja con un lenguaje a modo de intérprete puro. etc. compilador intermedio o compilador puro. Pero una • . en tiempo de ejecución. depende de la versión utilizada)]. Es decir no favorece el rendimiento en velocidad de ejecución. 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.

con éstas se intenta asegurar que el sistema completo. El código ejecutable. Las pruebas normalmente se efectúan con los llamados datos de prueba. a nivel de secciones. datos que propocan condiciones eventuales o particulares poco comunes y . Por lo anterior se dice que el código ejecutable es directamente «inteligible por la computadora». incluso los subsistemas que componen las piezas individuales grandes del software funcionen correctamente al operar e inteoperar en conjunto. aquellas que tengan funcionalidades específicas.gran ventaja de la modalidad intérprete puro. también conocido como código máquina. 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. con lo cual se agiliza la depuración y la velocidad de ejecución se optimiza. Frecuentemente se suele usar una forma mixta de trabajo (si el lenguaje de programación elegido lo permite). 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). mucho más reducidas que el conjunto. Dichas pruebas se utilizan para asegurar el correcto funcionamiento de secciones de código. datos de utilidad para mediciones de rendimiento. y proceder a su ejecución directa. que es un conjunto seleccionado de datos típicos a los que puede verse sometido el sistema. 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. los módulos o los bloques de código. es decir inicialmente trabajar a modo de intérprete puro. procedimientos. Pruebas de integración: Se realizan una vez que las pruebas unitarias fueron concluidas exitosamente. 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). También se escogen: Datos que llevan a condiciones límites al software a fin de probar su tolerancia y robustez. funciones y módulos. no existe si se programa con modalidad de «intérprete puro». y que tienen funciones concretas con cierto grado de independencia. • 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.

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

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

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

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

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

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

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

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

El código fuente se genera con herramientas de programación tal como un procesador de plantilla o un IDE. Este proceso era repetitivo. prototipos. Después de establecer la configuración.configuración de estado abierto o cerrado de los interruptores. y generadores de código para aumentar la productividad del programador. 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 forma más simple de un generador de código fuente es un procesador macro. Los servidores de aplicaciones son motores de software que entregan aplicaciones a computadoras cliente. tal como el preprocesador de C. históricamente los programas se cargaban manualmente mediante una cinta de papel o tarjetas perforadas. y Javascript los cuales son interpretados por un navegador web. a lo cual se le conoce como multitarea y puede lograrse a través de mecanismos de software o de hardware. plantillas. Después de que el programa se cargaba. se ejecutaba un botón de ejecución. que reemplaza patrones de código fuente de acuerdo a reglas relativamente simples. las computadoras modernas que usan varios procesadores o procesadores con varios núcleos pueden correr muchos programas a la vez. un software para wikis es un sevidor de aplicaciones que permite a los usuarios desarrollar contenido dinámico ensamblado a partir de artículos.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.7 También se puede lograr la multitarea por medio del hardware. Java. la dirección de inicio se establecía mediante interruptores y el botón de ejecución se presionaba. Ejecución simultánea Véanse también: Proceso (informática) y Multiprocesamiento Muchos programas pueden correr simultáneamente en la misma computadora. Por ejemplo.8 Categorías funcionales . Podemos pensar como analogía un proceso manejando a otro siendo el código máquina quemado como combustible. 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. CSS. También. Las Wikis generan HTML. aspectos.

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

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

que es tratado por el sistema operativo como una única unidad lógica. Por ejemplo. Esto ha conducido a una plétora de estructuras de archivo más o menos estandarizadas para todos los propósitos imaginables. simplemente un flujo unidimensional de bits . un texto o una imagen. no consisten en un flujo de bits y no tienen tamaño de archivo. cada registro del archivo de nóminas se refiere únicamente a un empleado. en la mayoría de los casos. Los tipos especiales de archivos. Un archivo de datos informático normalmente tiene un tamaño. que generalmente se expresa en bytes. un archivo de nóminas puede contener datos sobre todos los empleados de una empresa y los detalles de su nómina. un archivo es. La manera en que se agrupan los datos en un archivo depende completamente de la persona que diseñe el archivo. correspondientes a líneas impresas en una hoja de papel. 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. el tamaño puede ser cualquier número entero no negativo de bytes hasta un máximo dependiente del sistema. en todos los sistemas operativos modernos. como los nodos de dispositivo que representan simbólicamente partes del hardware. 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.[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. basándose en su nombre y contenido. desde los más simples a los más . Depende del software que se ejecuta en la computadora el interpretar esta estructura básica como por ejemplo un programa. Un archivo de texto puede contener líneas de texto.

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

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. Los sistemas de archivos Unix distinguen normalmente entre mayúsculas y minúsculas. La distinción entre mayúsculas y minúsculas en los nombres de archivo está determinada por el sistemas de archivos. pero las computadoras modernas permiten nombres largos que contengan casi cualquier combinación de letras unicode y dígitos unicode. En los sistemas informáticos modernos. . 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-. los archivos siempre tienen nombres. El nombre de un archivo debe ser único en ese directorio. Algunos sistemas informáticos permiten nombres de archivo que contengan espacios. Microsoft Windows reconoce varios sistemas de archivos. El aspecto del nombre depende del tipo de sistema informático que se use. Las aplicaciones de usuario. 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. normalmente no permitirán al usuario crear varios archivos con el mismo nombre pero con diferentes letras en mayúsculas y minúsculas. haciendo más fácil entender el propósito de un archivo de un vistazo. no puede haber dos archivos con el mismo nombre en el mismo directorio.Los archivos y carpetas se organizan jerárquicamente. sin embargo. Los archivos se ubican en directorios. otros no. Las primeras computadoras sólo permitían unas pocas letras o dígitos en el nombre de un archivo. En otras palabras. cada uno con diferentes políticas en cuanto a la distinción entre mayúsculas y minúsculas.

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

Cierre de un fichero Esta operación se utiliza para indicar que se va a dejar de utilizar un fichero determinado. su organización. Mediante esta operación se indican las propiedades y las características del fichero para que el sistema de ficheros pueda reconocerlo y procesarlo. su posible tamaño. 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. la fecha de creación. aspectos de seguridad. sus atributos dejan de ser accesibles para el método de acceso. 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. Los errores que pueden producirse en la apertura de un fichero son los siguientes: • • • El fichero no se encuentra en el lugar indicado (dispositivo. 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. directorio. Al ejecutar esta operación.Creación de un fichero El objetivo de esta operación es permitir a los usuarios la creación de nuevos ficheros. Tras cerrar el fichero. etc. El fichero no se puede leer por errores en el hardware del dispositivo de almacenamiento. crea un nuevo fichero. Los errores que se pueden producir al cerrar un fichero son los siguientes: • El fichero no está abierto. el método de acceso debe obtener información sobre el formato y el tamaño de los registros lógicos y físicos. garantizando la integridad de los registros. . y es la operación de apertura de un fichero no existente. 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. 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. nombre). la identificación del fichero. El fichero se ha localizado pero el usuario no tiene permiso para acceder al mismo. Para ello. En algunos sistemas la operación de creación no existe como tal.

Borrado de un fichero Esta operación elimina un fichero del directorio o tabla de contenidos correspondiente. 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. borrar o crear archivos y carpetas. No se ha podido escribir en el dispositivo toda la información del fichero por falta de espacio en el dispositivo de almacenamiento. y mantienen la información privada confidencial impidiendo que los usuarios no autorizados vean ciertos archivos. el método de acceso determinará si el espacio adicional que debe asignar debe ser contiguo al fichero o no. pero no para borrarlo. 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). El lenguaje de comandos del sistema operativo dispone de un comando para eliminar el identificador del fichero de la tabla de contenidos. debido a fallos en el hardware. pero no para borrarlos. 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. A un usuario dado se le puede conceder solamente permiso para modificar un archivo o carpeta. 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. Cuando esta marca está activada en un archivo . Protección de archivos Muchos sistemas informáticos modernos proporcionan métodos para proteger los archivos frente a daños accidentales o intencionados. Otro mecanismo de protección implementado en muchas computadoras es una marca de sólo lectura. Los permisos protegen de la manipulación no autorizada o destrucción de la información de los archivos.• • No se ha podido escribir en el dispositivo toda la información del fichero. o a un usuario se le puede conceder permiso para crear archivos o carpetas. Las computadoras que permiten varios usuarios implementan permisos sobre archivos para controlar quién puede o no modificar. Los permisos también se pueden usar para permitir que solamente ciertos usuarios vean el contenido de un archivo o carpeta. En función de la organización del fichero.

Algunos países han creado organismos que se encargan del tema y de legislar respecto del acceso. 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. 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. Almacenamiento de archivos En términos físicos. como archivos especiales que son usados solamente por partes internas del sistema informático. Los discos duros permiten acceso casi instantáneo a los archivos informáticos. unidades Zip. Algunos sistemas incluyen también una marca oculta para hacer que ciertos archivos sean invisibles. esta marca la usa el sistema informático para ocultar archivos de sistema esenciales que los usuarios nunca deben modificar. Esta marca es útil para información crítica que no debe ser modificada o borrada. También se usaban otros medios de almacenamiento como discos compactos grabables.(lo que puede ser realizado por un programa de computadora o por un usuario humano). 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. el archivo puede ser examinado. uso y confidencialidad de los datos. etcétera. No obstante en la actualidad han cobrado mucho auge las memorias flash. pero no puede ser modificado. se usa un proceso de respaldo (back-up) para protegerse contra desastres que podrían destruir los archivos. o si fueran borrados accidentalmente. . 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—. Hace unos años solían usarse cintas magnéticas para realizar copias de seguridad. El mal uso de información personal puede constituir un delito. dispositivos con mucha capacidad de almacenamiento que tienen la ventaja de ser pequeños y portátiles.

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

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

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

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

con programa y datos.Monitores residentes Fichas en lenguaje de procesamiento por lotes. para ejecución secuencial. El monitor residente inicia la salida desde el buffer y el programa de aplicación calcula depositando la salida en el buffer 2. fue necesario implementar soluciones que automatizaran la organización de tareas sin necesidad de un operador. un Intérprete de comandos y un Controlador (drivers) para el manejo de entrada/salida. 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). 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 eliminan las cintas magnéticas para el . Según fue avanzando la complejidad de los programas. Un monitor residente estaba compuesto por un cargador. 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. Se inicia la salida desde el buffer 2 y otro nuevo cálculo dirige su salida al buffer 1. Spoolers Hace aparición el disco magnético con lo que surgen nuevas soluciones a los problemas de rendimiento. El proceso se puede repetir de nuevo. La salida desde el buffer 1 termina y el nuevo cálculo también. 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).

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

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

si es conveniente. En ambos casos. se continúe ejecutando. que requiere tratamiento por parte del SO. 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. para hacer que el programa que estaba esperando por el dispositivo. Excepción: una situación de error detectada por la CPU mientras ejecutaba una instrucción. Tratamiento de las interrupciones Una interrupción se trata en todo caso. En tales situaciones el hardware debe poder llamar al sistema. Importancia de las interrupciones El mecanismo de tratamiento de las interrupciones permite al SO utilizar la CPU en servicio de una aplicación.ya que hay situaciones en las que es el hardware el que necesita que se ejecute código del SO. El inconveniente es que el dispositivo debe tener los circuitos electrónicos necesarios para acceder al sistema de interrupciones del computador. El hardware se encarga de avisar al SO cuando el dispositivo de E/S ha terminado y el SO puede intervenir entonces. Se ha producido una situación de error al intentar ejecutar una instrucción del programa (normalmente de la aplicación). El tratamiento depende de cuál sea el dispositivo de E/S que ha causado la interrupción. es decir. la acción realizada no está ordenada por el programa de aplicación. ya ha terminado. no figura en el programa. mientras otra permanece a la espera de que concluya una operación en un dispositivo de E/S. . ante la cual debe poder identificar el dispositivo que la ha causado. pudiendo deberse estas llamadas a dos condiciones: • • Algún dispositivo de E/S necesita atenció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.

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

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

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

donde está alojado el microprocesador).Desde el punto de vista del usuario estas diferencias pueden parecer insignificantes a primera vista. sin embargo. 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. en un sistema NTFS el tamaño es considerablemente mayor. Sistemas de protección Mecanismo que controla el acceso de los programas o los usuarios a los recursos del sistema. Información del estado del sistema. existen diferencias muy importantes. Programas de sistema Son aplicaciones de utilidad que se suministran con el SO pero no forman parte de él. Soporte a lenguajes de programación. También hay que crear y mantener puntos de comunicación que sirvan a las aplicaciones para enviar y recibir información. Comunicaciones. Por ejemplo. el Sistema Operativo administra: • La CPU (Unidad Central de Proceso. y crear y mantener conexiones virtuales entre aplicaciones que están ejecutándose localmente y otras que lo hacen remotamente. El SO se encarga de: • • • Distinguir entre uso autorizado y no autorizado. 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. Ofrecen un entorno útil para el desarrollo y ejecución de programas. sin embargo. siendo algunas de las tareas que realizan: • • • • Manipulación y modificación de archivos. . que se utilizan fundamentalmente en sistemas operativos de Microsoft. Forzar el uso de estos mecanismos de protección. Especificar los controles de seguridad a realizar. los sistemas de ficheros FAT32 y NTFS. Gestor de recursos Como gestor de recursos.

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

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

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

no podía manejar más de 64KB de memoria RAM. no puede trabajar con particiones de disco demasiado grandes. En las versiones anteriores a la 4. ya fuera mediante comandos. además de diversos juegos que tendían a requerirlo (como juegos de estrategia. el menú de ayuda help. era de 32 MB por partición. y no utiliza el ratón. a través del teclado. a menos que las mencionadas controladoras incluyan en su núcleo de sistema. a su vez. ó base). 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.exe. No puede trabajar con más de un usuario ni en más de un proceso a la vez. llegó primero a manejar hasta 640 KB de RAM (la llamada "memoria convencional".0. propio de Windows de 32 bits (a partir del 95). En cualquier caso. Originalmente. con las mejoras en la arquitectura de los PC. y luego hasta 1 megabyte (agregando a . propio de Windows de tipo NT.com. 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. ó el NTFS. incluidos en las últimas versiones del MSDOS). el límite. instrucciones y funciones necesarias. ó el intérprete de BASIC qbasic. al no soportar aún el formato FAT16 (desarrollado en 1987). de hecho. que requieren formatos y sistemas de archivos tales como el FAT32. Poco a poco.22 en el MS-DOS). Por sí sólo es incapaz de detectar el hardware. En sus versiones nativas (hasta la 6. entre otros). inicializarlo y hacerlo funcionar bajo diversas aplicaciones de edición y de interfaz y entorno gráfico. aventuras gráficas y Shoot 'em up subjetivos. por limitaciones del software. en versiones muy posteriores. El DOS no es ni multiusuario ni multitarea. encontrándose presentes en los Windows. como residentes en memoria. aunque a partir de ciertas versiones solía incluir controladoras para detectarlo.exe. superiores a los 2 GB. Tales opciones siguen.• • • • • • • • • 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. el código.

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

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

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

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.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. Las versiones más conocidas fueron: . etc. GOTO y CHOICE (que pedía la entrada de un caracter entre los especificados).Además.573 bytes 12 dir(s) 1.150 07-26-03 1:03a 10 file(s) 12. por ejemplo. generalmente muy similares entre sí. COM).84 MB free Versiones de DOS Fueron varias las compañías que sacaron versiones del DOS. Así. PC-DOS y MS-DOS.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. el DOS permitía escribir archivos de proceso por lotes (pequeños scripts para COMMAND.120 07-26-03 1:03a MSDOSS~1 BAK 1. Ejemplo de salida C:\>dir Volume in drive C has no label Volume Serial Number is 1234-5678 Directory of C:\ AUTOEXEC TTZ 1.BAT. automatizar tareas.056. que admitían órdenes como IF.214. se podían hacer menús. cuya extensión era .779 01-21-96 7:12p SETUP <DIR> 01-21-96 9:06p HIDDEN TX1 19. aunque acabaron siendo muy distintos. empezaron siendo prácticamente idénticos.

Proceso de arranque en Linux De Wikipedia.1 GRUB o 3. una máquina virtual nativa de Linux para ejecutar programas en modo real. al gestor de arranque y al núcleo (kernel). de los cuales deriva. la enciclopedia libre Saltar a: navegación. fuera del espacio del núcleo) y el programa de inicialización (que . El núcleo inicia el planificador (para permitir la multitarea) y ejecuta el primer espacio de usuario (es decir.3 Loadlin 4 Fase del kernel o 4. el flujo de control durante el arranque es desde el BIOS . Hay otros muchos emuladores para diferentes versiones de UNIX. búsqueda El Proceso de arranque en Linux es el proceso de inicialización del Sistema Operativo-Linux.• • • • • • 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.1 Fase de carga del kernel o 4.2 LILO o 3.2 Fase de inicio del kernel 5 El proceso de inicio 6 Enlaces externos Descripción general del proceso típico En Linux. Es en muchos aspectos similar a los procesos de arranque de BSD y otros sistemas Unix. 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.

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

Se carga el código del menú y. y junto con los parámetros adecuados. Por eso. así como las opciones personalizadas en su caso. el proceso de arranque continúa de la siguiente manera: La primera etapa del cargador de arranque carga el resto del gestor de arranque. 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. que normalmente da un mensaje que pregunta que sistema operativo (o tipo de sesión) el usuario desea inicializar. el control se pasa al sistema operativo activado recientemente. por lo que utiliza desplazamientos de disco sin procesar y el BIOS para cargar los datos.conf para identificar los sistemas disponibles. . el cargador de arranque consta de varias etapas. o el sector MBR del disco de 512 bytes como en Microsoft Windows. 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). En esta etapa se realizan operaciones básicas de hardware. a continuación. LILO y GRUB difieren en algunos aspectos: • LILO no entiende los sistemas de archivos. el cual es de 512 bytes.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. Incluye datos como la partición de arranque y la localización del kernel para cada uno. carga. El sistema operativo seleccionado es cargado en la memoria RAM. este espacio no es suficiente para cargar en su totalidad un sistema operativo. o la imagen del kernel de Linux. A partir de ese momento. en función de la respuesta. esto se hace a través del mapa instalado que lee el archivo de configuración /etc/lilo. un sistema de archivos mínimo inicial se establece en la memoria RAM desde un archivo de imagen (" initrd "). Las primeras operaciones las realiza el BIOS. Bajo LILO. Como en la mayoría de arquitecturas este programa se encuentra en el MBR. La etapa del cargador de arranque es diferente de una plataforma a otra. 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.

Contiene tres interfaces: un menú de selección. Además. y una consola de línea de comandos. GRUB GRUB se carga y se ejecuta en 4 etapas: 1. 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. ext2. puedan leerse. Un error en la configuración puede dejar el disco inservible para el proceso de arranque hasta tal grado. El gestor de arranque 1. etc) que contenga un programa capaz de arreglar el error. donde el núcleo de Linux reemplaza completamente la copia de funcionamiento de estos .5 es almacenado (si es necesario) en el MBR o en la partición de arranque. En su lugar. 3. La primera etapa carga el resto del gestor de arranque (segunda etapa). a menudo es más fácil rectificar o modificar GRUB si está mal configurado o corrupto. que sea necesario usar otro dispositivo (disquete. 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. LBA. 4. 2. 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. excepto que no contiene una interfaz de línea de comandos. ext4 y hasta "un pre-sistema operativo en máquinas x86 totalmente basado en comandos".5. Después de elegir un sistema operativo. Es casi idéntico a GRUB en su proceso. un editor de configuración. o unidades tipo LBA. 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. ext3 y ext4.• GRUB por el contrario comprende los sistemas de archivos comunes ext2 . que contiene código adicional para permitir que los cilindros por encima de 1024. LILO LILO es más antiguo. Si la segunda etapa está en una unidad grande. no entiende el sistema de archivos. La primera etapa del cargador la lee el BIOS desde el MBR. ext3. en ocasiones se carga una fase intermedia 1. se carga y se le pasa el control. arranque chain-loading.

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

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

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

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

organización. búsqueda Descripción de un Data Warehouse. no volátil y variable en el tiempo. de un expediente completo de una organización. sobre todo.Almacén de datos De Wikipedia. más allá de la información transaccional y operacional. Se trata. En el contexto de la informática. almacenado en una base de datos diseñada para favorecer el análisis y la divulgación eficiente de datos (especialmente OLAP. que ayuda a la toma de decisiones en la entidad en la que se utiliza.). El almacenamiento de los datos no debe usarse con datos de uso actual. Contenido . un almacén de datos (del inglés data warehouse) es una colección de datos orientada a un determinado ámbito (empresa. etc. procesamiento analítico en línea). 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. integrado. la enciclopedia libre Saltar a: navegación.

.. define un data warehouse (almacén de datos) en términos de las características del repositorio de datos: • • • Orientado a temas.[ocultar] • • • • • • • • • • • 1 Definiciones de almacén de datos o 1.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.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í.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.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.1 Metadatos o 5.3 Ejemplos 5 Elementos que integran un almacén de datos o 5.2 Funciones ETL (extracción. . Variante en el tiempo. una vez almacenado un dato.2 Definición de Ralph Kimball o 1.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.. y se mantiene para futuras consultas.1 Dimensiones o 4. transformación y carga) o 5.2 Variables o 4. éste se convierte en información de sólo lectura. No volátil.La información no se modifica ni se elimina.

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

Data marts Artículo principal: Data mart Los Data marts son subconjuntos de datos de un data warehouse para áreas especificas. ya que obedecen a objetivos muy distintos y podrían entorpecerse entre sí. Los usuarios finales pueden hacer fácilmente consultas sobre sus almacenes de datos sin tocar o afectar la operación del sistema. Periódicamente. 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. Área especifica. de ayuda en la toma de decisiones. Se debe facilitar una descripción global y un análisis comprensivo de toda la organización en el almacén de datos. Cubos de información .) y escriben en el almacén. 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. cambios de formato. Tiene una función de apoyo. 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). Estas herramientas leen los datos primarios (a menudo bases de datos OLTP de un negocio). transformación y carga (ETL).informes. Entre las características de un data mart destacan: • • • • Usuarios limitados. etc. Tiene un propósito especifico. realizan el proceso de transformación al almacén de datos (filtración. Ambos tipos de datos no deben coincidir en la misma base de datos. para el análisis y para operaciones de control. Es práctica común normalizar los datos antes de combinarlos en el almacén de datos mediante herramientas de extracción. adaptación.

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

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

transform and load Los procesos de extracción. transformación y carga) Artículo principal: Extract. por ejemplo el almacén de datos objetivo normal. En el ámbito de los data warehouse el metadato juega un papel fundamental. Consiste en almacenar los datos en la base de datos final. De esta manera se ofrece una mejor relación costo/rendimiento que pasa por el desarrollo de aplicaciones más complejas. Carga. El middleware puede verse como una capa API. 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). 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. .operacionales. Estos servicios funcionan como una capa de abstracción de software distribuida. 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. en menos tiempo. Transformación. 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. 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. 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. Implican las siguientes operaciones: • • • Extracción. 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.

se requieren medios para manejar grandes volúmenes de información.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. Piloto.. Etapas de desarrollo.. Se dará énfasis a los Sistemas de soporte a decisiones (DSS).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. Prototipo..) así como aplicaciones y herramientas. los cuales se describen a continuación: • Situación actual de partida. es una forma de vida de las organizaciones y como tal. cómo operan. 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.El piloto de un data warehouse es el primero. Tipo y características del negocio. si existen en la actualidad. etc. Con este criterio los datos deben ser repartidos entre numerosos data marts.Un proyecto de data warehouse no es únicamente un proyecto tecnológico.. tiene que contar con el apoyo de todos los usuarios y su convencimiento sobre su bondad. • • • • • • .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.Se debe incluir tanto el aspecto del hardware (mainframes.Un prototipo es un esfuerzo designado a simular tanto como sea posible el producto final que será entregado a los usuarios.. Entorno técnico..Con el conocimiento previo. servidores. Una vez construido. Se diseña su arquitectura dependiendo de la estructura interna de los datos del almacén y especialmente del tipo de consultas a realizar.. Expectativas de los usuarios. redes. Para abordar un proyecto de data warehouse es necesario hacer un estudio de algunos temas generales de la organización o empresa. ya se entra en el desarrollo de un modelo conceptual para la construcción del data warehouse....

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

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

transformación y carga Inteligencia empresarial Minería de datos espacial Minería de datos Procesamiento analítico en línea (OLAP). 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 .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.

Sign up to vote on this title
UsefulNot useful