Buscar este blog

1/2/11

"Software de sistema"



En terminología informática el software de sistema, denominado también software de base, consiste en programas informáticos que sirven para controlar e interactuar con el sistema operativo, proporcionando control sobre el hardware y dando soporte a otros programas; en contraposición del llamado software de aplicación. Como ejemplos cabe mencionar a las bibliotecas como por ejemplo OpenGL para la aceleración gráfica, PNG para el sistema gráfico o demonios que controlan la temperatura, la velocidad del disco duro, como hdparm, o la frecuencia del procesador como cpudyn.
Uno de los más prominentes ejemplos de software de sistema se encuentra en el proyecto GNU, cuyas herramientas de programación permitieron combinarse con el núcleo informático basado en Unix denominado Linux, formando entre ambos las conocidas como distribuciones GNU/Linux.
Estos programas realizan diversas tareas, como la transferencia de datos entre la memoria RAM y los dispositivos de almacenamiento (disco rígido, unidades de discos ópticos, etc) entre otros.
Tipos de software de sistema
El software de sistema puede clasificarse en sistema operativo, controladores de dispositivos y programas utilitarios. Un sistema operativo crea una interfaz entre el usuario y el sistema de hardware, mientras que el resto de programas refinan o permiten mejorar la interacción con el hardware.
Clases de software de sistema son:
  • Cargadores de programas
  • Sistemas operativos (y sus componentes, muchos de los cuales pueden considerarse como software de sistema)
  • Controladores de dispositivos
  • Herramientas de programación: compiladores, ensambladores, enlazadores, etc.
  • Programas utilitarios
  • Entorno de escritorio / Interfaz gráfica de usuario (que pueden incluir Gestores de ventanas)
  • Línea de comandos
  • BIOS
  • Imprevisores
  • Bootloaders (Gestor de arranque)
Si el software de sistema se almacena en una memoria no volátil tal como circuitos integrados, usualmente se lo denomina firmware.

