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.

25/1/11

“Historia de las Computadoras”


500 a.C. - 1822 d.C.
Esta sección comienza desde la aparición del abacus en China y Egipto, alrededor de 500 años a.C. hasta la invención del Motor Diferencial por Charles Babbage, en 1822. El descubrimiento de los sistemas por Charles Napier, condujo a los avances en calculadoras. Por convertir multiplicación y división en suma y resta, un número de máquinas (incluyendo la regla deslizante) puede realizar estas operaciones. Babbage sobrepasó los límites de la ingeniería cuando inventó su motor, basado en este principio.
En esta etapa se inventaron las siguientes:
El ábaco
El ábaco fue la primera máquina conocida que ayudaba a ejecuta computaciones matemáticas. Se piensa que se originó entre 600 y 500 a.C., o en China o Egipto. Pelotas redondas, usualmente de madera, se resbalaban de un lado a otro en varas puestas o alambres, ejecutaban suma y substracción. Como una indicación de su potencial, se usa el ábaco todavía en muchas culturas orientales hoy en día.
Napier Bones
Justo antes de morir en 1617, el matemático escocés John Napier (mejor conocido por su invención de logaritmos) desarrolló un juego de palitos para calcular a las que llamó "Napier Bones." Así llamados porque se tallaron las ramitas de hueso o marfil, los "bones" incorporaron el sistema logarítmico. Los Huesos de Napier tuvieron una influencia fuerte en el desarrollo de la regla deslizante (cinco años más tarde) y máquinas calculadoras subsecuentes que contaron con logaritmos.
Regla deslizante
En 1621 la primera regla deslizante fue inventada por el del matemático inglés William Oughtred. La regla deslizante (llamó "Círculos de Proporción") era un juego de discos rotatorios que se calibraron con los logaritmos de Napier. Uno de los primeros aparatos de la informática analógica, la regla deslizante se usó normalmente (en un orden lineal) hasta que a comienzos de 1970, cuando calculadoras portátiles comenzaron a ser más popular.
Calculadora mecánica
En 1623 la primera calculadora mecánica fue diseñada por Wilhelm Schickard en Alemania. Llamado "El Reloj Calculador", la máquina incorporó los logaritmos de Napier, hacia rodar cilindros en un albergue grande. Se comisionó un Reloj Calculador para Johannes Kepler, el matemático famoso, pero fue destruido por fuego antes de que se terminara.
Pascalina
En 1642 la primera calculadora automática mecánica fue inventada por el matemático francés y filósofo Blaise Pascal. Llamado la "Pascalina", el aparato podía multiplicar y substraer, utilizando un sistema de cambios para pasar dígitos. Se desarrolló la máquina originalmente para simplificar al padre de Pascal para la recolección del impuesto. Aunque el Pascaline nunca fue un éxito comercial como Pascal había esperado, el principio de los cambios era fue útil en generaciones subsecuentes de calculadoras mecánicas.
La máquina de multiplicar
En 1666 la primera máquina de multiplicar se inventó por Sir Samuel Morland, entonces Amo de mecánicas a la corte de Rey Charles II de Inglaterra. El aparato constó de una serie de ruedas, cada representaba, dieses, cientos, etc. Un alfiler del acero movía los diales para ejecutar las calculaciones. A diferencia de la Pascalina, el aparato no tenía avanzó automático de en columnas.
Máquina calculadora
La primera calculadora de propósito general fue inventada por el matemático alemán Gottfried von Leibniz en 1673. El aparato era una partida de la Pascalina, mientras opera usa un cilindro de dientes (la rueda de Leibniz) en lugar de la serie de engranaje. Aunque el aparato podía ejecutar multiplicación y división, padeció de problemas de fiabilidad que disminuyeron su utilidad.
El jugador de ajedrez automático
En 1769 el Jugador de Ajedrez Autómata fue inventado por Barón Empellen, un noble húngaro. El aparato y sus secretos se le dieron a Johann Nepomuk Maelzel, un inventor de instrumentos musicales, quien recorrió Europa y los Estados Unidos con el aparato, a finales de 1700 y temprano 1800. Pretendió ser una máquina pura, el Autómata incluía un jugador de ajedrez "robótico". El Automatón era una sensación dondequiera que iba, pero muchas comentaristas, incluso el Edgar Allen Poe famoso, ha escrito críticas detalladas diciendo que ese era una "máquina pura." En cambio, generalmente, siempre se creyó que el aparato fue operado por un humano oculto en el armario debajo del tablero de ajedrez. El Autómata se destruyó en un incendio en 1856.
La máquina lógica
Se inventó la primera máquina lógica en 1777 por Charles Mahón, el Conde de Stanhope. El "demostrador lógico" era un aparato tamaño bolsillo que resolvía silogismos tradicionales y preguntas elementales de probabilidad. Mahón es el precursor de los componentes lógicos en computadoras modernas. 
Jacquard Loom
El "Jacquard Loom" se inventó en 1804 por Joseph-Marie Jacquard. Inspirado por instrumentos musicales que se programaban usando papel agujereados, la máquina se parecía a una atadura del telar que podría controlar automáticamente de dibujos usando una línea tarjetas agujereadas. La idea de Jacquard, que revolucionó el hilar de seda, estaba formar la base de muchos aparatos de la informática e idiomas de la programación.
Calculadoras de producción masiva
La primera calculadora de producción masiva se distribuyó, empezando en 1820, por Charles Thomas de Colmar. Originalmente se les vendió a casas del seguro Parisienses, el "aritmómetro" de Colmar operaba usando una variación de la rueda de Leibniz. Más de mil aritmómetros se vendieron y eventualmente recibió una medalla a la Exhibición Internacional en Londres en 1862.
Artefacto de la diferencia
En 1822 Charles Babbage completó su "Artefacto de la Diferencia," una máquina que se puede usar para ejecutar calculaciones de tablas simples. El Artefacto de la Diferencia era una asamblea compleja de ruedas, engranajes, y remaches. Fue la fundación para Babbage diseñar su "Artefacto Analítico," un aparato del propósito genera que era capaz de ejecutar cualquiera tipo de calculación matemática. Los diseños del artefacto analítico eran la primera conceptualización clara de una máquina que podría ejecutar el tipo de computaciones que ahora se consideran al corazón de informática. Babbage nunca construyó su artefacto analítico, pero su plan influyó en toda computadora moderna digital que estaba a seguir. Se construyó el artefacto analítico finalmente por un equipo de ingenieros en 1989, cien años después de la muerte de Babbage en 1871. Por su discernimiento Babbage hoy se sabe como el "Padre de Computadoras Modernas".

