P. 1
Programa de a Mari

Programa de a Mari

|Views: 4.163|Likes:
Publicado pordanymalito

More info:

Published by: danymalito on Feb 02, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

12/22/2012

pdf

text

original

Sections

  • Programa de informática
  • Informática
  • Etimología
  • Orígenes
  • Sistemas de tratamiento de la información
  • Hardware
  • Historia
  • Tipos de hardware
  • Unidad central de procesamiento
  • Memoria RAM
  • Memoria RAM dinámica
  • Memorias RAM especiales
  • Unidad central de procesamiento (cpu)
  • CPU de transistores y de circuitos integrados discretos
  • Microprocesadores
  • Operación del CPU
  • Diseño e implementación
  • [editar] Rango de enteros
  • Frecuencia de reloj
  • Paralelismo
  • ILP: Entubado de instrucción y arquitectura superescalar
  • TLP: ejecución simultánea de hilos
  • Procesadores vectoriales y el SIMD
  • Notas
  • Periféricos
  • Dispositivos de entrada de información (E)
  • Dispositivos de salida de información (S)
  • Dispositivos mixtos (E/S de información)
  • Hardware gráfico
  • Referencias
  • Tipos de periféricos
  • Periféricos de entrada
  • Periféricos de salida
  • Periféricos de almacenamiento
  • Periféricos de comunicación
  • Memoria (informática)
  • Almacenamiento primario
  • Almacenamiento secundario
  • Almacenamiento terciario
  • Almacenamiento fuera de línea
  • Almacenamiento de red
  • Características de las memorias
  • Volatilidad de la información
  • Habilidad para acceder a información no contigua
  • Habilidad para cambiar la información
  • Direccionamiento de la información
  • Capacidad de memoria
  • Tecnologías, dispositivos y medios
  • Memorias magnéticas
  • Memoria de semiconductor
  • Memorias de disco óptico
  • [editar] Memorias de discos magneto-ópticos
  • Otros métodos iniciales
  • [editar] Otros métodos propuestos
  • Véase también
  • Unidad de almacenamiento
  • Terminología
  • Dispositivos de almacenamiento de datos
  • Disco duro
  • Disquetera
  • Unidad de CD-ROM o "lectora"
  • Unidad de CD-RW (regrabadora) o "grabadora"
  • Unidad de DVD-ROM o "lectora de DVD"
  • Unidad de DVD-RW o "grabadora de DVD"
  • Unidad de disco magneto-óptico
  • Lector de tarjetas de memoria
  • Otros dispositivos de almacenamiento
  • Restauración de datos
  • Recuperación de datos
  • Software
  • Definición de software
  • Clasificación del software
  • Proceso de creación del software
  • Modelos de proceso o ciclo de vida
  • Modelos evolutivos
  • Etapas en el desarrollo del software
  • Captura, análisis y especificación de requisitos
  • Diseño del sistema
  • Codificación del software
  • Pruebas (unitarias y de integración)
  • Instalación y paso a producción
  • Mantenimiento
  • Carácter evolutivo del software17
  • Modelos de ciclo de vida
  • Programa informático
  • Ejecución
  • Programas que se auto-modifican
  • Ejecución y almacenamiento de los programas
  • Programas empotrados en hardware
  • Programas cargados manualmente
  • Programas generados automáticamente
  • Ejecución simultánea
  • Datos
  • Organización de la información
  • Archivo (informática)
  • Contenido de los archivos
  • Identificación y organización de archivos
  • Operaciones sobre ficheros completos
  • Protección de archivos
  • Protección legal de datos de archivos
  • Almacenamiento de archivos
  • Respaldo de archivos
  • Sistemas de archivos y gestores de archivos
  • Sistema operativo
  • Perspectiva histórica
  • Problemas de explotación y soluciones iniciales
  • Monitores residentes
  • Sistemas con almacenamiento temporal de E/S
  • Spoolers
  • Sistemas operativos multiprogramados
  • Llamadas al sistema operativo
  • Modos de ejecución en un CPU
  • Llamadas al sistema
  • Bibliotecas de interfaz de llamadas al sistema
  • Interrupciones y excepciones
  • Tratamiento de las interrupciones
  • Importancia de las interrupciones
  • Excepciones
  • Clases de excepciones
  • Importancia de las excepciones
  • Componentes de un sistema operativo
  • Gestión de procesos
  • Gestión de la memoria principal
  • Gestión del almacenamiento secundario
  • El sistema de E/S
  • Sistema de archivos
  • Sistemas de protección
  • Sistema de comunicaciones
  • Programas de sistema
  • Gestor de recursos
  • Clasificación
  • Administración de tareas
  • Administración de usuarios
  • Manejo de recursos
  • Ejemplos de sistemas operativos para PC
  • Ejemplos de sistemas operativos para dispositivos móviles
  • DOS
  • Características
  • Órdenes principales
  • Uso de modificadores
  • Características avanzadas
  • Ejemplo de salida
  • Versiones de DOS
  • Proceso de arranque en Linux
  • Descripción general del proceso típico
  • Fase del cargador de arranque
  • GRUB
  • LILO
  • Loadlin
  • Fase del kernel
  • Fase de carga del kernel
  • Fase de inicio del kernel
  • El proceso de inicio
  • Almacén de datos
  • Definiciones de almacén de datos
  • Definición de Bill Inmon
  • Definición de Ralph Kimball
  • Una definición más amplia de almacén de datos
  • Función de un almacén de datos
  • Data marts
  • Cubos de información
  • Dimensiones
  • Variables
  • Ejemplos
  • Elementos que integran un almacén de datos
  • Metadatos
  • Funciones ETL (extracción, transformación y carga)
  • Middleware
  • Diseño de un almacén de datos
  • Almacén de datos espacial
  • Ventajas e inconvenientes de los almacenes de datos
  • Ventajas
  • Inconvenientes

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