Sistema operativo

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, y permite la normal ejecución del resto de las operaciones.
Nótese que es un error común muy extendido denominar al conjunto completo de herramientas sistema operativo, es decir, la inclusión en el mismo término de programas como el explorador de ficheros, el navegador y todo tipo de herramientas que permiten la interacción con el sistema operativo, también llamado núcleo o kernel. Uno de los más prominentes ejemplos de esta diferencia, es el núcleo Linux, el cual es el núcleo del sistema operativo GNU, del cual existen las llamadas distribuciones GNU. Este error de precisión, se debe a la modernización de la informática llevada a cabo a finales de los 80, cuando la filosofía de estructura básica de funcionamiento de los grandes computadores se rediseñó a fin de llevarla a los hogares y facilitar su uso, cambiando el concepto de computador multiusuario, (muchos usuarios al mismo tiempo) por un sistema mono usuario (únicamente un usuario al mismo tiempo) más sencillo de gestionar. (Véase AmigaOS, beOS o MacOS como los pioneros de dicha modernización, cuando los Amiga, fueron bautizados con el sobrenombre de Video Toasters por su capacidad para la Edición de vídeo en entorno multitarea round robin, con gestión de miles de colores e interfaces intuitivos para diseño en 3D.
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, hecho que alivia a los programadores de aplicaciones de tener que tratar con estos detalles. Se encuentran en la mayoría de los aparatos electrónicos que utilizan microprocesadores para funcionar. (teléfonos móviles, reproductores de DVD, computadoras, radios, etc.)
El software de Aplicación es aquel que hace que el computador coopere con el usuario en la realización de tareas típicamente humanas, tales como gestionar una contabilidad o escribir un texto.
La diferencia entre los programas de aplicación y los de sistema estriba en que los de sistema suponen ayuda al usuario para relacionarse con el computador y hacer un uso más cómo del mismo, mientras los de aplicación son programas que cooperan con el usuario para la realización de las actividades mencionadas.

Es en este software de Aplicación donde se aprecia en forma más clara la ayuda que puede suponer un computador en las actividades humanas, ya que la máquina se convierte en un auxiliar del hombre, liberándole de las tareas repetitivas.
Los programadores de aplicaciones, a diferencia de los programadores de sistemas, no necesitan conocer a fondo el modo de funcionamiento interno del hardware.
Basta con que conozcan las necesidades de información de sus aplicaciones y cómo usar el sistema operativo, para conseguir satisfacer estas necesidades.
Sus programas deben ser independientes del hardware específico que se utilice y deben ser transportados sin grandes problemas de adaptación a otras computadoras y otros entornos operativos.
Dentro de los programas de aplicación, puede ser útil una distinción entre aplicaciones verticales, de finalidad específica para un tipo muy delimitado de usuarios (médicos, abogados, arquitectos…), y aplicaciones horizontales, de utilidad para una amplísima gama de usuarios de cualquier tipo.
Algunos ejemplos de software aplicaciones son:
> Procesadores de texto. (Bloc de Notas)
> Editores. (PhotoShop para el Diseño Gráfico)
> Hojas de Cálculo. (MS Excel)
> Sistemas gestores de bases de datos. (MySQL)
> Programas de comunicaciones. (MSN Messenger)
> Paquetes integrados. (Ofimática: Word, Excel, PowerPoint…)
> Programas de diseño asistido por computador. (AutoCAD)

“Generaciones de las Computadoras”

Primera Generación (1951-1958)
En esta generación había una gran desconocimiento de las capacidades de las computadoras, puesto que se realizó un estudio en esta época que determinó que con veinte computadoras se saturaría el mercado de los Estados Unidos en el campo de procesamiento de datos. Esta generación abarco la década de los cincuenta. Y se conoce como la primera generación. Estas máquinas tenían las siguientes características:
·  Usaban tubos al vacío para procesar información.
·  Usaban tarjetas perforadas para entrar los datos y los programas.
·  Usaban cilindros magnéticos para almacenar información e instrucciones internas.
·  Eran sumamente grandes, utilizaban gran cantidad de electricidad, generaban gran cantidad de calor y eran sumamente lentas.
·  Se comenzó a utilizar el sistema binario para representar los datos.
En esta generación las máquinas son grandes y costosas (de un costo aproximado de 10,000 dólares).
La computadora más exitosa de la primera generación fue la IBM 650, de la cual se produjeron varios cientos. Esta computadora que usaba un esquema de memoria secundaria llamado tambor magnético, que es el antecesor de los discos actuales.
Segunda Generación (1958-1964)
En esta generación las computadoras se reducen de tamaño y son de menor costo. Aparecen muchas compañías y las computadoras eran bastante avanzadas para su época como la serie 5000 de Burroughs y la ATLAS de la Universidad de Manchester. Algunas computadoras se programaban con cinta perforadas y otras por medio de cableado en un tablero.
Características de esta generación:
·  Usaban transistores para procesar información.
·  Los transistores eran más rápidos, pequeños y más confiables que los tubos al vacío.
·  200 transistores podían acomodarse en la misma cantidad de espacio que un tubo al vacío.
·  Usaban pequeños anillos magnéticos para almacenar información e instrucciones. cantidad de calor y eran sumamente lentas.
·  Se mejoraron los programas de computadoras que fueron desarrollados durante la primera generación.
·  Se desarrollaron nuevos lenguajes de programación como COBOL y FORTRAN, los cuales eran comercialmente accesibles.
·  Se usaban en aplicaciones de sistemas de reservaciones de líneas aéreas, control del tráfico aéreo y simulaciones de propósito general.
·  La marina de los Estados Unidos desarrolla el primer simulador de vuelo, "Whirlwind I".
·  Surgieron las minicomputadoras y los terminales a distancia.
·  Se comenzó a disminuir el tamaño de las computadoras.
Tercera Generación (1964-1971)
La tercera generación de computadoras emergió con el desarrollo de circuitos integrados (pastillas de silicio) en las que se colocan miles de componentes electrónicos en una integración en miniatura. Las computadoras nuevamente se hicieron más pequeñas, más rápidas, desprendían menos calor y eran energéticamente más eficientes. El ordenador IBM-360 dominó las ventas de la tercera generación de ordenadores desde su presentación en 1965. El PDP-8 de la Digital Equipment Corporation fue el primer miniordenador.
Características de esta generación:
·  Se desarrollaron circuitos integrados para procesar información.
·  Se desarrollaron los "chips" para almacenar y procesar la información. Un "chip" es una pieza de silicio que contiene los componentes electrónicos en miniatura llamados semiconductores.
·  Los circuitos integrados recuerdan los datos, ya que almacenan la información como cargas eléctricas.
·  Surge la multiprogramación.
·  Las computadoras pueden llevar a cabo ambas tareas de procesamiento o análisis matemáticos.
·  Emerge la industria del "software".
·  Se desarrollan las minicomputadoras IBM 360 y DEC PDP-1.
·  Otra vez las computadoras se tornan más pequeñas, más ligeras y más eficientes.
·  Consumían menos electricidad, por lo tanto, generaban menos calor.
Cuarta Generación (1971-1988)
Aparecen los microprocesadores que es un gran adelanto de la microelectrónica, son circuitos integrados de alta densidad y con una velocidad impresionante. Las microcomputadoras con base en estos circuitos son extremadamente pequeñas y baratas, por lo que su uso se extiende al mercado industrial. Aquí nacen las computadoras personales que han adquirido proporciones enormes y que han influido en la sociedad en general sobre la llamada "revolución informática".
Características de esta generación:
·  Se desarrolló el microprocesador.
·  Se colocan más circuitos dentro de un "chip".
·  "LSI - Large Scale Integration circuit".
·  "VLSI - Very Large Scale Integration circuit".
·  Cada "chip" puede hacer diferentes tareas.
·  Un "chip" sencillo actualmente contiene la unidad de control y la unidad de aritmética/lógica. El tercer componente, la memoria primaria, es operado por otros "chips".
·  Se reemplaza la memoria de anillos magnéticos por la memoria de "chips" de silicio.
·  Se desarrollan las microcomputadoras, o sea, computadoras personales o PC.
·  Se desarrollan las supercomputadoras.


 Quinta Generación (1983 al presente)
En vista de la acelerada marcha de la microelectrónica, la sociedad industrial se ha dado a la tarea de poner también a esa altura el desarrollo del software y los sistemas con que se manejan las computadoras. Surge la competencia internacional por el dominio del mercado de la computación, en la que se perfilan dos líderes que, sin embargo, no han podido alcanzar el nivel que se desea: la capacidad de comunicarse con la computadora en un lenguaje más cotidiano y no a través de códigos o lenguajes de control especializados.
Japón lanzó en 1983 el llamado "programa de la quinta generación de computadoras", con los objetivos explícitos de producir máquinas con innovaciones reales en los criterios mencionados. Y en los Estados Unidos ya está en actividad un programa en desarrollo que persigue objetivos semejantes, que pueden resumirse de la siguiente manera:
·  Se desarrollan las microcomputadoras, o sea, computadoras personales o PC.
·  Se desarrollan las supercomputadoras.
1) Estarán hechas con microcircuitos de muy alta integración, que funcionaran con un alto grado de paralelismo y emulando algunas características de las redes neurales con las que funciona el cerebro humano.
2) Computadoras con Inteligencia Artificial
3) Interconexión entre todo tipo de computadoras, dispositivos y redes ( redes integradas )
4) Integración de datos, imágenes y voz (entorno multimedia )
5) Utilización del lenguaje natural ( lenguaje de quinta generación ) Estos conceptos merecen una somera explicación, debido a que si representan avances cualitativos con respecto a las generaciones anteriores.