1823 - 1936
Durante este tiempo, muchas de las culturas del mundo fueron avanzando desde sociedades basadas en la agricultura a sociedades basadas industrialmente. Con estos cambios vinieron los avances matemáticos y en ingeniería los cuales hicieron posible máquinas electrónicas que pueden resolver argumentos lógicos complejos. Comenzando con la publicación de Boolean Algebra de George Boole y terminando con la fabricación del modelo de la Máquina de Turín para máquinas lógicas, este período fue muy próspero para computadoras.
En esta etapa se inventaron las siguientes:
Algebra de Boole
En 1854 el desarrollo del Algebra de Boolean fue publicado por el lógico Inglés George S. Boole. El sistema de Boole redujo argumentos lógicos a permutaciones de tres operadores básicos algebraicos: "y", "o", y "'no". A causa del desarrollo del Algebra de Boolean, Boole es considerado por muchos ser el padre de teoría de la información.
Máquina lógica de Boolean
En 1869 la primera máquina de la lógica a usar el Algebra de Boolean para resolver problemas más rápido que humanos, fue inventada por William Stanley Jevons. La máquina, llamada el Piano Lógico, usó un alfabeto de cuatro términos lógicos para resolver silogismos complicados.
Calculadora guiada por teclas
En 1885 la primera calculadora guiada por teclas exitosas, se inventó por Dorr Eugene Felt. Para preservar la expansión del modelo del aparato, llamado el "Comptómetro", Felt compró cajas de macarrones para albergar los aparatos. Dentro de los próximos dos años Felt vendió ocho de ellos al New York Weather Bureau y el U.S. Tresury. Se usó el aparato principalmente por contabilidad, pero muchos de ellos fueron usados por la U.S. Navy en computaciones de ingeniería, y era probablemente la máquina de contabilidad más popular en el mundo en esa época.
 
