jueves, 28 de octubre de 2010

SOFTWARE

El Software es el soporte lógico e inmaterial que permite que la computadora pueda desempeñar tareas inteligentes, dirigiendo a los componentes físicos o hardware con instrucciones y datos a través de diferentes tipos de programas.

DIFERENCIA  ENTRE SOFTWARE Y HARDWARE


EL HARDWARE: Componentes físicos del ordenador, es decir, todo lo que se puede ver y tocar. Clasificaremos el hardware en dos tipos:
- El que se encuentra dentro de la torre o CPU, y que por lo tanto no podemos ver a simple vista.
- El que se encuentra alrededor de la torre o CPU, y que por lo tanto, si que vemos a simple vista, y que denominamos periféricos.

EL SOFTWARE: Son las instrucciones que el ordenador necesita para funcionar, no existen físicamente, o lo que es igual, no se pueden ver ni tocar. También tenemos de dos tipos:
- Sistemas Operativos: Tienen como misión que el ordenador gestione sus recursos de forma eficiente, además de permitir su comunicación con el usuario. 

 Aplicaciones: Son programas informáticos que tratan de resolver necesidades concretar del usuario, como por ejemplo: escribir, dibujar, escuchar música.

CLASIFICACIÓN DE SOFTWARE

El Software son los programas de aplicación y los sistemas operativos, que según las funciones que realizan pueden ser clasificados en:
  • software de sistema
  • software de aplicación
  • software de programación
Software de Sistema


Se llama Software de Sistema o Software de Base al conjunto de programas que sirven para interactuar con el sistema, confiriendo control sobre el hardware, además de dar soporte a otros programas.
El Software de Sistema se divide en:
Sistema operativo
El Sistema Operativo es un conjunto de programas que administran los recursos de la computadora y controlan su funcionamiento.
Un Sistema Operativo realiza cinco funciones básicas: Suministro de Interfaz al Usuario, Administración de Recursos, Administración de Archivos, Administración de Tareas y Servicio de Soporte.
  1. Suministro de interfaz al usuario: Permite al usuario comunicarse con la computadora por medio de interfaces que se basan en comandos, interfaces que utilizan menús, e interfaces gráficas de usuario.
  2. Administración de recursos: Administran los recursos del hardware como la CPU, memoria, dispositivos de almacenamiento secundario y periféricos de entrada y de salida.
  3. Administración de archivos: Controla la creación, borrado, copiado y acceso de archivos de datos y de programas.
  4. Administración de tareas: Administra la información sobre los programas y procesos que se están ejecutando en la computadora. Puede cambiar la prioridad entre procesos, concluirlos y comprobar el uso de estos en la CPU, así como terminar programas.
  5. Servicio de soporte: Los Servicios de Soporte de cada sistema operativo dependen de las implementaciones añadidas a este, y pueden consistir en inclusión de utilidades nuevas, actualización de versiones, mejoras de seguridad, controladores de nuevos periféricos, o corrección de errores de software.
Controladores de Dispositivos
Los Controladores de Dispositivos son programas que permiten a otros programa de mayor nivel como un sistema operativo interactuar con un dispositivo de hardware.
Programas Utilitarios
Los Programas Utilitarios realizan diversas funciones para resolver problemas específicos, además de realizar tareas en general y de mantenimiento. Algunos se incluyen en el sistema operativo.

Software de Aplicación


El Software de Aplicación son los programas diseñados para o por los usuarios para facilitar la realización de tareas específicas en la computadora, como pueden ser las aplicaciones ofimáticas (procesador de texto, hoja de cálculo, programa de presentación, sistema de gestión de base de datos...), u otros tipos de software especializados como software médico, software educativo, editores de música, programas de contabilidad, etc.

Software de Programación



es el conjunto de herramientas que permiten al desarrollador informático escribir programas usando diferentes alternativas y lenguajes de programación.
Este tipo de software incluye principalmente compiladores, intérpretes, ensambladores, enlazadores, depuradores, editores de texto y un entorno de desarrollo integrado que contiene las herramientas anteriores, y normalmente cuenta una avanzada interfaz gráfica de usuario (GUI).