. La principal ventaja histórica de la memoria virtual es el precio. incluyendo las unidades USB. Este tipo de memoria es algo que los usuarios de computadoras personales normales nunca ven de primera mano. 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 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. el almacenamiento de red permite centralizar el control de información en una organización y reducir la duplicidad de la información. También hay discos duros USB que se pueden conectar en caliente. 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. En computadoras modernas son de uso habitual para este propósito los disquetes. Aun así. 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. en el caso de almacenamientos de archivos en línea. Estos medios de almacenamiento suelen usarse para transporte y archivo de datos. Discutiblemente. 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. muchos sistemas operativos siguen implementándola.funcionamiento de cualquier computadora. y las baterías extraíbles de discos Winchester. discos ópticos y las memorias flash. una red privada virtual o. La memoria terciaria se usa en el área del almacenamiento industrial. Esa ventaja es menos relevante hoy en día. Los dispositivos de almacenamiento fuera de línea usados en el pasado son cintas magnéticas en muchos tamaños y formatos diferentes. una red de área extensa. Muchos sistemas operativos implementan la memoria virtual usando términos como memoria virtual o "fichero de caché".

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3 Ejemplos 5 Elementos que integran un almacén de datos o 5. transformación y carga) o 5. define un data warehouse (almacén de datos) en términos de las características del repositorio de datos: • • • Orientado a temas... Variante en el tiempo.2 Definición de Ralph Kimball o 1.[ocultar] • • • • • • • • • • • 1 Definiciones de almacén de datos o 1..Los cambios producidos en los datos a lo largo del tiempo quedan registrados para que los informes que se puedan generar reflejen esas variaciones.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.1 Metadatos o 5. éste se convierte en información de sólo lectura.La información no se modifica ni se elimina. una vez almacenado un dato. No volátil.1 Dimensiones o 4.1 Ventajas o 8.1 Definición de Bill Inmon o 1.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í.2 Funciones ETL (extracción.2 Variables o 4.2 Inconvenientes 9 Véase también 10 Notas y referencias 11 Enlaces externos Definiciones de almacén de datos Definición de Bill Inmon Bill Inmon1 fue uno de los primeros autores en escribir sobre el tema de los almacenes de datos.3 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. . y se mantiene para futuras consultas.

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

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

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

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

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

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

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

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

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

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->