- Sistema
operativo - Software de
Aplicación - Lenguaje de programación
del software - Clasificación del
software - Virus
- Lenguajes de alto
nivel - Intérpretes y
compiladores
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 tipo 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 computadoras.
Por lo tanto, el software del sistema procesa
tareas tan esenciales, aunque a menudo invisibles, como el
mantenimiento
de los archivos del
disco 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 programas
Sistema
operativo, software básico que controla una
computadora.
El sistema operativo
tiene tres grandes funciones:
coordina y manipula el hardware del ordenador o
computadora, como la memoria,
las impresoras,
las unidades de disco, el teclado o el
mouse;
organiza los archivos en
diversos dispositivos de
almacenamiento, como discos flexibles, discos duros,
discos compactos o cintas magnéticas, y gestiona los
errores de hardware y la pérdida de datos.
Los sistemas operativos controlan diferentes
procesos de
la
computadora. Un proceso
importante es la interpretación de los comandos que
permiten al usuario 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.
Carlos Guerrero