CLASIFICACIÓN DE SOFTWARE

Además de estas categorías basadas en tareas, varios tipos de  software se describen basándose en su método  de distribución. Entre estos se encuentran los así llamados programas enlatados, el software desarrollado por compañías y vendido principalmente por distribuidores, el freeware y software de dominio  público, que se ofrece sin costo  alguno, el shareware, que es similar al Freeware, pero suele conllevar una pequeña tasa a pagar por los usuarios que lo utilicen profesionalmente y, por último, el infame vapourware, que es software que no llega a presentarse o que aparece mucho después de lo prometido.

Virus (informática), programa de ordenador que se reproduce a sí mismo e interfiere con el hardware de una computadora o con su sistema operativo  (el software básico que controla la computadora). Los  virus  están diseñados para reproducirse y evitar su detección. Como cualquier otro programa informático, un virus debe ser ejecutado para que funcione: es decir, el ordenador debe cargar el virus desde la memoria  del ordenador y seguir sus instrucciones. Estas instrucciones se conocen como carga activa del virus. La carga activa puede trastornar o modificar archivos de datos, presentar un determinado mensaje o provocar fallos en el sistema operativo.
Existen otros programas informáticos nocivos similares a los virus, pero que no cumplen ambos requisitos de reproducirse y eludir su detección. Estos programas se dividen en tres categorías: caballos de Troya, bombas lógicas y gusanos. Un caballo de Troya aparenta ser algo interesante e inocuo, por ejemplo un juego, pero cuando se ejecuta puede tener efectos dañinos. Una bomba logica  libera su carga activa cuando se cumple una condición determinada, como cuando se alcanza una fecha u hora determinada o cuando se teclea una combinación de letras. Un gusano se limita a reproducirse, pero puede ocupar memoria de la computadora y hacer que sus procesos vayan más lentos.
Por lo general se piensa que los ordenadores son maquinas  que realizan tareas de cálculos o procesamiento de textos. La descripción  anterior es sólo una forma muy esquemática de ver una computadora. Hay un alto nivel de abstracción entre lo que se pide a la computadora y lo que realmente comprende. Existe también una relación compleja entre los lenguajes de alto nivel y el código máquina.
Los lenguajes de alto nivel son normalmente fáciles de aprender porque están formados por elementos de lenguajes naturales, como el ingles . En BASIC, el  lenguaje de alto nivel más conocido, los comandos como "IF CONTADOR = 10 THEN STOP" pueden utilizarse para pedir a la computadora que pare si CONTADOR es igual a 10. Por desgracia para muchas personas esta forma de trabajar es un poco frustrante, dado que a pesar de que las computadoras parecen comprender un lenguaje natural, lo hacen en realidad de una forma rígida y sistemática.
4 INTÉRPRETES Y COMPILADORES
La traducción de una serie de instrucciones en lenguaje ensamblador (el código fuente) a un código máquina (o código objeto) no es un proceso muy complicado y se realiza normalmente por un programa especial llamado compilador. La traducción de un código fuente de alto nivel a un código máquina también se realiza con un compilador, en este caso más complejo, o mediante un intérprete. Un compilador crea una lista de instrucciones de código máquina, el código objeto, basándose en un código fuente. El código objeto resultante es un programa rápido y listo para funcionar, pero que puede hacer que falle el ordenador si no está bien diseñado. Los intérpretes, por otro lado, son más lentos que los compiladores  ya que no producen un código objeto, sino que recorren el código fuente una línea cada vez. Cada línea se traduce a código máquina y se ejecuta. Cuando la línea se lee por segunda vez, como en el caso de los programas en que se reutilizan partes del código, debe compilarse de nuevo. Aunque este proceso es más lento, es menos susceptible de provocar fallos en la computadora.