SOFTWARE

Es todo aquello que NO es físico. Incluye los programas y los lenguajes simbólicos que están escritos (lenguajes de alto nivel).

a)      Programa

Es una secuencia de instrucciones que permiten realizar una tarea. Para el computador los programas se escriben utilizando lenguajes especiales, especificando sin ambigüedad todas las operaciones y el orden de ejecución.

Lenguaje de Máquina

Las computadoras sólo conocen intrínsecamente un lenguaje, llamado lenguaje de máquina, formado exclusivamente por unos y ceros. En lenguaje máquina, cada instrucción está formada por una secuencia de unos y ceros (sistema numérico binario) que forma el código de operación. Este lenguaje es difícil de manejar para las personas en general.

Lenguaje ensamblador.

Para facilitar la programación, cada código se representa mediante palabras simbólicas (o Mnemónico) y los operandos se pueden expresar en notación decimal o hexadecimal que son más compactas que la binaria. A este nuevo lenguaje se le llama lenguaje ensamblador.

Tanto para el lenguaje ensamblador como para el lenguaje de máquina, se deben especificar todos los detalles relativos al uso de los componentes del hardware, por esta razón son lenguajes de bajo nivel. Esto repercute en una fuerte dependencia con el tipo de arquitectura de la máquina.

Lenguaje de alto nivel.

Para facilitar la tarea de diseñar programas, se desarrollaron lenguajes llamados de alto nivel, en los que las instrucciones son más comprensibles para las personas. Cuentan con un conjunto de símbolos y reglas de sintaxis finos, que no dependen del tipo de computador.

Programa fuente

Es un programa escrito en lenguaje de alto nivel.

Programa objeto

Programa escrito en lenguaje de máquina.

b)      Sistema operativo

Conjunto de programas que se integran con el hardware para facilitar al usuario el aprovechamiento de los recursos disponibles. Algunos de sus objetivos principales son:

  • Proveer un ambiente conveniente de trabajo.
  • Hacer uso eficiente del hardware.
  • Proveer una adecuada distribución de los recursos.

Para un sistema operativo real se deberán satisfacer las siguientes funciones:

  • Gobernar el sistema.
  • Asignar los recursos.
  • Administrar y controlar la ejecución de los programas.

Un sistema de cómputo en muchos casos cuenta con demasiados recursos para ser utilizados por un sólo usuario, es en estos casos cuando se puede dar servicio a varios procesos.

Llamadas al sistema

El sistema operativo en conjunto con el hardware aparecen al usuario como un sólo dispositivo con un conjunto de instrucciones más flexibles y variadas a las que se conoce como llamadas al sistema (system callings).

Intérprete de comandos

También conocido por su nombre en inglés, Shell, es un programa que interpreta las órdenes del usuario y las convierte en llamadas al Sistema.

Núcleo (o Kernel)

Es la parte del Sistema Operativo que se encarga de sincronizar la activación de los procesos y definir prioridades.

Programas del Sistema

Son programas de servicio que deben ser solicitados explícitamente por los usuarios.

Ejemplos de estos tenemos:

  1. Compiladores

Son los programas que traducen Programas Fuente en programas Objeto.

  1. Ensambladores

      Traducen programas escritos con mnemónicos a lenguaje de máquina.

  1. Editores

Son programas que permiten escribir textos y guardarlos en memoria secundaria.

  1. Utilerías de Archivos

       Programas para dar mantenimiento a los archivos.

  1. Bibliotecas

      Programas que contienen rutinas para realizar funciones frecuentemente requeridas. Estas funciones pueden ser ligadas a los programas escritos por el usuario.

Programas de Aplicación

Programas externos al sistema utilizados para realizar tareas específicas como simulación, creación y edición de gráficas e imágenes, etc.