Software
, programas de computadoras. Son las instrucciones
responsables de que el hardware (la máquina) realice su tarea. Como concepto general, el software puede dividirse en varias categorías basadas en el
de trabajo realizado. Las dos categorías primarias
de software son los (software
del sistema), que controlan los trabajos del
ordenador o computadora, y el software de aplicación, que dirige las distintas tareas para las que se
utilizan las
. Por lo tanto, el software del sistema procesa tareas tan esenciales, aunque a
menudo invisibles, como el mantenimiento de los archivos del
y la administración de la pantalla, mientras que el
software de aplicación lleva a cabo tareas de tratamiento de textos, gestión de bases de datos y similares. Constituyen dos categorías
separadas el software de red, que permite comunicarse a grupos de usuarios, y el software de lenguaje utilizado para escribir
Sistema
operativo, software básico que controla una computadora. El sistema operativo tiene tres grandes funciones: coordina y manipula el
del ordenador o computadora, como la memoria, las impresoras, las unidades de disco, el teclado o el mouse; organiza los
en diversos
de almacenamiento, como
flexibles, discos duros, discos compactos o cintas
magnéticas, y gestiona los errores de hardware y la
de datos. Los sistemas operativos controlan diferentes procesos de la computadora. Un proceso importante es la interpretación de los comandos que permiten al
comunicarse con el ordenador. Algunos
intérpretes de instrucciones están basados en texto y exigen que las instrucciones sean
tecleadas. Otros están basados en gráficos, y permiten al usuario comunicarse
señalando y haciendo clic en un icono. Por lo general, los intérpretes basados
en gráficos son más sencillos de utilizar.
Los sistemas operativos
pueden ser de tarea única o multitarea. Los sistemas operativos de tarea única,
más primitivos, sólo pueden manejar un proceso en cada momento. Por ejemplo,
cuando la computadora está imprimiendo un documento,
no puede iniciar otro proceso ni responder a nuevas instrucciones hasta que se
termine la impresión.
Todos los sistemas operativos
modernos son multitarea y pueden ejecutar varios procesos simultáneamente. En
la mayoría de los ordenadores sólo hay una UCP; un sistema operativo multitarea
crea la ilusión de que varios procesos se ejecutan simultáneamente en la UCP.
El mecanismo que se emplea más a menudo para lograr esta ilusión es la
multitarea por segmentación de tiempos, en la que cada proceso
se ejecuta individualmente durante un periodo de tiempo determinado. Si el proceso no finaliza
en el tiempo asignado, se suspende y se ejecuta otro proceso. Este intercambio
de procesos se denomina conmutación de contexto. El sistema operativo se
encarga de controlar el estado de los procesos suspendidos. También
cuenta con un mecanismo llamado planificador que determina el siguiente proceso
que debe ejecutarse. El planificador ejecuta los procesos basándose en su
prioridad para minimizar el retraso percibido por el usuario. Los procesos
parecen efectuarse simultáneamente por la alta velocidad del cambio de contexto.
- Software de Aplicación, programa informático diseñado para facilitar al
usuario la realización de un determinado tipo de trabajo. Posee ciertas
características que le diferencia de un sistema operativo (que hace funcionar
al ordenador), de una utilidad (que realiza tareas de mantenimiento o de uso
general) y de un lenguaje (con el cual se crean los programas informáticos).
Suele resultar una solución informática para la automatización de ciertas tareas complicadas como puede ser la
contabilidad o la gestión de un almacén. Ciertas aplicaciones desarrolladas 'a medida' suelen
ofrecer una gran potencia ya que están exclusivamente diseñadas para resolver
un problema específico. Otros, llamados paquetes integrados de software,
ofrecen menos potencia pero a cambio incluyen varias aplicaciones, como un
programa procesador de textos, de hoja de cálculo y de base de datos.
- Lenguaje de programación del software
Lenguaje de
programación, en informática, cualquier lenguaje artificial que
puede utilizarse para definir una secuencia de instrucciones para su
procesamiento por un ordenador o computadora. Es complicado definir qué es y
qué no es un lenguaje de programación. Se asume generalmente que la traducción de las instrucciones a un código que comprende la computadora debe ser
completamente sistemática. Normalmente es la computadora la que realiza la
traducción.
Vistos a muy bajo nivel,
los microprocesadores procesan exclusivamente señales electrónicas binarias. Dar una
instrucción a un microprocesador supone en realidad enviar series de unos y
ceros espaciadas en el tiempo de una forma determinada. Esta secuencia de
señales se denomina código máquina. El código representa normalmente datos y
números e instrucciones para manipularlos. Un modo más fácil de comprender el
código máquina es dando a cada instrucción un mnemónico, como por ejemplo
STORE, ADD o JUMP. Esta abstracción da como resultado el ensamblador, un lenguaje de muy bajo nivel que
es específico de cada microprocesador.
Los lenguajes de bajo
nivel permiten crear programas muy rápidos, pero que son a menudo difíciles de
aprender. Más importante es el hecho de que los programas escritos en un bajo
nivel son prácticamente específicos para cada procesador. Si se quiere ejecutar
el programa en otra máquina con otra tecnología, será necesario reescribir el programa desde el
principio.
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 lógica 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 máquinas 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 inglés. 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.
0 comentarios:
Publicar un comentario