Sistema de tarjetas agujeradas
En 1886 la primera máquina tabuladora en usar una tarjeta agujerada de entrada del datos fue inventado por Dr. Herman Hollerith. Fue desarrollada por Hollerith para usarla en clasificar en 1890 el censo en U.S., en que se clasificó una población de 62, 979,766. Su ponche dejó que un operador apuntara un indicador en una matriz de agujeros, después de lo cual se picaría en una tarjeta pálida un agujero al inverso de la máquina. Después del censo Hollerith fundó la Compañía de las Máquinas de Tabulación, que, fusionando adquiere otras compañías, llegó a ser qué es hoy Máquinas del Negocio Internacionales (IBM).
Máquina de multiplicar
En 1893 la primera máquina exitosa de multiplicación automática se desarrolló por Otto Steiger. "El Millonario," como se le conocía, automatizó la invención de Leibniz de 1673, y fue fabricado por Hans W. Egli de Zurich. Originalmente hecha para negocios, la ciencia halló inmediatamente un uso para el aparato y varios miles de ellos se vendieron en los cuarenta años que siguió.
Tubo al vacío
En 1906 el primer tubo al vacío fue inventado por un inventor americano, Lee De Forest. "El Audion", como se llamaba, tenía tres elementos dentro de una bombilla del vidrio evacuada. Los elementos eran capaces de hallar y amplificar señales de radio recibidas de una antena. El tubo al vacío encontraría uso en varias generaciones tempranas de computadoras, a comienzos de 1930.
Flip-flop
En 1919 el primero circuito multivibrador vístale (o flip-flop) fue desarrollado por inventores americanos W.H. Eccles y F.W. Jordan. El flip-flop dejó que un circuito tuviera uno de dos estados estables, que estaban intercambiable. Formó la base por el almacenamiento del bit binario estructura de computadoras de hoy.
Computadora analógica (para ecuaciones diferenciales)
En 1931 la primera computadora capaz de resolver ecuaciones diferenciales analógicas fue desarrollada por el Dr. Vannevar Bush y su grupo de investigación en MIT. "El Analizador Diferencial", como se llamaba, usaba engranajes diferenciales que fueron hechos rodar por motores eléctricos. Se interpretaron como cantidades los grados de rotación de los engranajes. Computaciones fueron limitadas por la precisión de medida de los ángulos.
Programa mecánico
En 1933 el primer programa mecánico fue diseñado por Wallace J. Eckert. El programa controló las funciones de dos de las máquinas en unísono y operadas por un cable. Los trabajos de Eckert sembraron la fundación para las investigaciones informático-científica de la Universidad de Colombia.
Máquina lógica
En 1936 el primer modelo general de máquinas de la lógica fue desarrollado por Alan M. Turing. El papel, tituló "En Números calculables," se publicó en 1937 en la Sociedad de Procedimientos Matemáticos de Londres y describió las limitaciones de una computadora hipotética. Números calculables eran esos números que eran números reales, capaz de ser calculados por medios del lo finito. Turing ofreció prueba que mostró que al igual cuando usa un proceso finito y definido por resolver un problema, problemas seguros todavía no se pueden resolver. La noción de las limitaciones de tal problema tiene un impacto profundo en el desarrollo futuro de ciencia de la computadora.


 Atte; Jorge Arturo